From d0df3a459e7adc2873a3dafe18a28f9e09db083e Mon Sep 17 00:00:00 2001 From: linbangquan <1437892690@qq.com> Date: Tue, 19 Dec 2023 19:59:09 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E7=AD=96=E7=95=A5=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1049841239556096]通知策略翻译 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1049841239556096 --- .../GetNotifyPolicyDefaultTemplateApi.java | 12 +++-- .../tenant/api/notify/NotifyPolicyGetApi.java | 21 ++++---- .../NotifyPolicyHandlerGroupListApi.java | 11 ++--- .../notify/NotifyPolicyHandlerListApi.java | 49 +++++++++---------- .../notify/NotifyPolicyHandlerTreeApi.java | 22 ++++----- 5 files changed, 56 insertions(+), 59 deletions(-) diff --git a/src/main/java/neatlogic/module/tenant/api/notify/GetNotifyPolicyDefaultTemplateApi.java b/src/main/java/neatlogic/module/tenant/api/notify/GetNotifyPolicyDefaultTemplateApi.java index 83818ba9..544a4027 100644 --- a/src/main/java/neatlogic/module/tenant/api/notify/GetNotifyPolicyDefaultTemplateApi.java +++ b/src/main/java/neatlogic/module/tenant/api/notify/GetNotifyPolicyDefaultTemplateApi.java @@ -23,7 +23,6 @@ import neatlogic.framework.notify.core.INotifyPolicyHandler; import neatlogic.framework.notify.core.NotifyHandlerType; import neatlogic.framework.notify.core.NotifyPolicyHandlerFactory; import neatlogic.framework.notify.dao.mapper.NotifyMapper; -import neatlogic.framework.notify.dto.NotifyPolicyHandlerVo; import neatlogic.framework.notify.dto.NotifyPolicyVo; import neatlogic.framework.notify.dto.NotifyTriggerTemplateVo; import neatlogic.framework.notify.exception.NotifyPolicyHandlerNotFoundException; @@ -42,6 +41,7 @@ import org.springframework.core.io.Resource; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.core.io.support.ResourcePatternResolver; import org.springframework.stereotype.Component; + import java.io.StringWriter; import java.nio.charset.StandardCharsets; import java.text.MessageFormat; @@ -87,12 +87,14 @@ public class GetNotifyPolicyDefaultTemplateApi extends PrivateApiComponentBase { if (notifyPolicyHandler == null) { throw new NotifyPolicyHandlerNotFoundException(handler); } - NotifyPolicyHandlerVo notifyPolicyHandlerVo = NotifyPolicyHandlerFactory.getNotifyPolicyHandlerVo(handler); - if (notifyPolicyHandlerVo == null) { + String moduleGroup = NotifyPolicyHandlerFactory.getModuleGroupIdByHandler(handler); + if (moduleGroup == null) { + throw new NotifyPolicyHandlerNotFoundException(handler); + } + String module = NotifyPolicyHandlerFactory.getModuleIdByHandler(handler); + if (module == null) { throw new NotifyPolicyHandlerNotFoundException(handler); } - String moduleGroup = notifyPolicyHandlerVo.getModuleGroup(); - String module = notifyPolicyHandlerVo.getModule(); int index = handler.lastIndexOf('.'); String simpleHandlerName = handler.substring(index + 1); simpleHandlerName = simpleHandlerName.toLowerCase(); diff --git a/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyGetApi.java b/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyGetApi.java index e135c085..dbe434e9 100644 --- a/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyGetApi.java +++ b/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyGetApi.java @@ -16,6 +16,7 @@ package neatlogic.module.tenant.api.notify; +import com.alibaba.fastjson.JSONObject; import neatlogic.framework.common.constvalue.ApiParamType; import neatlogic.framework.common.util.ModuleUtil; import neatlogic.framework.dependency.constvalue.FrameworkFromType; @@ -27,7 +28,6 @@ import neatlogic.framework.notify.core.INotifyPolicyHandler; import neatlogic.framework.notify.core.NotifyPolicyHandlerFactory; import neatlogic.framework.notify.dao.mapper.NotifyMapper; import neatlogic.framework.notify.dto.NotifyPolicyConfigVo; -import neatlogic.framework.notify.dto.NotifyPolicyHandlerVo; import neatlogic.framework.notify.dto.NotifyPolicyVo; import neatlogic.framework.notify.dto.NotifyTriggerVo; import neatlogic.framework.notify.exception.NotifyPolicyHandlerNotFoundException; @@ -36,8 +36,8 @@ import neatlogic.framework.restful.annotation.*; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; import neatlogic.framework.usertype.UserTypeFactory; +import neatlogic.framework.util.$; import neatlogic.module.tenant.service.notify.NotifyPolicyService; -import com.alibaba.fastjson.JSONObject; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -143,17 +143,16 @@ public class NotifyPolicyGetApi extends PrivateApiComponentBase { int count = DependencyManager.getDependencyCount(FrameworkFromType.NOTIFY_POLICY, id); notifyPolicyVo.setReferenceCount(count); + String moduleGroup = NotifyPolicyHandlerFactory.getModuleGroupIdByHandler(notifyPolicyVo.getHandler()); + if (moduleGroup == null) { + throw new NotifyPolicyHandlerNotFoundException(notifyPolicyVo.getHandler()); + } String moduleGroupName = ""; - List notifyPolicyHandlerList = NotifyPolicyHandlerFactory.getNotifyPolicyHandlerList(); - for (NotifyPolicyHandlerVo notifyPolicyHandlerVo : notifyPolicyHandlerList) { - if (Objects.equals(notifyPolicyHandlerVo.getHandler(), notifyPolicyVo.getHandler())) { - ModuleGroupVo moduleGroupVo = ModuleUtil.getModuleGroup(notifyPolicyHandlerVo.getModuleGroup()); - if (moduleGroupVo != null) { - moduleGroupName = moduleGroupVo.getGroupName(); - } - } + ModuleGroupVo moduleGroupVo = ModuleUtil.getModuleGroup(moduleGroup); + if (moduleGroupVo != null) { + moduleGroupName = moduleGroupVo.getGroupName(); } - String handlerName = notifyPolicyHandler.getName(); + String handlerName = $.t(notifyPolicyHandler.getName()); notifyPolicyVo.setPath(moduleGroupName + "/" + handlerName + "/" + notifyPolicyVo.getName()); return notifyPolicyVo; } diff --git a/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyHandlerGroupListApi.java b/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyHandlerGroupListApi.java index 1023ec6c..e1178bb0 100644 --- a/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyHandlerGroupListApi.java +++ b/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyHandlerGroupListApi.java @@ -16,7 +16,7 @@ package neatlogic.module.tenant.api.notify; -import neatlogic.framework.notify.core.NotifyPolicyHandlerFactory; +import com.alibaba.fastjson.JSONObject; import neatlogic.framework.notify.dto.NotifyTreeVo; import neatlogic.framework.restful.annotation.Description; import neatlogic.framework.restful.annotation.OperationType; @@ -24,11 +24,9 @@ import neatlogic.framework.restful.annotation.Output; import neatlogic.framework.restful.annotation.Param; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; -import com.alibaba.fastjson.JSONObject; -import org.springframework.stereotype.Service; - -@Service +//@Service +@Deprecated @OperationType(type = OperationTypeEnum.SEARCH) public class NotifyPolicyHandlerGroupListApi extends PrivateApiComponentBase { @@ -53,7 +51,8 @@ public class NotifyPolicyHandlerGroupListApi extends PrivateApiComponentBase { @Description(desc = "获取通知策略分类分组列表接口") @Override public Object myDoService(JSONObject jsonObj) throws Exception { - return NotifyPolicyHandlerFactory.getModuleTreeVoList(); +// return NotifyPolicyHandlerFactory.getModuleTreeVoList(); + return null; } } diff --git a/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyHandlerListApi.java b/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyHandlerListApi.java index 3907eb98..975aa135 100644 --- a/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyHandlerListApi.java +++ b/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyHandlerListApi.java @@ -24,9 +24,9 @@ import neatlogic.framework.auth.label.NOTIFY_JOB_MODIFY; import neatlogic.framework.common.dto.ValueTextVo; import neatlogic.framework.dto.module.ModuleGroupVo; import neatlogic.framework.exception.type.PermissionDeniedException; +import neatlogic.framework.notify.core.INotifyPolicyHandler; import neatlogic.framework.notify.core.NotifyPolicyHandlerFactory; import neatlogic.framework.notify.dao.mapper.NotifyMapper; -import neatlogic.framework.notify.dto.NotifyPolicyHandlerVo; import neatlogic.framework.notify.dto.NotifyPolicyVo; import neatlogic.framework.restful.annotation.Description; import neatlogic.framework.restful.annotation.OperationType; @@ -39,10 +39,9 @@ import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; @Service @@ -76,32 +75,32 @@ public class NotifyPolicyHandlerListApi extends PrivateApiComponentBase { public Object myDoService(JSONObject jsonObj) throws Exception { List notifyPolicyList = notifyMapper.getAllDefaultNotifyPolicyList(); Map handlerToNotifyPolicyMap = notifyPolicyList.stream().collect(Collectors.toMap(e -> e.getHandler(), e -> e)); - Map> moduleGroupNotifyPolicyHandlerListMap = new HashMap<>(); - List list = new ArrayList<>(NotifyPolicyHandlerFactory.getNotifyPolicyHandlerList()); - for (NotifyPolicyHandlerVo notifyPolicyHandlerVo : list) { - /* 通知策略与权限绑定,例如没有流程管理权限则无法编辑流程及流程步骤通知策略 */ - if (AuthActionChecker.check(notifyPolicyHandlerVo.getAuthName())) { - moduleGroupNotifyPolicyHandlerListMap.computeIfAbsent(notifyPolicyHandlerVo.getModuleGroup(), key -> new ArrayList<>()).add(notifyPolicyHandlerVo); - } - } + List handlerList = NotifyPolicyHandlerFactory.getHandlerList(); JSONArray resultTree = new JSONArray(); List moduleGroupList = TenantContext.get().getActiveModuleGroupList(); for (ModuleGroupVo moduleGroupVo : moduleGroupList) { - List notifyPolicyHandlerVoList = moduleGroupNotifyPolicyHandlerListMap.get(moduleGroupVo.getGroup()); - if (CollectionUtils.isNotEmpty(notifyPolicyHandlerVoList)) { - JSONArray children = new JSONArray(); - for (NotifyPolicyHandlerVo notifyPolicyHandlerVo : notifyPolicyHandlerVoList) { - JSONObject child = new JSONObject(); - child.put("value", notifyPolicyHandlerVo.getHandler()); - child.put("text", notifyPolicyHandlerVo.getName()); - NotifyPolicyVo notifyPolicyVo = handlerToNotifyPolicyMap.get(notifyPolicyHandlerVo.getHandler()); - if (notifyPolicyVo != null) { - child.put("defaultNotifyPolicyId", notifyPolicyVo.getId()); - child.put("defaultNotifyPolicyName", notifyPolicyVo.getName()); - } - child.put("isAllowMultiPolicy", notifyPolicyHandlerVo.getIsAllowMultiPolicy()); - children.add(child); + JSONArray children = new JSONArray(); + for (INotifyPolicyHandler notifyPolicyHandler : handlerList) { + /* 通知策略与权限绑定,例如没有流程管理权限则无法编辑流程及流程步骤通知策略 */ + if (!AuthActionChecker.check(notifyPolicyHandler.getAuthName())) { + continue; + } + String moduleGroup = NotifyPolicyHandlerFactory.getModuleGroupIdByHandler(notifyPolicyHandler.getClassName()); + if (!Objects.equals(moduleGroup, moduleGroupVo.getGroup())) { + continue; } + JSONObject child = new JSONObject(); + child.put("value", notifyPolicyHandler.getClassName()); + child.put("text", $.t(notifyPolicyHandler.getName())); + NotifyPolicyVo notifyPolicyVo = handlerToNotifyPolicyMap.get(notifyPolicyHandler.getClassName()); + if (notifyPolicyVo != null) { + child.put("defaultNotifyPolicyId", notifyPolicyVo.getId()); + child.put("defaultNotifyPolicyName", notifyPolicyVo.getName()); + } + child.put("isAllowMultiPolicy", notifyPolicyHandler.isAllowMultiPolicy()); + children.add(child); + } + if (CollectionUtils.isNotEmpty(children)) { JSONObject moduleGroupObj = new JSONObject(); moduleGroupObj.put("value", moduleGroupVo.getGroup()); moduleGroupObj.put("text", moduleGroupVo.getGroupName()); diff --git a/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyHandlerTreeApi.java b/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyHandlerTreeApi.java index 3eaf2e41..0c55f132 100644 --- a/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyHandlerTreeApi.java +++ b/src/main/java/neatlogic/module/tenant/api/notify/NotifyPolicyHandlerTreeApi.java @@ -16,9 +16,8 @@ package neatlogic.module.tenant.api.notify; -import neatlogic.framework.auth.core.AuthAction; +import com.alibaba.fastjson.JSONObject; import neatlogic.framework.auth.core.AuthActionChecker; -import neatlogic.framework.exception.type.PermissionDeniedException; import neatlogic.framework.notify.core.INotifyPolicyHandler; import neatlogic.framework.notify.core.NotifyPolicyHandlerFactory; import neatlogic.framework.notify.dto.NotifyTreeVo; @@ -28,16 +27,14 @@ import neatlogic.framework.restful.annotation.Output; import neatlogic.framework.restful.annotation.Param; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; -import com.alibaba.fastjson.JSONObject; import org.apache.commons.collections4.CollectionUtils; -import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Iterator; import java.util.List; -@Service - +//@Service +@Deprecated @OperationType(type = OperationTypeEnum.SEARCH) public class NotifyPolicyHandlerTreeApi extends PrivateApiComponentBase { @@ -62,12 +59,13 @@ public class NotifyPolicyHandlerTreeApi extends PrivateApiComponentBase { @Description(desc = "通知策略分类树接口") @Override public Object myDoService(JSONObject jsonObj) throws Exception { - List notifyPolicyTreeVoList = copy(NotifyPolicyHandlerFactory.getNotifyPolicyTreeVoList()); - authActionChecker(notifyPolicyTreeVoList); - if(CollectionUtils.isEmpty(notifyPolicyTreeVoList)){ - throw new PermissionDeniedException(); - } - return notifyPolicyTreeVoList; +// List notifyPolicyTreeVoList = copy(NotifyPolicyHandlerFactory.getNotifyPolicyTreeVoList()); +// authActionChecker(notifyPolicyTreeVoList); +// if(CollectionUtils.isEmpty(notifyPolicyTreeVoList)){ +// throw new PermissionDeniedException(); +// } +// return notifyPolicyTreeVoList; + return null; } /** -- Gitee