Kaynağa Gözat

修改完课模板和BUG

吴树波 2 hafta önce
ebeveyn
işleme
8189e5cb41

+ 14 - 0
fs-admin/src/main/java/com/fs/company/controller/CompanyUserController.java

@@ -117,4 +117,18 @@ public class CompanyUserController extends BaseController
         List<CompanyUser> list = companyUserService.getUserListByDeptId(user);
         return R.ok().put("data",list);
     }
+
+    /**
+     * 获取所有的销售列表
+     * @param companyId
+     * @return
+     */
+    @GetMapping("/getUserList")
+    public R getUserList(@RequestParam("companyId") Long companyId)
+    {
+        CompanyUser map=new CompanyUser();
+        map.setCompanyId(companyId);
+        List<CompanyUser> list = companyUserService.selectCompanyUserList(map);
+        return  R.ok().put("data",list);
+    }
 }

+ 100 - 0
fs-admin/src/main/java/com/fs/course/controller/FsCourseFinishTempController.java

@@ -0,0 +1,100 @@
+package com.fs.course.controller;
+
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.common.enums.BusinessType;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.course.domain.FsCourseFinishTemp;
+import com.fs.course.service.IFsCourseFinishTempService;
+import com.fs.course.vo.FsCourseFinishTempListVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 完课模板Controller
+ *
+ * @author fs
+ * @date 2024-12-19
+ */
+@RestController
+@RequestMapping("/course/courseFinishTemp")
+public class FsCourseFinishTempController extends BaseController
+{
+    @Autowired
+    private IFsCourseFinishTempService fsCourseFinishTempService;
+
+    /**
+     * 查询完课模板列表
+     */
+    @PreAuthorize("@ss.hasPermi('courseFinishTemp:course:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FsCourseFinishTemp fsCourseFinishTemp)
+    {
+        startPage();
+        List<FsCourseFinishTempListVO> list = fsCourseFinishTempService.selectFsCourseFinishTempListVO(fsCourseFinishTemp);
+        return getDataTable(list);
+    }
+
+
+    /**
+     * 导出完课模板列表
+     */
+    @PreAuthorize("@ss.hasPermi('courseFinishTemp:course:export')")
+    @Log(title = "完课模板", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FsCourseFinishTemp fsCourseFinishTemp)
+    {
+        List<FsCourseFinishTemp> list = fsCourseFinishTempService.selectFsCourseFinishTempList(fsCourseFinishTemp);
+        ExcelUtil<FsCourseFinishTemp> util = new ExcelUtil<FsCourseFinishTemp>(FsCourseFinishTemp.class);
+        return util.exportExcel(list, "完课模板数据");
+    }
+
+    /**
+     * 获取完课模板详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('courseFinishTemp:course:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+//        return AjaxResult.success(fsCourseFinishTempService.selectFsCourseFinishTempById(id));
+        return AjaxResult.success(fsCourseFinishTempService.selectFsCourseFinishTempByIdVO(id));
+    }
+
+    /**
+     * 新增完课模板
+     */
+    @PreAuthorize("@ss.hasPermi('courseFinishTemp:course:add')")
+    @Log(title = "完课模板", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FsCourseFinishTemp fsCourseFinishTemp)
+    {
+        return toAjax(fsCourseFinishTempService.insertFsCourseFinishTemp(fsCourseFinishTemp));
+    }
+
+    /**
+     * 修改完课模板
+     */
+    @PreAuthorize("@ss.hasPermi('courseFinishTemp:course:edit')")
+    @Log(title = "完课模板", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FsCourseFinishTemp fsCourseFinishTemp)
+    {
+        return toAjax(fsCourseFinishTempService.updateFsCourseFinishTemp(fsCourseFinishTemp));
+    }
+
+    /**
+     * 删除完课模板
+     */
+    @PreAuthorize("@ss.hasPermi('courseFinishTemp:course:remove')")
+    @Log(title = "完课模板", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(fsCourseFinishTempService.deleteFsCourseFinishTempByIds(ids));
+    }
+}

+ 97 - 0
fs-admin/src/main/java/com/fs/course/controller/FsCourseFinishTempParentController.java

@@ -0,0 +1,97 @@
+package com.fs.course.controller;
+
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.common.enums.BusinessType;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.course.domain.FsCourseFinishTempParent;
+import com.fs.course.service.IFsCourseFinishTempParentService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 完课模板Controller
+ * 
+ * @author 吴树波
+ * @date 2025-05-22
+ */
+@RestController
+@RequestMapping("/course/courseFinishTempParent")
+public class FsCourseFinishTempParentController extends BaseController
+{
+    @Autowired
+    private IFsCourseFinishTempParentService fsCourseFinishTempParentService;
+
+    /**
+     * 查询完课模板列表
+     */
+    @PreAuthorize("@ss.hasPermi('course:courseFinishTempParent:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FsCourseFinishTempParent fsCourseFinishTempParent)
+    {
+        startPage();
+        List<FsCourseFinishTempParent> list = fsCourseFinishTempParentService.selectFsCourseFinishTempParentList(fsCourseFinishTempParent);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出完课模板列表
+     */
+    @PreAuthorize("@ss.hasPermi('course:courseFinishTempParent:export')")
+    @Log(title = "完课模板", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FsCourseFinishTempParent fsCourseFinishTempParent)
+    {
+        List<FsCourseFinishTempParent> list = fsCourseFinishTempParentService.selectFsCourseFinishTempParentList(fsCourseFinishTempParent);
+        ExcelUtil<FsCourseFinishTempParent> util = new ExcelUtil<FsCourseFinishTempParent>(FsCourseFinishTempParent.class);
+        return util.exportExcel(list, "完课模板数据");
+    }
+
+    /**
+     * 获取完课模板详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('course:courseFinishTempParent:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(fsCourseFinishTempParentService.selectFsCourseFinishTempParentById(id));
+    }
+
+    /**
+     * 新增完课模板
+     */
+    @PreAuthorize("@ss.hasPermi('course:courseFinishTempParent:add')")
+    @Log(title = "完课模板", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FsCourseFinishTempParent fsCourseFinishTempParent){
+
+        return toAjax(fsCourseFinishTempParentService.insertFsCourseFinishTempParent(fsCourseFinishTempParent));
+    }
+
+    /**
+     * 修改完课模板
+     */
+    @PreAuthorize("@ss.hasPermi('course:courseFinishTempParent:edit')")
+    @Log(title = "完课模板", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FsCourseFinishTempParent fsCourseFinishTempParent)
+    {
+        return toAjax(fsCourseFinishTempParentService.updateFsCourseFinishTempParent(fsCourseFinishTempParent));
+    }
+
+    /**
+     * 删除完课模板
+     */
+    @PreAuthorize("@ss.hasPermi('course:courseFinishTempParent:remove')")
+    @Log(title = "完课模板", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(fsCourseFinishTempParentService.deleteFsCourseFinishTempParentByIds(ids));
+    }
+}

+ 2 - 2
fs-company/src/main/java/com/fs/company/controller/qw/QwGroupChatController.java

@@ -90,8 +90,8 @@ public class QwGroupChatController extends BaseController
         return AjaxResult.success(list);
     }
     @GetMapping("/listAll")
-    public AjaxResult listAll(String qwUserIds){
-        List<QwGroupChatOptionsVO> list = qwGroupChatService.listAllByQwUserList(qwUserIds);
+    public AjaxResult listAll(String qwUserIds, String corpId){
+        List<QwGroupChatOptionsVO> list = qwGroupChatService.listAllByQwUserList(qwUserIds, corpId);
         return AjaxResult.success(list);
     }
 }

+ 0 - 5
fs-service/pom.xml

@@ -252,11 +252,6 @@
             <artifactId>wechatpay-java</artifactId>
             <version>0.2.16</version>
         </dependency>
-<!--        <dependency>-->
-<!--            <groupId>redis.clients</groupId>-->
-<!--            <artifactId>jedis</artifactId>-->
-<!--            <version>3.7.0</version>-->
-<!--        </dependency>-->
 
     </dependencies>
 

+ 4 - 3
fs-service/src/main/java/com/fs/ad/enums/AdUploadType.java

@@ -7,16 +7,17 @@ import lombok.Getter;
 @AllArgsConstructor
 public enum AdUploadType {
     // 添加微信
-    ADD_WX(0, 79, "wechat", 200),
+    ADD_WX(0, 79, "wechat", 200, 386),
     // 注册
-    REGISTERED(1, 25, "", 0),
+    REGISTERED(1, 25, "", 0, 19),
     // 完课
-    FINISH_THE_CLASS(2, 27, "", 0);
+    FINISH_THE_CLASS(2, 27, "", 0, 0);
 
     private final int code;
     private final int bdType;
     private final String youkuType;
     private final Integer iqiyiType;
+    private final Integer dyType;
 
 
 

+ 3 - 0
fs-service/src/main/java/com/fs/ad/service/impl/AdHtmlClickLogServiceImpl.java

@@ -322,6 +322,9 @@ public class AdHtmlClickLogServiceImpl extends ServiceImpl<AdHtmlClickLogMapper,
         if(type == 2){
             return AD_LOG_KEY + vid + ":" + type + ":" + clickType.getIqiyiType();
         }
+        if(type == 3){
+            return AD_LOG_KEY + vid + ":" + type + ":" + clickType.getDyType();
+        }
         throw new BaseException("错误类型");
     }
 

+ 4 - 0
fs-service/src/main/java/com/fs/baidu/service/impl/BdAccountServiceImpl.java

@@ -82,12 +82,16 @@ public class BdAccountServiceImpl extends ServiceImpl<BdAccountMapper, BdAccount
     @Override
     public List<BdAccount> selectBdAccountList(BdAccount bdAccount){
         List<BdAccount> list = baseMapper.selectBdAccountList(bdAccount);
+        if(list.isEmpty()) return list;
         List<Long> longs = PubFun.listToNewList(list, BdAccount::getAccountId);
         List<BdPlan> planList = bdPlanService.list(new QueryWrapper<BdPlan>().in("account_id", longs));
+        if(planList.isEmpty()) return list;
         Map<Long, Long> planMap = PubFun.listToMapByGroupCount(planList, BdPlan::getAccountId);
         List<BdUnit> unitList = bdUnitService.list(new QueryWrapper<BdUnit>().in("account_id", longs));
+        if(unitList.isEmpty()) return list;
         Map<Long, Long> unitMap = PubFun.listToMapByGroupCount(unitList, BdUnit::getAccountId);
         List<BdCreative> creativeList = bdCreativeService.list(new QueryWrapper<BdCreative>().in("account_id", longs));
+        if(creativeList.isEmpty()) return list;
         Map<Long, Long> creativeMap = PubFun.listToMapByGroupCount(creativeList, BdCreative::getAccountId);
         list.stream().filter(e -> e.getAccountId() != null).forEach(e -> {
             e.setPlanCount(planMap.getOrDefault(e.getAccountId(), 0L));

+ 2 - 2
fs-service/src/main/java/com/fs/qw/mapper/QwGroupChatMapper.java

@@ -110,8 +110,8 @@ public interface QwGroupChatMapper
     @Select("select chat_id,name from qw_group_chat where  corp_id=#{corpId}")
     List<QwGroupChatOptionsVO> selectGroupChatOptionsVOList(String corpId);
 
-    @Select("select chat_id,name from qw_group_chat where  find_in_set(owner,#{qwUserIds})")
-    List<QwGroupChatOptionsVO> listAllByQwUserList(String qwUserIds);
+    @Select("select chat_id,name from qw_group_chat where corp_id = #{corpId} and find_in_set(owner,#{qwUserIds})")
+    List<QwGroupChatOptionsVO> listAllByQwUserList(@Param("qwUserIds") String qwUserIds, @Param("corpId") String corpId);
 
     List<QwGroupChat> selectQwGroupChatByChatIds(@Param("ids") String[] ids);
 

+ 1 - 1
fs-service/src/main/java/com/fs/qw/service/IQwGroupChatService.java

@@ -62,7 +62,7 @@ public interface IQwGroupChatService
     public int deleteQwGroupChatByChatIdAndCompanyId(String chatId,String corpId);
 
     List<QwGroupChatOptionsVO> selectGroupChatOptionsVOList(String corpId);
-    List<QwGroupChatOptionsVO> listAllByQwUserList(String qwUserIds);
+    List<QwGroupChatOptionsVO> listAllByQwUserList(String qwUserIds, String corpId);
 
     List<QwGroupChat> selectQwGroupChatByChatIds(String[] ids);
 }

+ 2 - 2
fs-service/src/main/java/com/fs/qw/service/impl/QwGroupChatServiceImpl.java

@@ -431,8 +431,8 @@ public class QwGroupChatServiceImpl implements IQwGroupChatService
 
 
     @Override
-    public List<QwGroupChatOptionsVO> listAllByQwUserList(String qwUserIds) {
-        return qwGroupChatMapper.listAllByQwUserList(qwUserIds);
+    public List<QwGroupChatOptionsVO> listAllByQwUserList(String qwUserIds, String corpId) {
+        return qwGroupChatMapper.listAllByQwUserList(qwUserIds, corpId);
     }
 
     @Override

+ 5 - 0
fs-service/src/main/java/com/fs/sop/domain/QwSopLogs.java

@@ -70,6 +70,11 @@ public class QwSopLogs implements Serializable {
     */
     private String sopId;
 
+    /**
+     * 营期主键
+     */
+    private String userLogsId;
+
     /**
      * 备注
      */

+ 12 - 12
fs-service/src/main/java/com/fs/sop/service/impl/QwSopServiceImpl.java

@@ -754,6 +754,8 @@ public class QwSopServiceImpl implements IQwSopService
         List<QwSop> qwSopList = qwSops.stream().filter(e -> e.getType() == 2 && e.getFilterMode() == 1).collect(Collectors.toList());
         List<QwSop> wxSopList = qwSops.stream().filter(e -> e.getType() == 1).collect(Collectors.toList());
         List<QwSop> chatSopList = qwSops.stream().filter(e -> e.getType() == 2 && e.getFilterMode() == 2).collect(Collectors.toList());
+        List<String> areadyListAll = new ArrayList<>();
+        List<String> toBeSentAll = new ArrayList<>();
 
         if(!wxSopList.isEmpty()){
             // 筛选出 status == 1 的 IDs
@@ -773,12 +775,11 @@ public class QwSopServiceImpl implements IQwSopService
             if (toBeSent.length > 0) {
                 int i = qwSopMapper.updateStatusQwSopById(toBeSent);
                 if (i > 0) {
-                    return R.ok().put("suc",toBeSent).put("err",areadyList);
-                }else {
-                    return R.error();
+                    areadyListAll.addAll(areadyList);
+                    toBeSentAll.addAll(Arrays.asList(toBeSent));
                 }
             }else {
-                return R.error().put("err",areadyList);
+                areadyListAll.addAll(areadyList);
             }
 
         }
@@ -801,12 +802,12 @@ public class QwSopServiceImpl implements IQwSopService
             if (toBeSent.length > 0) {
                 int i = qwSopMapper.updateStatusQwSopById(toBeSent);
                 if (i > 0) {
+                    areadyListAll.addAll(areadyList);
+                    toBeSentAll.addAll(Arrays.asList(toBeSent));
                     return R.ok().put("suc",toBeSent).put("err",areadyList);
-                }else {
-                    return R.error();
                 }
             }else {
-                return R.error().put("err",areadyList);
+                areadyListAll.addAll(areadyList);
             }
         }
         if(!chatSopList.isEmpty()){
@@ -828,15 +829,14 @@ public class QwSopServiceImpl implements IQwSopService
             if (toBeSent.length > 0) {
                 int i = qwSopMapper.updateStatusQwSopById(toBeSent);
                 if (i > 0) {
-                    return R.ok().put("suc",toBeSent).put("err",areadyList);
-                }else {
-                    return R.error();
+                    areadyListAll.addAll(areadyList);
+                    toBeSentAll.addAll(Arrays.asList(toBeSent));
                 }
             }else {
-                return R.error().put("err",areadyList);
+                areadyListAll.addAll(areadyList);
             }
         }
-        return R.error();
+        return R.ok().put("suc",toBeSentAll).put("err",areadyListAll);
     }
 
     @Override

+ 6 - 1
pom.xml

@@ -216,7 +216,6 @@
                 <artifactId>fs-common</artifactId>
                 <version>${fs.version}</version>
             </dependency>
-
         </dependencies>
     </dependencyManagement>
 
@@ -274,6 +273,12 @@
                 <enabled>true</enabled>
             </releases>
         </repository>
+        <repository>
+            <id>OceanengineOpenApi</id>
+            <name>ad_open_sdk_java</name>
+            <layout>default</layout>
+            <url>https://artifact.bytedance.com/repository/releases/</url>
+        </repository>
     </repositories>
 
     <pluginRepositories>