From 05b3e5b47f01f69812c927838dd3685f20738d0c Mon Sep 17 00:00:00 2001 From: WendyYang Date: Fri, 8 Dec 2023 17:07:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=9E=E9=81=BF=E6=AC=A1?= =?UTF-8?q?=E6=95=B0=E6=A6=82=E7=8E=87=E6=80=A7=E6=97=A0=E6=95=88=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ningdatech/pmapi/meeting/manage/ExpertInviteManage.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/ExpertInviteManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/ExpertInviteManage.java index c7cbc22..0452455 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/ExpertInviteManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/ExpertInviteManage.java @@ -290,6 +290,7 @@ public class ExpertInviteManage { * @param avoidRule 回避信息 * @param randomRule 抽取规则 * @param invitedExpertIds 指定抽取专家ID + * @param meetingCreateOn 会议创建时间 * @return 满足抽取条件的专家 * @author WendyYang **/ @@ -297,7 +298,8 @@ public class ExpertInviteManage { RandomInviteRuleDTO randomRule, List invitedExpertIds, LocalDateTime sTime, - LocalDateTime eTime) { + LocalDateTime eTime, + LocalDateTime meetingCreateOn) { ExpertChooseDTO result = new ExpertChooseDTO(new ArrayList<>(), 0); MergeExpertIdDTO merge = mergeExpertIdsByCondition(randomRule, avoidRule); if (merge.getSkip()) { @@ -328,7 +330,7 @@ public class ExpertInviteManage { // 处理回避专家次数 if (avoidRule.getWeekInviteCount() != null) { Integer weekInviteCount = avoidRule.getWeekInviteCount(); - List tmpExpertIdsNotIn = listAgreedUserIdByRecentMeetings(weekInviteCount, recentDays, sTime); + List tmpExpertIdsNotIn = listAgreedUserIdByRecentMeetings(weekInviteCount, recentDays, meetingCreateOn); expertIdsNotIn.addAll(tmpExpertIdsNotIn); } // 处理专家层级 @@ -557,8 +559,9 @@ public class ExpertInviteManage { List chooseExpertIds = new ArrayList<>(); LocalDateTime sTime = meeting.getStartTime(); LocalDateTime eTime = meeting.getEndTime(); + LocalDateTime createOn = meeting.getCreateOn(); randomRules.forEach(rule -> { - ExpertChooseDTO tmpExperts = expertInviteByRandomRule(avoidRule, rule, chooseExpertIds, sTime, eTime); + ExpertChooseDTO tmpExperts = expertInviteByRandomRule(avoidRule, rule, chooseExpertIds, sTime, eTime, createOn); if (tmpExperts.getTotal() < rule.getCount()) { throw BizException.wrap("可抽取专家数量不足"); }