From c59db73ee71187f70c03e880387fdf9303cc8e1b Mon Sep 17 00:00:00 2001 From: luofu Date: Thu, 9 Nov 2023 11:19:52 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-1507):=20=E5=88=86=E7=B1=BB=E7=BB=93?= =?UTF-8?q?=E7=82=B9=E5=9B=BE=E7=89=87=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 背景: https://jira.axzo.cn/browse/REQ-1507?goToView=1 修改: 1、消息分类树结点新增结点图标字段; 影响: 无 --- .../controller/MessageGroupController.java | 8 +++--- .../service/MessageGroupNodeService.java | 4 ++- .../impl/MessageGroupNodeServiceImpl.java | 6 +++-- .../MessageGroupTreeNodeCacheServiceImpl.java | 1 + .../center/service/dto/GroupTreeNodeDTO.java | 5 ++++ .../group/client/MessageGroupClient.java | 7 +++--- .../fallback/MessageGroupClientFallback.java | 6 ++--- .../request/MessageGroupPageRequest.java | 25 +++++++++++++++++++ .../MessageGroupTreeNodeResponse.java | 4 +++ 9 files changed, 52 insertions(+), 14 deletions(-) create mode 100644 msg-center-api/src/main/java/cn/axzo/msg/center/service/group/request/MessageGroupPageRequest.java diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/MessageGroupController.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/MessageGroupController.java index e0933dc4..c9d64d70 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/MessageGroupController.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/MessageGroupController.java @@ -3,11 +3,10 @@ package cn.axzo.msg.center.message.controller; import cn.axzo.msg.center.message.domain.param.MessageGroupNodeSaveOrUpdateParam; import cn.axzo.msg.center.message.service.MessageGroupNodeService; import cn.axzo.msg.center.service.dto.GroupTreeNodeDTO; -import cn.axzo.msg.center.service.enums.MessageCategoryEnum; -import cn.axzo.msg.center.service.enums.MessageGroupCategoryEnum; import cn.axzo.msg.center.service.group.client.MessageGroupClient; import cn.axzo.msg.center.service.group.request.MessageGroupNodeAddRequest; import cn.axzo.msg.center.service.group.request.MessageGroupNodeUpdateRequest; +import cn.axzo.msg.center.service.group.request.MessageGroupPageRequest; import cn.axzo.msg.center.service.group.response.MessageGroupTreeNodeResponse; import cn.azxo.framework.common.model.CommonResponse; import lombok.RequiredArgsConstructor; @@ -48,8 +47,9 @@ public class MessageGroupController implements MessageGroupClient { } @Override - public CommonResponse> list(MessageGroupCategoryEnum category) { - List groupTreeNodes = messageGroupNodeService.listGroupTree(category).stream() + public CommonResponse> list(MessageGroupPageRequest request) { + List groupTreeNodes = messageGroupNodeService + .listGroupTree(request.getCategory(), request.getNodeName()).stream() .map(GroupTreeNodeDTO::toMessageGroupTreeNodeResponse) .collect(Collectors.toList()); return CommonResponse.success(groupTreeNodes); diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/MessageGroupNodeService.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/MessageGroupNodeService.java index e5f8f0ab..7975c2b5 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/MessageGroupNodeService.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/MessageGroupNodeService.java @@ -4,6 +4,7 @@ import cn.axzo.msg.center.message.domain.param.MessageGroupNodeSaveOrUpdateParam import cn.axzo.msg.center.service.dto.GroupTreeNodeDTO; import cn.axzo.msg.center.service.enums.MessageGroupCategoryEnum; +import javax.annotation.Nullable; import java.util.Collection; import java.util.List; import java.util.Map; @@ -67,7 +68,8 @@ public interface MessageGroupNodeService { /** * 查询消息/待办 或者两者的分类树 * @param category 消息/待办 + * @param nodeName 结点名称 * @return 分类树列表 */ - List listGroupTree(MessageGroupCategoryEnum category); + List listGroupTree(@Nullable MessageGroupCategoryEnum category, @Nullable String nodeName); } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageGroupNodeServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageGroupNodeServiceImpl.java index da249dee..6aeabd07 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageGroupNodeServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageGroupNodeServiceImpl.java @@ -124,11 +124,13 @@ public class MessageGroupNodeServiceImpl implements MessageGroupNodeService { } @Override - public List listGroupTree(MessageGroupCategoryEnum category) { + public List listGroupTree(MessageGroupCategoryEnum category, String nodeName) { return messageGroupTreeNodeCacheService.listAllGroupTree().stream() - // 查询消息/待办 OR 两者的分类树 + // 分类过滤条件 .filter(e -> Objects.isNull(category) || category.getMsgGroupNodeCategories().contains(e.getCategory())) + // 结点名称过滤条件 + .filter(e -> StringUtils.isBlank(nodeName) || e.getNodeName().equals(nodeName)) .collect(Collectors.toList()); } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageGroupTreeNodeCacheServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageGroupTreeNodeCacheServiceImpl.java index fa06350e..0fd86ba0 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageGroupTreeNodeCacheServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageGroupTreeNodeCacheServiceImpl.java @@ -157,6 +157,7 @@ public class MessageGroupTreeNodeCacheServiceImpl implements MessageGroupTreeNod return GroupTreeNodeDTO.builder() .nodeName(groupNode.getName()) .nodeCode(groupNode.getCode()) + .nodeIcon(groupNode.getIcon()) .category(groupNode.getCategory()) .parentNodeCode(groupNode.getParentCode()) .isLeaf(groupNode.getIsLeaf()) diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/GroupTreeNodeDTO.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/GroupTreeNodeDTO.java index 9425101c..970ff86d 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/GroupTreeNodeDTO.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/GroupTreeNodeDTO.java @@ -40,6 +40,10 @@ public class GroupTreeNodeDTO implements IBaseTree, Se * 模板分组结点名称code */ private String nodeCode; + /** + * 结点图标 + */ + private String nodeIcon; /** * 结点类型 */ @@ -75,6 +79,7 @@ public class GroupTreeNodeDTO implements IBaseTree, Se .nodeName(nodeName) .nodeCode(nodeCode) .parentNodeCode(parentNodeCode) + .nodeIcon(nodeIcon) .children(children) .build(); } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/group/client/MessageGroupClient.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/group/client/MessageGroupClient.java index 8f0a90fe..0bd8d779 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/group/client/MessageGroupClient.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/group/client/MessageGroupClient.java @@ -1,9 +1,9 @@ package cn.axzo.msg.center.service.group.client; -import cn.axzo.msg.center.service.enums.MessageGroupCategoryEnum; import cn.axzo.msg.center.service.group.client.fallback.MessageGroupClientFallback; import cn.axzo.msg.center.service.group.request.MessageGroupNodeAddRequest; import cn.axzo.msg.center.service.group.request.MessageGroupNodeUpdateRequest; +import cn.axzo.msg.center.service.group.request.MessageGroupPageRequest; import cn.axzo.msg.center.service.group.response.MessageGroupTreeNodeResponse; import cn.azxo.framework.common.model.CommonResponse; import org.springframework.cloud.openfeign.FeignClient; @@ -57,9 +57,8 @@ public interface MessageGroupClient { /** * 查询通知/待办的分类信息 * - * @param category 消息分类 + * @param request 分页查询相关参数 */ @PostMapping(value = "/message/group/node/list", produces = {MediaType.APPLICATION_JSON_VALUE}) - CommonResponse> list(@RequestParam(value = "category", required = false) - MessageGroupCategoryEnum category); + CommonResponse> list(@RequestBody MessageGroupPageRequest request); } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/group/client/fallback/MessageGroupClientFallback.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/group/client/fallback/MessageGroupClientFallback.java index 8f2b1482..84a6855f 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/group/client/fallback/MessageGroupClientFallback.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/group/client/fallback/MessageGroupClientFallback.java @@ -1,9 +1,9 @@ package cn.axzo.msg.center.service.group.client.fallback; -import cn.axzo.msg.center.service.enums.MessageGroupCategoryEnum; import cn.axzo.msg.center.service.group.client.MessageGroupClient; import cn.axzo.msg.center.service.group.request.MessageGroupNodeAddRequest; import cn.axzo.msg.center.service.group.request.MessageGroupNodeUpdateRequest; +import cn.axzo.msg.center.service.group.request.MessageGroupPageRequest; import cn.axzo.msg.center.service.group.response.MessageGroupTreeNodeResponse; import cn.azxo.framework.common.model.CommonResponse; import lombok.extern.slf4j.Slf4j; @@ -40,8 +40,8 @@ public class MessageGroupClientFallback implements MessageGroupClient { } @Override - public CommonResponse> list(MessageGroupCategoryEnum category) { - log.error("fall back while listing message group node. category:[{}]", category); + public CommonResponse> list(MessageGroupPageRequest request) { + log.error("fall back while listing message group node. request:{}", request); return CommonResponse.error("fall back while listing message group node"); } } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/group/request/MessageGroupPageRequest.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/group/request/MessageGroupPageRequest.java new file mode 100644 index 00000000..280d096b --- /dev/null +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/group/request/MessageGroupPageRequest.java @@ -0,0 +1,25 @@ +package cn.axzo.msg.center.service.group.request; + +import cn.axzo.core.domain.PageRequest; +import cn.axzo.msg.center.service.enums.MessageGroupCategoryEnum; +import com.alibaba.fastjson.JSON; +import lombok.Getter; +import lombok.Setter; + +/** + * @author cold_blade + * @date 2023/11/9 + * @version 1.0 + */ +@Setter +@Getter +public class MessageGroupPageRequest extends PageRequest { + + private MessageGroupCategoryEnum category; + private String nodeName; + + @Override + public String toString() { + return JSON.toJSONString(this); + } +} diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/group/response/MessageGroupTreeNodeResponse.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/group/response/MessageGroupTreeNodeResponse.java index e2b31149..dd265a71 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/group/response/MessageGroupTreeNodeResponse.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/group/response/MessageGroupTreeNodeResponse.java @@ -47,6 +47,10 @@ public class MessageGroupTreeNodeResponse implements Serializable { * 父节点编码 */ private String parentNodeCode; + /** + * 结点图标 + */ + private String nodeIcon; /** * 子节点列表 */