Browse Source

Merge branch 'refs/heads/master' into master-fby

# Conflicts:
#	fs-service-system/src/main/resources/mapper/course/FsUserCoursePeriodDaysMapper.xml
caoliqin 1 week ago
parent
commit
19a3517dfd

+ 13 - 0
fs-service-system/src/main/java/com/fs/course/mapper/FsUserCoursePeriodDaysMapper.java

@@ -5,6 +5,7 @@ import com.fs.course.domain.FsUserCoursePeriodDays;
 import com.fs.course.domain.FsUserWatchCourseStatistics;
 import com.fs.course.domain.FsUserWatchCourseStatistics;
 import com.fs.his.vo.OptionsVO;
 import com.fs.his.vo.OptionsVO;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
 
 
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.List;
@@ -103,4 +104,16 @@ public interface FsUserCoursePeriodDaysMapper extends BaseMapper<FsUserCoursePer
      */
      */
     List<FsUserWatchCourseStatistics> selectDaysCountList();
     List<FsUserWatchCourseStatistics> selectDaysCountList();
 
 
+    /**
+     * 批量删除
+     * @param ids
+     * @param delFlag
+     */
+    @Update("<script>" +
+            "UPDATE fs_user_course_period_days SET del_flag = #{delFlag} WHERE id IN " +
+            "<foreach collection='ids' item='id' open='(' separator=',' close=')'>" +
+            "#{id}" +
+            "</foreach>" +
+            "</script>")
+    int updateBatchDelFlag(@Param("ids") Long [] ids, @Param("delFlag") Integer delFlag);
 }
 }

+ 12 - 0
fs-service-system/src/main/java/com/fs/course/mapper/FsUserCourseVideoRedPackageMapper.java

@@ -97,4 +97,16 @@ public interface FsUserCourseVideoRedPackageMapper
     int updateRedPackageByParams(FsUserCourseVideoRedPackage videoRedPackage);
     int updateRedPackageByParams(FsUserCourseVideoRedPackage videoRedPackage);
 
 
     List<FsUserCourseVideoRedPackage> selectByRuleIds(@Param("ruleIds") List<Long> ruleIds);
     List<FsUserCourseVideoRedPackage> selectByRuleIds(@Param("ruleIds") List<Long> ruleIds);
+    /**
+     * 批量删除
+     * @param ids
+     * @param delFlag
+     */
+    @Update("<script>" +
+            "UPDATE fs_user_course_video_red_package SET del_flag = #{delFlag} WHERE video_id IN " +
+            "<foreach collection='ids' item='id' open='(' separator=',' close=')'>" +
+            "#{id}" +
+            "</foreach>" +
+            "</script>")
+    int updateBatchDelFlag(@Param("ids") Long [] ids, @Param("delFlag") Integer delFlag);
 }
 }

+ 1 - 0
fs-service-system/src/main/java/com/fs/course/service/IFsUserCoursePeriodDaysService.java

@@ -117,4 +117,5 @@ public interface IFsUserCoursePeriodDaysService extends IService<FsUserCoursePer
      * 更新营期课程状态
      * 更新营期课程状态
      */
      */
     void changePeriodCourseStatus();
     void changePeriodCourseStatus();
+
 }
 }

+ 17 - 1
fs-service-system/src/main/java/com/fs/course/service/impl/FsUserCoursePeriodServiceImpl.java

@@ -8,7 +8,9 @@ import com.fs.course.domain.FsUserCoursePeriod;
 import com.fs.course.domain.FsUserCoursePeriodDays;
 import com.fs.course.domain.FsUserCoursePeriodDays;
 import com.fs.course.mapper.FsUserCoursePeriodDaysMapper;
 import com.fs.course.mapper.FsUserCoursePeriodDaysMapper;
 import com.fs.course.mapper.FsUserCoursePeriodMapper;
 import com.fs.course.mapper.FsUserCoursePeriodMapper;
+import com.fs.course.mapper.FsUserCourseVideoRedPackageMapper;
 import com.fs.course.service.IFsUserCoursePeriodService;
 import com.fs.course.service.IFsUserCoursePeriodService;
+import com.fs.course.service.IFsUserCourseVideoRedPackageService;
 import com.fs.course.vo.FsUserCoursePeriodVO;
 import com.fs.course.vo.FsUserCoursePeriodVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
@@ -35,6 +37,9 @@ public class FsUserCoursePeriodServiceImpl implements IFsUserCoursePeriodService
     @Resource
     @Resource
     private FsUserCoursePeriodDaysMapper fsUserCoursePeriodDaysMapper;
     private FsUserCoursePeriodDaysMapper fsUserCoursePeriodDaysMapper;
 
 
+    @Resource
+    private FsUserCourseVideoRedPackageMapper fsUserCourseVideoRedPackageMapper;
+
     /**
     /**
      * 查询会员营期
      * 查询会员营期
      *
      *
@@ -138,7 +143,18 @@ public class FsUserCoursePeriodServiceImpl implements IFsUserCoursePeriodService
         if (checkPeriodStatus(periodIds)) {
         if (checkPeriodStatus(periodIds)) {
             throw new ServiceException("存在进行中或已结束的营期,不允许删除");
             throw new ServiceException("存在进行中或已结束的营期,不允许删除");
         }
         }
-        return fsUserCoursePeriodMapper.updateBatchDelFlag(periodIds,1);
+        int flag = fsUserCoursePeriodMapper.updateBatchDelFlag(periodIds,1);
+        //删除课程
+        Set<Long> set = Arrays.asList(periodIds).stream().collect(Collectors.toSet());
+        List<FsUserCoursePeriodDays> fsUserCoursePeriodDays = fsUserCoursePeriodDaysMapper.selectCourseVideoList(set);
+        List<Long> periodDayIds = fsUserCoursePeriodDays.stream().map(FsUserCoursePeriodDays::getId).collect(Collectors.toList());
+        List<Long> videoIds = fsUserCoursePeriodDays.stream().map(FsUserCoursePeriodDays::getVideoId).collect(Collectors.toList());
+        if(!periodDayIds.isEmpty()){
+            fsUserCoursePeriodDaysMapper.updateBatchDelFlag(periodDayIds.toArray(new Long[0]),1);
+            //删除红包记录
+            fsUserCourseVideoRedPackageMapper.updateBatchDelFlag(videoIds.toArray(new Long[0]),1);
+        }
+        return flag;
     }
     }
     private boolean checkPeriodStatus(Long[] ids) {
     private boolean checkPeriodStatus(Long[] ids) {
         LocalDate currentDate = LocalDate.now(); // 2025-06-30
         LocalDate currentDate = LocalDate.now(); // 2025-06-30

+ 17 - 0
fs-service-system/src/main/java/com/fs/course/service/impl/FsUserCourseTrainingCampServiceImpl.java

@@ -11,10 +11,13 @@ import com.fs.course.domain.FsUserCoursePeriod;
 import com.fs.course.domain.FsUserCoursePeriodDays;
 import com.fs.course.domain.FsUserCoursePeriodDays;
 import com.fs.course.domain.FsUserCourseTrainingCamp;
 import com.fs.course.domain.FsUserCourseTrainingCamp;
 import com.fs.course.dto.FsUserCourseTrainingCampDTO;
 import com.fs.course.dto.FsUserCourseTrainingCampDTO;
+import com.fs.course.mapper.FsUserCoursePeriodDaysMapper;
 import com.fs.course.mapper.FsUserCoursePeriodMapper;
 import com.fs.course.mapper.FsUserCoursePeriodMapper;
 import com.fs.course.mapper.FsUserCourseTrainingCampMapper;
 import com.fs.course.mapper.FsUserCourseTrainingCampMapper;
+import com.fs.course.mapper.FsUserCourseVideoRedPackageMapper;
 import com.fs.course.service.IFsUserCoursePeriodDaysService;
 import com.fs.course.service.IFsUserCoursePeriodDaysService;
 import com.fs.course.service.IFsUserCourseTrainingCampService;
 import com.fs.course.service.IFsUserCourseTrainingCampService;
+import com.fs.course.service.IFsUserCourseVideoRedPackageService;
 import com.fs.course.vo.FsUserCourseTrainingCampVO;
 import com.fs.course.vo.FsUserCourseTrainingCampVO;
 import com.fs.his.vo.OptionsVO;
 import com.fs.his.vo.OptionsVO;
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
@@ -38,6 +41,9 @@ public class FsUserCourseTrainingCampServiceImpl extends ServiceImpl<FsUserCours
 {
 {
 
 
     private final FsUserCoursePeriodMapper fsUserCoursePeriodMapper;
     private final FsUserCoursePeriodMapper fsUserCoursePeriodMapper;
+    private final FsUserCourseVideoRedPackageMapper fsUserCourseVideoRedPackageMapper;
+
+    private final FsUserCoursePeriodDaysMapper fsUserCoursePeriodDaysMapper;
     private final IFsUserCoursePeriodDaysService fsUserCoursePeriodDaysService;
     private final IFsUserCoursePeriodDaysService fsUserCoursePeriodDaysService;
 
 
     /**
     /**
@@ -83,6 +89,17 @@ public class FsUserCourseTrainingCampServiceImpl extends ServiceImpl<FsUserCours
         if(!periodIds.isEmpty()){
         if(!periodIds.isEmpty()){
             fsUserCoursePeriodMapper.updateBatchDelFlag(periodIds.toArray(new Long[0]),1);
             fsUserCoursePeriodMapper.updateBatchDelFlag(periodIds.toArray(new Long[0]),1);
         }
         }
+        //删除课程
+        Set<Long> set = periodIds.stream().collect(Collectors.toSet());
+        List<FsUserCoursePeriodDays> fsUserCoursePeriodDays = fsUserCoursePeriodDaysMapper.selectCourseVideoList(set);
+        List<Long> periodDayIds = fsUserCoursePeriodDays.stream().map(FsUserCoursePeriodDays::getId).collect(Collectors.toList());
+        List<Long> videoIds = fsUserCoursePeriodDays.stream().map(FsUserCoursePeriodDays::getVideoId).collect(Collectors.toList());
+        if(!periodDayIds.isEmpty()){
+            fsUserCoursePeriodDaysMapper.updateBatchDelFlag(periodDayIds.toArray(new Long[0]),1);
+            //删除红包记录
+            fsUserCourseVideoRedPackageMapper.updateBatchDelFlag(videoIds.toArray(new Long[0]),1);
+        }
+
     }
     }
 
 
     /**
     /**

+ 3 - 1
fs-service-system/src/main/resources/mapper/course/FsUserCoursePeriodDaysMapper.xml

@@ -30,6 +30,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         inner join fs_user_course b on a.course_id = b.course_id
         inner join fs_user_course b on a.course_id = b.course_id
         inner join fs_user_course_video c on a.video_id = c.video_id
         inner join fs_user_course_video c on a.video_id = c.video_id
         <where>
         <where>
+            and a.del_flag ='0'
             <if test="periodId != null "> and period_id = #{periodId}</if>
             <if test="periodId != null "> and period_id = #{periodId}</if>
             <if test="courseId != null "> and a.course_id = #{courseId}</if>
             <if test="courseId != null "> and a.course_id = #{courseId}</if>
             <if test="videoId != null "> and a.video_id = #{videoId}</if>
             <if test="videoId != null "> and a.video_id = #{videoId}</if>
@@ -119,7 +120,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </delete>
     </delete>
 
 
     <select id="selectCourseVideoList" resultType="FsUserCoursePeriodDays">
     <select id="selectCourseVideoList" resultType="FsUserCoursePeriodDays">
-       select * from fs_user_course_period_days where period_id in
+       select * from fs_user_course_period_days where del_flag ='0' and period_id in
         <foreach collection="periodIds" item="item" open="(" separator="," close=")">
         <foreach collection="periodIds" item="item" open="(" separator="," close=")">
            #{item}
            #{item}
         </foreach>
         </foreach>
@@ -132,6 +133,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             ucp.period_name dictLabel
             ucp.period_name dictLabel
         from fs_user_course_period ucp
         from fs_user_course_period ucp
         <where>
         <where>
+            and ucp.del_flag ='0'
             <if test="params.name != null and params.name != ''">
             <if test="params.name != null and params.name != ''">
                 and ucp.period_name like concat('%', #{params.name}, '%')
                 and ucp.period_name like concat('%', #{params.name}, '%')
             </if>
             </if>

+ 3 - 3
fs-service-system/src/main/resources/mapper/course/FsUserCourseVideoRedPackageMapper.xml

@@ -118,7 +118,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectByParamsList" resultMap="FsUserCourseVideoRedPackageResult">
     <select id="selectByParamsList" resultMap="FsUserCourseVideoRedPackageResult">
         select id, company_id, video_id, red_packet_money, period_id, data_type
         select id, company_id, video_id, red_packet_money, period_id, data_type
         from fs_user_course_video_red_package
         from fs_user_course_video_red_package
-        where data_type = 2
+        where del_flag ='0' and data_type = 2
         and (
         and (
         <foreach collection="list" item="item" separator=" OR ">
         <foreach collection="list" item="item" separator=" OR ">
             (period_id = #{item.periodId} AND video_id = #{item.videoId} AND company_id = #{item.companyId})
             (period_id = #{item.periodId} AND video_id = #{item.videoId} AND company_id = #{item.companyId})
@@ -133,10 +133,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where period_id = #{periodId}
         where period_id = #{periodId}
         and video_id = #{videoId}
         and video_id = #{videoId}
         and company_id = #{companyId}
         and company_id = #{companyId}
-        and data_type = 2
+        and del_flag ='0' and data_type = 2
     </update>
     </update>
 
 
     <select id="selectByRuleIds" resultType="com.fs.course.domain.FsUserCourseVideoRedPackage">
     <select id="selectByRuleIds" resultType="com.fs.course.domain.FsUserCourseVideoRedPackage">
-        select * from fs_user_course_video_red_package where data_type = 3 and rule_id in <foreach collection="ruleIds" open="(" separator="," close=")" item="item">#{item}</foreach>
+        select * from fs_user_course_video_red_package where del_flag ='0' and data_type = 3 and rule_id in <foreach collection="ruleIds" open="(" separator="," close=")" item="item">#{item}</foreach>
     </select>
     </select>
 </mapper>
 </mapper>