feat(REQ-1507): 重构消息模板分类
背景: https://jira.axzo.cn/browse/REQ-1507?goToView=1 修改: 1、新增消息分类的种类枚举 2、消息模板待办新增业务和审批类型的待办 影响: 无
This commit is contained in:
parent
44879db442
commit
33ba2d3402
@ -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());
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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());
|
||||
}
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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");
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user