Bladeren bron

Merge remote-tracking branch 'origin/master'

yfh 2 dagen geleden
bovenliggende
commit
60c8559030

+ 9 - 0
fs-company/src/main/java/com/fs/company/controller/course/FsUserCoursePeriodController.java

@@ -195,6 +195,15 @@ public class FsUserCoursePeriodController extends BaseController {
 
     }
 
+    @PreAuthorize("@ss.hasPermi('course:period:edit')")
+    @Log(title = "会员营期", businessType = BusinessType.UPDATE)
+    @PutMapping("/updatePeriodIsOpenRestReminder")
+    public AjaxResult updatePeriodIsOpenRestReminder(@RequestBody FsUserCoursePeriod fsUserCoursePeriod)
+    {
+        return toAjax(fsUserCoursePeriodService.updatePeriod(fsUserCoursePeriod));
+
+    }
+
     /**
      * 删除会员营期
      */

+ 3 - 0
fs-service/src/main/java/com/fs/company/domain/Company.java

@@ -138,6 +138,9 @@ public class Company extends BaseEntity
 
     private BigDecimal redPackageMoney;
 
+    // 控制休息提示是否打开要暂停  0-关闭 1-打开 null-默认打开
+    private Integer isOpenRestReminder;
+
     @TableField(exist = false)
     private List<Long> ids;
 }

+ 3 - 0
fs-service/src/main/java/com/fs/company/vo/CompanyVO.java

@@ -104,4 +104,7 @@ public class CompanyVO implements Serializable
      * 新增展示商户号(分公司配置时有值)
      */
     private String mchId;
+
+    // 控制休息提示是否打开要暂停  0-关闭 1-打开 null-默认打开
+    private Integer isOpenRestReminder;
 }

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

@@ -119,4 +119,7 @@ public class FsUserCoursePeriod
     private Date periodLine;
     /** 是否需要单独注册会员,1-是,0-否(用于个微销售分享看课) */
     private String isNeedRegisterMember;
+
+    // 控制休息提示是否打开要暂停  0-关闭 1-打开 null-默认打开
+    private Integer IsOpenRestReminder;
 }

+ 2 - 0
fs-service/src/main/java/com/fs/course/service/IFsUserCoursePeriodService.java

@@ -105,4 +105,6 @@ public interface IFsUserCoursePeriodService
     int editIsNeedRegisterMember(FsUserCoursePeriod fsUserCoursePeriod,String s);
 
     List<SysDictData> selectFsUserCoursePeriodListLabel(FsUserCoursePeriod fsUserCoursePeriod);
+
+    int updatePeriod(FsUserCoursePeriod fsUserCoursePeriod);
 }

+ 12 - 0
fs-service/src/main/java/com/fs/course/service/impl/FsUserCoursePeriodServiceImpl.java

@@ -343,4 +343,16 @@ public class FsUserCoursePeriodServiceImpl implements IFsUserCoursePeriodService
     public List<SysDictData> selectFsUserCoursePeriodListLabel(FsUserCoursePeriod fsUserCoursePeriod) {
         return fsUserCoursePeriodMapper.selectFsUserCoursePeriodListLabel(fsUserCoursePeriod);
     }
+
+    /**
+     * @Description: 更新营期信息
+     * @Param:
+     * @Return:
+     * @Author xgb
+     * @Date 2025/12/19 10:52
+     */
+    @Override
+    public int updatePeriod(FsUserCoursePeriod fsUserCoursePeriod) {
+        return fsUserCoursePeriodMapper.updateFsUserCoursePeriod(fsUserCoursePeriod);
+    }
 }

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

@@ -2829,7 +2829,7 @@ public class FsUserCourseVideoServiceImpl extends ServiceImpl<FsUserCourseVideoM
         }
 
         // 2025-11-16 鹤颜堂 xgb 添加配置控制休息提示是否打开要暂停 默认打开 0-关闭 1-打开
-        if (config.getIsOpenRestReminder() == null || config.getIsOpenRestReminder() == 1) {
+        if(isOpenRestReminder(config,watchLog)){
             if (courseVideoDetails != null && courseVideoDetails.getDuration() != null) {
                 // 查询视频是否设置了红包,没有就不提示
                 Integer fsUserCourseVideoRedPackage = fsUserCourseVideoRedPackageMapper.selectRedPacketByCompanyCount(param.getVideoId(), null, param.getPeriodId());
@@ -2840,6 +2840,7 @@ public class FsUserCourseVideoServiceImpl extends ServiceImpl<FsUserCourseVideoM
             }
         }
 
+
         vo.setTipsTime(tipsTime);
         vo.setTipsTime2(tipsTime2);
         //判断是否完课
@@ -2909,6 +2910,47 @@ public class FsUserCourseVideoServiceImpl extends ServiceImpl<FsUserCourseVideoM
         return ResponseResult.ok(vo);
     }
 
+    /**
+     * @Description: 是否看课中断
+     * @Param:
+     * @Return:
+     * @Author xgb 默认 打开看课中断
+     * @Date 2025/12/18 17:33
+     */
+
+    private boolean isOpenRestReminder(CourseConfig config ,FsCourseWatchLog watchLog){
+        // 查询公司看课中断是否打开
+        boolean result= true;
+
+        if (config.getIsOpenRestReminder() != null && config.getIsOpenRestReminder() == 0) {
+            result=false;
+        }
+
+        if(watchLog.getCompanyId()!=null){
+            Company company=companyMapper.selectCompanyById(watchLog.getCompanyId());
+            if(company!=null && company.getIsOpenRestReminder()!=null){
+                if(company.getIsOpenRestReminder()==0){
+                    result=false;
+                }else {
+                    result=true;
+                }
+            }
+        }
+
+        if(watchLog.getPeriodId()!=null){
+            FsUserCoursePeriod period= fsUserCoursePeriodMapper.selectFsUserCoursePeriodById(watchLog.getPeriodId());
+            if(period!=null && period.getIsOpenRestReminder()!=null){
+                if(period.getIsOpenRestReminder()==0){
+                    result=false;
+                }else {
+                    result=true;
+                }
+            }
+        }
+
+        return result;
+    }
+
     @Override
     public R addWatchLogByLink(FsUserCourseAddCompanyUserParam param) {
 

+ 3 - 0
fs-service/src/main/java/com/fs/course/vo/FsUserCoursePeriodVO.java

@@ -90,4 +90,7 @@ public class FsUserCoursePeriodVO implements Serializable {
     private Date periodLine;
     /** 是否需要单独注册会员,1-是,0-否(用于个微销售分享看课) */
     private String isNeedRegisterMember;
+
+    // 控制休息提示是否打开要暂停  0-关闭 1-打开 null-默认打开
+    private Integer IsOpenRestReminder;
 }

+ 3 - 0
fs-service/src/main/resources/mapper/company/CompanyMapper.xml

@@ -122,6 +122,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="groupName != null">group_name,</if>
             <if test="maxPadNum != null">max_pad_num,</if>
             <if test="deptId != null">dept_id,</if>
+            <if test="isOpenRestReminder != null">is_open_rest_reminder,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="companyName != null">#{companyName},</if>
@@ -158,6 +159,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="groupName != null">#{groupName},</if>
             <if test="maxPadNum != null">#{maxPadNum},</if>
             <if test="deptId != null">#{deptId},</if>
+            <if test="isOpenRestReminder != null">is_open_rest_reminder = #{isOpenRestReminder},</if>
          </trim>
     </insert>
 
@@ -201,6 +203,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="maxPadNum != null">max_pad_num = #{maxPadNum},</if>
             <if test="deptId != null">dept_id = #{deptId},</if>
             <if test="redPackageMoney != null">red_package_money = #{redPackageMoney},</if>
+            <if test="isOpenRestReminder != null">is_open_rest_reminder = #{isOpenRestReminder},</if>
         </trim>
         where company_id = #{companyId}
     </update>

+ 2 - 1
fs-service/src/main/resources/mapper/course/FsCourseWatchLogMapper.xml

@@ -489,7 +489,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                     sop_id,
                     finish_time,
                     send_finish_msg,
-                    camp_period_time
+                    camp_period_time,
+                    period_id
                 FROM
                     fs_course_watch_log
                 WHERE

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

@@ -56,6 +56,7 @@
         fs_user_course_period.update_time,
         fs_user_course_period.period_status,
         fs_user_course_period.max_view_num,
+        fs_user_course_period.is_open_rest_reminder,
         course_style,
         live_room_style,
         red_packet_grant_method,
@@ -166,6 +167,7 @@
             <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="isOpenRestReminder != null">is_open_rest_reminder = #{isOpenRestReminder},</if>
         </trim>
         where period_id = #{periodId}
     </update>