|
@@ -5,6 +5,7 @@ import cn.hutool.core.bean.BeanUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.fdkankan.fusion.common.ResultCode;
|
|
import com.fdkankan.fusion.common.ResultCode;
|
|
|
|
+import com.fdkankan.fusion.common.util.CaseNumTypeUtil;
|
|
import com.fdkankan.fusion.common.util.SceneTypeUtil;
|
|
import com.fdkankan.fusion.common.util.SceneTypeUtil;
|
|
import com.fdkankan.fusion.entity.*;
|
|
import com.fdkankan.fusion.entity.*;
|
|
import com.fdkankan.fusion.exception.BusinessException;
|
|
import com.fdkankan.fusion.exception.BusinessException;
|
|
@@ -210,8 +211,48 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, CaseEntity> implem
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public CaseEntity addOrUpdate(CaseEntity param) {
|
|
|
|
- this.saveOrUpdate(param);
|
|
|
|
|
|
+ public CaseEntity addOrUpdate(CaseParam param) {
|
|
|
|
+ CaseEntity caseEntity;
|
|
|
|
+ if(param.getCaseId() == null){
|
|
|
|
+ caseEntity = new CaseEntity();
|
|
|
|
+ }else {
|
|
|
|
+ caseEntity = this.getById(param.getCaseId());
|
|
|
|
+ }
|
|
|
|
+ caseEntity.setCaseTitle(param.getCaseTitle());
|
|
|
|
+ caseEntity.setUpdateTime(null);
|
|
|
|
+ this.saveOrUpdate(caseEntity);
|
|
|
|
+
|
|
|
|
+ this.addScene(getAddSceneParam(param,caseEntity.getCaseId()));
|
|
|
|
+ return caseEntity;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ CaseNumTypeUtil caseNumTypeUtil;
|
|
|
|
+ private CaseParam getAddSceneParam(CaseParam param,Integer caseId){
|
|
|
|
+ HashMap<Integer,HashSet<String>> numTypeMap = new HashMap<>();
|
|
|
|
+ for (Integer type : CaseNumTypeUtil.getNumType()) {
|
|
|
|
+ numTypeMap.put(type,new HashSet<>());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for (SceneNumParam caseNumType : param.getSceneNumParam()) {
|
|
|
|
+ List<Integer> numType = CaseNumTypeUtil.getNumType(caseNumType.getType());
|
|
|
|
+ for (Integer type : numType) {
|
|
|
|
+ List<String> numList = caseNumType.getNumList().stream().filter(e ->StringUtils.isNotBlank(e) && caseNumTypeUtil.getCaseNumType(e, caseNumType.getType()) != null
|
|
|
|
+ && caseNumTypeUtil.getCaseNumType(e, caseNumType.getType()).equals(type)).collect(Collectors.toList());
|
|
|
|
+ if(numTypeMap.get(type) != null){
|
|
|
|
+ numTypeMap.get(type).addAll(numList);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ List<SceneNumParam> newParam = new ArrayList<>();
|
|
|
|
+ for (Integer type : numTypeMap.keySet()) {
|
|
|
|
+ SceneNumParam numType1 = new SceneNumParam();
|
|
|
|
+ numType1.setType(type);
|
|
|
|
+ numType1.setNumList(new ArrayList<>(numTypeMap.get(type)));
|
|
|
|
+ newParam.add(numType1);
|
|
|
|
+ }
|
|
|
|
+ param.setSceneNumParam(newParam);
|
|
|
|
+ param.setCaseId(caseId);
|
|
return param;
|
|
return param;
|
|
}
|
|
}
|
|
|
|
|