diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/MeetingManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/MeetingManage.java index acc2c79..9700d0c 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/MeetingManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/MeetingManage.java @@ -37,6 +37,8 @@ import com.ningdatech.pmapi.meeting.service.*; import com.ningdatech.pmapi.meeting.task.ExpertInviteTask; import com.ningdatech.pmapi.meta.helper.DictionaryCache; import com.ningdatech.pmapi.meta.helper.TagCache; +import com.ningdatech.pmapi.organization.service.IDingOrganizationService; +import com.ningdatech.pmapi.organization.service.IGovBusinessStripService; import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum; import com.ningdatech.pmapi.projectlib.model.entity.Project; import com.ningdatech.pmapi.projectlib.model.vo.ProjectLibListItemVO; @@ -85,13 +87,15 @@ public class MeetingManage { private final IProjectService projectService; private final IMeetingInnerProjectService meetingInnerProjectService; private final IMeetingOuterProjectService meetingOuterProjectService; + private final IGovBusinessStripService businessStripService; + private final IDingOrganizationService dingOrganizationService; private final ExpertInviteHelper expertInviteHelper; private static final String INVITED_RULE_CREATE = "INVITED_RULE_CREATE:"; private static final String MEETING_CREATE_KEY = "MEETING_CREATE:"; - private String getDictName(String dictType){ + private String getDictName(String dictType) { return Optional.ofNullable(dictionaryCache.getByCode(dictType)) .flatMap(w -> Optional.of(w.getName())) .orElse(StrPool.EMPTY); @@ -507,6 +511,12 @@ public class MeetingManage { AvoidInfoVO vo = new AvoidInfoVO(); vo.setAvoidOrgIds(avoidInfo.getAvoidOrgIdList()); vo.setAvoidUnitIds(avoidInfo.getAvoidUnitIdList()); + if (CollUtil.isNotEmpty(vo.getAvoidOrgIds())) { + vo.setAvoidOrgs(businessStripService.listNameByCodes(avoidInfo.getAvoidOrgIdList())); + } + if (CollUtil.isNotEmpty(vo.getAvoidUnits())) { + vo.setAvoidUnits(dingOrganizationService.listNameByCodes(avoidInfo.getAvoidUnitIdList())); + } if (CollUtil.isNotEmpty(avoidInfo.getExpertIds())) { vo.setExperts(new ArrayList<>(meetingManageHelper.getExpertBasicInfo(avoidInfo.getExpertIds()).values())); } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/IDingOrganizationService.java b/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/IDingOrganizationService.java index 8578c32..220e490 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/IDingOrganizationService.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/IDingOrganizationService.java @@ -3,6 +3,9 @@ package com.ningdatech.pmapi.organization.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ningdatech.pmapi.organization.model.entity.DingOrganization; +import java.util.Collection; +import java.util.List; + /** *

* 服务类 @@ -15,6 +18,7 @@ public interface IDingOrganizationService extends IService { /** * 根据组织code查询组织信息 + * * @param orgCode * @return */ @@ -22,8 +26,28 @@ public interface IDingOrganizationService extends IService { /** * 根据组织code查询父组织信息 + * * @param orgCode * @return */ DingOrganization getParentOrganization(String orgCode); + + /** + * 批量查询单位信息 + * + * @param codes 单位编码 + * @return 单位信息 + * @author WendyYang + **/ + List listByCodes(Collection codes); + + /** + * 批量查询单位名称 + * + * @param codes 单位编码 + * @return 单位信息 + * @author WendyYang + **/ + List listNameByCodes(Collection codes); + } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/IGovBusinessStripService.java b/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/IGovBusinessStripService.java index 22f930a..ae614d0 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/IGovBusinessStripService.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/IGovBusinessStripService.java @@ -1,11 +1,20 @@ package com.ningdatech.pmapi.organization.service; -import com.ningdatech.pmapi.organization.entity.GovBusinessStrip; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.IService; +import com.ningdatech.basic.util.CollUtils; +import com.ningdatech.basic.util.StrPool; +import com.ningdatech.pmapi.organization.entity.GovBusinessStrip; + +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Optional; /** *

- * 服务类 + * 服务类 *

* * @author Liuxinxin @@ -13,4 +22,53 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface IGovBusinessStripService extends IService { + /** + * 根据code查询名称 + * + * @param codes 条线编码 + * @return 条线名称 + * @author WendyYang + **/ + default List listNameByCodes(Collection codes) { + return CollUtils.fieldList(listByCodes(codes), GovBusinessStrip::getBusinessStripName); + } + + /** + * 根据code查询条线 + * + * @param codes 条线编码 + * @return 条线名称 + * @author WendyYang + **/ + default List listByCodes(Collection codes) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(GovBusinessStrip.class) + .in(GovBusinessStrip::getBusinessStripCode, codes); + return list(query); + } + + /** + * 根据code查询名称 + * + * @param code 条线编码 + * @return 条线名称 + * @author WendyYang + **/ + default String getNameByCode(String code) { + return Optional.ofNullable(getByCode(code)) + .flatMap(w -> Optional.of(w.getBusinessStripName())) + .orElse(StrPool.EMPTY); + } + + /** + * 根据code查询名称 + * + * @param code 条线编码 + * @return 条线名称 + * @author WendyYang + **/ + default GovBusinessStrip getByCode(String code) { + List strips = listByCodes(Collections.singletonList(code)); + return strips.isEmpty() ? null : strips.get(0); + } + } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/impl/DingOrganizationServiceImpl.java b/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/impl/DingOrganizationServiceImpl.java index d4ba1df..11b85a8 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/impl/DingOrganizationServiceImpl.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/impl/DingOrganizationServiceImpl.java @@ -1,13 +1,18 @@ package com.ningdatech.pmapi.organization.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ningdatech.basic.util.CollUtils; import com.ningdatech.pmapi.organization.mapper.DingOrganizationMapper; import com.ningdatech.pmapi.organization.model.entity.DingOrganization; import com.ningdatech.pmapi.organization.service.IDingOrganizationService; import org.springframework.stereotype.Service; +import java.util.Collection; +import java.util.List; + /** *

* 服务实现类 @@ -37,4 +42,20 @@ public class DingOrganizationServiceImpl extends ServiceImpl listByCodes(Collection codes) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(DingOrganization.class) + .eq(DingOrganization::getOrganizationCode, codes); + return list(query); + } + + @Override + public List listNameByCodes(Collection codes) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(DingOrganization.class) + .select(DingOrganization::getOrganizationName) + .eq(DingOrganization::getOrganizationCode, codes); + return CollUtils.fieldList(list(query), DingOrganization::getOrganizationName); + } + }