|
|
|
@ -5,13 +5,14 @@ import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
|
|
|
|
import com.supervision.police.daoService.CaseEvidenceDaoService;
|
|
|
|
|
import com.supervision.police.daoService.EvidenceFileDaoService;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
import com.supervision.police.service.EvidenceFileService;
|
|
|
|
|
import com.supervision.police.domain.CaseEvidence;
|
|
|
|
|
import com.supervision.police.domain.ComDictionary;
|
|
|
|
|
import com.supervision.police.domain.EvidenceFile;
|
|
|
|
|
import com.supervision.police.dto.CaseEvidenceDetailDTO;
|
|
|
|
|
import com.supervision.police.dto.EvidenceFileDTO;
|
|
|
|
|
import com.supervision.police.mapper.CaseEvidenceMapper;
|
|
|
|
|
import com.supervision.police.service.CaseEvidenceService;
|
|
|
|
|
import com.supervision.police.dto.CaseEvidenceDTO;
|
|
|
|
|
import com.supervision.police.service.CaseStatusManageService;
|
|
|
|
@ -28,11 +29,9 @@ import java.util.stream.Collectors;
|
|
|
|
|
@Slf4j
|
|
|
|
|
@Service
|
|
|
|
|
@RequiredArgsConstructor
|
|
|
|
|
public class CaseEvidenceServiceImpl implements CaseEvidenceService {
|
|
|
|
|
public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, CaseEvidence> implements CaseEvidenceService {
|
|
|
|
|
|
|
|
|
|
private final CaseEvidenceDaoService caseEvidenceDaoService;
|
|
|
|
|
|
|
|
|
|
private final EvidenceFileDaoService evidenceFileDaoService;
|
|
|
|
|
private final EvidenceFileService evidenceFileService;
|
|
|
|
|
|
|
|
|
|
private final ComDictionaryService comDictionaryService;
|
|
|
|
|
|
|
|
|
@ -46,14 +45,14 @@ public class CaseEvidenceServiceImpl implements CaseEvidenceService {
|
|
|
|
|
|
|
|
|
|
// 保存证据信息
|
|
|
|
|
CaseEvidence caseEvidence = caseEvidenceDTO.toCaseEvidence();
|
|
|
|
|
caseEvidenceDaoService.save(caseEvidence);
|
|
|
|
|
super.save(caseEvidence);
|
|
|
|
|
|
|
|
|
|
//保存文件关联信息
|
|
|
|
|
caseEvidenceDTO.getFileIdList().forEach(fileId -> {
|
|
|
|
|
EvidenceFile evidenceFile = new EvidenceFile();
|
|
|
|
|
evidenceFile.setFileId(fileId);
|
|
|
|
|
evidenceFile.setEvidenceId(caseEvidence.getId());
|
|
|
|
|
evidenceFileDaoService.save(evidenceFile);
|
|
|
|
|
evidenceFileService.save(evidenceFile);
|
|
|
|
|
});
|
|
|
|
|
caseStatusManageService.whenUpdateEvidence(caseEvidence.getCaseId());
|
|
|
|
|
return caseEvidence.getId();
|
|
|
|
@ -73,19 +72,19 @@ public class CaseEvidenceServiceImpl implements CaseEvidenceService {
|
|
|
|
|
|
|
|
|
|
Assert.notEmpty(caseEvidenceDTO.getId(),"证据id不能为空");
|
|
|
|
|
caseEvidencePersistenceAssert(caseEvidenceDTO);
|
|
|
|
|
caseEvidenceDaoService.getOptById(caseEvidenceDTO.getId()).orElseThrow(() -> new IllegalArgumentException("证据信息不存在"));
|
|
|
|
|
super.getOptById(caseEvidenceDTO.getId()).orElseThrow(() -> new IllegalArgumentException("证据信息不存在"));
|
|
|
|
|
|
|
|
|
|
// 更新证据信息
|
|
|
|
|
CaseEvidence caseEvidence = caseEvidenceDTO.toCaseEvidence();
|
|
|
|
|
caseEvidenceDaoService.updateById(caseEvidence);
|
|
|
|
|
super.updateById(caseEvidence);
|
|
|
|
|
|
|
|
|
|
// 更新文件关联信息
|
|
|
|
|
evidenceFileDaoService.lambdaUpdate().eq(EvidenceFile::getEvidenceId,caseEvidence.getId()).remove();
|
|
|
|
|
evidenceFileService.lambdaUpdate().eq(EvidenceFile::getEvidenceId,caseEvidence.getId()).remove();
|
|
|
|
|
caseEvidenceDTO.getFileIdList().forEach(fileId -> {
|
|
|
|
|
EvidenceFile evidenceFile = new EvidenceFile();
|
|
|
|
|
evidenceFile.setFileId(fileId);
|
|
|
|
|
evidenceFile.setEvidenceId(caseEvidence.getId());
|
|
|
|
|
evidenceFileDaoService.save(evidenceFile);
|
|
|
|
|
evidenceFileService.save(evidenceFile);
|
|
|
|
|
});
|
|
|
|
|
caseStatusManageService.whenUpdateEvidence(caseEvidenceDTO.getCaseId());
|
|
|
|
|
return caseEvidenceDTO.getId();
|
|
|
|
@ -95,11 +94,11 @@ public class CaseEvidenceServiceImpl implements CaseEvidenceService {
|
|
|
|
|
@Transactional(transactionManager = "dataSourceTransactionManager",rollbackFor = Exception.class)
|
|
|
|
|
public boolean deleteEvidence(String evidenceId) {
|
|
|
|
|
|
|
|
|
|
CaseEvidence caseEvidence = caseEvidenceDaoService.getOptById(evidenceId).orElseThrow(() -> new IllegalArgumentException("证据信息不存在"));
|
|
|
|
|
boolean remove = caseEvidenceDaoService.lambdaUpdate().eq(CaseEvidence::getId, evidenceId).remove();
|
|
|
|
|
CaseEvidence caseEvidence = super.getOptById(evidenceId).orElseThrow(() -> new IllegalArgumentException("证据信息不存在"));
|
|
|
|
|
boolean remove = super.lambdaUpdate().eq(CaseEvidence::getId, evidenceId).remove();
|
|
|
|
|
|
|
|
|
|
if (remove){
|
|
|
|
|
evidenceFileDaoService.lambdaUpdate().eq(EvidenceFile::getEvidenceId,evidenceId).remove();
|
|
|
|
|
evidenceFileService.lambdaUpdate().eq(EvidenceFile::getEvidenceId,evidenceId).remove();
|
|
|
|
|
caseStatusManageService.whenUpdateEvidence(caseEvidence.getCaseId());
|
|
|
|
|
}
|
|
|
|
|
return remove;
|
|
|
|
@ -109,7 +108,7 @@ public class CaseEvidenceServiceImpl implements CaseEvidenceService {
|
|
|
|
|
@Transactional(transactionManager = "dataSourceTransactionManager",rollbackFor = Exception.class)
|
|
|
|
|
public List<CaseEvidenceDetailDTO> queryEvidenceList(String caseId) {
|
|
|
|
|
|
|
|
|
|
return caseEvidenceDaoService.queryEvidenceList(caseId);
|
|
|
|
|
return super.getBaseMapper().queryEvidenceList(caseId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -117,7 +116,7 @@ public class CaseEvidenceServiceImpl implements CaseEvidenceService {
|
|
|
|
|
public IPage<CaseEvidenceDetailDTO> pageListEvidence(String caseId,String evidenceName, Integer pageNum, Integer pageSize) {
|
|
|
|
|
|
|
|
|
|
Assert.notEmpty(caseId,"案件id不能为空");
|
|
|
|
|
Page<CaseEvidence> caseEvidencePage = caseEvidenceDaoService.lambdaQuery().eq(CaseEvidence::getCaseId, caseId)
|
|
|
|
|
Page<CaseEvidence> caseEvidencePage = super.lambdaQuery().eq(CaseEvidence::getCaseId, caseId)
|
|
|
|
|
.like(StrUtil.isNotEmpty(evidenceName), CaseEvidence::getEvidenceName,evidenceName)
|
|
|
|
|
.orderBy(true, false,CaseEvidence::getUpdateTime)
|
|
|
|
|
.page(new Page<>(pageNum, pageSize));
|
|
|
|
@ -128,7 +127,7 @@ public class CaseEvidenceServiceImpl implements CaseEvidenceService {
|
|
|
|
|
|
|
|
|
|
// 查询文件信息
|
|
|
|
|
List<String> evidenceIds = caseEvidencePage.getRecords().stream().map(CaseEvidence::getId).distinct().toList();
|
|
|
|
|
List<EvidenceFileDTO> fileInfoList = evidenceFileDaoService.listFileInfo(evidenceIds);
|
|
|
|
|
List<EvidenceFileDTO> fileInfoList = evidenceFileService.listFileInfo(evidenceIds);
|
|
|
|
|
Map<String, List<EvidenceFileDTO>> evidenceFileMap = fileInfoList.stream().collect(Collectors.groupingBy(EvidenceFileDTO::getEvidenceId));
|
|
|
|
|
|
|
|
|
|
// 转换分页结果
|
|
|
|
@ -145,6 +144,6 @@ public class CaseEvidenceServiceImpl implements CaseEvidenceService {
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(transactionManager = "dataSourceTransactionManager",rollbackFor = Exception.class)
|
|
|
|
|
public CaseEvidenceDetailDTO queryEvidenceDetail(String evidenceId) {
|
|
|
|
|
return caseEvidenceDaoService.queryEvidenceDetail(evidenceId);
|
|
|
|
|
return super.getBaseMapper().queryEvidenceDetail(evidenceId);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|