Quellcode durchsuchen

Debug clearStoryboard

tsurumure vor 2 Monaten
Ursprung
Commit
e5b2432562

+ 1 - 1
src/main/java/com/backendsys/modules/crt/entity/CrtDramaProjectStoryboard.java

@@ -38,7 +38,7 @@ public class CrtDramaProjectStoryboard {
 
     @NotNull(message = "项目ID不能为空", groups = { Create.class, StoryboardDetail.class })
     private Long drama_project_id;
-    @NotNull(message = "集数不能为空", groups = { Create.class, StoryboardDetail.class })
+    @NotNull(message = "集数不能为空", groups = { Create.class, StoryboardDetail.class, Clear.class })
     @Max(value = 999, message = "集数不超过 {value}")
     private Integer episode_num;
 

+ 20 - 5
src/main/java/com/backendsys/modules/crt/service/impl/CrtDramaProjectStoryboardServiceImpl.java

@@ -15,8 +15,10 @@ import com.backendsys.modules.crt.service.CrtDramaProjectStoryboardService;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Arrays;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -153,17 +155,30 @@ public class CrtDramaProjectStoryboardServiceImpl implements CrtDramaProjectStor
     /**
      * 清空分镜
      */
+    @Transactional(rollbackFor = Exception.class)
     public Map<String, Object> clearStoryboard(CrtDramaProjectStoryboard crtDramaProjectStoryboard) {
 
         Long drama_project_id = crtDramaProjectStoryboard.getDrama_project_id();
-        Long drama_project_storyboard_id = crtDramaProjectStoryboard.getDrama_project_storyboard_id();
+        Integer episode_num = crtDramaProjectStoryboard.getEpisode_num();
 
-//        // [DB] 清空分镜
-//        LambdaQueryWrapper<CrtDramaProjectStoryboard> wrapper = new LambdaQueryWrapper<>();
-//        wrapper.eq(CrtDramaProjectStoryboard::getDrama_project_id, drama_project_id);
+        // [DB] 清空当前分集的所有分镜
+        LambdaQueryWrapper<CrtDramaProjectStoryboard> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CrtDramaProjectStoryboard::getDrama_project_id, drama_project_id);
+        wrapper.eq(CrtDramaProjectStoryboard::getEpisode_num, episode_num);
+        crtDramaProjectStoryboardDao.delete(wrapper);
 
+        // [DB] 初始化一个分镜
+        CrtDramaProjectStoryboard entity = new CrtDramaProjectStoryboard();
+        entity.setUser_id(SecurityUtil.getUserId());
+        entity.setDrama_project_id(drama_project_id);
+        entity.setEpisode_num(episode_num);
+        entity.setSort(1);
+        crtDramaProjectStoryboardDao.insert(entity);
 
-        return Map.of("drama_project_storyboard_id", crtDramaProjectStoryboard.getDrama_project_storyboard_id());
+        Map<String, Object> resp = new LinkedHashMap<>();
+        resp.put("drama_project_id", crtDramaProjectStoryboard.getDrama_project_id());
+        resp.put("episode_num", episode_num);
+        return resp;
     }
 
     /**