From e9aca4d4d7cc6d2db5822f1da4cd798f5199e881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Thu, 28 Oct 2021 11:08:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug#41582?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PayWorkingGroupDataFileController.java | 39 ++++++++++++++++--- ...ingGroupDistributionRecordServiceImpl.java | 33 +++++++++++----- 2 files changed, 58 insertions(+), 14 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupDataFileController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupDataFileController.java index e1d53ac3..6f78c00f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupDataFileController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupDataFileController.java @@ -182,9 +182,18 @@ public class PayWorkingGroupDataFileController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payWorkingGroupDataFile, request.getParameterMap()); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java index 9654aef0..89d44861 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.dto.SendMessageDTO; import com.jero.common.enums.CompanyMessageEnums; import com.jero.common.exception.JeroBootException; +import com.jero.common.service.RolePermissionService; import com.jero.common.service.SendMessageService; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.PasswordUtil; @@ -75,6 +76,8 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl listPayWorkingGroupDistributionRecord = new ArrayList<>(); if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){ + PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupDistributionRecord.getProjectId()); + if(Objects.isNull(payWorkingGroup)){ + throw new JeroBootException("工作组不存在!"); + } + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if(!rolePermissionService.getRolePermission("fileMaintenance:distribute") + && !Objects.equals(payWorkingGroup.getPrincipalIdA(),sysUser.getId()) + && !Objects.equals(payWorkingGroup.getPrincipalIdB(),sysUser.getId())){ + throw new JeroBootException("资料不可操作!"); + } setRecord( payWorkingGroupDistributionRecord,s,listPayWorkingGroupDistributionRecord, byId); LambdaQueryWrapper queryPayContactsManagementTemporary = new LambdaQueryWrapper<>(); queryPayContactsManagementTemporary.in(PayContactsManagementTemporary::getId, Arrays.asList(s)); @@ -115,10 +128,6 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl queryPayContactsManagement = new LambdaQueryWrapper<>(); @@ -228,6 +237,16 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl list = new ArrayList<>(); List listPayWorkingGroupDistributionRecord = new ArrayList<>(); if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){ + PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupDistributionRecord.getProjectId()); + if(Objects.isNull(payWorkingGroup)){ + throw new JeroBootException("工作组不存在!"); + } + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if(!rolePermissionService.getRolePermission("fileMaintenance:distribute") + && !Objects.equals(payWorkingGroup.getPrincipalIdA(),sysUser.getId()) + && !Objects.equals(payWorkingGroup.getPrincipalIdB(),sysUser.getId())){ + throw new JeroBootException("资料不可操作!"); + } listPayWorkingGroupDataFile.forEach(p->{ OSSFile byId = iossFileService.getById(p.getFileId()); if(Objects.isNull(byId)){ @@ -245,10 +264,6 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl