From ddb77fe31dae24c142c430f41be70490dfb875f6 Mon Sep 17 00:00:00 2001 From: chenwenjian Date: Tue, 7 May 2024 14:40:44 +0800 Subject: [PATCH 1/4] =?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/enums/MaterialTargetUserTypeEnum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 1bf47878..0831b0b4 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 @@ -41,7 +41,7 @@ public enum MaterialTargetUserTypeEnum { Map> workspaceJobMap = workspaceOuJob.getWorkspaceJobMap(); log.info("投放项目部:{},投放岗位岗位:{},当前登录单位:{},用户加入项目部及担任岗位:{},单位加入的项目部:{},项目部下的单位:{}", - JSONUtil.toJsonStr(ouIds), JSONUtil.toJsonStr(jobCodes), + JSONUtil.toJsonStr(workspaceIds), JSONUtil.toJsonStr(jobCodes), loginOuid, JSONUtil.toJsonStr(workspaceJobMap), JSONUtil.toJsonStr(workspaceOuJob.getOuWorkspaceMap()), From f7b615a4267c89b0aa0ec981c8e8b1154f3333a5 Mon Sep 17 00:00:00 2001 From: chenwenjian Date: Tue, 7 May 2024 15:10:22 +0800 Subject: [PATCH 2/4] =?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 --- .../axzo/nanopart/server/service/impl/MaterialServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 d6063f93..b1a910dc 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 @@ -323,7 +323,7 @@ public class MaterialServiceImpl extends ServiceImpl impl String key = buildMaterialDisplayFrequencyKey(m, req.getPersonId()); if (RedisClient.KeyOps.hasKey(key)) { int frequency = Integer.parseInt(RedisClient.StringOps.get(key)); - log.info("{素材投放key:{},value:{}", key, frequency); + log.info("素材投放key:{},value:{}", key, frequency); displayFrequencyFilter = MaterialDisplayFrequencyTypeEnum.NO_LIMIT.getCode().equals(m.getDisplayFrequencyType().getCode()) || frequency < m.getMaxDisplayFrequency(); if (displayFrequencyFilter) { // 本次需要投放 From a22918fdd30660727775e2d0d7cd445cd94d49d1 Mon Sep 17 00:00:00 2001 From: chenwenjian Date: Wed, 15 May 2024 16:28:33 +0800 Subject: [PATCH 3/4] =?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 4/4] =?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)) { // 若配置的岗位也为空(即配置了所有岗位),则不限制投放