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