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

This commit is contained in:
luofu 2023-10-18 10:24:14 +08:00
commit 076647df3f
2 changed files with 12 additions and 8 deletions

View File

@ -79,8 +79,9 @@ public class MessageGroupNodeServiceImpl implements MessageGroupNodeService {
@Override
public void addGroupNode(MessageGroupNodeSaveOrUpdateParam param) {
GroupTreeNodeDTO parent = messageGroupTreeNodeCacheService.queryNode(param.getParentNodeCode())
.orElseThrow(() -> new ServiceException("parentNodeCode is invalid"));
GroupTreeNodeDTO parent = StringUtils.isBlank(param.getParentNodeCode()) ? null :
messageGroupTreeNodeCacheService.queryNode(param.getParentNodeCode())
.orElseThrow(() -> new ServiceException("parentNodeCode is invalid"));
// 合法性校验
checkCreateRule(parent, param);
// 存储
@ -148,7 +149,9 @@ public class MessageGroupNodeServiceImpl implements MessageGroupNodeService {
}
private void checkCreateRule(GroupTreeNodeDTO parent, MessageGroupNodeSaveOrUpdateParam param) {
AssertUtil.isTrue(parent.getCategory().getLevel() < param.getCategory().getLevel(), "父节点的类型非法");
if (Objects.nonNull(parent)) {
AssertUtil.isTrue(parent.getCategory().getLevel() < param.getCategory().getLevel(), "父节点的类型非法");
}
}
private void checkDeleteRule(String nodeCode) {

View File

@ -63,22 +63,23 @@ public class GroupTreeNodeDTO implements IBaseTree<GroupTreeNodeDTO, String>, Se
private List<GroupTreeNodeDTO> nodeChildren = Collections.emptyList();
public MessageGroupTreeNodeResponse toMessageGroupTreeNodeResponse() {
List<MessageGroupTreeNodeResponse> children = Optional.ofNullable(nodeChildren)
.map(v -> v.stream().map(GroupTreeNodeDTO::toMessageGroupTreeNodeResponse).collect(Collectors.toList()))
.orElseGet(Collections::emptyList);
return MessageGroupTreeNodeResponse.builder()
.category(category)
.nodeName(nodeName)
.nodeCode(nodeCode)
.parentNodeCode(parentNodeCode)
.children(nodeChildren.stream()
.map(GroupTreeNodeDTO::toMessageGroupTreeNodeResponse)
.collect(Collectors.toList()))
.children(children)
.build();
}
public Optional<GroupTreeNodeDTO> getChild(String treeNodeCode) {
if (StringUtils.isBlank(treeNodeCode)) {
if (StringUtils.isBlank(treeNodeCode) || Objects.isNull(nodeChildren)) {
return Optional.empty();
}
return getNodeChildren().stream()
return nodeChildren.stream()
.filter(e -> Objects.equals(e.getNodeCode(), treeNodeCode))
.findFirst();
}