You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fu-hsi-service/src/main/java/com/supervision/police/service/impl/CaseStatusManageServiceImpl...

118 lines
4.0 KiB
Java

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;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@RequiredArgsConstructor
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<ModelCase>()
.eq(ModelCase::getId, caseId)
.set(ModelCase::getCaseDataStatus, CaseDataStatusEnum.UPDATE));
}
}
@Override
public void whenDeleteCaseIndex(String caseId) {
}
@Override
public void whenUploadRecord(String caseId) {
modelCaseMapper.update(new LambdaUpdateWrapper<ModelCase>()
.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<ModelCase>()
.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<ModelCase>()
.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<ModelCase>()
.eq(ModelCase::getId, caseId)
.set(ModelCase::getCaseAnalysisStatus, CaseAnalysisStatusEnum.ANALYZE_FAIL));
}
@Override
public void whenAnalyseCaseStart(String caseId) {
Assert.notEmpty(caseId, "案件id不能为空");
modelCaseMapper.update(new LambdaUpdateWrapper<ModelCase>()
.eq(ModelCase::getId, caseId)
.set(ModelCase::getCaseAnalysisStatus, CaseAnalysisStatusEnum.ANALYZING));
}
}