Procházet zdrojové kódy

删除营期并且删除课程以及红包记录

yfh před 5 dny
rodič
revize
1b6331286a

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

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fs.course.domain.FsUserCoursePeriodDays;
 import com.fs.his.vo.OptionsVO;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
 
 import java.time.LocalDateTime;
 import java.util.List;
@@ -95,4 +96,18 @@ public interface FsUserCoursePeriodDaysMapper extends BaseMapper<FsUserCoursePer
      * @param now  时间
      */
     void endPeriodCourse(@Param("now") LocalDateTime now);
+
+    /**
+     * 批量删除
+     * @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);
+
 }

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

@@ -85,4 +85,17 @@ public interface FsUserCourseVideoRedPackageMapper
     int batchSaveFsUserCourseVideoRedPackage(@Param("list") List<FsUserCourseVideoRedPackage> redPackageList);
     List<FsUserCourseVideoRedPackage> listByCompanyIdAndVideoIds(@Param("companyId") Long companyId, @Param("videoIdList") List<Long> videoIdList);
     List<FsUserCourseVideoRedPackage> listByRuleIds(@Param("ids") List<Long> ids);
+
+    /**
+     * 批量删除
+     * @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);
 }

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

@@ -7,6 +7,7 @@ import com.fs.course.domain.FsUserCoursePeriod;
 import com.fs.course.domain.FsUserCoursePeriodDays;
 import com.fs.course.mapper.FsUserCoursePeriodDaysMapper;
 import com.fs.course.mapper.FsUserCoursePeriodMapper;
+import com.fs.course.mapper.FsUserCourseVideoRedPackageMapper;
 import com.fs.course.service.IFsUserCoursePeriodService;
 import com.fs.course.vo.FsUserCoursePeriodVO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +37,8 @@ public class FsUserCoursePeriodServiceImpl implements IFsUserCoursePeriodService
     private FsUserCoursePeriodMapper fsUserCoursePeriodMapper;
     @Resource
     private FsUserCoursePeriodDaysMapper fsUserCoursePeriodDaysMapper;
+    @Resource
+    private FsUserCourseVideoRedPackageMapper fsUserCourseVideoRedPackageMapper;
 
     /**
      * 查询会员营期
@@ -139,7 +142,18 @@ public class FsUserCoursePeriodServiceImpl implements IFsUserCoursePeriodService
         if (checkPeriodStatus(periodIds)) {
             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) {
         LocalDate currentDate = LocalDate.now(); // 2025-06-30

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

@@ -11,8 +11,10 @@ import com.fs.course.domain.FsUserCoursePeriod;
 import com.fs.course.domain.FsUserCoursePeriodDays;
 import com.fs.course.domain.FsUserCourseTrainingCamp;
 import com.fs.course.dto.FsUserCourseTrainingCampDTO;
+import com.fs.course.mapper.FsUserCoursePeriodDaysMapper;
 import com.fs.course.mapper.FsUserCoursePeriodMapper;
 import com.fs.course.mapper.FsUserCourseTrainingCampMapper;
+import com.fs.course.mapper.FsUserCourseVideoRedPackageMapper;
 import com.fs.course.service.IFsUserCoursePeriodDaysService;
 import com.fs.course.service.IFsUserCourseTrainingCampService;
 import com.fs.course.vo.FsUserCourseTrainingCampVO;
@@ -38,6 +40,10 @@ public class FsUserCourseTrainingCampServiceImpl extends ServiceImpl<FsUserCours
 {
 
     private final FsUserCoursePeriodMapper fsUserCoursePeriodMapper;
+    private final FsUserCourseVideoRedPackageMapper fsUserCourseVideoRedPackageMapper;
+
+    private final FsUserCoursePeriodDaysMapper fsUserCoursePeriodDaysMapper;
+
     private final IFsUserCoursePeriodDaysService fsUserCoursePeriodDaysService;
 
     /**
@@ -82,6 +88,16 @@ public class FsUserCourseTrainingCampServiceImpl extends ServiceImpl<FsUserCours
         if(!periodIds.isEmpty()){
             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);
+        }
     }
 
     /**