Browse Source

标签删除校验

wangyu 6 years ago
parent
commit
6514d7572d
1 changed files with 21 additions and 1 deletions
  1. 21 1
      precman-service/src/main/java/com/diagbot/facade/QuestionFacade.java

+ 21 - 1
precman-service/src/main/java/com/diagbot/facade/QuestionFacade.java

@@ -8,6 +8,8 @@ import com.diagbot.dto.QuestionDTO;
 import com.diagbot.dto.QuestionPageDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.CommonParam;
+import com.diagbot.entity.ModuleDetail;
+import com.diagbot.entity.ModuleInfo;
 import com.diagbot.entity.QuestionDetail;
 import com.diagbot.entity.QuestionInfo;
 import com.diagbot.entity.QuestionMapping;
@@ -71,7 +73,10 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
     QuestionMappingFacade questionMappingFacade;
     @Autowired
     UserServiceClient userServiceClient;
-
+    @Autowired
+    ModuleDetailFacade moduleDetailFacade;
+    @Autowired
+    ModuleInfoFacade moduleInfoFacade;
     /**
      * 标签保存
      *
@@ -302,6 +307,21 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
                 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
                         sb.toString());
             }
+            List<ModuleDetail> moduleDetails = moduleDetailFacade.list(new QueryWrapper<ModuleDetail>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("question_id", Long.parseLong(id)));
+            if (ListUtil.isNotEmpty(moduleDetails)) {
+                List<Long> moduleIds = moduleDetails.stream().map(row -> row.getModuleId()).collect(Collectors.toList());
+                List<String> moduleNames = moduleInfoFacade.list(new QueryWrapper<ModuleInfo>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .in("id", moduleIds))
+                        .stream().map(row ->  row.getName()).collect(Collectors.toList());
+                for (String mouduleName: moduleNames) {
+                    errMsg.append("该标签已关联").append("【" + mouduleName + "】").append("<br/>");
+                }
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+                        errMsg.toString());
+            }
             //删除自身
             this.deleteByIds(paramMap);
             //删除明细