From 9ff46fc2951929c7696c1346d8b1892a2adbe5b3 Mon Sep 17 00:00:00 2001 From: WendyYang Date: Wed, 6 Dec 2023 17:51:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=91=A8=E5=8F=82=E4=B8=8E?= =?UTF-8?q?=E6=AC=A1=E6=95=B0=E8=B5=8B=E5=80=BC=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmapi/meeting/helper/ExpertRandomInviteAlgorithm.java | 10 +++++++--- .../ningdatech/pmapi/meeting/manage/ExpertInviteManage.java | 8 +++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/helper/ExpertRandomInviteAlgorithm.java b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/helper/ExpertRandomInviteAlgorithm.java index 873ac28..7922215 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/helper/ExpertRandomInviteAlgorithm.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/helper/ExpertRandomInviteAlgorithm.java @@ -21,6 +21,10 @@ import java.util.stream.Collectors; **/ public class ExpertRandomInviteAlgorithm { + private ExpertRandomInviteAlgorithm() { + + } + private static boolean expertMatchNone(List experts, ExpertUserFullInfo userInfo) { return experts.stream().noneMatch(w -> w.getExpertId().equals(userInfo.getUserId())); } @@ -34,9 +38,9 @@ public class ExpertRandomInviteAlgorithm { * @return 抽取到的专家信息 * @author WendyYang **/ - public static List inviteGroupByCompany(Map> expertGroupByUnit, - List> expertsByRecentMeeting, - Integer count) { + public static List inviteGroupByUnit(Map> expertGroupByUnit, + List> expertsByRecentMeeting, + Integer count) { if (MapUtils.isEmpty(expertGroupByUnit)) { return Collections.emptyList(); } 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 de744fb..c7cbc22 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 @@ -21,8 +21,8 @@ import com.ningdatech.pmapi.meeting.entity.domain.MeetingExpert; import com.ningdatech.pmapi.meeting.entity.dto.*; import com.ningdatech.pmapi.meeting.entity.enumeration.AvoidTypeEnum; import com.ningdatech.pmapi.meeting.entity.enumeration.ExpertAttendStatusEnum; +import com.ningdatech.pmapi.meeting.entity.enumeration.MeetingStatusEnum; import com.ningdatech.pmapi.meeting.helper.ExpertInviteHelper; -import com.ningdatech.pmapi.meeting.helper.ExpertRandomInviteAlgorithm; import com.ningdatech.pmapi.meeting.helper.MeetingCallOrMsgHelper; import com.ningdatech.pmapi.meeting.service.IExpertInviteRuleService; import com.ningdatech.pmapi.meeting.service.IMeetingExpertService; @@ -377,7 +377,7 @@ public class ExpertInviteManage { break; case CURR_UNIT: Map> unitGroup = CollUtils.group(userInfoList, ExpertUserFullInfo::getCompanyUniqCode); - result.setExperts(inviteGroupByCompany(unitGroup, expertsByRecentMeeting(), randomRule.getCount())); + result.setExperts(inviteGroupByUnit(unitGroup, expertsByRecentMeeting(), randomRule.getCount())); result.setTotal(unitGroup.size()); break; case CURR_STRIP: @@ -515,13 +515,15 @@ public class ExpertInviteManage { } Map> userGroupByUnit = CollUtils.group(userFullInfos, ExpertUserFullInfo::getCompanyUniqCode); result.setTotal(userGroupByUnit.size()); - result.setExperts(inviteGroupByCompany(userGroupByUnit, expertsByRecentMeeting(), count)); + result.setExperts(inviteGroupByUnit(userGroupByUnit, expertsByRecentMeeting(), count)); return result; } private List> expertsByRecentMeeting() { LambdaQueryWrapper query = Wrappers.lambdaQuery(Meeting.class) .select(Meeting::getId) + .eq(Meeting::getInviteStatus, Boolean.TRUE) + .ne(Meeting::getStatus, MeetingStatusEnum.CANCELED.getCode()) .orderByDesc(Meeting::getCreateOn) .last("limit " + recentMeetingCount); List meetingIds = CollUtils.fieldList(meetingService.list(query), Meeting::getId);