Kaynağa Gözat

修复删除课程后其他课程被删除

yfh 1 hafta önce
ebeveyn
işleme
29f4dbdb82

+ 3 - 1
fs-service/src/main/java/com/fs/course/mapper/FsUserCourseVideoRedPackageMapper.java

@@ -67,7 +67,9 @@ public interface FsUserCourseVideoRedPackageMapper
      * @return 结果
      */
     public int deleteFsUserCourseVideoRedPackageByIds(Long[] ids);
-    public int deleteFsUserCourseVideoRedPackageByVedioIds(Long[] ids);
+    public int deleteFsUserCourseVideoRedPackageByVedioIds(
+            @Param("videoIds") Long[] videoIds,
+            @Param("periodIds") Long[] periodIds);
     @Update("INSERT INTO fs_user_course_video_red_package (company_id, video_id, red_packet_money) " +
             "VALUES (#{companyId}, #{videoId}, #{redPacketMoney}) " +
             "ON DUPLICATE KEY UPDATE red_packet_money = VALUES(red_packet_money);")

+ 2 - 1
fs-service/src/main/java/com/fs/course/service/impl/FsUserCoursePeriodDaysServiceImpl.java

@@ -129,11 +129,12 @@ public class FsUserCoursePeriodDaysServiceImpl extends ServiceImpl<FsUserCourseP
         int flag = 0;
         List<FsUserCoursePeriodDays> fsUserCoursePeriodDays = fsUserCoursePeriodDaysMapper.selectBatchIds(Arrays.asList(ids));
         List<Long> periodDayIds = fsUserCoursePeriodDays.stream().map(FsUserCoursePeriodDays::getId).collect(Collectors.toList());
+        List<Long> getPeriodIds = fsUserCoursePeriodDays.stream().map(FsUserCoursePeriodDays::getPeriodId).collect(Collectors.toList());
         List<Long> videoIds = fsUserCoursePeriodDays.stream().map(FsUserCoursePeriodDays::getVideoId).collect(Collectors.toList());
         if(!periodDayIds.isEmpty()){
             flag = fsUserCoursePeriodDaysMapper.updateBatchDelFlag(periodDayIds.toArray(new Long[0]),1);
             //删除红包记录
-            fsUserCourseVideoRedPackageMapper.deleteFsUserCourseVideoRedPackageByVedioIds(videoIds.toArray(new Long[0]));
+            fsUserCourseVideoRedPackageMapper.deleteFsUserCourseVideoRedPackageByVedioIds(videoIds.toArray(new Long[0]),getPeriodIds.toArray(new Long[0]));
         }
         return flag;
     }

+ 15 - 5
fs-service/src/main/resources/mapper/course/FsUserCourseVideoRedPackageMapper.xml

@@ -63,11 +63,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{id}
         </foreach>
     </delete>
-    <delete id="deleteFsUserCourseVideoRedPackageByVedioIds" parameterType="String">
-        delete from fs_user_course_video_red_package where video_id in
-        <foreach item="id" collection="array" open="(" separator="," close=")">
-            #{id}
-        </foreach>
+    <delete id="deleteFsUserCourseVideoRedPackageByVedioIds">
+        DELETE FROM fs_user_course_video_red_package
+        WHERE 1=1
+        <if test="videoIds != null and videoIds.length > 0">
+            AND video_id IN
+            <foreach item="id" collection="videoIds" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+        <if test="periodIds != null and periodIds.length > 0">
+            AND period_id IN
+            <foreach item="id" collection="periodIds" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
     </delete>
     <!-- 批量查询匹配的红包数据 -->
     <select id="selectByParamsList" resultMap="FsUserCourseVideoRedPackageResult">