修改bug#41582

This commit is contained in:
梁琦涛
2021-10-28 11:08:09 +08:00
parent 90a2585224
commit e9aca4d4d7
2 changed files with 58 additions and 14 deletions
@@ -182,9 +182,18 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
if(Objects.isNull(payWorkingGroupDataFile)){
return Result.error("资料不存在!");
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!rolePermissionService.getRolePermission("fileMaintenance:delete") && !Objects.equals(payWorkingGroupDataFile.getCreateBy(),sysUser.getUsername())){
throw new JeroBootException(payWorkingGroupDataFile.getFileName() + "资料不可操作!");
if(payWorkingGroupDataFile.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupDataFile.getProjectId());
if(Objects.isNull(payWorkingGroup)){
throw new JeroBootException("工作组不存在!");
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!rolePermissionService.getRolePermission("fileMaintenance:delete")
&& !Objects.equals(payWorkingGroup.getPrincipalIdA(),sysUser.getId())
&& !Objects.equals(payWorkingGroup.getPrincipalIdB(),sysUser.getId())){
throw new JeroBootException("资料不可操作!");
}
}
payWorkingGroupDataFileService.removeById(id);
return Result.OK("删除成功!");
@@ -214,8 +223,16 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
if(Objects.isNull(payWorkingGroupDataFile)){
return Result.error("资料不存在!");
}else{
if(!rolePermissionService.getRolePermission("fileMaintenance:batchDel") && !Objects.equals(payWorkingGroupDataFile.getCreateBy(),sysUser.getUsername())){
msg.append(payWorkingGroupDataFile.getFileName() + "资料不可操作!");
if(payWorkingGroupDataFile.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupDataFile.getProjectId());
if(Objects.isNull(payWorkingGroup)){
throw new JeroBootException("工作组不存在!");
}
if(!rolePermissionService.getRolePermission("fileMaintenance:batchDel")
&& !Objects.equals(payWorkingGroup.getPrincipalIdA(),sysUser.getId())
&& !Objects.equals(payWorkingGroup.getPrincipalIdB(),sysUser.getId())){
throw new JeroBootException("资料不可操作!");
}
}
}
}
@@ -271,6 +288,18 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE2)){
throw new JeroBootException("项目状态不正确!");
}
if(payWorkingGroupDataFile.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupDataFile.getProjectId());
if(Objects.isNull(payWorkingGroup)){
throw new JeroBootException("工作组不存在!");
}
if(!rolePermissionService.getRolePermission("fileMaintenance:export")
&& !Objects.equals(payWorkingGroup.getPrincipalIdA(),sysUser.getId())
&& !Objects.equals(payWorkingGroup.getPrincipalIdB(),sysUser.getId())){
throw new JeroBootException("资料不可操作!");
}
}
// Step.1 组装查询条件
QueryWrapper<PayWorkingGroupDataFile> queryWrapper = QueryGenerator.initQueryWrapper(payWorkingGroupDataFile, request.getParameterMap());
@@ -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<Pa
private IPayCaseCommitteeSubitemService payCaseCommitteeSubitemService;
@Resource
private PayWorkingGroupDistributionRecordMapper payWorkingGroupDistributionRecordMapper;
@Resource
private RolePermissionService rolePermissionService;
@Override
@Transactional
@@ -93,7 +96,7 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
}
PayWorkingGroupDataFile payWorkingGroupDataFile = payWorkingGroupDataFileService.getById(payWorkingGroupDistributionRecord.getDataId());
if(Objects.isNull(payWorkingGroupDataFile)){
throw new JeroBootException("没有找到文件!");
throw new JeroBootException("资料不存在!");
}
OSSFile byId = iossFileService.getById(payWorkingGroupDataFile.getFileId());
if(Objects.isNull(byId)){
@@ -108,6 +111,16 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
String msg = "";
List<PayWorkingGroupDistributionRecord> 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<PayContactsManagementTemporary> queryPayContactsManagementTemporary = new LambdaQueryWrapper<>();
queryPayContactsManagementTemporary.in(PayContactsManagementTemporary::getId, Arrays.asList(s));
@@ -115,10 +128,6 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
if(!CollectionUtils.isEmpty(listContacts)){
list = listContacts;
}
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupDistributionRecord.getProjectId());
if(Objects.isNull(payWorkingGroup)){
throw new JeroBootException("工作组不存在!");
}
msg = payWorkingGroup.getWorkingGroupProject();
}else if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE2){
LambdaQueryWrapper<PayContactsManagement> queryPayContactsManagement = new LambdaQueryWrapper<>();
@@ -228,6 +237,16 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
List<PayContactsManagementTemporary> list = new ArrayList<>();
List<PayWorkingGroupDistributionRecord> 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<Pa
if(!CollectionUtils.isEmpty(listContacts)){
list = listContacts;
}
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupDistributionRecord.getProjectId());
if(Objects.isNull(payWorkingGroup)){
throw new JeroBootException("工作组不存在!");
}
msg = payWorkingGroup.getWorkingGroupProject();
}else if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE2){
// 查询分标委成员