diff --git a/o2server/x_meeting_assemble_control/src/main/java/com/x/meeting/assemble/control/jaxrs/meeting/ActionEdit.java b/o2server/x_meeting_assemble_control/src/main/java/com/x/meeting/assemble/control/jaxrs/meeting/ActionEdit.java index dfd1cad0bcf9a7e661951dfe353351def5b0506f..e471e80ff3a2f1876218019270e4f1d87c42193a 100644 --- a/o2server/x_meeting_assemble_control/src/main/java/com/x/meeting/assemble/control/jaxrs/meeting/ActionEdit.java +++ b/o2server/x_meeting_assemble_control/src/main/java/com/x/meeting/assemble/control/jaxrs/meeting/ActionEdit.java @@ -55,13 +55,15 @@ class ActionEdit extends BaseAction { } emc.beginTransaction(Meeting.class); - List modifyInvitePersonList = ListUtils.subtract( - this.convertToPerson(business, ListTools.trim(wi.getInviteMemberList(), true, true)), - meeting.getInvitePersonList()); - List invitePersonList = new ArrayList<>(meeting.getInvitePersonList()); - invitePersonList.addAll(modifyInvitePersonList); + Wi.copier.copy(wi, meeting); + + List invitePersonList = this.convertToPerson(business, ListTools.trim(wi.getInviteMemberList(), true, true)); + List modifyInvitePersonList = ListUtils.subtract(invitePersonList, meeting.getInvitePersonList()); + List inviteDelPersonList = ListUtils.subtract(meeting.getInvitePersonList(), invitePersonList); meeting.setInvitePersonList(invitePersonList); + meeting.setInviteDelPersonList(inviteDelPersonList); + if (!business.room().checkIdle(meeting.getRoom(), meeting.getStartTime(), meeting.getCompletedTime(), meeting.getId())) { throw new ExceptionRoomNotAvailable(room.getName()); @@ -79,6 +81,9 @@ class ActionEdit extends BaseAction { MessageFactory.meeting_invite(_s, meeting, room); } } + for (String _s : inviteDelPersonList) { + MessageFactory.meeting_deleteInvitePerson(_s, meeting); + } this.notifyMeetingInviteMessage(business, meeting); } diff --git a/o2server/x_meeting_assemble_control/src/main/java/com/x/meeting/assemble/control/jaxrs/meeting/ActionModify.java b/o2server/x_meeting_assemble_control/src/main/java/com/x/meeting/assemble/control/jaxrs/meeting/ActionModify.java index e8e6eaf98009aef1daba897745fd3d74d61e0018..70b374386a8a8696652924ce9cfff2e289f5a38e 100644 --- a/o2server/x_meeting_assemble_control/src/main/java/com/x/meeting/assemble/control/jaxrs/meeting/ActionModify.java +++ b/o2server/x_meeting_assemble_control/src/main/java/com/x/meeting/assemble/control/jaxrs/meeting/ActionModify.java @@ -42,7 +42,7 @@ class ActionModify extends BaseAction { if (null == room) { throw new ExceptionRoomNotExist(wi.getRoom()); } - + //判断开始时间或者结束时间有没有修改过 boolean modifyTime = false; Date StartTime = wi.getStartTime(); @@ -53,25 +53,27 @@ class ActionModify extends BaseAction { if(CompletedTime.getTime() != meeting.getCompletedTime().getTime()) { modifyTime = true; } - + emc.beginTransaction(Meeting.class); - + Wi.copier.copy(wi, meeting); - - List personList = this.convertToPerson(business, ListTools.trim(wi.getInvitePersonList(), true, true)); + + List personList = this.convertToPerson(business, ListTools.trim(wi.getInviteMemberList(), true, true)); meeting.setInvitePersonList(personList); List modifyInvitePersonList = ListUtils.subtract(personList,meeting.getInvitePersonList()); - + List inviteDelPersonList = ListUtils.subtract(meeting.getInvitePersonList(), personList); + meeting.setInviteDelPersonList(inviteDelPersonList); + if (!business.room().checkIdle(meeting.getRoom(), meeting.getStartTime(), meeting.getCompletedTime(), meeting.getId())) { throw new ExceptionRoomNotAvailable(room.getName()); } - + emc.persist(meeting, CheckPersistType.all); emc.commit(); if (ConfirmStatus.allow.equals(meeting.getConfirmStatus())) { - + if(modifyTime) { //开始时间或者结束时间有修改过 for (String _s : wi.getInvitePersonList()) { MessageFactory.meeting_invite(_s, meeting, room); @@ -81,7 +83,11 @@ class ActionModify extends BaseAction { MessageFactory.meeting_invite(_s, meeting, room); } } - + + for (String _s : inviteDelPersonList) { + MessageFactory.meeting_deleteInvitePerson(_s, meeting); + } + this.notifyMeetingInviteMessage(business, meeting); } Wo wo = new Wo();