4 changed files with 503 additions and 0 deletions
@ -0,0 +1,57 @@ |
|||||||
|
package com.biutag.supervision.controller.data; |
||||||
|
|
||||||
|
import com.biutag.supervision.pojo.Result; |
||||||
|
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionAddRequest; |
||||||
|
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionDelRequest; |
||||||
|
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionPageRequest; |
||||||
|
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionUpdateRequest; |
||||||
|
import com.biutag.supervision.pojo.vo.ComplaintCollectionPageVo; |
||||||
|
import com.biutag.supervision.service.complaintCollection.ComplaintCollectionService; |
||||||
|
import io.swagger.v3.oas.annotations.Operation; |
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springframework.web.bind.annotation.PostMapping; |
||||||
|
import org.springframework.web.bind.annotation.RequestBody; |
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* @ClassName ComplaintCollectionController |
||||||
|
* @Description 涉访涉诉控制层 |
||||||
|
* @Author shihao |
||||||
|
* @Date 2025/12/23 17:19 |
||||||
|
*/ |
||||||
|
@Tag(name = "涉访涉诉控制层", description = "整合的涉访涉诉表") |
||||||
|
@Slf4j |
||||||
|
@RequestMapping("data/complaintCollection") |
||||||
|
@RequiredArgsConstructor |
||||||
|
@RestController |
||||||
|
public class ComplaintCollectionController { |
||||||
|
|
||||||
|
private final ComplaintCollectionService complaintCollectionService; |
||||||
|
|
||||||
|
@Operation(description = "添加") |
||||||
|
@PostMapping("/addComplaintCollection") |
||||||
|
public Result<Boolean> addComplaintCollection(@RequestBody ComplaintCollectionAddRequest request){ |
||||||
|
return complaintCollectionService.addComplaintCollection(request); |
||||||
|
} |
||||||
|
|
||||||
|
@Operation(description = "删除") |
||||||
|
@PostMapping("/delComplaintCollection") |
||||||
|
public Result<Boolean> delComplaintCollection(@RequestBody ComplaintCollectionDelRequest request){ |
||||||
|
return complaintCollectionService.delComplaintCollection(request); |
||||||
|
} |
||||||
|
|
||||||
|
@Operation(description = "修改") |
||||||
|
@PostMapping("/updateComplaintCollection") |
||||||
|
public Result<Boolean> updateComplaintCollection(@RequestBody ComplaintCollectionUpdateRequest request){ |
||||||
|
return complaintCollectionService.updateComplaintCollection(request); |
||||||
|
} |
||||||
|
|
||||||
|
@Operation(description = "查询") |
||||||
|
@PostMapping("/getComplaintCollectionPage") |
||||||
|
public Result<ComplaintCollectionPageVo> getComplaintCollectionPage(@RequestBody ComplaintCollectionPageRequest request){ |
||||||
|
return complaintCollectionService.getComplaintCollectionPage(request); |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,179 @@ |
|||||||
|
package com.biutag.supervision.repository.complaintCollection; |
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil; |
||||||
|
import cn.hutool.core.util.StrUtil; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||||
|
import com.biutag.supervision.common.UserContextHolder; |
||||||
|
import com.biutag.supervision.mapper.ComplaintCollectionMapper; |
||||||
|
import com.biutag.supervision.pojo.entity.ComplaintCollection; |
||||||
|
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionExistParam; |
||||||
|
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionQueryParam; |
||||||
|
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionUpdateParam; |
||||||
|
import com.biutag.supervision.repository.base.BaseDAO; |
||||||
|
import jakarta.annotation.Resource; |
||||||
|
import jakarta.validation.ValidationException; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.util.Collections; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @ClassName ComplaintCollectionResourceService |
||||||
|
* @Description 设访涉诉表资源层 |
||||||
|
* @Author shihao |
||||||
|
* @Date 2025/12/23 16:55 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
public class ComplaintCollectionResourceService extends BaseDAO { |
||||||
|
|
||||||
|
@Resource |
||||||
|
private ComplaintCollectionMapper complaintCollectionMapper; |
||||||
|
|
||||||
|
|
||||||
|
public List<ComplaintCollection> query(ComplaintCollectionQueryParam param) { |
||||||
|
LambdaQueryWrapper<ComplaintCollection> queryWrapper = new LambdaQueryWrapper<>(); |
||||||
|
setBatchQuery(param.getId(), param.getIds(), queryWrapper, ComplaintCollection::getId); |
||||||
|
setBatchQuery(param.getOriginId(), param.getOriginIds(), queryWrapper, ComplaintCollection::getOriginId); |
||||||
|
queryWrapper.eq(StrUtil.isNotBlank(param.getSourceTable()), ComplaintCollection::getSourceTable, param.getSourceTable()); |
||||||
|
queryWrapper.eq(StrUtil.isNotBlank(param.getResponderName()), ComplaintCollection::getResponderName, param.getResponderName()); |
||||||
|
if (queryWrapper.getExpression() == null || queryWrapper.getExpression().getSqlSegment().isEmpty()) { |
||||||
|
return Collections.emptyList(); |
||||||
|
} |
||||||
|
return complaintCollectionMapper.selectList(queryWrapper); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public IPage<ComplaintCollection> pageQuery(ComplaintCollectionQueryParam param) { |
||||||
|
// 构建分页对象
|
||||||
|
Page<ComplaintCollection> page = new Page<>(param.getCurrent(), param.getSize()); |
||||||
|
LambdaQueryWrapper<ComplaintCollection> qw = new LambdaQueryWrapper<>(); |
||||||
|
setBatchQuery(param.getSourceTable(), param.getSourceTables(), qw, ComplaintCollection::getSourceTable); |
||||||
|
setBatchLikeQuery(param.getOriginId(), param.getOriginIds(), qw, ComplaintCollection::getOriginId); |
||||||
|
if (CollectionUtil.size(param.getDiscoveryTimeList()) == 2 |
||||||
|
&& param.getDiscoveryTimeList().get(0) != null |
||||||
|
&& param.getDiscoveryTimeList().get(1) != null) { |
||||||
|
qw.between(ComplaintCollection::getDiscoveryTime, param.getDiscoveryTimeList().get(0), param.getDiscoveryTimeList().get(1)); |
||||||
|
} |
||||||
|
// 来件人信息
|
||||||
|
if (StrUtil.isNotBlank(param.getPersonInfo())) { |
||||||
|
String kw = param.getPersonInfo(); |
||||||
|
qw.and(w -> w.like(ComplaintCollection::getResponderName, kw).or().like(ComplaintCollection::getResponderPhone, kw).or().like(ComplaintCollection::getResponderIdCode, kw)); |
||||||
|
} |
||||||
|
qw.eq(StrUtil.isNotBlank(param.getSecondDepartId()), ComplaintCollection::getSecondDepartId, param.getSecondDepartId()); |
||||||
|
qw.eq(StrUtil.isNotBlank(param.getHandleMethod()), ComplaintCollection::getHandleMethod, param.getHandleMethod()); |
||||||
|
qw.eq(StrUtil.isNotBlank(param.getThingDesc()), ComplaintCollection::getThingDesc, param.getThingDesc()); |
||||||
|
qw.eq(StrUtil.isNotBlank(param.getRepeatt()), ComplaintCollection::getRepeatt, param.getRepeatt()); |
||||||
|
qw.eq(StrUtil.isNotBlank(param.getLeadApproval()), ComplaintCollection::getLeadApproval, param.getLeadApproval()); |
||||||
|
// 来件内容
|
||||||
|
// 标签(表里如果是逗号字符串 tag="URGENT,NORMAL")
|
||||||
|
// 语义:命中任意一个标签即可(OR)
|
||||||
|
if (CollectionUtil.isNotEmpty(param.getTags())) { |
||||||
|
qw.and(w -> { |
||||||
|
boolean first = true; |
||||||
|
for (String t : param.getTags()) { |
||||||
|
if (StrUtil.isBlank(t)) continue; |
||||||
|
if (first) { |
||||||
|
w.apply("FIND_IN_SET({0}, tag)", t); |
||||||
|
first = false; |
||||||
|
} else { |
||||||
|
w.or().apply("FIND_IN_SET({0}, tag)", t); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
// 排序
|
||||||
|
qw.orderByDesc(ComplaintCollection::getDiscoveryTime).orderByDesc(ComplaintCollection::getId); |
||||||
|
return complaintCollectionMapper.selectPage(page, qw); |
||||||
|
} |
||||||
|
|
||||||
|
public List<ComplaintCollection> pageList(ComplaintCollectionQueryParam param) { |
||||||
|
return pageQuery(param).getRecords(); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public Boolean createComplaintCollection(List<ComplaintCollection> complaintCollectionList) { |
||||||
|
innerBatchInsert(complaintCollectionMapper, complaintCollectionList, "添加失败!"); |
||||||
|
return Boolean.TRUE; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public boolean deleteById(String id) { |
||||||
|
if (StrUtil.isBlank(id)) { |
||||||
|
throw new ValidationException("id不能为空"); |
||||||
|
} |
||||||
|
return complaintCollectionMapper.deleteById(id) > 0; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 更新非空字段 **包括空字符串** |
||||||
|
* |
||||||
|
* @param param |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public boolean updateSelectiveById(ComplaintCollectionUpdateParam param) { |
||||||
|
// 防御
|
||||||
|
String id = param.getId(); |
||||||
|
if (StrUtil.isBlank(id)) { |
||||||
|
throw new RuntimeException("更新id不能为空"); |
||||||
|
} |
||||||
|
LambdaUpdateWrapper<ComplaintCollection> uw = new LambdaUpdateWrapper<>(); |
||||||
|
uw.eq(ComplaintCollection::getId, id); |
||||||
|
uw.set(StrUtil.isNotBlank(param.getResponderIdCode()), ComplaintCollection::getResponderIdCode, param.getResponderIdCode()); |
||||||
|
if (param.getTag() != null) { |
||||||
|
uw.set(ComplaintCollection::getTag, param.getTag()); |
||||||
|
} |
||||||
|
if (param.getInvolveProblem() != null) { |
||||||
|
uw.set(ComplaintCollection::getInvolveProblem, param.getInvolveProblem()); |
||||||
|
} |
||||||
|
if (param.getRepeatt() != null) { |
||||||
|
uw.set(ComplaintCollection::getRepeatt, param.getRepeatt()); |
||||||
|
} |
||||||
|
if (param.getLeadApproval() != null) { |
||||||
|
uw.set(ComplaintCollection::getLeadApproval, param.getLeadApproval()); |
||||||
|
} |
||||||
|
if (param.getHandleMethod() != null) { |
||||||
|
uw.set(ComplaintCollection::getHandleMethod, param.getHandleMethod()); |
||||||
|
} |
||||||
|
if (param.getSecondDepartId() != null) { |
||||||
|
uw.set(ComplaintCollection::getSecondDepartId, param.getSecondDepartId()); |
||||||
|
} |
||||||
|
if (param.getSecondDepartName() != null) { |
||||||
|
uw.set(ComplaintCollection::getSecondDepartName, param.getSecondDepartName()); |
||||||
|
} |
||||||
|
if (param.getResponderName() != null) { |
||||||
|
uw.set(ComplaintCollection::getResponderName, param.getResponderName()); |
||||||
|
} |
||||||
|
if (param.getResponderPhone() != null) { |
||||||
|
uw.set(ComplaintCollection::getResponderPhone, param.getResponderPhone()); |
||||||
|
} |
||||||
|
if (param.getThingDesc() != null) { |
||||||
|
uw.set(ComplaintCollection::getThingDesc, param.getThingDesc()); |
||||||
|
} |
||||||
|
// 3) 非 String 字段:!= null 才更新
|
||||||
|
if (param.getDiscoveryTime() != null) { |
||||||
|
uw.set(ComplaintCollection::getDiscoveryTime, param.getDiscoveryTime()); |
||||||
|
} |
||||||
|
uw.set(ComplaintCollection::getUpdateBy, UserContextHolder.getCurrentUser().getUserName()); |
||||||
|
uw.set(ComplaintCollection::getUpdateTime, LocalDateTime.now()); |
||||||
|
return complaintCollectionMapper.update(null, uw) > 0; |
||||||
|
} |
||||||
|
|
||||||
|
public boolean exists(ComplaintCollectionExistParam param) { |
||||||
|
if (param == null) return false; |
||||||
|
LambdaQueryWrapper<ComplaintCollection> qw = new LambdaQueryWrapper<>(); |
||||||
|
qw.eq(StrUtil.isNotBlank(param.getId()), ComplaintCollection::getId, param.getId()); |
||||||
|
qw.eq(StrUtil.isNotBlank(param.getSourceTable()), ComplaintCollection::getSourceTable, param.getSourceTable()); |
||||||
|
qw.eq(StrUtil.isNotBlank(param.getOriginId()), ComplaintCollection::getOriginId, param.getOriginId()); |
||||||
|
if (qw.getExpression() == null || qw.getExpression().getSqlSegment().isEmpty()) { |
||||||
|
throw new ValidationException("exists 条件不能为空"); |
||||||
|
} |
||||||
|
return complaintCollectionMapper.exists(qw); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,49 @@ |
|||||||
|
package com.biutag.supervision.service.complaintCollection; |
||||||
|
|
||||||
|
import com.biutag.supervision.pojo.Result; |
||||||
|
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionAddRequest; |
||||||
|
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionDelRequest; |
||||||
|
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionPageRequest; |
||||||
|
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionUpdateRequest; |
||||||
|
import com.biutag.supervision.pojo.vo.ComplaintCollectionPageVo; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* @ClassName ComplaintCollectionService |
||||||
|
* @Description 涉访涉诉服务层 |
||||||
|
* @Author shihao |
||||||
|
* @Date 2025/12/23 17:24 |
||||||
|
*/ |
||||||
|
public interface ComplaintCollectionService { |
||||||
|
/** |
||||||
|
* 涉访涉诉分页 |
||||||
|
* |
||||||
|
* @param request |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
Result<ComplaintCollectionPageVo> getComplaintCollectionPage(ComplaintCollectionPageRequest request); |
||||||
|
|
||||||
|
/** |
||||||
|
* 涉访涉诉添加 |
||||||
|
* |
||||||
|
* @param request |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
Result<Boolean> addComplaintCollection(ComplaintCollectionAddRequest request); |
||||||
|
|
||||||
|
/** |
||||||
|
* 涉访涉诉删除 |
||||||
|
* |
||||||
|
* @param request |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
Result<Boolean> delComplaintCollection(ComplaintCollectionDelRequest request); |
||||||
|
|
||||||
|
/** |
||||||
|
* 修改 |
||||||
|
* @param request |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
Result<Boolean> updateComplaintCollection(ComplaintCollectionUpdateRequest request); |
||||||
|
} |
||||||
@ -0,0 +1,218 @@ |
|||||||
|
package com.biutag.supervision.service.complaintCollection; |
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil; |
||||||
|
import cn.hutool.core.util.StrUtil; |
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
|
import com.biutag.supervision.common.UserContextHolder; |
||||||
|
import com.biutag.supervision.pojo.Result; |
||||||
|
import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionPageDTO; |
||||||
|
import com.biutag.supervision.pojo.entity.ComplaintCollection; |
||||||
|
import com.biutag.supervision.pojo.entity.SupDictData; |
||||||
|
import com.biutag.supervision.pojo.enums.supDict.SupDictEnum; |
||||||
|
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionExistParam; |
||||||
|
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionQueryParam; |
||||||
|
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionUpdateParam; |
||||||
|
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionAddRequest; |
||||||
|
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionDelRequest; |
||||||
|
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionPageRequest; |
||||||
|
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionUpdateRequest; |
||||||
|
import com.biutag.supervision.pojo.transfer.ComplaintCollectionTransfer; |
||||||
|
import com.biutag.supervision.pojo.vo.ComplaintCollectionPageVo; |
||||||
|
import com.biutag.supervision.repository.complaintCollection.ComplaintCollectionResourceService; |
||||||
|
import com.biutag.supervision.service.SupDictDataService; |
||||||
|
import com.biutag.supervision.util.CodeTranslateUtil; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.util.*; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* @ClassName ComplaintCollectionServiceImpl |
||||||
|
* @Description 涉访涉诉服务层 |
||||||
|
* @Author shihao |
||||||
|
* @Date 2025/12/23 17:24 |
||||||
|
*/ |
||||||
|
@Slf4j |
||||||
|
@Service |
||||||
|
@RequiredArgsConstructor |
||||||
|
public class ComplaintCollectionServiceImpl implements ComplaintCollectionService { |
||||||
|
|
||||||
|
private final ComplaintCollectionResourceService complaintCollectionResourceService; |
||||||
|
private final SupDictDataService supDictDataService; |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public Result<Boolean> addComplaintCollection(ComplaintCollectionAddRequest request) { |
||||||
|
ComplaintCollectionExistParam existParam = new ComplaintCollectionExistParam(); |
||||||
|
existParam.setOriginId(request.getOriginId()); |
||||||
|
existParam.setSourceTable(request.getSourceTable()); |
||||||
|
boolean exists = complaintCollectionResourceService.exists(existParam); |
||||||
|
if (exists) { |
||||||
|
throw new IllegalStateException("存在相同编号+来源"); |
||||||
|
} |
||||||
|
ComplaintCollection complaintCollection = ComplaintCollectionTransfer.INSTANCE.addRequestToEntity(request); |
||||||
|
Boolean res = complaintCollectionResourceService.createComplaintCollection(Arrays.asList(complaintCollection)); |
||||||
|
return Result.success(res); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public Result<Boolean> delComplaintCollection(ComplaintCollectionDelRequest request) { |
||||||
|
// ComplaintCollectionQueryParam param = new ComplaintCollectionQueryParam();
|
||||||
|
// param.setId(request.getId());
|
||||||
|
// List<ComplaintCollection> query = complaintCollectionResourceService.query(param);
|
||||||
|
// 对query做业务校验
|
||||||
|
boolean deleted = complaintCollectionResourceService.deleteById(request.getId()); |
||||||
|
if (!deleted) { |
||||||
|
throw new RuntimeException("未找到可删除信息"); |
||||||
|
} |
||||||
|
return Result.success(true); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public Result<Boolean> updateComplaintCollection(ComplaintCollectionUpdateRequest request) { |
||||||
|
ComplaintCollectionExistParam existParam = new ComplaintCollectionExistParam(); |
||||||
|
existParam.setId(request.getId()); |
||||||
|
boolean exists = complaintCollectionResourceService.exists(existParam); |
||||||
|
if (!exists){ |
||||||
|
throw new NoSuchElementException("未找到可修改信息"); |
||||||
|
} |
||||||
|
ComplaintCollectionUpdateParam updateParam= ComplaintCollectionTransfer.INSTANCE.updateRequestToParam(request); |
||||||
|
// 处理 involve_problem + tag
|
||||||
|
String involveProblem = CodeTranslateUtil.joinDistinct(request.getInvolveProblemIdList()); |
||||||
|
if (StrUtil.isNotBlank(involveProblem)){ |
||||||
|
updateParam.setInvolveProblem(involveProblem); |
||||||
|
} |
||||||
|
String tag = CodeTranslateUtil.joinDistinct(request.getTags()); |
||||||
|
if (StrUtil.isNotBlank(tag)){ |
||||||
|
updateParam.setTag(tag); |
||||||
|
} |
||||||
|
// 4) 必填:id + 更新信息
|
||||||
|
updateParam.setId(request.getId()); |
||||||
|
updateParam.setUpdateTime(LocalDateTime.now()); |
||||||
|
updateParam.setUpdateBy(UserContextHolder.getCurrentUser().getUserName()); |
||||||
|
// 5) 更新(只更新非空字段)
|
||||||
|
boolean ok = complaintCollectionResourceService.updateSelectiveById(updateParam); |
||||||
|
if (!ok) { |
||||||
|
throw new RuntimeException("修改失败"); |
||||||
|
} |
||||||
|
return Result.success(true); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public Result<ComplaintCollectionPageVo> getComplaintCollectionPage(ComplaintCollectionPageRequest request) { |
||||||
|
ComplaintCollectionQueryParam param = ComplaintCollectionTransfer.INSTANCE.pageRequestToPageParam(request); |
||||||
|
IPage<ComplaintCollection> page = complaintCollectionResourceService.pageQuery(param); |
||||||
|
List<ComplaintCollection> records = page.getRecords(); |
||||||
|
List<ComplaintCollectionPageDTO> complaintCollectionPageDTOS = ComplaintCollectionTransfer.INSTANCE.entityToPageDTOList(records); |
||||||
|
// 涉嫌问题拼接
|
||||||
|
if (CollectionUtil.isNotEmpty(complaintCollectionPageDTOS)) { |
||||||
|
Map<String, String> dictLabelMap = buildDictLabelMap(SupDictEnum.SUSPECT_PROBLEM.getCode()); |
||||||
|
complaintCollectionPageDTOS.forEach(one->{ |
||||||
|
one.setInvolveProblemStr(CodeTranslateUtil.translateCodesToLabels(one.getInvolveProblem(), dictLabelMap)); |
||||||
|
}); |
||||||
|
} |
||||||
|
ComplaintCollectionPageVo complaintCollectionPageVo = new ComplaintCollectionPageVo(); |
||||||
|
complaintCollectionPageVo.setPages(page.getPages()); |
||||||
|
complaintCollectionPageVo.setTotal(page.getTotal()); |
||||||
|
complaintCollectionPageVo.setCurrent(page.getCurrent()); |
||||||
|
complaintCollectionPageVo.setSize(page.getSize()); |
||||||
|
complaintCollectionPageVo.setComplaintCollectionPageDTOS(complaintCollectionPageDTOS); |
||||||
|
return Result.success(complaintCollectionPageVo); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private Map<String, String> buildDictLabelMap(String dictType) { |
||||||
|
List<SupDictData> list = supDictDataService.listByDictType(dictType); |
||||||
|
return list.stream() |
||||||
|
.filter(d -> StrUtil.isNotBlank(d.getDictValue())) |
||||||
|
.collect(Collectors.toMap( |
||||||
|
SupDictData::getDictValue, |
||||||
|
d -> StrUtil.blankToDefault(d.getDictLabel(), ""), |
||||||
|
(a, b) -> a |
||||||
|
)); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private List<ComplaintCollection> mockComplaintCollectionPageVoList() { |
||||||
|
List<ComplaintCollection> list = new ArrayList<>(); |
||||||
|
// ====== 第一条 ======
|
||||||
|
ComplaintCollection vo1 = new ComplaintCollection(); |
||||||
|
vo1.setOriginId("XF20251223001"); |
||||||
|
vo1.setSourceTable("petition"); |
||||||
|
vo1.setDiscoveryTime(LocalDateTime.now().minusDays(2)); |
||||||
|
vo1.setHappenTime(LocalDateTime.now().minusDays(3)); |
||||||
|
vo1.setResponderName("张三"); |
||||||
|
vo1.setResponderPhone("13800001111"); |
||||||
|
vo1.setBusinessTypeName("信访投诉"); |
||||||
|
vo1.setInvolveProblem("执法不规范"); |
||||||
|
vo1.setThingDesc("群众反映执法过程中存在态度粗暴问题。"); |
||||||
|
vo1.setProblemSources("群众来访"); |
||||||
|
vo1.setProblemSourcesCode("XF01"); |
||||||
|
vo1.setSecondDepartId("DEP001"); |
||||||
|
vo1.setSecondDepartName("治安管理支队"); |
||||||
|
vo1.setThirdDepartId("DEP00101"); |
||||||
|
vo1.setThirdDepartName("一大队"); |
||||||
|
vo1.setDistributionState("已下发"); |
||||||
|
vo1.setIsReal(1); |
||||||
|
vo1.setCreateTime(LocalDateTime.now().minusDays(2)); |
||||||
|
vo1.setCompletedTime(LocalDateTime.now().minusDays(1)); |
||||||
|
list.add(vo1); |
||||||
|
|
||||||
|
// ====== 第二条 ======
|
||||||
|
ComplaintCollection vo2 = new ComplaintCollection(); |
||||||
|
vo2.setSourceTable("AJ20251223002"); |
||||||
|
vo2.setDiscoveryTime(LocalDateTime.now().minusDays(5)); |
||||||
|
vo2.setHappenTime(LocalDateTime.now().minusDays(6)); |
||||||
|
vo2.setResponderName("李四"); |
||||||
|
vo2.setResponderPhone("13900002222"); |
||||||
|
vo2.setBusinessTypeName("案件核查"); |
||||||
|
vo2.setInvolveProblem("执法程序问题"); |
||||||
|
vo2.setThingDesc("反映案件办理过程中存在程序瑕疵。"); |
||||||
|
vo2.setProblemSources("举报线索"); |
||||||
|
vo2.setProblemSourcesCode("AJ02"); |
||||||
|
vo2.setSecondDepartId("DEP002"); |
||||||
|
vo2.setSecondDepartName("刑侦支队"); |
||||||
|
vo2.setThirdDepartId("DEP00202"); |
||||||
|
vo2.setThirdDepartName("二大队"); |
||||||
|
vo2.setDistributionState("办理中"); |
||||||
|
vo2.setIsReal(2); |
||||||
|
vo2.setCreateTime(LocalDateTime.now().minusDays(5)); |
||||||
|
vo2.setCompletedTime(null); |
||||||
|
list.add(vo2); |
||||||
|
|
||||||
|
// ====== 第三条 ======
|
||||||
|
ComplaintCollection vo3 = new ComplaintCollection(); |
||||||
|
vo3.setOriginId("MB20251223003"); |
||||||
|
vo3.setDiscoveryTime(LocalDateTime.now().minusDays(1)); |
||||||
|
vo3.setHappenTime(null); |
||||||
|
vo3.setResponderName("王五"); |
||||||
|
vo3.setResponderPhone("13700003333"); |
||||||
|
vo3.setBusinessTypeName("局长信箱"); |
||||||
|
vo3.setInvolveProblem("服务态度问题"); |
||||||
|
vo3.setThingDesc("反映窗口服务人员态度冷漠。"); |
||||||
|
vo3.setProblemSources("局长信箱"); |
||||||
|
vo3.setProblemSourcesCode("MB01"); |
||||||
|
vo3.setSecondDepartId("DEP003"); |
||||||
|
vo3.setSecondDepartName("政务服务中心"); |
||||||
|
vo3.setThirdDepartId(null); |
||||||
|
vo3.setThirdDepartName(null); |
||||||
|
vo3.setDistributionState("待处理"); |
||||||
|
vo3.setIsReal(null); |
||||||
|
vo3.setCreateTime(LocalDateTime.now().minusDays(1)); |
||||||
|
vo3.setCompletedTime(null); |
||||||
|
list.add(vo3); |
||||||
|
|
||||||
|
return list; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
Loading…
Reference in new issue