feat(REQ-1507): 重构消息模板分类

背景:
  https://jira.axzo.cn/browse/REQ-1507?goToView=1

修改:

1、新增消息分类的种类枚举
2、消息模板待办新增业务和审批类型的待办

影响:
  无
This commit is contained in:
luofu 2023-11-06 13:50:19 +08:00
parent 44879db442
commit 33ba2d3402
8 changed files with 59 additions and 19 deletions

View File

@ -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<MessageGroupTreeNodeResponse>> list(MessageCategoryEnum category) {
public CommonResponse<List<MessageGroupTreeNodeResponse>> list(MessageGroupCategoryEnum category) {
List<MessageGroupTreeNodeResponse> groupTreeNodes = messageGroupNodeService.listGroupTree(category).stream()
.map(GroupTreeNodeDTO::toMessageGroupTreeNodeResponse)
.collect(Collectors.toList());

View File

@ -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<GroupTreeNodeDTO> listGroupTree(MessageCategoryEnum category);
List<GroupTreeNodeDTO> listGroupTree(MessageGroupCategoryEnum category);
}

View File

@ -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<GroupTreeNodeDTO> listGroupTree(MessageCategoryEnum category) {
public List<GroupTreeNodeDTO> 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());
}

View File

@ -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;

View File

@ -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<MessageGroupNodeCategoryEnum> msgGroupNodeCategories;
}

View File

@ -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<MessageGroupNodeCategoryEnum> NOTIFICATION =
Sets.newHashSet(GENERAL_MESSAGE_CENTER, GENERAL_MESSAGE_MODULE, GENERAL_MESSAGE_CATEGORY);
public static final Set<MessageGroupNodeCategoryEnum> PENDING =
Sets.newHashSet(PENDING_MESSAGE_CENTER, PENDING_MESSAGE_MODULE, PENDING_MESSAGE_CATEGORY);
}

View File

@ -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<MessageGroupTreeNodeResponse>> list(@RequestParam(value = "category", required = false)
MessageCategoryEnum category);
MessageGroupCategoryEnum category);
}

View File

@ -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<MessageGroupTreeNodeResponse>> list(MessageCategoryEnum category) {
public CommonResponse<List<MessageGroupTreeNodeResponse>> list(MessageGroupCategoryEnum category) {
log.error("fall back while listing message group node. category:[{}]", category);
return CommonResponse.error("fall back while listing message group node");
}