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 631c0490..e0933dc4 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 @@ -4,6 +4,7 @@ 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; @@ -47,7 +48,7 @@ public class MessageGroupController implements MessageGroupClient { } @Override - public CommonResponse> list(MessageCategoryEnum category) { + public CommonResponse> list(MessageGroupCategoryEnum category) { List groupTreeNodes = messageGroupNodeService.listGroupTree(category).stream() .map(GroupTreeNodeDTO::toMessageGroupTreeNodeResponse) .collect(Collectors.toList()); 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 3a328708..e5f8f0ab 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 @@ -2,7 +2,7 @@ package cn.axzo.msg.center.message.service; import cn.axzo.msg.center.message.domain.param.MessageGroupNodeSaveOrUpdateParam; 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 java.util.Collection; import java.util.List; @@ -69,5 +69,5 @@ public interface MessageGroupNodeService { * @param category 消息/待办 * @return 分类树列表 */ - List listGroupTree(MessageCategoryEnum category); + List listGroupTree(MessageGroupCategoryEnum category); } 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 97680abd..da249dee 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 @@ -12,7 +12,7 @@ import cn.axzo.msg.center.message.domain.param.MessageGroupNodeSaveOrUpdateParam import cn.axzo.msg.center.message.service.MessageGroupNodeService; import cn.axzo.msg.center.message.service.MessageGroupTreeNodeCacheService; 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.utils.TreeHelperUtil; import cn.axzo.msg.center.utils.UUIDUtil; import lombok.RequiredArgsConstructor; @@ -124,11 +124,11 @@ public class MessageGroupNodeServiceImpl implements MessageGroupNodeService { } @Override - public List listGroupTree(MessageCategoryEnum category) { + public List listGroupTree(MessageGroupCategoryEnum category) { return messageGroupTreeNodeCacheService.listAllGroupTree().stream() // 查询消息/待办 OR 两者的分类树 .filter(e -> Objects.isNull(category) - || Objects.equals(e.getCategory().getMsgCategory(), category)) + || category.getMsgGroupNodeCategories().contains(e.getCategory())) .collect(Collectors.toList()); } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/MessageCategoryEnum.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/MessageCategoryEnum.java index b879e335..f4b23fdc 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/MessageCategoryEnum.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/MessageCategoryEnum.java @@ -15,8 +15,9 @@ import lombok.Getter; @AllArgsConstructor(access = AccessLevel.PRIVATE) public enum MessageCategoryEnum { - GENERAL_MESSAGE(1, "普通消息"), - PENDING_MESSAGE(2, "待办消息"); + GENERAL_MESSAGE(1, "通知"), + BIZ_PENDING_MESSAGE(2, "业务待办"), + APPROVAL_PENDING_MESSAGE(3, "审批待办"); private final Integer code; private final String message; diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/MessageGroupCategoryEnum.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/MessageGroupCategoryEnum.java new file mode 100644 index 00000000..5a1c1e45 --- /dev/null +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/MessageGroupCategoryEnum.java @@ -0,0 +1,30 @@ +package cn.axzo.msg.center.service.enums; + +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Set; + +/** + * @description + * 消息分类的类型枚举 + * @author cold_blade + * @date 2023/11/6 + * @version 1.0 + */ +@Getter +@AllArgsConstructor(access = AccessLevel.PRIVATE) +public enum MessageGroupCategoryEnum { + + /** + * 通知 + */ + NOTIFICATION(MessageGroupNodeCategoryEnum.NOTIFICATION), + /** + * 待办 + */ + PENDING(MessageGroupNodeCategoryEnum.PENDING); + + private final Set msgGroupNodeCategories; +} diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/MessageGroupNodeCategoryEnum.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/MessageGroupNodeCategoryEnum.java index f85abe17..dbaf55c7 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/MessageGroupNodeCategoryEnum.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/MessageGroupNodeCategoryEnum.java @@ -1,9 +1,12 @@ package cn.axzo.msg.center.service.enums; +import com.google.common.collect.Sets; import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.Getter; +import java.util.Set; + /** * @description * @@ -15,15 +18,20 @@ import lombok.Getter; @AllArgsConstructor(access = AccessLevel.PRIVATE) public enum MessageGroupNodeCategoryEnum { - GENERAL_MESSAGE_CENTER("消息中心", 1, MessageCategoryEnum.GENERAL_MESSAGE), - GENERAL_MESSAGE_MODULE("消息模块", 2, MessageCategoryEnum.GENERAL_MESSAGE), - GENERAL_MESSAGE_CATEGORY("消息分类", 3, MessageCategoryEnum.GENERAL_MESSAGE), - PENDING_MESSAGE_CENTER("待办中心", 1, MessageCategoryEnum.PENDING_MESSAGE), - PENDING_MESSAGE_MODULE("待办模块", 2, MessageCategoryEnum.PENDING_MESSAGE), - PENDING_MESSAGE_CATEGORY("待办分类", 3, MessageCategoryEnum.PENDING_MESSAGE), + GENERAL_MESSAGE_CENTER("消息中心", 1), + GENERAL_MESSAGE_MODULE("消息模块", 2), + GENERAL_MESSAGE_CATEGORY("消息分类", 3), + PENDING_MESSAGE_CENTER("待办中心", 1), + PENDING_MESSAGE_MODULE("待办模块", 2), + PENDING_MESSAGE_CATEGORY("待办分类", 3), ; private final String desc; private final int level; - private final MessageCategoryEnum msgCategory; + + public static final Set NOTIFICATION = + Sets.newHashSet(GENERAL_MESSAGE_CENTER, GENERAL_MESSAGE_MODULE, GENERAL_MESSAGE_CATEGORY); + + public static final Set PENDING = + Sets.newHashSet(PENDING_MESSAGE_CENTER, PENDING_MESSAGE_MODULE, PENDING_MESSAGE_CATEGORY); } 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 04c8bb65..8f0a90fe 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,6 +1,6 @@ package cn.axzo.msg.center.service.group.client; -import cn.axzo.msg.center.service.enums.MessageCategoryEnum; +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; @@ -61,5 +61,5 @@ public interface MessageGroupClient { */ @PostMapping(value = "/message/group/node/list", produces = {MediaType.APPLICATION_JSON_VALUE}) CommonResponse> list(@RequestParam(value = "category", required = false) - MessageCategoryEnum category); + MessageGroupCategoryEnum category); } 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 b72f583b..8f2b1482 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,6 +1,6 @@ package cn.axzo.msg.center.service.group.client.fallback; -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; @@ -40,7 +40,7 @@ public class MessageGroupClientFallback implements MessageGroupClient { } @Override - public CommonResponse> list(MessageCategoryEnum category) { + public CommonResponse> list(MessageGroupCategoryEnum category) { log.error("fall back while listing message group node. category:[{}]", category); return CommonResponse.error("fall back while listing message group node"); }