Browse Source

删除案件提示语

lyhzzz 2 years ago
parent
commit
a5440d6d1d

+ 1 - 1
src/main/java/com/fdkankan/fusion/common/ResultCode.java

@@ -15,7 +15,7 @@ public enum ResultCode {
     UPLOAD_FILE_OBJ_ERROR(7007,"文件内容错误,缺少obj,或者mtl文件"),
     SYSTEM_HOT_ICON_NOT_EXIST(7008,"系统默认icon不存在"),
     SYSTEM_HOT_ICON_NOT_DELETE(7009,"系统默认icon不能删除"),
-    CASE_USE(7010,"案件或场景中使用模型,不能删除"),
+    CASE_USE(7010,"当前场景已被 “%s” 使用,不可删除"),
     FOLDER_NOT_EXIST(7011,"视频文件夹不存在"),
     CASE_NOT_EXIST(7012,"案件不存在"),
     MERGER_VIDEO_ERROR(7013,"合成视频失败"),

+ 2 - 0
src/main/java/com/fdkankan/fusion/service/ICaseService.java

@@ -31,4 +31,6 @@ public interface ICaseService extends IService<CaseEntity> {
     List<SceneVo> sceneList(CaseParam param, String token);
 
     List<HotVo> hotList(Integer caseId);
+
+    List<CaseEntity> getByIds(List<Integer> caseIdIds);
 }

+ 6 - 0
src/main/java/com/fdkankan/fusion/service/impl/CaseServiceImpl.java

@@ -165,4 +165,10 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, CaseEntity> implem
         return listAll;
     }
 
+    @Override
+    public List<CaseEntity> getByIds(List<Integer> caseIdIds) {
+        LambdaQueryWrapper<CaseEntity> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(CaseEntity::getCaseId,caseIdIds);
+        return this.list(wrapper);
+    }
 }

+ 17 - 1
src/main/java/com/fdkankan/fusion/service/impl/ModelServiceImpl.java

@@ -13,6 +13,7 @@ import com.fdkankan.fusion.common.PageInfo;
 import com.fdkankan.fusion.common.util.*;
 import com.fdkankan.fusion.common.FilePath;
 import com.fdkankan.fusion.common.ResultCode;
+import com.fdkankan.fusion.entity.CaseEntity;
 import com.fdkankan.fusion.entity.CaseNumEntity;
 import com.fdkankan.fusion.entity.FusionNum;
 import com.fdkankan.fusion.entity.Model;
@@ -22,6 +23,7 @@ import com.fdkankan.fusion.request.ModelPram;
 import com.fdkankan.fusion.request.ScenePram;
 import com.fdkankan.fusion.response.SceneVo;
 import com.fdkankan.fusion.service.ICaseNumService;
+import com.fdkankan.fusion.service.ICaseService;
 import com.fdkankan.fusion.service.IFusionNumService;
 import com.fdkankan.fusion.service.IModelService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -33,6 +35,8 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.xml.transform.Result;
+
 /**
  * <p>
  *  服务实现类
@@ -51,6 +55,8 @@ public class ModelServiceImpl extends ServiceImpl<IModelMapper, Model> implement
     @Autowired
     ICaseNumService caseNumService;
     @Autowired
+    ICaseService caseService;
+    @Autowired
     IFusionNumService fusionNumService;
     @Value("${local.obj_path}")
     private String OBJ_PATH;
@@ -182,7 +188,17 @@ public class ModelServiceImpl extends ServiceImpl<IModelMapper, Model> implement
         List<CaseNumEntity> caseNumEntityList = caseNumService.getByNum(modelId.toString());
         List<FusionNum> fusionNumList = fusionNumService.getByNum(modelId.toString());
         if(caseNumEntityList.size() >0 || fusionNumList.size() >0){
-            throw new BusinessException(ResultCode.CASE_USE);
+            List<Integer> caseIdIds = caseNumEntityList.parallelStream().map(CaseNumEntity::getCaseId).collect(Collectors.toList());
+            List<CaseEntity> list = caseService.getByIds(caseIdIds);
+            List<String> collect = list.parallelStream().map(CaseEntity::getCaseTitle).collect(Collectors.toList());
+            StringBuilder title = new StringBuilder();
+            for (String str : collect) {
+                title.append(str).append(",");
+            }
+            if(title.length()>0){
+                title.delete(title.length()-1,title.length());
+            }
+            throw new BusinessException(ResultCode.CASE_USE.code, String.format(ResultCode.CASE_USE.msg,title));
         }
         Model model = this.getById(modelId);
         if(model == null ){