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.message.service.MessageGroupNodeService;
|
||||||
import cn.axzo.msg.center.service.dto.GroupTreeNodeDTO;
|
import cn.axzo.msg.center.service.dto.GroupTreeNodeDTO;
|
||||||
import cn.axzo.msg.center.service.enums.MessageCategoryEnum;
|
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.client.MessageGroupClient;
|
||||||
import cn.axzo.msg.center.service.group.request.MessageGroupNodeAddRequest;
|
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.MessageGroupNodeUpdateRequest;
|
||||||
@ -47,7 +48,7 @@ public class MessageGroupController implements MessageGroupClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResponse<List<MessageGroupTreeNodeResponse>> list(MessageCategoryEnum category) {
|
public CommonResponse<List<MessageGroupTreeNodeResponse>> list(MessageGroupCategoryEnum category) {
|
||||||
List<MessageGroupTreeNodeResponse> groupTreeNodes = messageGroupNodeService.listGroupTree(category).stream()
|
List<MessageGroupTreeNodeResponse> groupTreeNodes = messageGroupNodeService.listGroupTree(category).stream()
|
||||||
.map(GroupTreeNodeDTO::toMessageGroupTreeNodeResponse)
|
.map(GroupTreeNodeDTO::toMessageGroupTreeNodeResponse)
|
||||||
.collect(Collectors.toList());
|
.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.message.domain.param.MessageGroupNodeSaveOrUpdateParam;
|
||||||
import cn.axzo.msg.center.service.dto.GroupTreeNodeDTO;
|
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.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -69,5 +69,5 @@ public interface MessageGroupNodeService {
|
|||||||
* @param category 消息/待办
|
* @param category 消息/待办
|
||||||
* @return 分类树列表
|
* @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.MessageGroupNodeService;
|
||||||
import cn.axzo.msg.center.message.service.MessageGroupTreeNodeCacheService;
|
import cn.axzo.msg.center.message.service.MessageGroupTreeNodeCacheService;
|
||||||
import cn.axzo.msg.center.service.dto.GroupTreeNodeDTO;
|
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.TreeHelperUtil;
|
||||||
import cn.axzo.msg.center.utils.UUIDUtil;
|
import cn.axzo.msg.center.utils.UUIDUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -124,11 +124,11 @@ public class MessageGroupNodeServiceImpl implements MessageGroupNodeService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<GroupTreeNodeDTO> listGroupTree(MessageCategoryEnum category) {
|
public List<GroupTreeNodeDTO> listGroupTree(MessageGroupCategoryEnum category) {
|
||||||
return messageGroupTreeNodeCacheService.listAllGroupTree().stream()
|
return messageGroupTreeNodeCacheService.listAllGroupTree().stream()
|
||||||
// 查询消息/待办 OR 两者的分类树
|
// 查询消息/待办 OR 两者的分类树
|
||||||
.filter(e -> Objects.isNull(category)
|
.filter(e -> Objects.isNull(category)
|
||||||
|| Objects.equals(e.getCategory().getMsgCategory(), category))
|
|| category.getMsgGroupNodeCategories().contains(e.getCategory()))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -15,8 +15,9 @@ import lombok.Getter;
|
|||||||
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
||||||
public enum MessageCategoryEnum {
|
public enum MessageCategoryEnum {
|
||||||
|
|
||||||
GENERAL_MESSAGE(1, "普通消息"),
|
GENERAL_MESSAGE(1, "通知"),
|
||||||
PENDING_MESSAGE(2, "待办消息");
|
BIZ_PENDING_MESSAGE(2, "业务待办"),
|
||||||
|
APPROVAL_PENDING_MESSAGE(3, "审批待办");
|
||||||
|
|
||||||
private final Integer code;
|
private final Integer code;
|
||||||
private final String message;
|
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;
|
package cn.axzo.msg.center.service.enums;
|
||||||
|
|
||||||
|
import com.google.common.collect.Sets;
|
||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description
|
* @description
|
||||||
*
|
*
|
||||||
@ -15,15 +18,20 @@ import lombok.Getter;
|
|||||||
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
||||||
public enum MessageGroupNodeCategoryEnum {
|
public enum MessageGroupNodeCategoryEnum {
|
||||||
|
|
||||||
GENERAL_MESSAGE_CENTER("消息中心", 1, MessageCategoryEnum.GENERAL_MESSAGE),
|
GENERAL_MESSAGE_CENTER("消息中心", 1),
|
||||||
GENERAL_MESSAGE_MODULE("消息模块", 2, MessageCategoryEnum.GENERAL_MESSAGE),
|
GENERAL_MESSAGE_MODULE("消息模块", 2),
|
||||||
GENERAL_MESSAGE_CATEGORY("消息分类", 3, MessageCategoryEnum.GENERAL_MESSAGE),
|
GENERAL_MESSAGE_CATEGORY("消息分类", 3),
|
||||||
PENDING_MESSAGE_CENTER("待办中心", 1, MessageCategoryEnum.PENDING_MESSAGE),
|
PENDING_MESSAGE_CENTER("待办中心", 1),
|
||||||
PENDING_MESSAGE_MODULE("待办模块", 2, MessageCategoryEnum.PENDING_MESSAGE),
|
PENDING_MESSAGE_MODULE("待办模块", 2),
|
||||||
PENDING_MESSAGE_CATEGORY("待办分类", 3, MessageCategoryEnum.PENDING_MESSAGE),
|
PENDING_MESSAGE_CATEGORY("待办分类", 3),
|
||||||
;
|
;
|
||||||
|
|
||||||
private final String desc;
|
private final String desc;
|
||||||
private final int level;
|
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;
|
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.client.fallback.MessageGroupClientFallback;
|
||||||
import cn.axzo.msg.center.service.group.request.MessageGroupNodeAddRequest;
|
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.MessageGroupNodeUpdateRequest;
|
||||||
@ -61,5 +61,5 @@ public interface MessageGroupClient {
|
|||||||
*/
|
*/
|
||||||
@PostMapping(value = "/message/group/node/list", produces = {MediaType.APPLICATION_JSON_VALUE})
|
@PostMapping(value = "/message/group/node/list", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||||
CommonResponse<List<MessageGroupTreeNodeResponse>> list(@RequestParam(value = "category", required = false)
|
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;
|
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.client.MessageGroupClient;
|
||||||
import cn.axzo.msg.center.service.group.request.MessageGroupNodeAddRequest;
|
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.MessageGroupNodeUpdateRequest;
|
||||||
@ -40,7 +40,7 @@ public class MessageGroupClientFallback implements MessageGroupClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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);
|
log.error("fall back while listing message group node. category:[{}]", category);
|
||||||
return CommonResponse.error("fall back while listing message group node");
|
return CommonResponse.error("fall back while listing message group node");
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user