From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 09 六月 2025 11:54:00 +0800 Subject: [PATCH] 6.9新增登录失败冻结逻辑 --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SuperviseService.java | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 40 insertions(+), 2 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SuperviseService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SuperviseService.java index dc8dd8b..c0aae17 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SuperviseService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SuperviseService.java @@ -1,19 +1,28 @@ package com.panzhihua.sangeshenbian.service.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.sangeshenbian.dao.ComplaintMapper; -import com.panzhihua.sangeshenbian.dao.ComplaintRejectMapper; +import com.panzhihua.sangeshenbian.model.entity.ComplaintAuditRecord; +import com.panzhihua.sangeshenbian.model.entity.ComplaintProgress; import com.panzhihua.sangeshenbian.model.entity.SystemUserLevel; import com.panzhihua.sangeshenbian.model.query.SuperviseQuery; import com.panzhihua.sangeshenbian.model.vo.AppComplaintRejectVO; import com.panzhihua.sangeshenbian.model.vo.ComplaintVO; +import com.panzhihua.sangeshenbian.service.IComplaintAuditRecordService; +import com.panzhihua.sangeshenbian.service.IComplaintProgressService; import com.panzhihua.sangeshenbian.service.IdentityInformationService; import com.panzhihua.sangeshenbian.warpper.IdentityInformation; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @author mitao @@ -24,6 +33,8 @@ public class SuperviseService { private final IdentityInformationService identityInformationService; private final ComplaintMapper complaintMapper; + private final IComplaintAuditRecordService complaintAuditRecordService; + private final IComplaintProgressService complaintProgressService; public Page<ComplaintVO> queryProcessingRecordPage(SuperviseQuery query, LoginUserInfoVO loginUserInfo) { IdentityInformation currentIdentityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfo); @@ -52,7 +63,34 @@ targetId = systemUserLevel.getCommunityId(); break; } - return complaintMapper.queryProcessingRecordPage(new Page<>(query.getPageNum(), query.getPageSize()), query.getKeyword(), accountLevel, targetId); + Page<ComplaintVO> page = complaintMapper.queryProcessingRecordPage(new Page<>(query.getPageNum(), query.getPageSize()), query.getKeyword(), accountLevel, targetId); + //查询上报下派记录 + List<Long> complaintIds = page.getRecords().stream().map(ComplaintVO::getId).collect(Collectors.toList()); + if (CollUtil.isEmpty(complaintIds)){ + return page; + } + List<ComplaintAuditRecord> list = complaintAuditRecordService.lambdaQuery() + .in(ComplaintAuditRecord::getComplaintId, complaintIds) + .in(ComplaintAuditRecord::getAuditType, 2, 3).list(); + Map<Long, List<ComplaintAuditRecord>> auditRecordListMap = new HashMap<>(); + if (CollUtil.isNotEmpty(list)) { + auditRecordListMap = list.stream().collect(Collectors.groupingBy(ComplaintAuditRecord::getComplaintId)); + } + //查询办理进度 + List<ComplaintProgress> complaintProgressList = complaintProgressService.lambdaQuery().in(ComplaintProgress::getComplaintId, complaintIds).list(); + Map<Long, List<ComplaintProgress>> complaintProgressListMap = complaintProgressList.stream().collect(Collectors.groupingBy(ComplaintProgress::getComplaintId)); + Map<Long, List<ComplaintAuditRecord>> finalAuditRecordListMap = auditRecordListMap; + page.getRecords().forEach(item->{ + List<ComplaintAuditRecord> auditList = finalAuditRecordListMap.getOrDefault(item.getId(), CollUtil.newArrayList()); + item.setReportCount((int) auditList.stream() + .filter(auditRecord -> auditRecord.getAuditType().equals(2) + && !auditRecord.getAuditStatus().equals(3)) //不统计撤回了的 + .count()); + item.setAssignmentCount((int) auditList.stream().filter(auditRecord -> auditRecord.getAuditType().equals(3)).count()); + List<ComplaintProgress> progressList = complaintProgressListMap.getOrDefault(item.getId(), CollUtil.newArrayList()); + item.setProgressCount(progressList.size()); + }); + return page; } public Page<AppComplaintRejectVO> queryRejectRecordPage(SuperviseQuery query, LoginUserInfoVO loginUserInfo) { -- Gitblit v1.7.1