add 会议联系人新增,删除,修改,审核的参会人权限
This commit is contained in:
+44
-19
@@ -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))) {
|
||||||
|
|||||||
Reference in New Issue
Block a user