1. 修改查询案件列表接口

topo_dev
xueqingkun 9 months ago
parent 945ecca955
commit 547e687dbd

@ -1,8 +1,10 @@
package com.supervision.police.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.supervision.common.domain.R;
import com.supervision.police.domain.CasePerson;
import com.supervision.police.domain.ModelCase;
import com.supervision.police.dto.ModelCaseDTO;
import com.supervision.police.service.ModelCaseService;
import io.swagger.v3.oas.annotations.Operation;
import lombok.extern.slf4j.Slf4j;
@ -21,17 +23,19 @@ public class ModelCaseController {
private ModelCaseService modelCaseService;
/**
*
*
* @param modelCase
* @param page
* @param size
* @return
*/
@Operation(summary = "查询案件列表")
@PostMapping("/queryList")
public R<?> queryList(@RequestBody ModelCase modelCase,
public R<IPage<ModelCaseDTO>> queryList(@RequestBody ModelCase modelCase,
@RequestParam(required = false, defaultValue = "1") Integer page,
@RequestParam(required = false, defaultValue = "20") Integer size) {
return modelCaseService.queryList(modelCase, page, size);
IPage<ModelCaseDTO> modelCaseDTOIPage = modelCaseService.queryList(modelCase, page, size);
return R.ok(modelCaseDTOIPage);
}
/**

@ -0,0 +1,98 @@
package com.supervision.police.dto;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.supervision.police.domain.CasePerson;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
@Data
public class ModelCaseDTO {
@Schema(description = "主键 案件id")
private String id;
@Schema(description = "案件名称")
private String caseName;
@Schema(description = "案件类型")
private String caseType;
@Schema(description = "案件类型名")
private String caseTypeName;
@Schema(description = "案件状态")
private String caseStatus;
@Schema(description = "案件状态名")
private String caseStatusName;
@Schema(description = "作案方式")
private String crimeMode;
@Schema(description = "作案方式名")
private String crimeModeName;
@Schema(description = "案件概述")
private String caseDetail;
@Schema(description = "立案时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date registerTime;
@Schema(description = "受理时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date acceptTime;
@Schema(description = "案件行为人")
private CasePerson lawActor;
@Schema(description = "案件当事人")
private List<CasePerson> lawPartyList;
@Schema(description = "认定结果")
private String identifyResult;
@Schema(description = "认定结果名")
private String identifyResultName;
@Schema(description = "综合得分")
private Integer totalScore;
@Schema(description = "排序序号")
private Integer indexNum;
@Schema(description = "更新开始时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime updateStartTime;
@Schema(description = "更新结束时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime updateEndTime;
@Schema(description = "数据状态")
private String dataStatus;
@Schema(description = "案件编号")
private String caseNo;
@Schema(description = "创建人ID")
private String createUserId;
@Schema(description = "创建时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private String updateUserId;
@Schema(description = "更新时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime updateTime;
}

@ -1,9 +1,11 @@
package com.supervision.police.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.supervision.common.domain.R;
import com.supervision.police.domain.CasePerson;
import com.supervision.police.domain.ModelCase;
import com.supervision.police.dto.ModelCaseDTO;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@ -16,7 +18,7 @@ import java.util.List;
*/
public interface ModelCaseService extends IService<ModelCase> {
R<?> queryList(ModelCase modelCase, Integer page, Integer size);
IPage<ModelCaseDTO> queryList(ModelCase modelCase, Integer page, Integer size);
R<?> checkCaseNo(String caseNo);

@ -1,5 +1,9 @@
package com.supervision.police.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -16,20 +20,20 @@ import com.supervision.police.domain.ComDictionary;
import com.supervision.police.domain.ModelAtomicIndex;
import com.supervision.police.dto.AtomicIndexDTO;
import com.supervision.police.dto.IndexDetail;
import com.supervision.police.dto.ModelCaseDTO;
import com.supervision.police.mapper.CasePersonMapper;
import com.supervision.police.mapper.ModelCaseMapper;
import com.supervision.police.domain.ModelCase;
import com.supervision.police.service.ComDictionaryService;
import com.supervision.police.service.ModelCaseService;
import org.springframework.beans.factory.annotation.Autowired;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
/**
* (ModelCase)
@ -37,17 +41,16 @@ import java.util.*;
* @author qmy
* @since 2024-07-02 14:51:27
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class ModelCaseServiceImpl extends ServiceImpl<ModelCaseMapper, ModelCase> implements ModelCaseService {
@Autowired
private ComDictionaryService comDictionaryService;
private final ComDictionaryService comDictionaryService;
@Autowired
private ModelCaseMapper modelCaseMapper;
private final ModelCaseMapper modelCaseMapper;
@Autowired
private CasePersonMapper casePersonMapper;
private final CasePersonMapper casePersonMapper;
/**
*
@ -57,26 +60,46 @@ public class ModelCaseServiceImpl extends ServiceImpl<ModelCaseMapper, ModelCase
* @return
*/
@Override
public R<?> queryList(ModelCase modelCase, Integer page, Integer size) {
IPage<ModelCase> iPage = new Page<>(page, size);
iPage = modelCaseMapper.selectAll(iPage, modelCase);
List<ModelCase> records = iPage.getRecords();
public IPage<ModelCaseDTO> queryList(ModelCase modelCase, Integer page, Integer size) {
IPage<ModelCase> modelCaseIPage = modelCaseMapper.selectAll(Page.of(page, size), modelCase);
if (CollUtil.isEmpty(modelCaseIPage.getRecords())){
return Page.of(page, size);
}
List<String> caseIdList = modelCaseIPage.getRecords().stream().map(ModelCase::getId).toList();
List<CasePerson> casePersonList = casePersonMapper.selectList(
Wrappers.lambdaQuery(CasePerson.class).in(CasePerson::getCaseId, caseIdList));
Map<String, List<CasePerson>> persionMap = casePersonList.stream().collect(
Collectors.groupingBy(person-> StrUtil.equals(person.getRoleCode(), "1") ? "1" :"2"));
List<ComDictionary> dicts = comDictionaryService.list();
for (ModelCase mc : records) {
String[] caseTypes = mc.getCaseType().split(",");
return modelCaseIPage.convert(modelCaseInfo -> {
ModelCaseDTO modelCaseDTO = BeanUtil.toBean(modelCaseInfo, ModelCaseDTO.class, CopyOptions.create().setIgnoreProperties("lawActor"));
String[] caseTypes = modelCaseDTO.getCaseType().split(",");
List<String> caseType = new ArrayList<>();
for (String type : caseTypes) {
caseType.add(comDictionaryService.getName(dicts, "case_type", type));
}
mc.setCaseTypeName(StringUtils.join(caseType, ","));
mc.setCaseStatusName(comDictionaryService.getName(dicts, "case_status", mc.getCaseStatus()));
mc.setCrimeModeName(comDictionaryService.getName(dicts, "crime_mode", mc.getCrimeMode()));
mc.setIdentifyResultName(comDictionaryService.getName(dicts, "identify_result", mc.getIdentifyResult()));
}
iPage.setRecords(records);
return R.ok(IPages.buildDataMap(iPage));
modelCaseDTO.setCaseTypeName(StringUtils.join(caseType, ","));
modelCaseDTO.setCaseStatusName(comDictionaryService.getName(dicts, "case_status", modelCaseDTO.getCaseStatus()));
modelCaseDTO.setCrimeModeName(comDictionaryService.getName(dicts, "crime_mode", modelCaseDTO.getCrimeMode()));
modelCaseDTO.setIdentifyResultName(comDictionaryService.getName(dicts, "identify_result", modelCaseDTO.getIdentifyResult()));
modelCaseDTO.setLawActor(CollUtil.getFirst(persionMap.get("1")));
modelCaseDTO.setLawPartyList(persionMap.get("2"));
return modelCaseDTO;
});
}
/**
*
* @param lawActor
* @param lawParty
*/
record lawActorPartyPair(String lawActor, String lawParty){}
@Override
public R<?> checkCaseNo(String caseNo) {
LambdaQueryWrapper<ModelCase> wrapper = Wrappers.lambdaQuery();

Loading…
Cancel
Save