From fa1ac34506a65060c070276e480d40a9f8d87ad4 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Fri, 16 Aug 2024 17:39:45 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E7=AD=96=E7=95=A5=E6=A2=B3=E7=90=86=E6=AF=8F=E4=B8=AA=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E7=82=B9=E7=9A=84=E6=94=B6=E4=BB=B6=E4=BA=BA=EF=BC=8C?= =?UTF-8?q?=E6=B2=A1=E7=94=A8=E7=9A=84=E6=94=B6=E4=BB=B6=E4=BA=BA=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=EF=BC=8C=E5=A6=82=E6=BF=80=E6=B4=BB=E7=9A=84=E5=A4=84?= =?UTF-8?q?=E7=90=86=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1211578056146944]通知策略梳理每个触发点的收件人,没用的收件人去掉,如激活的处理人 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1211578056146944 --- .../NotifyPolicyTriggerConfigListApi.java | 55 +++++++++++++------ 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyTriggerConfigListApi.java b/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyTriggerConfigListApi.java index bb106c29..93f6e086 100644 --- a/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyTriggerConfigListApi.java +++ b/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyTriggerConfigListApi.java @@ -15,20 +15,8 @@ along with this program. If not, see .*/ package neatlogic.module.tenant.api.notify; -import java.util.List; -import java.util.stream.Collectors; - -import neatlogic.framework.auth.core.AuthAction; -import neatlogic.framework.restful.constvalue.OperationTypeEnum; -import neatlogic.framework.restful.annotation.*; -import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; - import neatlogic.framework.common.constvalue.ApiParamType; import neatlogic.framework.exception.type.ParamIrregularException; import neatlogic.framework.notify.core.INotifyPolicyHandler; @@ -39,6 +27,15 @@ import neatlogic.framework.notify.dto.NotifyPolicyVo; import neatlogic.framework.notify.dto.NotifyTriggerVo; import neatlogic.framework.notify.exception.NotifyPolicyHandlerNotFoundException; import neatlogic.framework.notify.exception.NotifyPolicyNotFoundException; +import neatlogic.framework.restful.annotation.*; +import neatlogic.framework.restful.constvalue.OperationTypeEnum; +import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Objects; @Service @@ -79,14 +76,40 @@ public class NotifyPolicyTriggerConfigListApi extends PrivateApiComponentBase { throw new NotifyPolicyHandlerNotFoundException(notifyPolicyVo.getHandler()); } List notifyTriggerList = notifyPolicyHandler.getNotifyTriggerList(); - List notifyTriggerValueList = - notifyTriggerList.stream().map(NotifyTriggerVo::getTrigger).collect(Collectors.toList()); String trigger = jsonObj.getString("trigger"); - if (!notifyTriggerValueList.contains(trigger)) { + NotifyTriggerVo notifyTriggerVo = null; + for (NotifyTriggerVo triggerVo : notifyTriggerList) { + if (Objects.equals(triggerVo.getTrigger(), trigger)) { + notifyTriggerVo = triggerVo; + break; + } + } + if (notifyTriggerVo == null) { throw new ParamIrregularException("trigger"); } JSONObject resultObj = new JSONObject(); - resultObj.put("authorityConfig", notifyPolicyHandler.getAuthorityConfig()); + JSONObject authorityConfig = notifyPolicyHandler.getAuthorityConfig(); + JSONArray includeArray = authorityConfig.getJSONArray("includeList"); + JSONArray excludeArray = authorityConfig.getJSONArray("excludeList"); + List includeList = notifyTriggerVo.getIncludeList(); + if (CollectionUtils.isNotEmpty(includeList)) { + for (String include : includeList) { + if (!includeArray.contains(include)) { + includeArray.add(include); + } + excludeArray.remove(include); + } + } + List excludeList = notifyTriggerVo.getExcludeList(); + if (CollectionUtils.isNotEmpty(excludeList)) { + for (String exclude : excludeList) { + if (!excludeArray.contains(exclude)) { + excludeArray.add(exclude); + } + includeArray.remove(exclude); + } + } + resultObj.put("authorityConfig", authorityConfig); resultObj.put("notifyList", new JSONArray()); NotifyPolicyConfigVo config = notifyPolicyVo.getConfig(); List triggerList = config.getTriggerList(); -- Gitee