diff --git a/src/main/java/com/supervision/police/controller/ModelCaseController.java b/src/main/java/com/supervision/police/controller/ModelCaseController.java index a71c2e6..2df18d1 100644 --- a/src/main/java/com/supervision/police/controller/ModelCaseController.java +++ b/src/main/java/com/supervision/police/controller/ModelCaseController.java @@ -62,6 +62,16 @@ public class ModelCaseController { return modelCaseService.addOrUpd(modelCaseBase); } + @DeleteMapping("/realDeleteByIds") + public R realDeleteByIds(@RequestBody List ids) { + return modelCaseService.realDeleteByIds(ids); + } + + @PostMapping("/resetDataStatusByIds") + public R resetDataStatusByIds(@RequestBody List ids) { + return modelCaseService.resetDataStatusByIds(ids); + } + /** * 删除 * @param id diff --git a/src/main/java/com/supervision/police/service/ModelCaseService.java b/src/main/java/com/supervision/police/service/ModelCaseService.java index b012697..ffdcf74 100644 --- a/src/main/java/com/supervision/police/service/ModelCaseService.java +++ b/src/main/java/com/supervision/police/service/ModelCaseService.java @@ -28,6 +28,10 @@ public interface ModelCaseService extends IService { R del(String id); + R realDeleteByIds(List ids); + + R resetDataStatusByIds(List ids); + R> getPerson(String caseId, String name); R addPerson(CasePerson person); diff --git a/src/main/java/com/supervision/police/service/impl/ModelCaseServiceImpl.java b/src/main/java/com/supervision/police/service/impl/ModelCaseServiceImpl.java index 5b6125f..3e9dbbf 100644 --- a/src/main/java/com/supervision/police/service/impl/ModelCaseServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/ModelCaseServiceImpl.java @@ -12,7 +12,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.supervision.chat.UploadParamEnum; import com.supervision.chat.client.LangChainChatService; import com.supervision.chat.client.dto.CreateBaseDTO; import com.supervision.chat.client.dto.LangChainChatRes; @@ -55,6 +54,8 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class ModelCaseServiceImpl extends ServiceImpl implements ModelCaseService { + private static final String DATA_STATUS_DEFAULT = "1"; + private final ComDictionaryService comDictionaryService; private final ModelCaseMapper modelCaseMapper; @@ -108,7 +109,7 @@ public class ModelCaseServiceImpl extends ServiceImpl optionalCasePerson = casePersonMap.getOrDefault("1", new ArrayList<>()) .stream().filter(person -> Integer.valueOf(1).equals(person.getCaseActorFlag())).findAny(); - if (optionalCasePerson.isPresent()){ + if (optionalCasePerson.isPresent()) { modelCaseDTO.setLawActor(optionalCasePerson.get()); modelCaseDTO.floatLawActorInfo(); } @@ -177,12 +178,7 @@ public class ModelCaseServiceImpl extends ServiceImpl del(String id) { - ModelCase modelCase = modelCaseMapper.selectById(id); - LangChainChatRes langChainChatRes = langChainChatService.deleteBase(modelCase.getCaseNo()); - if (200 != langChainChatRes.getCode()){ - log.info("删除知识库失败"); - } modelCase.setDataStatus(DataStatus.NOT_AVAILABLE.getCode()); int i = modelCaseMapper.updateById(modelCase); if (i > 0) { @@ -192,6 +188,46 @@ public class ModelCaseServiceImpl extends ServiceImpl realDeleteByIds(List ids) { + List modelCases = modelCaseMapper.selectBatchIds(ids); + if (modelCases != null && !modelCases.isEmpty()) { + modelCases.forEach(modelCase -> { + LangChainChatRes langChainChatRes = langChainChatService.deleteBase(modelCase.getCaseNo()); + if (200 != langChainChatRes.getCode()) { + log.error("删除知识库失败:{}, caseNo:{}", langChainChatRes.getMsg(), modelCase.getCaseNo()); + throw new BusinessException("删除知识库失败"); + } + }); + } + int i = modelCaseMapper.deleteBatchIds(ids); + if (i > 0) { + return R.okMsg("删除成功"); + } else { + return R.fail("删除失败"); + } + } + + @Override + @Transactional(transactionManager = "dataSourceTransactionManager", rollbackFor = Exception.class) + public R resetDataStatusByIds(List ids) { + boolean result = false; + //批量查出案件,并更新案件状态 + List modelCases = modelCaseMapper.selectBatchIds(ids); + if (modelCases != null && !modelCases.isEmpty()) { + modelCases.forEach(modelCase -> { + modelCase.setDataStatus(DATA_STATUS_DEFAULT); + }); + result = updateBatchById(modelCases); + } + if (result) { + return R.okMsg("恢复成功"); + } else { + return R.fail("恢复失败"); + } + } + @Override public R> getPerson(String caseId, String name) { LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); @@ -245,7 +281,7 @@ public class ModelCaseServiceImpl extends ServiceImpl