From 9fa09b23954804d6d6028d27625b9ccc3fd7928f Mon Sep 17 00:00:00 2001 From: buaixuexideshitongxue <2936013465@qq.com> Date: Fri, 8 May 2026 15:54:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=95=B4=E5=90=88=E6=B6=89=E5=8F=8A?= =?UTF-8?q?=E5=8D=95=E4=BD=8D=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/ComplaintCollectionController.java | 5 +- .../ComplaintCollectionQueryParam.java | 3 + .../ComplaintCollectionPageRequest.java | 6 ++ .../ComplaintCollectionServiceImpl.java | 56 ++++++++++--------- .../mapper/ComplaintCollectionMapper.xml | 9 +-- 5 files changed, 44 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java b/src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java index 348206e..32a330f 100644 --- a/src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java +++ b/src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java @@ -79,8 +79,9 @@ public class ComplaintCollectionController { LocalDateTime end = request.getCreateTimeList().get(1); mailBoxCaptureService.syncBlameAndFiles(start, end); } - - + if ("阶段3".equals(request.getPersonInfo())){ + mailBoxCaptureService.syncExtension(); + } return Result.success(complaintCollectionService.getComplaintCollectionPageNew(request)); } diff --git a/src/main/java/com/biutag/supervision/pojo/param/ComplaintCollection/ComplaintCollectionQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/ComplaintCollection/ComplaintCollectionQueryParam.java index 01d443a..5393346 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/ComplaintCollection/ComplaintCollectionQueryParam.java +++ b/src/main/java/com/biutag/supervision/pojo/param/ComplaintCollection/ComplaintCollectionQueryParam.java @@ -136,6 +136,9 @@ public class ComplaintCollectionQueryParam extends BasePage { @Schema(description = "办理单位ID集合(包含所有子节点)") private Set handleDepartIds; + @Schema(description = "涉及单位ID集合(包含所有子节点)") + private Set involveDepartIds; + // @Schema(description = "部门ID集合") // private Set secondDepartIds; diff --git a/src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionPageRequest.java b/src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionPageRequest.java index e85746a..6d686cb 100644 --- a/src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionPageRequest.java +++ b/src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionPageRequest.java @@ -52,6 +52,12 @@ public class ComplaintCollectionPageRequest extends BasePage implements ParamChe @Schema(description = "被投诉三级机构Id") private String thirdDepartId; + /** + * 涉及单位ID + */ + @Schema(description = "涉及单位ID") + private String involveDepartId; + /** * @see ComplaintCollectionHandleMethodEnum */ diff --git a/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java b/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java index bcc0f59..1f49ec8 100644 --- a/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java +++ b/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java @@ -1,10 +1,8 @@ package com.biutag.supervision.service.complaintCollection; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; -import cn.hutool.core.lang.Opt; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; @@ -17,13 +15,14 @@ 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.constants.AppConstants; -import com.biutag.supervision.constants.enums.*; +import com.biutag.supervision.constants.enums.BusinessTypeEnum; +import com.biutag.supervision.constants.enums.ProblemSourcesEnum; +import com.biutag.supervision.constants.enums.ProcessingStatusEnum; +import com.biutag.supervision.constants.enums.RoleCodeEnum; import com.biutag.supervision.mapper.ComplaintCollectionMapper; import com.biutag.supervision.pojo.Result; -import com.biutag.supervision.pojo.domain.Blame; import com.biutag.supervision.pojo.dto.NegativeDto; import com.biutag.supervision.pojo.dto.complaintCollection.*; -import com.biutag.supervision.pojo.dto.flow.VerifyData; import com.biutag.supervision.pojo.entity.*; import com.biutag.supervision.pojo.enums.complaintCollection.*; import com.biutag.supervision.pojo.enums.negative.NegativeSourceTypeEnum; @@ -41,10 +40,8 @@ import com.biutag.supervision.pojo.param.complaintCollectionCheckFile.ComplaintC import com.biutag.supervision.pojo.param.complaintCollectionFile.ComplaintCollectionFileQueryParam; import com.biutag.supervision.pojo.request.complaintCollection.*; import com.biutag.supervision.pojo.transfer.ComplaintCollectionTransfer; -import com.biutag.supervision.pojo.vo.FileVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionDetailVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionMailRepeattVo; -import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionWatchDetailVO; import com.biutag.supervision.repository.complaintCollection.ComplaintCollectionResourceService; import com.biutag.supervision.repository.complaintCollectionBlame.ComplaintCollectionBlameResourceService; import com.biutag.supervision.repository.complaintCollectionCheckFile.ComplaintCollectionCheckFileResourceService; @@ -59,7 +56,6 @@ import com.biutag.supervision.util.SfssUtil; import com.biutag.supervision.util.TimeUtil; import jakarta.servlet.ServletOutputStream; import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.ValidationException; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -71,7 +67,6 @@ import java.net.URLEncoder; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; -import java.util.Optional; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Function; import java.util.stream.Collectors; @@ -270,40 +265,47 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic if (!AppConstants.USER_TYPE_SUPER.equals(user.getUserType()) && (user.getRoleCodes().isEmpty() || user.getAuthSources().isEmpty() || user.getAuthDepartIds().isEmpty())) { return new Page().setTotal(0).setRecords(new ArrayList<>()); } - // 鉴权 如果不是超级管理员 + // 办理单位:需要鉴权 if (!AppConstants.USER_TYPE_SUPER.equals(user.getUserType())) { // 获取用户有权访问的所有下级机构ID List allNodeIds = departService.getAllNodeIds(user.getAuthDepartIds()); - Set visibleSecondIds = new HashSet<>(allNodeIds); - // 如果前端传了二级机构,校验是否在用户权限范围内 - if (StrUtil.isNotBlank(request.getSecondDepartId())) { - // 获取前端选择的二级机构及其所有下级 - List reqAllIds = departService.getAllNodeIds(List.of(request.getSecondDepartId())); + Set visibleIds = new HashSet<>(allNodeIds); + // 如果前端传了办理单位,校验是否在用户权限范围内 + if (StrUtil.isNotBlank(request.getHandleDepartId())) { + // 获取前端选择的办理单位及其所有下级 + List reqAllIds = departService.getAllNodeIds(List.of(request.getHandleDepartId())); // 取交集:用户权限 ∩ 前端选择 - visibleSecondIds.retainAll(new HashSet<>(reqAllIds)); + visibleIds.retainAll(new HashSet<>(reqAllIds)); // 如果没有交集,说明用户没有访问该机构的权限 - if (CollectionUtil.isEmpty(visibleSecondIds)) { + if (CollectionUtil.isEmpty(visibleIds)) { return new Page().setTotal(0).setRecords(new ArrayList<>()); } } - param.setSecondDepartIds(visibleSecondIds); + param.setHandleDepartIds(visibleIds); }else { - // 超级管理员:如果前端传了二级机构,只按该机构筛选 - if (StrUtil.isNotBlank(request.getSecondDepartId())) { - List reqAllIds = departService.getAllNodeIds(List.of(request.getSecondDepartId())); + // 超级管理员:如果前端传了办理单位,只按该机构筛选 + if (StrUtil.isNotBlank(request.getHandleDepartId())) { + List reqAllIds = departService.getAllNodeIds(List.of(request.getHandleDepartId())); if (CollectionUtil.isNotEmpty(reqAllIds)) { - param.setSecondDepartIds(new HashSet<>(reqAllIds)); + param.setHandleDepartIds(new HashSet<>(reqAllIds)); } } } - // 办理单位:获取所有子节点ID - if (StrUtil.isNotBlank(request.getHandleDepartId())) { - List allDepartIds = departService.getAllNodeIds(List.of(request.getHandleDepartId())); + // 涉及单位:获取所有子节点ID(不需要鉴权) + if (StrUtil.isNotBlank(request.getInvolveDepartId())) { + List allDepartIds = departService.getAllNodeIds(List.of(request.getInvolveDepartId())); if (CollectionUtil.isNotEmpty(allDepartIds)) { - param.setHandleDepartIds(new HashSet<>(allDepartIds)); + param.setInvolveDepartIds(new HashSet<>(allDepartIds)); } } - // doto 自办信件的只有市局管理员 12377管理员可以看 +// // 办理单位:获取所有子节点ID +// if (StrUtil.isNotBlank(request.getHandleDepartId())) { +// List allDepartIds = departService.getAllNodeIds(List.of(request.getHandleDepartId())); +// if (CollectionUtil.isNotEmpty(allDepartIds)) { +// param.setHandleDepartIds(new HashSet<>(allDepartIds)); +// } +// } + Page page = new Page<>(param.getCurrent(), param.getSize()); IPage pageResult = complaintCollectionMapper.selectPageWithNegative(page, param); List list = pageResult.getRecords(); diff --git a/src/main/resources/mapper/ComplaintCollectionMapper.xml b/src/main/resources/mapper/ComplaintCollectionMapper.xml index a43c3dc..bde4815 100644 --- a/src/main/resources/mapper/ComplaintCollectionMapper.xml +++ b/src/main/resources/mapper/ComplaintCollectionMapper.xml @@ -265,12 +265,9 @@ #{item} - - AND cc.second_depart_id = #{param.secondDepartId} - - - AND cc.second_depart_id IN - + + AND n.involveDepartId IN + #{item}