From 88c401b2732d862cdc6676d8230e72697261a5b3 Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Thu, 25 Jul 2024 16:36:20 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E6=B7=BB=E5=8A=A0=E6=A1=88=E4=BB=B6?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E7=AE=A1=E7=90=86=E6=9C=8D=E5=8A=A1=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=202.=20=E6=B7=BB=E5=8A=A0=E7=8A=B6=E6=80=81=E6=9E=9A?= =?UTF-8?q?=E4=B8=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/CaseAnalysisStatusEnum.java | 25 ++++++ .../constant/CaseDataStatusEnum.java | 22 +++++ .../service/CaseStatusManageService.java | 22 ++++- .../impl/CaseStatusManageServiceImpl.java | 83 ++++++++++++++++++- 4 files changed, 149 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/supervision/constant/CaseAnalysisStatusEnum.java create mode 100644 src/main/java/com/supervision/constant/CaseDataStatusEnum.java diff --git a/src/main/java/com/supervision/constant/CaseAnalysisStatusEnum.java b/src/main/java/com/supervision/constant/CaseAnalysisStatusEnum.java new file mode 100644 index 0000000..d950b11 --- /dev/null +++ b/src/main/java/com/supervision/constant/CaseAnalysisStatusEnum.java @@ -0,0 +1,25 @@ +package com.supervision.constant; + +/** + * 案件分析状态枚举 + */ +public enum CaseAnalysisStatusEnum { + + UNANALYZED("0","未分析"), + ANALYZING("1","正在分析"), + ANALYZED("2","分析成功"), + ANALYZE_FAIL("3","分析失败"), + ; + private String code; + private String desc; + CaseAnalysisStatusEnum(String code, String desc) { + this.code = code; + this.desc = desc; + } + public String getCode() { + return code; + } + public String getDesc() { + return desc; + } +} diff --git a/src/main/java/com/supervision/constant/CaseDataStatusEnum.java b/src/main/java/com/supervision/constant/CaseDataStatusEnum.java new file mode 100644 index 0000000..09831d8 --- /dev/null +++ b/src/main/java/com/supervision/constant/CaseDataStatusEnum.java @@ -0,0 +1,22 @@ +package com.supervision.constant; + +/** + * 案件数据状态 0:没有基础数据 1:数据未更新 2:数据已更新 + */ +public enum CaseDataStatusEnum { + NO_DATA("0","没有基础数据"), + NOT_UPDATE("1","数据未更新"), + UPDATE("2","数据已更新"); + private String code; + private String desc; + CaseDataStatusEnum(String code, String desc) { + this.code = code; + this.desc = desc; + } + public String getCode() { + return code; + } + public String getDesc() { + return desc; + } +} diff --git a/src/main/java/com/supervision/police/service/CaseStatusManageService.java b/src/main/java/com/supervision/police/service/CaseStatusManageService.java index 37d6a44..d17954c 100644 --- a/src/main/java/com/supervision/police/service/CaseStatusManageService.java +++ b/src/main/java/com/supervision/police/service/CaseStatusManageService.java @@ -34,5 +34,25 @@ public interface CaseStatusManageService { * 当更新案件数据 * @param caseId 案件id */ - void whenUpdateData(String caseId); + void whenUpdateData(String caseId); + + + /** + * 当案件分析 + * @param caseId 案件id + * @param score 分数 + */ + void whenAnalyseCaseSuccess(String caseId,Integer score); + + /** + * 当案件分析失败 + * @param caseId 案件id + */ + void whenAnalyseCaseFail(String caseId); + + /** + * 当案件分析开始 + * @param caseId 案件id + */ + void whenAnalyseCaseStart(String caseId); } diff --git a/src/main/java/com/supervision/police/service/impl/CaseStatusManageServiceImpl.java b/src/main/java/com/supervision/police/service/impl/CaseStatusManageServiceImpl.java index 23f7cb8..ae4dee5 100644 --- a/src/main/java/com/supervision/police/service/impl/CaseStatusManageServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/CaseStatusManageServiceImpl.java @@ -1,5 +1,15 @@ package com.supervision.police.service.impl; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.supervision.constant.CaseAnalysisStatusEnum; +import com.supervision.constant.CaseDataStatusEnum; +import com.supervision.constant.ScoreEnum; +import com.supervision.police.domain.ModelCase; +import com.supervision.police.domain.NoteRecord; +import com.supervision.police.mapper.ModelCaseMapper; +import com.supervision.police.mapper.NoteRecordMapper; import com.supervision.police.service.CaseStatusManageService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -11,9 +21,36 @@ import org.springframework.stereotype.Service; public class CaseStatusManageServiceImpl implements CaseStatusManageService { + private final ModelCaseMapper modelCaseMapper; + + private final NoteRecordMapper noteRecordMapper; + @Override public void whenSaveCasePeople(String caseId, String roleId) { + Assert.notEmpty(caseId, "案件id不能为空"); + Assert.notEmpty(roleId, "角色id不能为空"); + + // 只处理行为人的角色类型 + if (!"1".equals(roleId)){ + return; + } + ModelCase modelCase = modelCaseMapper.selectById(caseId); + Assert.notNull(modelCase,"案件信息不存在"); + + if (0 != modelCase.getCaseDataStatus()){ + return; + } + // 查看是否有笔录 + Long count = noteRecordMapper.selectCount( + new LambdaQueryWrapper<>(new NoteRecord()) + .eq(NoteRecord::getCaseId, caseId).eq(NoteRecord::getRole, roleId)); + + if (count > 0){ + modelCaseMapper.update(new LambdaUpdateWrapper() + .eq(ModelCase::getId, caseId) + .set(ModelCase::getCaseDataStatus, CaseDataStatusEnum.UPDATE)); + } } @Override @@ -23,16 +60,58 @@ public class CaseStatusManageServiceImpl implements CaseStatusManageService { @Override public void whenUploadRecord(String caseId) { - + modelCaseMapper.update(new LambdaUpdateWrapper() + .eq(ModelCase::getId, caseId) + .set(ModelCase::getCaseDataStatus, CaseDataStatusEnum.UPDATE)); } @Override public void whenDeleteRecord(String caseId) { - + this.whenUpdateData(caseId); } @Override public void whenUpdateData(String caseId) { + Assert.notEmpty(caseId, "案件id不能为空"); + modelCaseMapper.update(new LambdaUpdateWrapper() + .eq(ModelCase::getId, caseId) + .set(ModelCase::getCaseDataStatus, CaseAnalysisStatusEnum.UNANALYZED) + .set(ModelCase::getCaseDataStatus, CaseDataStatusEnum.NOT_UPDATE) + ); + } + + @Override + public void whenAnalyseCaseSuccess(String caseId, Integer score) { + + Assert.notEmpty(caseId, "案件id不能为空"); + + modelCaseMapper.update(new LambdaUpdateWrapper() + .eq(ModelCase::getId, caseId) + .set(ModelCase::getCaseAnalysisStatus, CaseAnalysisStatusEnum.ANALYZED) + .set(ModelCase::getCaseDataStatus, CaseDataStatusEnum.NOT_UPDATE) + .set(ModelCase::getTotalScore, score) + .set(ModelCase::getIdentifyResult, ScoreEnum.getScoreEnum(score))); + } + + @Override + public void whenAnalyseCaseFail(String caseId) { + + Assert.notEmpty(caseId, "案件id不能为空"); + + modelCaseMapper.update(new LambdaUpdateWrapper() + .eq(ModelCase::getId, caseId) + .set(ModelCase::getCaseAnalysisStatus, CaseAnalysisStatusEnum.ANALYZE_FAIL)); + + } + + @Override + public void whenAnalyseCaseStart(String caseId) { + + Assert.notEmpty(caseId, "案件id不能为空"); + + modelCaseMapper.update(new LambdaUpdateWrapper() + .eq(ModelCase::getId, caseId) + .set(ModelCase::getCaseAnalysisStatus, CaseAnalysisStatusEnum.ANALYZING)); } }