Explorar el Código

会员统计相关

xdd hace 1 mes
padre
commit
4f0cc7ad5d

+ 16 - 16
fs-admin/src/main/java/com/fs/task/FsCourseTask.java

@@ -1,6 +1,7 @@
 package com.fs.task;
 
 import com.fs.course.service.IFsCourseWatchLogService;
+import com.fs.qw.service.IHyWorkTaskService;
 import com.fs.qw.service.IQwWorkTaskService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -15,50 +16,49 @@ public class FsCourseTask {
     @Autowired
     private IFsCourseWatchLogService fsCourseWatchLogService;
     @Autowired
-    private IQwWorkTaskService qwWorkTaskService;
-
+    private IHyWorkTaskService hyWorkTaskService;
     /**
-     * 添加企微观看日志
+     * 添加会员观看日志
      * @throws Exception
      */
-    public void addQwWatchLog() throws Exception
+    public void addHyWatchLog() throws Exception
     {
         fsCourseWatchLogService.addCourseWatchLogDayNew();
     }
 
     /**
-     * 企微任务定时更新
+     * 会员任务定时更新
      * @throws Exception
      */
-    public void qwWorkTask1() throws Exception
+    public void hyWorkTask1() throws Exception
     {
-        qwWorkTaskService.addQwWorkByCourse4();
-        qwWorkTaskService.addQwWorkByCourseLastTime();
+        hyWorkTaskService.addHyWorkByCourse4();
+        hyWorkTaskService.addHyWorkByCourseLastTime();
     }
     /**
-     * 企微待看课和先导课
+     * 会员待看课和先导课
      * @throws Exception
      */
-    public void qwWorkTask2() throws Exception
+    public void hyWorkTask2() throws Exception
     {
-        qwWorkTaskService.addQwWorkByCourse();
-        qwWorkTaskService.addQwWorkByFirstCourse();
+        hyWorkTaskService.addHyWorkByCourse();
+        hyWorkTaskService.addHyWorkByFirstCourse();
     }
     /**
      * 用户大小转
      * @throws Exception
      */
-    public void qwWorkTask3() throws Exception
+    public void hyWorkTask3() throws Exception
     {
-        qwWorkTaskService.addQwWorkByConversionDay();
+        hyWorkTaskService.addHyWorkByConversionDay();
     }
     /**
      * 删除过期数据
      * @throws Exception
      */
-    public void qwWorkTask4() throws Exception
+    public void hyWorkTask4() throws Exception
     {
-        qwWorkTaskService.delQwWorkTaskByOver();
+        hyWorkTaskService.delHyWorkTaskByOver();
     }
 
 }

+ 1 - 1
fs-service-system/src/main/java/com/fs/course/mapper/FsCourseWatchLogMapper.java

@@ -284,7 +284,7 @@ public interface FsCourseWatchLogMapper extends BaseMapper<FsCourseWatchLog> {
     Date queryFirstWatchDateLogByVideoId(@Param("userId") Long userId);
 
     @Select("SELECT l.qw_external_contact_id,l.project,l.video_id,l.course_id,l.log_type,l.qw_user_id,l.create_time lineTime,l.company_user_id as company_user_id,l.user_id as user_id,l.company_id as company_id FROM fs_course_watch_log l" +
-            " WHERE DATE(l.create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) and l.video_id =#{videoId}")
+            " WHERE l.send_type=1 AND DATE(l.create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) and l.video_id =#{videoId}")
     List<FsQwCourseWatchLogVO> selectFsCourseBeforeMonthWatchLogByVideoId(Long videoId);
 
     /**

+ 85 - 0
fs-service-system/src/main/java/com/fs/course/mapper/HyWatchLogMapper.java

@@ -0,0 +1,85 @@
+package com.fs.course.mapper;
+
+import com.fs.course.vo.HyWatchLog;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 企微看课表数据库访问接口
+ */
+@Mapper
+public interface HyWatchLogMapper {
+
+    /**
+     * 新增记录
+     *
+     * @param hyWatchLog 记录对象
+     * @return 影响行数
+     */
+    @Insert("INSERT INTO hy_watch_log (ext_id, qw_user_id, status, day, project, create_time, line_time, fs_user_id, company_id, company_user_id, course_id, video_id) " +
+            "VALUES (#{extId}, #{qwUserId}, #{status}, #{day}, #{project}, #{createTime}, #{lineTime}, #{fsUserId}, #{companyId}, #{companyUserId}, #{courseId}, #{videoId})")
+    @Options(useGeneratedKeys = true, keyProperty = "id")
+    int insert(HyWatchLog hyWatchLog);
+
+    /**
+     * 根据ID查询记录
+     *
+     * @param id 主键ID
+     * @return 记录对象,如果不存在则返回 null
+     */
+    @Select("SELECT id, ext_id, qw_user_id, status, day, project, create_time, line_time, fs_user_id, company_id, company_user_id, course_id, video_id " +
+            "FROM hy_watch_log WHERE id = #{id}")
+    HyWatchLog selectById(@Param("id") Long id);
+
+    /**
+     * 根据ID更新记录
+     * 注意:这里是全量更新,会更新所有字段。如果需要部分更新,请自行调整 SQL。
+     *
+     * @param hyWatchLog 包含更新信息的记录对象 (ID 必须存在)
+     * @return 影响行数
+     */
+    @Update("UPDATE hy_watch_log SET " +
+            "ext_id = #{extId}, " +
+            "qw_user_id = #{qwUserId}, " +
+            "status = #{status}, " +
+            "day = #{day}, " +
+            "project = #{project}, " +
+            "create_time = #{createTime}, " +
+            "line_time = #{lineTime}, " +
+            "fs_user_id = #{fsUserId}, " +
+            "company_id = #{companyId}, " +
+            "company_user_id = #{companyUserId}, " +
+            "course_id = #{courseId}, " +
+            "video_id = #{videoId} " +
+            "WHERE id = #{id}")
+    int updateById(HyWatchLog hyWatchLog);
+
+    /**
+     * 根据外部联系人ID查询记录列表
+     *
+     * @param extId 外部联系人ID
+     * @return 记录列表
+     */
+    @Select("SELECT id, ext_id, qw_user_id, status, day, project, create_time, line_time, fs_user_id, company_id, company_user_id, course_id, video_id " +
+            "FROM hy_watch_log WHERE ext_id = #{extId}")
+    List<HyWatchLog> selectByExtId(@Param("extId") Long extId);
+
+    /**
+     * 根据状态查询记录列表
+     *
+     * @param status 状态码
+     * @return 记录列表
+     */
+    @Select("SELECT id, ext_id, qw_user_id, status, day, project, create_time, line_time, fs_user_id, company_id, company_user_id, course_id, video_id " +
+            "FROM hy_watch_log WHERE status = #{status}")
+    List<HyWatchLog> selectByStatus(@Param("status") Integer status);
+
+    void insertHyWatchLogBatch(List<HyWatchLog> hyWatchLogs);
+}

+ 7 - 7
fs-service-system/src/main/java/com/fs/course/service/impl/FsCourseWatchLogServiceImpl.java

@@ -20,10 +20,7 @@ import com.fs.course.domain.FsCourseFinishTemp;
 import com.fs.course.domain.FsCourseWatchLog;
 import com.fs.course.domain.FsUserCourse;
 import com.fs.course.domain.FsUserCourseVideo;
-import com.fs.course.mapper.FsCourseFinishTempMapper;
-import com.fs.course.mapper.FsCourseWatchLogMapper;
-import com.fs.course.mapper.FsUserCourseMapper;
-import com.fs.course.mapper.FsUserCourseVideoMapper;
+import com.fs.course.mapper.*;
 import com.fs.course.param.*;
 import com.fs.course.service.IFsCourseWatchLogService;
 import com.fs.course.service.cache.IFsUserCourseVideoCacheService;
@@ -122,6 +119,9 @@ public class FsCourseWatchLogServiceImpl extends ServiceImpl<FsCourseWatchLogMap
     @Autowired
     private IQwExternalContactCacheService qwExternalContactCacheService;
 
+    @Autowired
+    private HyWatchLogMapper hyWatchLogMapper;
+
     /**
      * 查询短链课程看课记录
      *
@@ -663,7 +663,7 @@ public class FsCourseWatchLogServiceImpl extends ServiceImpl<FsCourseWatchLogMap
             List<FsUserCourseVideo> fsUserCourseVideos = fsUserCourseVideoMapper.selectVideoByCourseId(course.getCourseId());
             for (FsUserCourseVideo fsUserCourseVideo : fsUserCourseVideos) {
                 try {
-                    ArrayList<QwWatchLog> QwWatchLogs = new ArrayList<>();
+                    ArrayList<HyWatchLog> QwWatchLogs = new ArrayList<>();
                     List<FsQwCourseWatchLogVO> watchLogs = fsCourseWatchLogMapper.selectFsCourseBeforeMonthWatchLogByVideoId(fsUserCourseVideo.getVideoId());
 
                     for (FsQwCourseWatchLogVO fsCourseWatchLog : watchLogs) {
@@ -701,7 +701,7 @@ public class FsCourseWatchLogServiceImpl extends ServiceImpl<FsCourseWatchLogMap
                                 //不是先导课
                             }
                         }
-                        QwWatchLog qwWatchLog = new QwWatchLog();
+                        HyWatchLog qwWatchLog = new HyWatchLog();
                         qwWatchLog.setExtId(fsCourseWatchLog.getQwExternalContactId());
                         qwWatchLog.setLineTime(fsCourseWatchLog.getLineTime());
                         qwWatchLog.setQwUserId(Long.parseLong(fsCourseWatchLog.getQwUserId()));
@@ -717,7 +717,7 @@ public class FsCourseWatchLogServiceImpl extends ServiceImpl<FsCourseWatchLogMap
                         QwWatchLogs.add(qwWatchLog);
                     }
                     if (!QwWatchLogs.isEmpty()){
-                        qwWatchLogMapper.insertQwWatchLogBatch(QwWatchLogs);
+                        hyWatchLogMapper.insertHyWatchLogBatch(QwWatchLogs);
                     }
                 }catch (Exception e){
                     log.error("看课记录add异常:{}",course.getCourseId(),e);

+ 82 - 0
fs-service-system/src/main/java/com/fs/course/vo/HyWatchLog.java

@@ -0,0 +1,82 @@
+package com.fs.course.vo;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import java.util.Date;
+
+/**
+ * 企微看课
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class HyWatchLog {
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 外部联系人id
+     */
+    private Long extId;
+
+    /**
+     * qw用户id
+     */
+    private Long qwUserId;
+
+    /**
+     * 先导课  0 待看 1看课中/中断 2完课
+     */
+    private Integer status;
+
+    /**
+     * 天数
+     */
+    private Long day;
+
+    /**
+     * 项目
+     */
+    private Long project;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 进线时间
+     */
+    private Date lineTime;
+
+    /**
+     * fs用户id (无注释)
+     */
+    private Long fsUserId;
+
+    /**
+     * 公司id (无注释)
+     */
+    private Long companyId;
+
+    /**
+     * 公司用户id (无注释)
+     */
+    private Long companyUserId;
+
+    /**
+     * 课程id (无注释)
+     */
+    private Long courseId;
+
+    /**
+     * 视频id (无注释)
+     */
+    private Long videoId;
+}

+ 21 - 36
fs-service-system/src/main/java/com/fs/qw/mapper/HyWorkTaskMapper.java

@@ -24,7 +24,7 @@ public interface HyWorkTaskMapper extends BaseMapper<QwWorkTask>{
      * @param id 企微任务看板主键
      * @return 企微任务看板
      */
-    QwWorkTask selectQwWorkTaskById(Long id);
+    QwWorkTask selectHyWorkTaskById(Long id);
 
     /**
      * 查询企微任务看板列表
@@ -32,7 +32,7 @@ public interface HyWorkTaskMapper extends BaseMapper<QwWorkTask>{
      * @param qwWorkTask 企微任务看板
      * @return 企微任务看板集合
      */
-    List<QwWorkTask> selectQwWorkTaskList(QwWorkTask qwWorkTask);
+    List<QwWorkTask> selectHyWorkTaskList(QwWorkTask qwWorkTask);
 
     /**
      * 新增企微任务看板
@@ -40,7 +40,7 @@ public interface HyWorkTaskMapper extends BaseMapper<QwWorkTask>{
      * @param qwWorkTask 企微任务看板
      * @return 结果
      */
-    int insertQwWorkTask(QwWorkTask qwWorkTask);
+    int insertHyWorkTask(QwWorkTask qwWorkTask);
 
     /**
      * 修改企微任务看板
@@ -48,7 +48,7 @@ public interface HyWorkTaskMapper extends BaseMapper<QwWorkTask>{
      * @param qwWorkTask 企微任务看板
      * @return 结果
      */
-    int updateQwWorkTask(QwWorkTask qwWorkTask);
+    int updateHyWorkTask(QwWorkTask qwWorkTask);
 
     /**
      * 删除企微任务看板
@@ -56,7 +56,7 @@ public interface HyWorkTaskMapper extends BaseMapper<QwWorkTask>{
      * @param id 企微任务看板主键
      * @return 结果
      */
-    int deleteQwWorkTaskById(Long id);
+    int deleteHyWorkTaskById(Long id);
 
     /**
      * 批量删除企微任务看板
@@ -64,35 +64,20 @@ public interface HyWorkTaskMapper extends BaseMapper<QwWorkTask>{
      * @param ids 需要删除的数据主键集合
      * @return 结果
      */
-    int deleteQwWorkTaskByIds(Long[] ids);
+    int deleteHyWorkTaskByIds(Long[] ids);
 
     void insertQwWorkTaskBatch(@Param("qwWorkTasks")List<QwWorkTask> qwWorkTasks);
-    @Select({"<script> " +
-             "select t.*,e.`name`,qw.qw_user_name from qw_work_task t LEFT JOIN qw_external_contact e on e.id=t.ext_id  LEFT JOIN qw_user qw ON qw.id = t.qw_user_id  "+
-             "where DATE(t.create_time) = CURDATE()" +
-            "            <if test=\"extId != null \"> and t.ext_id = #{extId}</if>\n" +
-            "            <if test=\"qwUserId != null \"> and t.qw_user_id = #{qwUserId}</if>\n" +
-            "            <if test=\"type != null \"> and t.type = #{type}</if>\n" +
-            "            <if test=\"status != null \"> and t.status = #{status}</if>\n" +
-            "            <if test=\"score != null \"> and t.score = #{score}</if>\n" +
-            "            <if test=\"sopId != null  and sopId != ''\"> and t.sop_id = #{sopId}</if>\n" +
-            "            <if test=\"companyId != null \"> and t.company_id = #{companyId}</if>\n" +
-            "            <if test=\"companyUserId != null \"> and t.company_user_id = #{companyUserId}</if>\n" +
-            " " +
-            " " +
-            "order by t.score desc,t.id desc "+
-            "</script>"})
-    List<QwWorkTaskListVO> selectQwWorkTaskListVO(QwWorkTaskListParam qwWorkTask);
-    List<QwWorkTaskListVO> selectQwWorkTaskListVONew(QwWorkTaskListParam qwWorkTask);
 
-    @Select("select ext_id from qw_work_task where type=2 and DATE(create_time) = CURDATE() ")
-    List<Long> selectQwWorkTaskByType();
+    List<QwWorkTaskListVO> selectHyWorkTaskListVONew(QwWorkTaskListParam qwWorkTask);
 
-    @Select("select id,ext_id from qw_work_task where type=2 and status=0 and DATE(create_time) = CURDATE() ")
-    List<QwWorkTask> selectQwWorkTaskByTypeStatus();
+    @Select("select ext_id from hy_work_task where type=2 and DATE(create_time) = CURDATE() ")
+    List<Long> selectHyWorkTaskByType();
+
+    @Select("select id,ext_id from hy_work_task where type=2 and status=0 and DATE(create_time) = CURDATE() ")
+    List<QwWorkTask> selectHyWorkTaskByTypeStatus();
     @Update({
             "<script>",
-            "UPDATE qw_work_task",
+            "UPDATE hy_work_task",
             "SET status = 2",
             "WHERE id IN",
             "<foreach item='id' collection='overIds' open='(' separator=',' close=')'>",
@@ -100,13 +85,13 @@ public interface HyWorkTaskMapper extends BaseMapper<QwWorkTask>{
             "</foreach>",
             "</script>"
     })
-    void updateQwWorkTaskStatus(@Param("overIds")List<Long> overIds);
+    void updateHyWorkTaskStatus(@Param("overIds")List<Long> overIds);
 
-    @Select("select id,ext_id from qw_work_task where type=2 and status=1 and DATE(create_time) = CURDATE() ")
-    List<QwWorkTask> selectQwWorkTaskByTypeStatus1();
+    @Select("select id,ext_id from hy_work_task where type=2 and status=1 and DATE(create_time) = CURDATE() ")
+    List<QwWorkTask> selectHyWorkTaskByTypeStatus1();
     @Update({
             "<script>",
-            "UPDATE qw_work_task",
+            "UPDATE hy_work_task",
             "SET status = 3",
             "WHERE id IN",
             "<foreach item='id' collection='overIds' open='(' separator=',' close=')'>",
@@ -114,14 +99,14 @@ public interface HyWorkTaskMapper extends BaseMapper<QwWorkTask>{
             "</foreach>",
             "</script>"
     })
-    void updateQwWorkTaskStatus1(List<Long> overIds1);
+    void updateHyWorkTaskStatus1(List<Long> overIds1);
 
     /**
-     * 查询企微任务看板
+     * 查询会员任务看板
      * @param params 参数
      * @return list
      */
-    List<QwWorkTask> selectQwWorkTaskListByMap(@Param("params") Map<String, Object> params);
+    List<QwWorkTask> selectHyWorkTaskListByMap(@Param("params") Map<String, Object> params);
 
-    Long selectQwWorkTaskListVONewCount(QwWorkTaskListParam qwWorkTask);
+    Long selectHyWorkTaskListVONewCount(QwWorkTaskListParam qwWorkTask);
 }

+ 15 - 16
fs-service-system/src/main/java/com/fs/qw/service/IHyWorkTaskService.java

@@ -21,7 +21,7 @@ public interface IHyWorkTaskService extends IService<QwWorkTask>{
      * @param id 企微任务看板主键
      * @return 企微任务看板
      */
-    QwWorkTask selectQwWorkTaskById(Long id);
+    QwWorkTask selectHyWorkTaskById(Long id);
 
     /**
      * 查询企微任务看板列表
@@ -29,7 +29,7 @@ public interface IHyWorkTaskService extends IService<QwWorkTask>{
      * @param qwWorkTask 企微任务看板
      * @return 企微任务看板集合
      */
-    List<QwWorkTask> selectQwWorkTaskList(QwWorkTask qwWorkTask);
+    List<QwWorkTask> selectHyWorkTaskList(QwWorkTask qwWorkTask);
 
     /**
      * 新增企微任务看板
@@ -37,7 +37,7 @@ public interface IHyWorkTaskService extends IService<QwWorkTask>{
      * @param qwWorkTask 企微任务看板
      * @return 结果
      */
-    int insertQwWorkTask(QwWorkTask qwWorkTask);
+    int insertHyWorkTask(QwWorkTask qwWorkTask);
 
     /**
      * 修改企微任务看板
@@ -45,7 +45,7 @@ public interface IHyWorkTaskService extends IService<QwWorkTask>{
      * @param qwWorkTask 企微任务看板
      * @return 结果
      */
-    int updateQwWorkTask(QwWorkTask qwWorkTask);
+    int updateHyWorkTask(QwWorkTask qwWorkTask);
 
     /**
      * 批量删除企微任务看板
@@ -53,7 +53,7 @@ public interface IHyWorkTaskService extends IService<QwWorkTask>{
      * @param ids 需要删除的企微任务看板主键集合
      * @return 结果
      */
-    int deleteQwWorkTaskByIds(Long[] ids);
+    int deleteHyWorkTaskByIds(Long[] ids);
 
     /**
      * 删除企微任务看板信息
@@ -61,50 +61,49 @@ public interface IHyWorkTaskService extends IService<QwWorkTask>{
      * @param id 企微任务看板主键
      * @return 结果
      */
-    int deleteQwWorkTaskById(Long id);
+    int deleteHyWorkTaskById(Long id);
     /**
      * 根据用户首次上课情况,添加相应的企微任务。
      * 用于处理首次课程触发的任务创建逻辑。
      */
-    void addQwWorkByFirstCourse();
+    void addHyWorkByFirstCourse();
 
     /**
      * 根据用户上课情况(通用逻辑),添加相应的企微任务。
      * 用于处理一般课程事件触发的任务创建逻辑。
      */
-    void addQwWorkByCourse();
+    void addHyWorkByCourse();
 
     /**
      * 根据转化日(或特定业务日期节点)情况,添加相应的企微任务。
      * 用于处理基于特定日期或转化阶段的任务创建逻辑。
      */
-    void addQwWorkByConversionDay();
+    void addHyWorkByConversionDay();
 
-    List<QwWorkTaskListVO> selectQwWorkTaskListVO(QwWorkTaskListParam qwWorkTask);
-    List<QwWorkTaskListVO> selectQwWorkTaskListVONew(QwWorkTaskListParam qwWorkTask);
-    Long selectQwWorkTaskListVONewCount(QwWorkTaskListParam qwWorkTask);
+    List<QwWorkTaskListVO> selectHyWorkTaskListVONew(QwWorkTaskListParam qwWorkTask);
+    Long selectHyWorkTaskListVONewCount(QwWorkTaskListParam qwWorkTask);
 
     /**
      * 根据特定课程逻辑(可能与课程编号4或第四阶段相关)添加企微任务。
      * 用于处理与特定课程标识(如'4')相关的任务创建逻辑。
      */
-    void addQwWorkByCourse4();
+    void addHyWorkByCourse4();
 
     /**
      * 删除已完成、过期或不再需要的企微任务。
      * 用于定期清理或处理生命周期结束的任务。
      */
-    void delQwWorkTaskByOver();
+    void delHyWorkTaskByOver();
     /**
      * 根据用户最后一次上课时间或课程结束时间情况,添加相应的企微任务。
      * 用于处理基于课程结束或最后活动时间的任务创建逻辑。
      */
-    void addQwWorkByCourseLastTime();
+    void addHyWorkByCourseLastTime();
 
     /**
      * 查询企微任务看板
      * @param params 参数
      * @return list
      */
-    List<QwWorkTask> selectQwWorkTaskListByMap(Map<String, Object> params);
+    List<QwWorkTask> selectHyWorkTaskListByMap(Map<String, Object> params);
 }

+ 49 - 56
fs-service-system/src/main/java/com/fs/qw/service/impl/HyWorkTaskServiceImpl.java

@@ -43,8 +43,6 @@ import java.util.stream.Collectors;
  */
 @Service
 public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkTask> implements IHyWorkTaskService {
-    @Autowired
-    private HyWorkTaskMapper qwWorkTaskMapper;
     @Autowired
     private FsCourseWatchLogMapper fsCourseWatchLogMapper;
     @Autowired
@@ -57,6 +55,9 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
     private ICompanyCacheService companyCacheService;
     @Autowired
     private ICompanyUserCacheService companyUserCacheService;
+    @Autowired
+    private HyWorkTaskMapper hyWorkTaskMapper;
+
     /**
      * 查询企微任务看板
      *
@@ -64,9 +65,9 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
      * @return 企微任务看板
      */
     @Override
-    public QwWorkTask selectQwWorkTaskById(Long id)
+    public QwWorkTask selectHyWorkTaskById(Long id)
     {
-        return baseMapper.selectQwWorkTaskById(id);
+        return baseMapper.selectHyWorkTaskById(id);
     }
 
     /**
@@ -76,9 +77,9 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
      * @return 企微任务看板
      */
     @Override
-    public List<QwWorkTask> selectQwWorkTaskList(QwWorkTask qwWorkTask)
+    public List<QwWorkTask> selectHyWorkTaskList(QwWorkTask qwWorkTask)
     {
-        return baseMapper.selectQwWorkTaskList(qwWorkTask);
+        return baseMapper.selectHyWorkTaskList(qwWorkTask);
     }
 
     /**
@@ -88,10 +89,10 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
      * @return 结果
      */
     @Override
-    public int insertQwWorkTask(QwWorkTask qwWorkTask)
+    public int insertHyWorkTask(QwWorkTask qwWorkTask)
     {
         qwWorkTask.setCreateTime(DateUtils.getNowDate());
-        return baseMapper.insertQwWorkTask(qwWorkTask);
+        return baseMapper.insertHyWorkTask(qwWorkTask);
     }
 
     /**
@@ -101,10 +102,10 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
      * @return 结果
      */
     @Override
-    public int updateQwWorkTask(QwWorkTask qwWorkTask)
+    public int updateHyWorkTask(QwWorkTask qwWorkTask)
     {
         qwWorkTask.setUpdateTime(DateUtils.getNowDate());
-        return baseMapper.updateQwWorkTask(qwWorkTask);
+        return baseMapper.updateHyWorkTask(qwWorkTask);
     }
 
     /**
@@ -114,9 +115,9 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
      * @return 结果
      */
     @Override
-    public int deleteQwWorkTaskByIds(Long[] ids)
+    public int deleteHyWorkTaskByIds(Long[] ids)
     {
-        return baseMapper.deleteQwWorkTaskByIds(ids);
+        return baseMapper.deleteHyWorkTaskByIds(ids);
     }
 
     /**
@@ -126,13 +127,13 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
      * @return 结果
      */
     @Override
-    public int deleteQwWorkTaskById(Long id)
+    public int deleteHyWorkTaskById(Long id)
     {
-        return baseMapper.deleteQwWorkTaskById(id);
+        return baseMapper.deleteHyWorkTaskById(id);
     }
 
     @Override
-    public void addQwWorkByFirstCourse() {
+    public void addHyWorkByFirstCourse() {
             List<FsQwCourseWatchLogVO> fsQwCourseWatchLogVOS = fsCourseWatchLogMapper.selectFsCourseWatchLogByVideoId();
         ArrayList<QwWorkTask> qwWorkTasks = new ArrayList<>();
         for (FsQwCourseWatchLogVO vo : fsQwCourseWatchLogVOS) {
@@ -149,11 +150,11 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
                 qwWorkTasks.add(qwWorkTask);
             }
         if (!qwWorkTasks.isEmpty()) {
-            qwWorkTaskMapper.insertQwWorkTaskBatch(qwWorkTasks);
+            hyWorkTaskMapper.insertQwWorkTaskBatch(qwWorkTasks);
         }
 
     }
-    Integer getQwWorkCourseScore(Integer type, Integer day,Integer leve){
+    Integer getHyWorkCourseScore(Integer type, Integer day,Integer leve){
 
             switch (day){
                 case 1:
@@ -173,15 +174,12 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
 
 
     }
-    @Autowired
-    FsCourseWatchLogMapper courseWatchLogMapper;
 
-    //
     @Override
-    public void addQwWorkByCourse() {
+    public void addHyWorkByCourse() {
         List<QwSop> qwSops = qwSopMapper.selectQwSopByIsRating();
         LocalDate today = LocalDate.now();
-        List<Long> extIds = qwWorkTaskMapper.selectQwWorkTaskByType();
+        List<Long> extIds = hyWorkTaskMapper.selectHyWorkTaskByType();
         Set<Long> extIdSet = new HashSet<>(extIds);
         for (QwSop qwSop : qwSops) {
             if (qwSop.getCourseDay()==null){
@@ -193,7 +191,7 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
                 continue;
             }
 
-            List<FsCourseWatchLogTaskVO> fsCourseWatchLogs = courseWatchLogMapper.selectFsCourseWatchLogByDaySopId3(qwSop.getId());
+            List<FsCourseWatchLogTaskVO> fsCourseWatchLogs = fsCourseWatchLogMapper.selectFsCourseWatchLogByDaySopId3(qwSop.getId());
             if (fsCourseWatchLogs==null || fsCourseWatchLogs.isEmpty()) {
                 continue;
             }
@@ -212,7 +210,7 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
                 LocalDate createDate = LocalDate.parse(createTime.substring(0, 10), DateTimeFormatter.ofPattern("yyyy-MM-dd"));
                 // 计算两个日期之间的天数差
                 Integer day = (Math.toIntExact(ChronoUnit.DAYS.between(createDate, today))) + 1 - courseDay;
-                Integer score = getQwWorkCourseScore(fsCourseWatchLog.getLogType(), day,fsCourseWatchLog.getLevel());
+                Integer score = getHyWorkCourseScore(fsCourseWatchLog.getLogType(), day,fsCourseWatchLog.getLevel());
                 if (score==0){
                     continue;
                 }
@@ -230,7 +228,7 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
                 qwWorkTasks.add(qwWorkTask);
             }
             if (!qwWorkTasks.isEmpty()){
-                qwWorkTaskMapper.insertQwWorkTaskBatch(qwWorkTasks);
+                hyWorkTaskMapper.insertQwWorkTaskBatch(qwWorkTasks);
             }
 
         }
@@ -239,7 +237,7 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
 
 
     @Override
-    public void addQwWorkByConversionDay() {
+    public void addHyWorkByConversionDay() {
         List<QwSop> qwSops = qwSopMapper.selectQwSopByIsRatingNotNull();
         Map<Integer, Integer> minMap = new HashMap<>();
         minMap.put(1, 10);
@@ -253,19 +251,14 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
             Integer min= qwSop.getMinConversionDay();
             Integer max = qwSop.getMaxConversionDay();
             LocalDate today = LocalDate.now();
-            addQwWorkTask(today, min, qwSop, "用户小转",minMap);
-            addQwWorkTask(today, max, qwSop, "用户大转",MaxMap);
+            addHyWorkTask(today, min, qwSop, "用户小转",minMap);
+            addHyWorkTask(today, max, qwSop, "用户大转",MaxMap);
         }
     }
 
     @Override
-    public List<QwWorkTaskListVO> selectQwWorkTaskListVO(QwWorkTaskListParam qwWorkTask) {
-        return qwWorkTaskMapper.selectQwWorkTaskListVO(qwWorkTask);
-    }
-
-    @Override
-    public List<QwWorkTaskListVO> selectQwWorkTaskListVONew(QwWorkTaskListParam qwWorkTask) {
-        List<QwWorkTaskListVO> list = qwWorkTaskMapper.selectQwWorkTaskListVONew(qwWorkTask);
+    public List<QwWorkTaskListVO> selectHyWorkTaskListVONew(QwWorkTaskListParam qwWorkTask) {
+        List<QwWorkTaskListVO> list = hyWorkTaskMapper.selectHyWorkTaskListVONew(qwWorkTask);
         for (QwWorkTaskListVO item : list) {
             if(ObjectUtils.isNotNull(item.getCompanyId())){
                 Company company = companyCacheService.selectCompanyById(item.getCompanyId());
@@ -296,14 +289,14 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
     }
 
     @Override
-    public Long selectQwWorkTaskListVONewCount(QwWorkTaskListParam qwWorkTask) {
-        return qwWorkTaskMapper.selectQwWorkTaskListVONewCount(qwWorkTask);
+    public Long selectHyWorkTaskListVONewCount(QwWorkTaskListParam qwWorkTask) {
+        return hyWorkTaskMapper.selectHyWorkTaskListVONewCount(qwWorkTask);
     }
 
     @Override
-    public void addQwWorkByCourse4() {
+    public void addHyWorkByCourse4() {
         List<QwSop> qwSops = qwSopMapper.selectQwSopByIsRating();
-        List<Long> extIds = qwWorkTaskMapper.selectQwWorkTaskByType();
+        List<Long> extIds = hyWorkTaskMapper.selectHyWorkTaskByType();
         Set<Long> extIdSet = new HashSet<>(extIds);
         LocalDate today = LocalDate.now();
         for (QwSop qwSop : qwSops) {
@@ -315,7 +308,7 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
             if (qwSopLogs==null || qwSopLogs.isEmpty()) {
                 continue;
             }
-            List<FsCourseWatchLogTaskVO> fsCourseWatchLogs = courseWatchLogMapper.selectFsCourseWatchLogByDaySopId4(qwSop.getId());
+            List<FsCourseWatchLogTaskVO> fsCourseWatchLogs = fsCourseWatchLogMapper.selectFsCourseWatchLogByDaySopId4(qwSop.getId());
             if (fsCourseWatchLogs==null || fsCourseWatchLogs.isEmpty()) {
                 continue;
             }
@@ -336,7 +329,7 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
                 if (day>7){
                     continue;
                 }
-                Integer score = getQwWorkCourseScore(fsCourseWatchLog.getLogType(), day,fsCourseWatchLog.getLevel());
+                Integer score = getHyWorkCourseScore(fsCourseWatchLog.getLogType(), day,fsCourseWatchLog.getLevel());
                 if (score==0){
                     continue;
                 }
@@ -354,17 +347,17 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
                 qwWorkTasks.add(qwWorkTask);
             }
             if (!qwWorkTasks.isEmpty()){
-                qwWorkTaskMapper.insertQwWorkTaskBatch(qwWorkTasks);
+                hyWorkTaskMapper.insertQwWorkTaskBatch(qwWorkTasks);
             }
 
         }
     }
 
     @Override
-    public void delQwWorkTaskByOver() {
+    public void delHyWorkTaskByOver() {
         List<Long> longs = fsCourseWatchLogMapper.selectFsCourseWatchLogByFinish();
 
-        List<QwWorkTask> qwWorkTasks = qwWorkTaskMapper.selectQwWorkTaskByTypeStatus();
+        List<QwWorkTask> qwWorkTasks = hyWorkTaskMapper.selectHyWorkTaskByTypeStatus();
 
         Set<Long> targetIds = new HashSet<>(longs);
 
@@ -375,14 +368,14 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
         if (overIds.isEmpty()){
             return;
         }
-        qwWorkTaskMapper.updateQwWorkTaskStatus(overIds);
+        hyWorkTaskMapper.updateHyWorkTaskStatus(overIds);
 
     }
 
     @Override
-    public void addQwWorkByCourseLastTime() {
+    public void addHyWorkByCourseLastTime() {
         List<QwSop> qwSops = qwSopMapper.selectQwSopByIsRating();
-        List<Long> extIds = qwWorkTaskMapper.selectQwWorkTaskByType();
+        List<Long> extIds = hyWorkTaskMapper.selectHyWorkTaskByType();
         SimpleDateFormat sdf = new SimpleDateFormat("HHmm"); // 24小时制,如 1100
         String timeStr = sdf.format(new Date());
         int lastTime = Integer.parseInt(timeStr);
@@ -398,7 +391,7 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
                 continue;
             }
 
-            List<FsCourseWatchLogTaskVO> fsCourseWatchLogs = courseWatchLogMapper.selectFsCourseWatchLogByDaySopId3LastTime(qwSop.getId(),lastTime);
+            List<FsCourseWatchLogTaskVO> fsCourseWatchLogs = fsCourseWatchLogMapper.selectFsCourseWatchLogByDaySopId3LastTime(qwSop.getId(),lastTime);
             if (fsCourseWatchLogs==null || fsCourseWatchLogs.isEmpty()) {
                 continue;
             }
@@ -421,7 +414,7 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
                 if (day<=7){
                     continue;
                 }
-                Integer score = getQwWorkCourseScore(fsCourseWatchLog.getLogType(), day,fsCourseWatchLog.getLevel());
+                Integer score = getHyWorkCourseScore(fsCourseWatchLog.getLogType(), day,fsCourseWatchLog.getLevel());
                 if (score==0){
                     continue;
                 }
@@ -441,7 +434,7 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
             }
             if (!qwWorkTasks.isEmpty()){
 
-                qwWorkTaskMapper.insertQwWorkTaskBatch(qwWorkTasks);
+                hyWorkTaskMapper.insertQwWorkTaskBatch(qwWorkTasks);
             }
 
         }
@@ -453,8 +446,8 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
      * @return list
      */
     @Override
-    public List<QwWorkTask> selectQwWorkTaskListByMap(Map<String, Object> params) {
-        return qwWorkTaskMapper.selectQwWorkTaskListByMap(params);
+    public List<QwWorkTask> selectHyWorkTaskListByMap(Map<String, Object> params) {
+        return hyWorkTaskMapper.selectHyWorkTaskListByMap(params);
     }
 
     /**
@@ -477,7 +470,7 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
      * @version 1.0
      * @since yyyy-MM-dd // 建议替换为实际的编写或修改日期
      */
-    private void addQwWorkTask(LocalDate today, Integer day, QwSop qwSop, String title,Map<Integer, Integer> map) {
+    private void addHyWorkTask(LocalDate today, Integer day, QwSop qwSop, String title,Map<Integer, Integer> map) {
         if (day>7){
             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
             String minDay = today.minusDays(day).format(formatter);
@@ -493,13 +486,13 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
                 System.out.println(qwExternalContact.getId()+"ok");
 
 
-                insertQwWorkTask(qwSopLog.getId(),qwExternalContact,3,title,map.getOrDefault(qwExternalContact.getLevel(), 0));
+                insertHyWorkTask(qwSopLog.getId(),qwExternalContact,3,title,map.getOrDefault(qwExternalContact.getLevel(), 0));
             }
         }
     }
 
 
-    private void insertQwWorkTask(String sopId,QwExternalContact qwExternalContact, Integer type, String title, Integer score) {
+    private void insertHyWorkTask(String sopId,QwExternalContact qwExternalContact, Integer type, String title, Integer score) {
         QwWorkTask qwWorkTask = new QwWorkTask();
         qwWorkTask.setCreateTime(DateUtils.getNowDate());
         qwWorkTask.setExtId(qwExternalContact.getId());
@@ -511,7 +504,7 @@ public class HyWorkTaskServiceImpl extends ServiceImpl<HyWorkTaskMapper, QwWorkT
         qwWorkTask.setStatus(0);
         qwWorkTask.setTitle(title);
         qwWorkTask.setScore(score);
-        baseMapper.insertQwWorkTask(qwWorkTask);
+        baseMapper.insertHyWorkTask(qwWorkTask);
     }
 
 

+ 55 - 0
fs-service-system/src/main/resources/mapper/hy/HyWatchLogMapper.xml

@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fs.course.mapper.HyWatchLogMapper">
+
+    <resultMap type="HyWatchLog" id="HyWatchLogResult">
+        <result property="id"    column="id"    />
+        <result property="extId"    column="ext_id"    />
+        <result property="qwUserId"    column="qw_user_id"    />
+        <result property="status"    column="status"    />
+        <result property="day"    column="day"    />
+        <result property="project"    column="project"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="lineTime"    column="line_time"    />
+    </resultMap>
+
+    <sql id="selectQwWatchLogVo">
+        select id, ext_id, qw_user_id,line_time, status, day, project, create_time from hy_watch_log
+    </sql>
+    <insert id="insertHyWatchLogBatch">
+        INSERT INTO hy_work_task (
+        ext_id,
+        qw_user_id,
+        status,
+        type,
+        title,
+        remark,
+        score,
+        sop_id,
+        company_id,
+        company_user_id,
+        create_time,
+        update_time
+        )
+        VALUES
+        <foreach collection="hyWatchLogs" item="log" separator=",">
+            (
+            #{log.extId},
+            #{log.qwUserId},
+            #{log.status},
+            #{log.type},
+            #{log.title},
+            #{log.remark},
+            #{log.score},
+            #{log.sopId},
+            #{log.companyId},
+            #{log.companyUserId},
+            #{log.createTime},
+            #{log.updateTime}
+            )
+        </foreach>
+    </insert>
+
+</mapper>

+ 13 - 13
fs-service-system/src/main/resources/mapper/qw/HyWorkTaskMapper.xml

@@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fs.qw.mapper.HyWorkTaskMapper">
 
-    <resultMap type="QwWorkTask" id="QwWorkTaskResult">
+    <resultMap type="QwWorkTask" id="HyWorkTaskResult">
         <result property="id"    column="id"    />
         <result property="extId"    column="ext_id"    />
         <result property="qwUserId"    column="qw_user_id"    />
@@ -20,12 +20,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="title"    column="title"    />
     </resultMap>
 
-    <sql id="selectQwWorkTaskVo">
+    <sql id="selectHyWorkTaskVo">
         select id, ext_id, qw_user_id, type,title, status, remark, score, sop_id, company_id, company_user_id, create_time, update_time from hy_work_task
     </sql>
 
-    <select id="selectQwWorkTaskList" parameterType="QwWorkTask" resultMap="QwWorkTaskResult">
-        <include refid="selectQwWorkTaskVo"/>
+    <select id="selectHyWorkTaskList" parameterType="QwWorkTask" resultMap="HyWorkTaskResult">
+        <include refid="selectHyWorkTaskVo"/>
         <where>
             <if test="extId != null "> and ext_id = #{extId}</if>
             <if test="qwUserId != null "> and qw_user_id = #{qwUserId}</if>
@@ -38,11 +38,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </where>
     </select>
 
-    <select id="selectQwWorkTaskById" parameterType="Long" resultMap="QwWorkTaskResult">
-        <include refid="selectQwWorkTaskVo"/>
+    <select id="selectHyWorkTaskById" parameterType="Long" resultMap="HyWorkTaskResult">
+        <include refid="selectHyWorkTaskVo"/>
         where id = #{id}
     </select>
-    <select id="selectQwWorkTaskListVONew" resultType="com.fs.qw.vo.QwWorkTaskListVO">
+    <select id="selectHyWorkTaskListVONew" resultType="com.fs.qw.vo.QwWorkTaskListVO">
         SELECT t.*
         FROM hy_work_task t
         INNER JOIN (
@@ -65,7 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ORDER BY t.score DESC, t.id DESC
     </select>
 
-    <select id="selectQwWorkTaskListByMap" resultType="com.fs.qw.domain.QwWorkTask">
+    <select id="selectHyWorkTaskListByMap" resultType="com.fs.qw.domain.QwWorkTask">
         select
             qwt.*
         from hy_work_task qwt
@@ -75,7 +75,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
           and qwt.company_user_id = #{params.companyUserId}
           and qwt.status = 0
     </select>
-    <select id="selectQwWorkTaskListVONewCount" resultType="java.lang.Long">
+    <select id="selectHyWorkTaskListVONewCount" resultType="java.lang.Long">
         select count(1) from hy_work_task t
         <where>
             DATE(t.create_time) = CURDATE()
@@ -91,7 +91,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         order by t.score desc,t.id desc
     </select>
 
-    <insert id="insertQwWorkTask" parameterType="QwWorkTask" useGeneratedKeys="true" keyProperty="id">
+    <insert id="insertHyWorkTask" parameterType="QwWorkTask" useGeneratedKeys="true" keyProperty="id">
         insert into hy_work_task
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="extId != null">ext_id,</if>
@@ -123,7 +123,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
          </trim>
     </insert>
 
-    <update id="updateQwWorkTask" parameterType="QwWorkTask">
+    <update id="updateHyWorkTask" parameterType="QwWorkTask">
         update hy_work_task
         <trim prefix="SET" suffixOverrides=",">
             <if test="extId != null">ext_id = #{extId},</if>
@@ -174,11 +174,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             )
         </foreach>
     </insert>
-    <delete id="deleteQwWorkTaskById" parameterType="Long">
+    <delete id="deleteHyWorkTaskById" parameterType="Long">
         delete from hy_work_task where id = #{id}
     </delete>
 
-    <delete id="deleteQwWorkTaskByIds" parameterType="String">
+    <delete id="deleteHyWorkTaskByIds" parameterType="String">
         delete from hy_work_task where id in
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}