add 会议联系人新增,删除,修改,审核的参会人权限

This commit is contained in:
lijiarao
2022-01-05 14:29:14 +08:00
parent 5e7af0e20b
commit 48b7d38c9f
@@ -45,8 +45,10 @@ import com.jero.mail.service.IPayMailBillService;
import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.common.MeetingCommon;
import com.jero.meeting.common.MeetingSubitemCommon; import com.jero.meeting.common.MeetingSubitemCommon;
import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.entity.PayMeeting;
import com.jero.meeting.entity.PayMeetingContacts;
import com.jero.meeting.entity.PayMeetingSituation; import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.mapper.PayMeetingSituationMapper; import com.jero.meeting.mapper.PayMeetingSituationMapper;
import com.jero.meeting.service.IPayMeetingContactsService;
import com.jero.meeting.service.IPayMeetingService; import com.jero.meeting.service.IPayMeetingService;
import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.meeting.valid.group.*; import com.jero.meeting.valid.group.*;
@@ -134,6 +136,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
private RolePermissionService rolePermissionService; private RolePermissionService rolePermissionService;
@Resource @Resource
private IOSSFileService ossFileService; private IOSSFileService ossFileService;
@Resource
private IPayMeetingContactsService meetingContactsService;
private static final String[] CAN_MODIFY_LIST = new String[]{"arrivalTime", "departureTime", "checkInHotel"}; private static final String[] CAN_MODIFY_LIST = new String[]{"arrivalTime", "departureTime", "checkInHotel"};
@@ -151,8 +155,12 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (!rolePermissionService.getRolePermission("committeeMeetingSituation:add")) { if (!rolePermissionService.getRolePermission("committeeMeetingSituation:add")) {
if (!Objects.equals(payMeeting1.getDirectorId(),loginUser.getId())) { LambdaQueryWrapper<PayMeetingContacts> queryWrapper1 = new LambdaQueryWrapper<>();
throw new JeroBootException("只有会议负责人可以新增参会人"); queryWrapper1.eq(PayMeetingContacts::getMeetingId, meetingId1);
queryWrapper1.eq(PayMeetingContacts::getMeetingContactsId,loginUser.getId());
boolean b = meetingContactsService.count(queryWrapper1) > 0;
if (!b && !Objects.equals(payMeeting1.getDirectorId(),loginUser.getId())) {
throw new JeroBootException("只有会议负责人,会议联系人可以新增参会人");
} }
} }
@@ -509,15 +517,19 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
String sysUserId = sysUser.getId(); String sysUserId = sysUser.getId();
String meetingType = payMeeting.getMeetingType().toString(); String meetingType = payMeeting.getMeetingType().toString();
if (!rolePermissionService.getRolePermission("committeeMeetingSituation:add")) { if (!rolePermissionService.getRolePermission("committeeMeetingSituation:add")) {
LambdaQueryWrapper<PayMeetingContacts> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(PayMeetingContacts::getMeetingId, payMeeting.getId());
queryWrapper1.eq(PayMeetingContacts::getMeetingContactsId,sysUserId);
boolean b = meetingContactsService.count(queryWrapper1) > 0;
if (meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING)) { if (meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING)) {
//只有会议负责人,对接人可以审批 //只有会议负责人,会议联系人,对接人可以审批
if (!directorId.equals(sysUserId) && !sysUserId.equals(payMeetingSituation.getCompanyContactId())) { if (!b && !directorId.equals(sysUserId) && !sysUserId.equals(payMeetingSituation.getCompanyContactId())) {
throw new JeroBootException("只有会议负责人,对接人可以审批"); throw new JeroBootException("只有会议负责人,会议联系人,对接人可以审批");
} }
} else { } else {
//只有会议负责人可以审批 //只有会议负责人,会议联系人可以审批
if (!directorId.equals(sysUserId)) { if (!b && !directorId.equals(sysUserId)) {
throw new JeroBootException("只有会议负责人可以审批"); throw new JeroBootException("只有会议负责人,会议联系人可以审批");
} }
} }
} }
@@ -889,15 +901,20 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
String dockId = payMeetingSituation.getDockId(); String dockId = payMeetingSituation.getDockId();
String directorId = payMeeting.getDirectorId(); String directorId = payMeeting.getDirectorId();
LoginUser director = iSysBaseApi.getUserById(directorId); LoginUser director = iSysBaseApi.getUserById(directorId);
//判断是否是会议联系人
LambdaQueryWrapper<PayMeetingContacts> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(PayMeetingContacts::getMeetingId, meetingId);
queryWrapper1.eq(PayMeetingContacts::getMeetingContactsId,sysUserId);
boolean b = meetingContactsService.count(queryWrapper1) > 0;
if (meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING)) { if (meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING)) {
//只有会议负责人,对接人,参会人可以修改 //只有会议负责人,会议联系人,对接人,参会人可以修改
if (!directorId.equals(sysUserId) && !sysUserId.equals(payMeetingSituation.getCompanyContactId()) && !sysUserId.equals(dockId)) { if (!b && !directorId.equals(sysUserId) && !sysUserId.equals(payMeetingSituation.getCompanyContactId()) && !sysUserId.equals(dockId)) {
throw new JeroBootException("只有会议负责人,对接人,参会人可以修改"); throw new JeroBootException("只有会议负责人,会议联系人,对接人,参会人可以修改");
} }
} else { } else {
//只有会议负责人,参会人可以修改 //只有会议负责人,会议联系人,参会人可以修改
if (!directorId.equals(sysUserId) && !sysUserId.equals(payMeetingSituation.getCompanyContactId())) { if (!directorId.equals(sysUserId) && !sysUserId.equals(payMeetingSituation.getCompanyContactId())) {
throw new JeroBootException("只有会议负责人,参会人可以修改"); throw new JeroBootException("只有会议负责人,会议联系人,参会人可以修改");
} }
} }
@@ -1289,9 +1306,13 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
PayMeeting payMeeting = meetingService.getById(meetingId); PayMeeting payMeeting = meetingService.getById(meetingId);
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String sysUserId = sysUser.getId(); String sysUserId = sysUser.getId();
//只有会议负责人可以删除 //只有会议负责人,会议联系人可以删除
if (!payMeeting.getDirectorId().equals(sysUserId)) { LambdaQueryWrapper<PayMeetingContacts> queryWrapper1 = new LambdaQueryWrapper<>();
throw new JeroBootException("只有会议负责人可以删除"); queryWrapper1.eq(PayMeetingContacts::getMeetingId, meetingId);
queryWrapper1.eq(PayMeetingContacts::getMeetingContactsId,sysUserId);
boolean b = meetingContactsService.count(queryWrapper1) > 0;
if (!b && !payMeeting.getDirectorId().equals(sysUserId)) {
throw new JeroBootException("只有会议负责人,会议联系人可以删除");
} }
Integer inAccount = payMeetingSituation.getInAccount(); Integer inAccount = payMeetingSituation.getInAccount();
if (!inAccount.equals(PayProjectCommon.IN_ACCOUNT0)) { if (!inAccount.equals(PayProjectCommon.IN_ACCOUNT0)) {
@@ -1363,9 +1384,13 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
String meetingId = payMeetingSituation.getMeetingId(); String meetingId = payMeetingSituation.getMeetingId();
payMeeting = meetingService.getById(meetingId); payMeeting = meetingService.getById(meetingId);
Integer meetingType = payMeeting.getMeetingType(); Integer meetingType = payMeeting.getMeetingType();
//只有会议负责人可以设置对接人 //只有会议负责人,会议联系人可以设置对接人
if (!payMeeting.getDirectorId().equals(sysUserId)) { LambdaQueryWrapper<PayMeetingContacts> queryWrapper1 = new LambdaQueryWrapper<>();
throw new JeroBootException("只有会议负责人可以设置对接人"); queryWrapper1.eq(PayMeetingContacts::getMeetingId, meetingId);
queryWrapper1.eq(PayMeetingContacts::getMeetingContactsId,sysUserId);
boolean b = meetingContactsService.count(queryWrapper1) > 0;
if (!b && !payMeeting.getDirectorId().equals(sysUserId)) {
throw new JeroBootException("只有会议负责人,会议联系人可以设置对接人");
} }
//只有国际研讨会议可以设置对接人 //只有国际研讨会议可以设置对接人
if (!meetingType.equals(Integer.parseInt(MeetingCommon.INTERNATIONAL_MEETING))) { if (!meetingType.equals(Integer.parseInt(MeetingCommon.INTERNATIONAL_MEETING))) {