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 7f0ffa6..70bda84 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 @@ -61,6 +61,9 @@ public class ComplaintCollectionQueryParam extends BasePage { @Schema(description = "被投诉二级机构Id") private String secondDepartId; + @Schema(description = "被投诉二级机构Ids") + private Set secondDepartIds; + @Schema(description = "被投诉二级机构名字") private String secondDepartName; diff --git a/src/main/java/com/biutag/supervision/pojo/vo/complaintCollection/ComplaintCollectionPageVo.java b/src/main/java/com/biutag/supervision/pojo/vo/complaintCollection/ComplaintCollectionPageVo.java index ff85712..e4055f9 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/complaintCollection/ComplaintCollectionPageVo.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/complaintCollection/ComplaintCollectionPageVo.java @@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; +import java.util.ArrayList; import java.util.List; /** @@ -34,6 +35,16 @@ public class ComplaintCollectionPageVo { @Schema(description = "返回DTO") private List complaintCollectionPageDTOS; + public static ComplaintCollectionPageVo noAuthVo(){ + ComplaintCollectionPageVo complaintCollectionPageVo = new ComplaintCollectionPageVo(); + complaintCollectionPageVo.setPages(0L); + complaintCollectionPageVo.setTotal(0L); + complaintCollectionPageVo.setCurrent(0L); + complaintCollectionPageVo.setSize(0L); + complaintCollectionPageVo.setComplaintCollectionPageDTOS(new ArrayList<>()); + return complaintCollectionPageVo; + } + } diff --git a/src/main/java/com/biutag/supervision/repository/complaintCollection/ComplaintCollectionResourceService.java b/src/main/java/com/biutag/supervision/repository/complaintCollection/ComplaintCollectionResourceService.java index 28daee5..0f9d70f 100644 --- a/src/main/java/com/biutag/supervision/repository/complaintCollection/ComplaintCollectionResourceService.java +++ b/src/main/java/com/biutag/supervision/repository/complaintCollection/ComplaintCollectionResourceService.java @@ -58,6 +58,7 @@ public class ComplaintCollectionResourceService extends BaseDAO { setBatchQuery(param.getSourceTable(), param.getSourceTableList(), qw, ComplaintCollection::getSourceTable); setBatchQuery(param.getSourceTableSubOne(), param.getSourceTableSubOneList(), qw, ComplaintCollection::getSourceTableSubOne); setBatchLikeQuery(param.getOriginId(), param.getOriginIds(), qw, ComplaintCollection::getOriginId); + setBatchQuery(param.getSecondDepartId(), param.getSecondDepartIds(), qw, ComplaintCollection::getSecondDepartId); if (CollectionUtil.size(param.getDiscoveryTimeList()) == 2 && param.getDiscoveryTimeList().get(0) != null && param.getDiscoveryTimeList().get(1) != null) { @@ -68,7 +69,6 @@ public class ComplaintCollectionResourceService extends BaseDAO { 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.like(StrUtil.isNotBlank(param.getThingDesc()), ComplaintCollection::getThingDesc, param.getThingDesc()); qw.eq(StrUtil.isNotBlank(param.getRepeatt()), ComplaintCollection::getRepeatt, param.getRepeatt()); 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 aa0200e..18db4e6 100644 --- a/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java +++ b/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java @@ -13,6 +13,7 @@ import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.biutag.supervision.common.UserContextHolder; +import com.biutag.supervision.constants.AppConstants; import com.biutag.supervision.constants.enums.*; import com.biutag.supervision.flow.action.ApplyCompletionAction; import com.biutag.supervision.pojo.Result; @@ -28,6 +29,7 @@ import com.biutag.supervision.pojo.enums.complaintCollection.ComplaintCollection import com.biutag.supervision.pojo.enums.complaintCollection.ComplaintCollectionHandleMethodEnum; import com.biutag.supervision.pojo.enums.complaintCollection.ComplaintCollectionPublicApprovalEnum; import com.biutag.supervision.pojo.enums.supDict.SupDictEnum; +import com.biutag.supervision.pojo.model.UserAuth; import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionExistParam; import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionQueryParam; import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionUpdateParam; @@ -185,6 +187,17 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic @Override public Result getComplaintCollectionPage(ComplaintCollectionPageRequest request) { ComplaintCollectionQueryParam param = ComplaintCollectionTransfer.INSTANCE.pageRequestToPageParam(request); + UserAuth user = UserContextHolder.getCurrentUser(); + if (!AppConstants.USER_TYPE_SUPER.equals(user.getUserType()) && (user.getRoleCodes().isEmpty() || user.getAuthSources().isEmpty() || user.getAuthDepartIds().isEmpty())) { + return Result.success(ComplaintCollectionPageVo.noAuthVo()); + } + if (!AppConstants.USER_TYPE_SUPER.equals(user.getUserType())) { + if (user.getRoleCodes().contains(RoleCodeEnum.SECOND_ADMIN.getCode())) { + param.setSecondDepartIds(new HashSet<>(user.getAuthDepartIds())); + } else if (user.getRoleCodes().contains(RoleCodeEnum.THREE_ADMIN.getCode())) { + return Result.success(ComplaintCollectionPageVo.noAuthVo()); + } + } IPage page = complaintCollectionResourceService.pageQuery(param); List records = page.getRecords(); List complaintCollectionPageDTOS = ComplaintCollectionTransfer.INSTANCE.entityToPageDTOList(records);