Ver código fonte

Merge remote-tracking branch 'origin/红德堂' into 红德堂

wangxy 3 semanas atrás
pai
commit
a6b6a03a29

+ 12 - 0
fs-service/src/main/java/com/fs/course/domain/FsUserCoursePeriod.java

@@ -103,6 +103,18 @@ public class FsUserCoursePeriod
 
     private Integer maxViewNum;
 
+    /** app端看课开关,0-关闭,1-开启 */
+    @Excel(name = "app端看课开关,0-关闭,1-开启")
+    private Integer appViewEnabled = 1;
+
+    /** 小程序端看课开关,0-关闭,1-开启 */
+    @Excel(name = "小程序端看课开关,0-关闭,1-开启")
+    private Integer miniProgramViewEnabled = 1;
+
+    /** h5端看课开关,0-关闭,1-开启 */
+    @Excel(name = "h5端看课开关,0-关闭,1-开启")
+    private Integer h5ViewEnabled = 1;
+
     @Excel(name = "开启评论或者弹幕,1-开启评论;2-开启弹幕;3-都关闭")
     private Integer openCommentStatus;
     @Excel(name = "开启评论或者弹幕,1-开启评论;2-开启弹幕;3-都关闭")

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

@@ -45,7 +45,7 @@ public class FsUserCourseAddCompanyUserParam implements Serializable {
     private Long id;
 
     /**
-     * 来源标识 2小程序 1 app
+     * 来源标识 1.app 2.小程序  3.H5
      */
     private Integer typeFlag=2;
 }

+ 30 - 0
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -2068,6 +2068,36 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService {
         if (!isUserCoursePeriodValid(param)) {
             return ResponseResult.fail(504, "请观看最新的课程项目");
         }
+
+        // 根据播放端设置限制看课访问
+        if (param.getPeriodId() == null) {
+            return ResponseResult.fail(504, "营期不存在#1");
+        }
+
+        Integer typeFlag = param.getTypeFlag();
+        if (typeFlag == null) {
+            return ResponseResult.fail(504, "不支持的看课类型");
+        }
+
+        FsUserCoursePeriod period = fsUserCoursePeriodMapper.selectFsUserCoursePeriodById(param.getPeriodId());
+        if (period == null) {
+            return ResponseResult.fail(504, "营期不存在#2");
+        }
+
+        Map<Integer, Integer> enabledCheckers = new HashMap<>();
+        enabledCheckers.put(1, period.getAppViewEnabled());
+        enabledCheckers.put(2, period.getMiniProgramViewEnabled());
+        enabledCheckers.put(3, period.getH5ViewEnabled());
+
+        if (!enabledCheckers.containsKey(typeFlag)) {
+            return ResponseResult.fail(504, "不支持的看课类型");
+        }
+
+        Integer enabled = enabledCheckers.get(typeFlag);
+        if (enabled != null && enabled == 0) {
+            return ResponseResult.fail(504, "业务升级,最新看课频道请联系您的专属客服");
+        }
+
         if(param.getTypeFlag()==2){
             //小程序看课需要判断是否注册
             //营期公司的开关状态

+ 12 - 0
fs-service/src/main/resources/mapper/course/FsUserCoursePeriodMapper.xml

@@ -21,6 +21,9 @@
         <result property="courseLogo"    column="course_logo"    />
         <result property="openCommentStatus"    column="open_comment_status"    />
         <result property="periodLine"    column="period_line"    />
+        <result property="appViewEnabled"    column="app_view_enabled"    />
+        <result property="miniProgramViewEnabled"    column="mini_program_view_enabled"    />
+        <result property="h5ViewEnabled"    column="h5_view_enabled"    />
     </resultMap>
 
     <sql id="selectFsUserCoursePeriodVo">
@@ -114,6 +117,9 @@
             <if test="courseLogo != null">course_logo,</if>
             <if test="openCommentStatus != null">open_comment_status,</if>
             <if test="periodLine != null">period_line,</if>
+            <if test="appViewEnabled != null">app_view_enabled,</if>
+            <if test="miniProgramViewEnabled != null">mini_program_view_enabled,</if>
+            <if test="h5ViewEnabled != null">h5_view_enabled,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="periodId != null">#{periodId},</if>
@@ -136,6 +142,9 @@
             <if test="courseLogo != null">#{courseLogo},</if>
             <if test="openCommentStatus != null">#{openCommentStatus},</if>
             <if test="periodLine != null">#{periodLine},</if>
+            <if test="appViewEnabled != null">#{appViewEnabled},</if>
+            <if test="miniProgramViewEnabled != null">#{miniProgramViewEnabled},</if>
+            <if test="h5ViewEnabled != null">#{h5ViewEnabled},</if>
         </trim>
     </insert>
 
@@ -161,6 +170,9 @@
             <if test="courseLogo != null and courseLogo !=''">course_logo = #{courseLogo},</if>
             <if test="openCommentStatus != null">open_comment_status = #{openCommentStatus},</if>
             <if test="periodLine != null">period_line = #{periodLine},</if>
+            <if test="appViewEnabled != null">app_view_enabled = #{appViewEnabled},</if>
+            <if test="miniProgramViewEnabled != null">mini_program_view_enabled = #{miniProgramViewEnabled},</if>
+            <if test="h5ViewEnabled != null">h5_view_enabled = #{h5ViewEnabled},</if>
         </trim>
         where period_id = #{periodId}
     </update>