Merge branch 'feature/REQ-1507' of axzsource.com:universal/infrastructure/backend/msg-center-plat into dev

This commit is contained in:
luofu 2023-11-09 11:20:29 +08:00
commit 77d59a3e18
9 changed files with 52 additions and 14 deletions

View File

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

View File

@ -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<GroupTreeNodeDTO> listGroupTree(MessageGroupCategoryEnum category);
List<GroupTreeNodeDTO> listGroupTree(@Nullable MessageGroupCategoryEnum category, @Nullable String nodeName);
}

View File

@ -124,11 +124,13 @@ public class MessageGroupNodeServiceImpl implements MessageGroupNodeService {
}
@Override
public List<GroupTreeNodeDTO> listGroupTree(MessageGroupCategoryEnum category) {
public List<GroupTreeNodeDTO> 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());
}

View File

@ -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())

View File

@ -40,6 +40,10 @@ public class GroupTreeNodeDTO implements IBaseTree<GroupTreeNodeDTO, String>, Se
* 模板分组结点名称code
*/
private String nodeCode;
/**
* 结点图标
*/
private String nodeIcon;
/**
* 结点类型
*/
@ -75,6 +79,7 @@ public class GroupTreeNodeDTO implements IBaseTree<GroupTreeNodeDTO, String>, Se
.nodeName(nodeName)
.nodeCode(nodeCode)
.parentNodeCode(parentNodeCode)
.nodeIcon(nodeIcon)
.children(children)
.build();
}

View File

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

View File

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

View File

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

View File

@ -47,6 +47,10 @@ public class MessageGroupTreeNodeResponse implements Serializable {
* 父节点编码
*/
private String parentNodeCode;
/**
* 结点图标
*/
private String nodeIcon;
/**
* 子节点列表
*/