Переглянути джерело

红德堂-V1.2 课程库优化-增加课程状态

Long 2 днів тому
батько
коміт
a176f3d4e5

+ 1 - 0
fs-company-app/src/main/java/com/fs/app/controller/FsUserCourseVideoController.java

@@ -95,6 +95,7 @@ public class FsUserCourseVideoController extends AppBaseController {
     public ResponseResult<PageInfo<FsUserCourseVideoPageListVO>> list(UserCourseVideoPageParam param) {
         param.setCompanyId(getCompanyId());
         param.setCompanyUserId(Long.parseLong(getUserId()));
+        param.setSortByStatus(true);
         PageHelper.startPage(param.getPageNum(), param.getPageSize());
         List<FsUserCourseVideoPageListVO> list = fsUserCourseVideoService.pageListCourseVideo(param);
         PageInfo<FsUserCourseVideoPageListVO> pageInfo = new PageInfo<>(list);

+ 5 - 0
fs-service/src/main/java/com/fs/course/param/newfs/UserCourseVideoPageParam.java

@@ -41,4 +41,9 @@ public class UserCourseVideoPageParam implements Serializable {
 //    @ApiModelProperty(value = "视频状态 1:草稿,2:待审核,3:发布")
 //    private Long status;
 
+    /**
+     * 是否根据营期状态排序
+     */
+    private boolean sortByStatus;
+
 }

+ 6 - 0
fs-service/src/main/java/com/fs/course/vo/newfs/FsUserCourseVideoPageListVO.java

@@ -74,4 +74,10 @@ public class FsUserCourseVideoPageListVO extends BaseEntity {
      */
     private  boolean registerLink;
 
+    /**
+     * 营期视频状态 0-未开始 1-进行中 2-已结束
+     */
+    @ApiModelProperty(value = "营期视频状态 0-未开始 1-进行中 2-已结束")
+    private transient Integer videoStatus;
+
 }

+ 10 - 3
fs-service/src/main/resources/mapper/course/FsUserCourseVideoMapper.xml

@@ -282,7 +282,8 @@
         if(ccut.start_date_time is null, fcpd.start_date_time, ccut.start_date_time) as startDateTime,
         if(ccut.end_date_time is null, fcpd.end_date_time, ccut.end_date_time) as endDateTime,
         course.project as projectId,
-        fcp.max_view_num as maxViewNum
+        fcp.max_view_num as maxViewNum,
+        fcpd.status as videoStatus
         FROM `fs_user_course_video` video
         left join fs_user_course_period_days fcpd on fcpd.video_id = video.video_id
         left join fs_user_course_period fcp on fcp.period_id = fcpd.period_id
@@ -301,7 +302,12 @@
         </if>
         <!-- 营销提前查看天数逻辑 -->
         AND DATE_SUB(fcpd.day_date, INTERVAL fcp.max_view_num DAY) &lt;= now()
-        order by fcpd.day_date, video.course_sort
+        <if test="sortByStatus">
+            order by FIELD(fcpd.status, 1, 0, 2), fcpd.day_date, video.course_sort
+        </if>
+        <if test="!sortByStatus">
+            order by fcpd.day_date, video.course_sort
+        </if>
     </select>
 
     <select id="selectVideoListByMap" resultType="com.fs.his.vo.OptionsVO">
@@ -340,7 +346,8 @@
         fcp.period_name,
         if(ccut.start_date_time is null, fcpd.start_date_time, ccut.start_date_time) as startDateTime,
         if(ccut.end_date_time is null, fcpd.end_date_time, ccut.end_date_time) as endDateTime,
-        course.project as projectId
+        course.project as projectId,
+        fcpd.status as videoStatus
         from `fs_user_course_video` video
         left join fs_user_course_period_days fcpd on fcpd.video_id = video.video_id
         left join fs_user_course_period fcp on fcp.period_id = fcpd.period_id