From a22918fdd30660727775e2d0d7cd445cd94d49d1 Mon Sep 17 00:00:00 2001 From: chenwenjian Date: Wed, 15 May 2024 16:28:33 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat(REQ-2106):=20=E6=8C=89=E7=85=A7?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=83=A8=E6=8A=95=E6=94=BE=E7=B4=A0=E6=9D=90?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=89=93=E5=8D=B0=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/nanopart/api/dto/JoinedWorkspaceOuJob.java | 9 +++++---- .../nanopart/api/enums/MaterialTargetUserTypeEnum.java | 7 +++++++ .../server/service/impl/MaterialServiceImpl.java | 4 ++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/banner/banner-api/src/main/java/cn/axzo/nanopart/api/dto/JoinedWorkspaceOuJob.java b/banner/banner-api/src/main/java/cn/axzo/nanopart/api/dto/JoinedWorkspaceOuJob.java index e5677c0b..ae3c3fe8 100644 --- a/banner/banner-api/src/main/java/cn/axzo/nanopart/api/dto/JoinedWorkspaceOuJob.java +++ b/banner/banner-api/src/main/java/cn/axzo/nanopart/api/dto/JoinedWorkspaceOuJob.java @@ -4,6 +4,7 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -20,21 +21,21 @@ public class JoinedWorkspaceOuJob { /** * 加入的项目部及在该项目部下担任的所有岗位 */ - private Map> workspaceJobMap; + private Map> workspaceJobMap = Collections.emptyMap(); /** * 加入的单位及在该单位下担任的所有岗位 */ - private Map> ouJobMap; + private Map> ouJobMap = Collections.emptyMap(); /** * 加入的单位及在该单位加入的项目部 */ - private Map> ouWorkspaceMap; + private Map> ouWorkspaceMap = Collections.emptyMap(); /** * 加入的项目部及在该项目部加入的单位 */ - private Map> workspaceOuMap; + private Map> workspaceOuMap = Collections.emptyMap(); } \ No newline at end of file diff --git a/banner/banner-api/src/main/java/cn/axzo/nanopart/api/enums/MaterialTargetUserTypeEnum.java b/banner/banner-api/src/main/java/cn/axzo/nanopart/api/enums/MaterialTargetUserTypeEnum.java index 0831b0b4..797c1bdf 100644 --- a/banner/banner-api/src/main/java/cn/axzo/nanopart/api/enums/MaterialTargetUserTypeEnum.java +++ b/banner/banner-api/src/main/java/cn/axzo/nanopart/api/enums/MaterialTargetUserTypeEnum.java @@ -67,6 +67,10 @@ public enum MaterialTargetUserTypeEnum { // 若配置了具体项目部 if (Objects.isNull(loginOuid) || loginOuid == 0L) { + // 未加入任何项目部 + if (CollectionUtils.isEmpty(workspaceJobMap)){ + return false; + } // 加入的全部项目部与配置的项目部有交集 if (workspaceIds.stream().anyMatch(workspaceJobMap::containsKey)) { if (CollectionUtils.isEmpty(jobCodes)) { @@ -128,6 +132,9 @@ public enum MaterialTargetUserTypeEnum { // 若配置了具体单位 if (Objects.isNull(loginOuid) || loginOuid == 0L) { + if (CollectionUtils.isEmpty(ouJobMap)){ + return false; + } // 若登录单位为空(工人APP登录),检查用户加入的单位是否与配置单位有交集 if (ouIds.stream().anyMatch(ouJobMap::containsKey)) { if (CollectionUtils.isEmpty(jobCodes)) { diff --git a/banner/banner-server/src/main/java/cn/axzo/nanopart/server/service/impl/MaterialServiceImpl.java b/banner/banner-server/src/main/java/cn/axzo/nanopart/server/service/impl/MaterialServiceImpl.java index b1a910dc..c52558f3 100644 --- a/banner/banner-server/src/main/java/cn/axzo/nanopart/server/service/impl/MaterialServiceImpl.java +++ b/banner/banner-server/src/main/java/cn/axzo/nanopart/server/service/impl/MaterialServiceImpl.java @@ -386,13 +386,13 @@ public class MaterialServiceImpl extends ServiceImpl impl */ private JoinedWorkspaceOuJob getPersonJoinedWorkspaceOuJob(Long personId) { if (Objects.isNull(personId)) { - return null; + return new JoinedWorkspaceOuJob(); } // 获取用户参与的组织架构 List nodeUserList = organizationalNodeUserGateway.list(OrganizationalNodeUserSearchReq.builder().personId(personId).build()); if (CollectionUtils.isEmpty(nodeUserList)) { - return null; + return new JoinedWorkspaceOuJob(); } // Map From 7ce6b70c65494c09956e5ab2a3b5cc916a8dffa2 Mon Sep 17 00:00:00 2001 From: chenwenjian Date: Wed, 15 May 2024 16:36:28 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix(fix):=20=E5=B7=A5=E4=BA=BA=E6=9C=AA?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=E4=BB=BB=E4=BD=95=E9=A1=B9=E7=9B=AE=E9=83=A8?= =?UTF-8?q?/=E5=8D=95=E4=BD=8D=EF=BC=8C=E5=AF=BC=E8=87=B4=E7=9A=84NPE?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/nanopart/api/enums/MaterialTargetUserTypeEnum.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/banner/banner-api/src/main/java/cn/axzo/nanopart/api/enums/MaterialTargetUserTypeEnum.java b/banner/banner-api/src/main/java/cn/axzo/nanopart/api/enums/MaterialTargetUserTypeEnum.java index 797c1bdf..ef3f4cb8 100644 --- a/banner/banner-api/src/main/java/cn/axzo/nanopart/api/enums/MaterialTargetUserTypeEnum.java +++ b/banner/banner-api/src/main/java/cn/axzo/nanopart/api/enums/MaterialTargetUserTypeEnum.java @@ -111,6 +111,9 @@ public enum MaterialTargetUserTypeEnum { JSONUtil.toJsonStr(ouJobMap)); // 判断配置的单位和岗位是否为空 if (CollectionUtils.isEmpty(ouIds)) { + if (CollectionUtils.isEmpty(ouJobMap)){ + return false; + } // 若配置的单位为空(即配置了全部单位) if (CollectionUtils.isEmpty(jobCodes)) { // 若配置的岗位也为空(即配置了所有岗位),则不限制投放