2 Commits 3bf73a3b26 ... 588072cc61

Author SHA1 Message Date
  caoliqin 588072cc61 Merge branch 'master' of http://1.14.104.71:10880/root/ylrz_scrm_java 3 days ago
  caoliqin f07094ad70 调整h5的课程和统计相关的接口(添加了营期的概念) 3 days ago

+ 8 - 8
fs-company-app/src/main/java/com/fs/app/controller/FsUserController.java

@@ -155,12 +155,12 @@ public class FsUserController extends AppBaseController {
     @Login
     @GetMapping("/statistics/details")
     @ApiOperation("数据统计详情-课程/答题/红包统计")
-    public ResponseResult<FsUserStatisticsVO> userStatisticsDetails(@ApiParam(value = "课程id") @RequestParam(required = false) String courseId,
+    public ResponseResult<FsUserStatisticsVO> userStatisticsDetails(@ApiParam(value = "营期id") @RequestParam(required = false) String periodId,
                                                                     @ApiParam(value = "视频id") @RequestParam(required = false) String videoId) {
         long userId = Long.parseLong(getUserId());
         long companyId = getCompanyId();
         UserStatisticsCommonParam param = new UserStatisticsCommonParam();
-        param.setUserId(userId).setCourseId(courseId).setVideoId(videoId).setCompanyId(companyId);
+        param.setUserId(userId).setPeriodId(periodId).setVideoId(videoId).setCompanyId(companyId);
         FsUserStatisticsVO fsUserStatisticsVO = fsUserService.userStatisticsDetails(param);
         return ResponseResult.ok(fsUserStatisticsVO);
     }
@@ -171,13 +171,13 @@ public class FsUserController extends AppBaseController {
     public ResponseResult<List<FsUserRankingVO>> userRanking(
             @ApiParam(value = "开始时间") @RequestParam(required = false) String startTime,
             @ApiParam(value = "结束时间") @RequestParam(required = false) String endTime,
-            @ApiParam(value = "课程id") @RequestParam(required = false) String courseId,
+            @ApiParam(value = "营期id") @RequestParam(required = false) String periodId,
             @ApiParam(value = "视频id") @RequestParam(required = false) String videoId,
             @ApiParam(value = "asc-正序,desc-倒序", required = true) @RequestParam String order,
             @ApiParam(value = "类型,1-按完播率,2-按正确率", required = true) @RequestParam Integer type
     ) {
         long userId = Long.parseLong(getUserId());
-        return ResponseResult.ok(fsUserService.userRanking(userId, startTime, endTime, courseId, videoId, order, type));
+        return ResponseResult.ok(fsUserService.userRanking(userId, startTime, endTime, periodId, videoId, order, type));
     }
 
     @Login
@@ -210,11 +210,11 @@ public class FsUserController extends AppBaseController {
     @Login
     @GetMapping("/graphic/details")
     @ApiOperation("详情-转化漏斗图")
-    public ResponseResult<List<FsUserGraphicStatisticsVO>> graphicStatisticsDetails(@ApiParam(value = "课程id") @RequestParam(required = false) String courseId,
+    public ResponseResult<List<FsUserGraphicStatisticsVO>> graphicStatisticsDetails(@ApiParam(value = "营期id") @RequestParam(required = false) String periodId,
                                                                                     @ApiParam(value = "视频id") @RequestParam(required = false) String videoId) {
         long userId = Long.parseLong(getUserId());
         UserStatisticsCommonParam param = new UserStatisticsCommonParam();
-        param.setUserId(userId).setCourseId(courseId).setVideoId(videoId);
+        param.setUserId(userId).setPeriodId(periodId).setVideoId(videoId);
         List<FsUserGraphicStatisticsVO> list = fsUserService.graphicStatistics(param);
         return ResponseResult.ok(list);
     }
@@ -257,12 +257,12 @@ public class FsUserController extends AppBaseController {
     @Login
     @GetMapping("/companyUser/details")
     @ApiOperation("管理-群管数据-根据销售id,群管数据统计")
-    public ResponseResult<FsUserStatisticsVO> companyUserStatistics(@ApiParam(value = "课程id") @RequestParam(required = false) String courseId,
+    public ResponseResult<FsUserStatisticsVO> companyUserStatistics(@ApiParam(value = "营期id") @RequestParam(required = false) String periodId,
                                                                     @ApiParam(value = "视频id") @RequestParam(required = false) String videoId,
                                                                     @ApiParam(value = "销售用户id", required = true) @RequestParam String companyUserId) {
         UserStatisticsCommonParam param = new UserStatisticsCommonParam();
         param.setUserId(Long.parseLong(getUserId()))
-                .setCourseId(courseId).setVideoId(videoId)
+                .setPeriodId(periodId).setVideoId(videoId)
                 .setCompanyId(getCompanyId())
                 .setCompanyUserId(companyUserId);
         FsUserStatisticsVO fsUserStatisticsVO = fsUserService.userStatisticsDetails(param);

+ 4 - 0
fs-service-system/src/main/java/com/fs/course/domain/FsCourseAnswerLogs.java

@@ -66,4 +66,8 @@ public class FsCourseAnswerLogs extends BaseEntity {
     private String questionJson;
 
     private Long watchLogId;//绑定观看的记录id
+
+    /** 营期id */
+    private Long periodId;
+
 }

+ 3 - 0
fs-service-system/src/main/java/com/fs/course/domain/FsCourseRedPacketLog.java

@@ -54,4 +54,7 @@ public class FsCourseRedPacketLog extends BaseEntity
 
     private Long watchLogId;//观看记录 id
 
+    /** 营期id */
+    private Long periodId;
+
 }

+ 3 - 0
fs-service-system/src/main/java/com/fs/course/domain/FsCourseWatchLog.java

@@ -82,4 +82,7 @@ public class FsCourseWatchLog extends BaseEntity
 
     private Integer sendFinishMsg;//是否发送完课消息
 
+    /** 营期id */
+    private Long periodId;
+
 }

+ 1 - 1
fs-service-system/src/main/java/com/fs/course/param/newfs/FsCourseSortLinkParam.java

@@ -20,7 +20,7 @@ public class FsCourseSortLinkParam {
     @ApiModelProperty(value = "课程id")
     private Long courseId;
 
-    @ApiModelProperty(value = "链接有效时长")
+    @ApiModelProperty(value = "链接有效时长(分钟)")
     private Integer effectiveDuration;
 
     @ApiModelProperty(value = "课程封面,生成海报时必传")

+ 4 - 1
fs-service-system/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -895,7 +895,10 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
         }
 
         //判断该用户是否绑定了该销售
-        List<FsUser> fsUserCompany = fsUserMapper.getFsUserByCompanyUserAndId(param.getCompanyUserId(), param.getUserId());
+        FsUser userParam = new FsUser();
+        userParam.setCompanyUserId(param.getCompanyUserId());
+        userParam.setUserId(param.getUserId());
+        List<FsUser> fsUserCompany = fsUserMapper.selectFsUserList(userParam);
         if(fsUserCompany != null && !fsUserCompany.isEmpty()){
             //查询看课记录
             FsCourseWatchLog log = new FsCourseWatchLog();

+ 6 - 6
fs-service-system/src/main/java/com/fs/store/domain/FsUserCourseCount.java

@@ -41,8 +41,8 @@ public class FsUserCourseCount extends BaseEntity
     private Long missCourseDays;
 
     /** 关联课程(营期)id */
-    @Excel(name = "关联课程", readConverterExp = "营=期")
-    private Long courseId;
+    @Excel(name = "关联课程(营期)ids")
+    private String courseIds;
 
     /** 参与营期数量 */
     @Excel(name = "参与营期数量")
@@ -128,14 +128,14 @@ public class FsUserCourseCount extends BaseEntity
     {
         return missCourseDays;
     }
-    public void setCourseId(Long courseId)
+    public void setCourseId(String courseId)
     {
-        this.courseId = courseId;
+        this.courseIds = courseId;
     }
 
-    public Long getCourseId()
+    public String getCourseId()
     {
-        return courseId;
+        return courseIds;
     }
     public void setPartCourseCount(String partCourseCount)
     {

+ 4 - 4
fs-service-system/src/main/java/com/fs/store/mapper/FsUserMapper.java

@@ -254,13 +254,13 @@ public interface FsUserMapper
 
     Map<String, Long> countCourseDetails(UserStatisticsCommonParam param);
 
-    List<FsUserRankingVO> countUserRankingByComplete(@Param("userId") Long userId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("courseId")String courseId, @Param("videoId")String videoId, @Param("order")String order);
+    List<FsUserRankingVO> countUserRankingByComplete(@Param("userId") Long userId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("periodId")String periodId, @Param("videoId")String videoId, @Param("order")String order);
 
-    List<FsUserRankingVO> countUserRankingByRight(@Param("userId") Long userId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("courseId")String courseId, @Param("videoId")String videoId, @Param("order")String order);
+    List<FsUserRankingVO> countUserRankingByRight(@Param("userId") Long userId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("periodId")String periodId, @Param("videoId")String videoId, @Param("order")String order);
 
-    List<FsCourseRankingVO> countCourseRankingByComplete(@Param("userId") Long userId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("courseId")String courseId, @Param("videoId")String videoId, @Param("order")String order);
+    List<FsCourseRankingVO> countCourseRankingByComplete(@Param("userId") Long userId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("periodId")String periodId, @Param("videoId")String videoId, @Param("order")String order);
 
-    List<FsCourseRankingVO> countCourseRankingByRight(@Param("userId") Long userId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("courseId")String courseId, @Param("videoId")String videoId, @Param("order")String order);
+    List<FsCourseRankingVO> countCourseRankingByRight(@Param("userId") Long userId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("periodId")String periodId, @Param("videoId")String videoId, @Param("order")String order);
 
     List<FsCourseAnalysisCountVO> courseAnalysisCourseCount(CourseAnalysisParam param);
 

+ 2 - 2
fs-service-system/src/main/java/com/fs/store/param/h5/CourseAnalysisParam.java

@@ -21,8 +21,8 @@ public class CourseAnalysisParam implements Serializable {
     @ApiModelProperty(value = "销售用户id")
     private Long companyUserId;
 
-    @ApiModelProperty(value = "课程id")
-    private String courseId;
+    @ApiModelProperty(value = "营期id")
+    private String periodId;
 
     @ApiModelProperty(value = "视频id")
     private String videoId;

+ 2 - 2
fs-service-system/src/main/java/com/fs/store/param/h5/UserStatisticsCommonParam.java

@@ -23,8 +23,8 @@ public class UserStatisticsCommonParam implements Serializable {
     @ApiModelProperty(value = "结束时间")
     private String endTime;
 
-    @ApiModelProperty(value = "课程id")
-    private String courseId;
+    @ApiModelProperty(value = "营期id")
+    private String periodId;
 
     @ApiModelProperty(value = "视频id")
     private String videoId;

+ 4 - 4
fs-service-system/src/main/java/com/fs/store/service/IFsUserService.java

@@ -187,26 +187,26 @@ public interface IFsUserService
      * @param userId 登录用户id
      * @param startTime 开始时间
      * @param endTime 结束时间
-     * @param courseId 课程id
+     * @param periodId 营期id
      * @param videoId 视频id
      * @param order 排序,asc-正序,desc-倒序
      * @param type 类型,1-按完播率,2-按正确率
      * @return vo
      */
-    List<FsUserRankingVO> userRanking(Long userId, String startTime, String endTime, String courseId, String videoId, String order, Integer type);
+    List<FsUserRankingVO> userRanking(Long userId, String startTime, String endTime, String periodId, String videoId, String order, Integer type);
 
     /**
      * 首页数据/详情-获取课程排行榜统计
      * @param userId 登录用户id
      * @param startTime 开始时间
      * @param endTime 结束时间
-     * @param courseId 课程id
+     * @param periodId 营期id
      * @param videoId 视频id
      * @param order 排序,asc-正序,desc-倒序
      * @param type 类型,1-按完播率,2-按正确率
      * @return vo
      */
-    List<FsCourseRankingVO> courseRanking(Long userId, String startTime, String endTime, String courseId, String videoId, String order, Integer type);
+    List<FsCourseRankingVO> courseRanking(Long userId, String startTime, String endTime, String periodId, String videoId, String order, Integer type);
 
     /**
      *

+ 7 - 6
fs-service-system/src/main/java/com/fs/store/service/impl/FsUserServiceImpl.java

@@ -573,27 +573,27 @@ public class FsUserServiceImpl implements IFsUserService
     }
 
     @Override
-    public List<FsUserRankingVO> userRanking(Long userId, String startTime, String endTime, String courseId, String videoId, String order, Integer type) {
+    public List<FsUserRankingVO> userRanking(Long userId, String startTime, String endTime, String periodId, String videoId, String order, Integer type) {
         List<FsUserRankingVO> listVO = Collections.emptyList();
         if(type == 1){
             //按完播率
-            listVO = fsUserMapper.countUserRankingByComplete(userId, startTime, endTime, courseId, videoId, order);
+            listVO = fsUserMapper.countUserRankingByComplete(userId, startTime, endTime, periodId, videoId, order);
         }
         if(type == 2){
             //按正确率
-            listVO = fsUserMapper.countUserRankingByRight(userId, startTime, endTime, courseId, videoId, order);
+            listVO = fsUserMapper.countUserRankingByRight(userId, startTime, endTime, periodId, videoId, order);
         }
         return listVO;
     }
 
     @Override
-    public List<FsCourseRankingVO> courseRanking(Long userId, String startTime, String endTime, String courseId, String videoId, String order, Integer type) {
+    public List<FsCourseRankingVO> courseRanking(Long userId, String startTime, String endTime, String periodId, String videoId, String order, Integer type) {
         List<FsCourseRankingVO> list = Collections.emptyList();
         if(type == 1){
-            list = fsUserMapper.countCourseRankingByComplete(userId, startTime, endTime, courseId, videoId, order);
+            list = fsUserMapper.countCourseRankingByComplete(userId, startTime, endTime, periodId, videoId, order);
         }
         if(type == 2){
-            list = fsUserMapper.countCourseRankingByRight(userId, startTime, endTime, courseId, videoId, order);
+            list = fsUserMapper.countCourseRankingByRight(userId, startTime, endTime, periodId, videoId, order);
         }
 
         return list;
@@ -620,6 +620,7 @@ public class FsUserServiceImpl implements IFsUserService
 
         //2、查询统计
         List<FsCourseAnalysisCountVO> courseCountList = fsUserMapper.courseAnalysisCourseCount(param);
+
         List<FsCourseAnalysisCountVO> redPacketCountList = fsUserMapper.courseAnalysisRedPacketCount(param);
         List<FsCourseAnalysisCountVO> answerCountList = fsUserMapper.courseAnalysisAnswerCount(param);
 

+ 64 - 63
fs-service-system/src/main/resources/mapper/store/FsUserMapper.xml

@@ -788,7 +788,7 @@
                     fs_user_course_count fcc
                         LEFT JOIN fs_user ON fs_user.user_id = fcc.user_id
                         LEFT JOIN company_user ON fs_user.company_user_id = company_user.user_id
-                        LEFT JOIN fs_user_course_video fcv ON fcv.course_id = fcc.course_id
+                        LEFT JOIN fs_user_course_period_days fcpd ON FIND_IN_SET(fcpd.period_id, fcc.course_ids) > 0
         WHERE
                     ( company_user.user_id = #{userId}  OR company_user.parent_id = #{userId}  )
                     <if test="startTime != null and startTime !='' ">
@@ -797,14 +797,11 @@
                     <if test="endTime != null and endTime != ''">
                         and fcc.create_time &lt;= #{endTime}
                     </if>
-                    <if test="courseId != null and courseId != ''">
-                        AND fcc.course_id = #{courseId}
+                    <if test="periodId != null and periodId != ''">
+                        AND fcpd.period_id = #{periodId}
                     </if>
                     <if test="videoId != null and videoId != ''">
-                        AND fcv.video_id = #{videoId}
-                    </if>
-                    <if test="videoId != null and videoId != ''">
-                        AND fcv.video_id = #{videoId}
+                        AND fcpd.video_id = #{videoId}
                     </if>
                     -- 单独通过销售id查询
                     <if test="companyUserId != null and companyUserId != ''">
@@ -819,7 +816,7 @@
                     fs_user_course_count fcc
                         LEFT JOIN fs_user ON fs_user.user_id = fcc.user_id
                         LEFT JOIN company_user ON fs_user.company_user_id = company_user.user_id
-                        LEFT JOIN fs_user_course_video fcv ON fcv.course_id = fcc.course_id
+                        LEFT JOIN fs_user_course_period_days fcpd ON FIND_IN_SET(fcpd.period_id, fcc.course_ids) > 0
                 WHERE
                     ( company_user.user_id = #{userId}  OR company_user.parent_id = #{userId}  )
                   AND fcc.complete_watch_count > 0
@@ -829,11 +826,11 @@
                     <if test="endTime != null and endTime != ''">
                         and fcc.create_time &lt;= #{endTime}
                     </if>
-                    <if test="courseId != null and courseId != ''">
-                        AND fcc.course_id =  #{courseId}
+                    <if test="periodId != null and periodId != ''">
+                        AND fcpd.period_id = #{periodId}
                     </if>
                     <if test="videoId != null and videoId != ''">
-                        AND fcv.video_id = #{videoId}
+                        AND fcpd.video_id = #{videoId}
                     </if>
                     -- 单独通过销售id查询
                     <if test="companyUserId != null and companyUserId != ''">
@@ -859,8 +856,8 @@
         <if test="endTime != null and endTime != ''">
             AND fs_course_answer_logs.create_time &lt;= #{endTime}
         </if>
-        <if test="courseId != null and courseId != ''">
-            AND fs_course_answer_logs.course_id = #{courseId}
+        <if test="periodId != null and periodId != ''">
+            AND fs_course_answer_logs.period_id = #{periodId}
         </if>
         <if test="videoId != null and videoId != ''">
             AND fs_course_answer_logs.video_id = #{videoId}
@@ -886,8 +883,8 @@
         <if test="endTime != null and endTime != ''">
             AND fs_course_answer_logs.create_time &lt;= #{endTime}
         </if>
-        <if test="courseId != null and courseId != ''">
-            AND fs_course_answer_logs.course_id =  #{courseId}
+        <if test="periodId != null and periodId != ''">
+            AND fs_course_answer_logs.period_id = #{periodId}
         </if>
         <if test="videoId != null and videoId != ''">
             AND fs_course_answer_logs.video_id = #{videoId}
@@ -916,8 +913,8 @@
                 <if test="endTime != null and endTime != ''">
                     AND flog.create_time &lt;= #{endTime}
                 </if>
-                <if test="courseId != null and courseId != ''">
-                    AND flog.course_id =  #{courseId}
+                <if test="periodId != null and periodId != ''">
+                    AND flog.period_id =  #{periodId}
                 </if>
                 <if test="videoId != null and videoId != ''">
                     AND flog.video_id = #{videoId}
@@ -942,8 +939,8 @@
                 <if test="endTime != null and endTime != ''">
                     AND flog.create_time &lt;= #{endTime}
                 </if>
-                <if test="courseId != null and courseId != ''">
-                    AND flog.course_id =  #{courseId}
+                <if test="periodId != null and periodId != ''">
+                    AND flog.period_id =  #{periodId}
                 </if>
                 <if test="videoId != null and videoId != ''">
                     AND flog.video_id = #{videoId}
@@ -956,14 +953,17 @@
     </select>
 
     <select id="countCourseDetails" resultType="Map">
-    select (SELECT count(DISTINCT fc.course_id)
-            FROM fs_user_course fc
-            LEFT JOIN fs_user_course_count fcc ON fcc.course_id = fc.course_id
+    select (SELECT
+            count( DISTINCT fcpd.period_id )
+            FROM
+            fs_user_course_period_days fcpd
+            LEFT JOIN fs_user_course_period fpd on fpd.period_id = fcpd.period_id
+            LEFT JOIN fs_user_course_count fcc ON FIND_IN_SET( fcpd.period_id, fcc.course_ids ) > 0
             LEFT JOIN fs_user ON fs_user.user_id = fcc.user_id
-            WHERE fc.is_del = 0
-            AND FIND_IN_SET(#{companyId}, fc.company_ids)
-            <if test="courseId != null and courseId != ''">
-                AND fc.course_id =  #{courseId}
+            WHERE 1=1
+            AND FIND_IN_SET(#{companyId}, fpd.company_id)
+            <if test="periodId != null and periodId != ''">
+                AND fcpd.period_id =  #{periodId}
             </if>
             -- 单独通过销售id查询
             <if test="companyUserId != null and companyUserId != ''">
@@ -971,32 +971,33 @@
             </if>
             ) as courseNum,
 
-           (SELECT count(DISTINCT fcv.video_id)
-            FROM fs_user_course_video fcv
-            LEFT JOIN fs_user_course fc ON fc.course_id = fcv.course_id
-            LEFT JOIN fs_user_course_count fcc ON fcc.course_id = fc.course_id
+           (SELECT count(DISTINCT fcpd.video_id)
+            FROM fs_user_course_period_days fcpd
+            LEFT JOIN fs_user_course_period fpd on fpd.period_id = fcpd.period_id
+            LEFT JOIN fs_user_course_count fcc ON FIND_IN_SET( fcpd.period_id, fcc.course_ids ) > 0
             LEFT JOIN fs_user ON fs_user.user_id = fcc.user_id
-            WHERE fc.is_del = 0
-            AND FIND_IN_SET(#{companyId}, fc.company_ids)
-            <if test="courseId != null and courseId != ''">
-                AND fcv.course_id =  #{courseId}
+            WHERE 1=1
+            AND FIND_IN_SET(#{companyId}, fpd.company_id)
+            <if test="periodId != null and periodId != ''">
+                AND fcpd.period_id =  #{periodId}
             </if>
             <if test="videoId != null and videoId != ''">
-                AND fcv.video_id = #{videoId}
+                AND fcpd.video_id = #{videoId}
             </if>
             -- 单独通过销售id查询
             <if test="companyUserId != null and companyUserId != ''">
                 AND fs_user.company_user_id = #{companyUserId}
             </if>
             ) as videoNum,
+
         ( SELECT count(DISTINCT fs_user.user_id ) FROM fs_user_course_count fcc
-            LEFT JOIN fs_user_course_video fcv ON fcv.course_id = fcc.course_id
+            LEFT JOIN fs_user_course_period_days fcpd ON FIND_IN_SET( fcpd.period_id, fcc.course_ids ) > 0
             LEFT JOIN fs_user ON fs_user.user_id = fcc.user_id
-        <if test="courseId != null and courseId != ''">
-            AND fcc.course_id =  #{courseId}
+        <if test="periodId != null and periodId != ''">
+            AND fcpd.period_id =  #{periodId}
         </if>
         <if test="videoId != null and videoId != ''">
-            AND fcv.video_id = #{videoId}
+            AND fcpd.video_id = #{videoId}
         </if>
         -- 单独通过销售id查询
         <if test="companyUserId != null and companyUserId != ''">
@@ -1015,7 +1016,7 @@
         fs_user_course_count fcc
         LEFT JOIN fs_user ON fs_user.user_id = fcc.user_id
         LEFT JOIN company_user ON fs_user.company_user_id = company_user.user_id
-        LEFT JOIN fs_user_course_video fcv ON fcv.course_id = fcc.course_id
+        LEFT JOIN fs_user_course_period_days fcpd ON FIND_IN_SET( fcpd.period_id, fcc.course_ids ) > 0
         WHERE
         ( company_user.user_id = #{userId} OR company_user.parent_id = #{userId} )
         <if test="startTime != null and startTime !='' ">
@@ -1024,11 +1025,11 @@
         <if test="endTime != null and endTime != ''">
             AND fcc.create_time &lt;= #{endTime}
         </if>
-        <if test="courseId != null and courseId != ''">
-            AND fcc.course_id =  #{courseId}
+        <if test="periodId != null and periodId != ''">
+            AND fcpd.period_id =  #{periodId}
         </if>
         <if test="videoId != null and videoId != ''">
-            AND fcv.video_id = #{videoId}
+            AND fcpd.video_id = #{videoId}
         </if>
         group by fcc.user_id
         <choose>
@@ -1064,8 +1065,8 @@
             <if test="endTime != null and endTime != ''">
                 AND fs_course_answer_logs.create_time &lt;= #{endTime}
             </if>
-            <if test="courseId != null and courseId != ''">
-                AND fs_course_answer_logs.course_id =  #{courseId}
+            <if test="periodId != null and periodId != ''">
+                AND fs_course_answer_logs.period_id =  #{periodId}
             </if>
             <if test="videoId != null and videoId != ''">
                 AND fs_course_answer_logs.video_id = #{videoId}
@@ -1099,7 +1100,8 @@
         fs_user_course_count fcc
         LEFT JOIN fs_user ON fs_user.user_id = fcc.user_id
         LEFT JOIN company_user ON fs_user.company_user_id = company_user.user_id
-        LEFT JOIN fs_user_course_video fcv ON fcv.course_id = fcc.course_id
+        LEFT JOIN fs_user_course_period_days fcpd ON FIND_IN_SET( fcpd.period_id, fcc.course_ids ) > 0
+        LEFT JOIN fs_user_course_video fcv ON fcv.video_id = fcpd.video_id
         WHERE
         ( company_user.user_id = #{userId} OR company_user.parent_id = #{userId} )
         <if test="startTime != null and startTime !='' ">
@@ -1108,14 +1110,14 @@
         <if test="endTime != null and endTime != ''">
             AND fcc.create_time &lt;= #{endTime}
         </if>
-        <if test="courseId != null and courseId != ''">
-            AND fcc.course_id =  #{courseId}
+        <if test="periodId != null and periodId != ''">
+            AND fcpd.period_id =  #{periodId}
         </if>
         <if test="videoId != null and videoId != ''">
-            AND fcv.video_id = #{videoId}
+            AND fcpd.video_id = #{videoId}
         </if>
         GROUP BY
-        fcv.video_id
+        fcpd.video_id
         <choose>
             <when test="order != null and order == 'asc'">
                 ORDER BY completeRate asc
@@ -1154,8 +1156,8 @@
         <if test="endTime != null and endTime != ''">
             AND fs_course_answer_logs.create_time &lt;= #{endTime}
         </if>
-        <if test="courseId != null and courseId != ''">
-            AND fs_course_answer_logs.course_id =  #{courseId}
+        <if test="periodId != null and periodId != ''">
+            AND fs_course_answer_logs.period_id = #{periodId}
         </if>
         <if test="videoId != null and videoId != ''">
             AND fs_course_answer_logs.video_id = #{videoId}
@@ -1189,23 +1191,22 @@
         ),
         0
         ) as completeRate,
-        fcv.video_id
+        fcpd.video_id
         FROM
         fs_user_course_count fcc
         LEFT JOIN fs_user ON fs_user.user_id = fcc.user_id
         LEFT JOIN company_user ON fs_user.company_user_id = company_user.user_id
-        LEFT JOIN fs_user_course_video fcv ON fcv.course_id = fcc.course_id
+        LEFT JOIN fs_user_course_period_days fcpd ON FIND_IN_SET( fcpd.period_id, fcc.course_ids ) > 0
         WHERE
         company_user.user_id = #{companyUserId}
-          and fcv.is_del = 0
-        <if test="courseId != null and courseId != ''">
-            AND fcc.course_id =  #{courseId}
+        <if test="periodId != null and periodId != ''">
+            AND fcpd.period_id =  #{periodId}
         </if>
         <if test="videoId != null and videoId != ''">
-            AND fcv.video_id = #{videoId}
+            AND fcpd.video_id = #{videoId}
         </if>
         GROUP BY
-        fcv.video_id
+        fcpd.video_id
     </select>
 
     <!--  查询某用户的课程视频,红包统计  -->
@@ -1220,8 +1221,8 @@
         LEFT JOIN company_user ON company_user.user_id = fs_user.company_user_id
         WHERE
         company_user.user_id = #{companyUserId}
-        <if test="courseId != null and courseId != ''">
-            AND flog.course_id =  #{courseId}
+        <if test="periodId != null and periodId != ''">
+            AND flog.period_id =  #{periodId}
         </if>
         <if test="videoId != null and videoId != ''">
             AND flog.video_id = #{videoId}
@@ -1250,8 +1251,8 @@
         LEFT JOIN company_user ON company_user.user_id = fs_user.company_user_id
         WHERE
         company_user.user_id = #{companyUserId}
-        <if test="courseId != null and courseId != ''">
-            AND fs_course_answer_logs.course_id =  #{courseId}
+        <if test="periodId != null and periodId != ''">
+            AND fs_course_answer_logs.period_id =  #{periodId}
         </if>
         <if test="videoId != null and videoId != ''">
             AND fs_course_answer_logs.video_id = #{videoId}