diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/node/req/ProcessNodeReq.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/node/req/ProcessNodeReq.java index 3b94d45..7f8bc8d 100644 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/node/req/ProcessNodeReq.java +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/node/req/ProcessNodeReq.java @@ -59,7 +59,8 @@ public class ProcessNodeReq { public enum Action { CREATE("创建", "createNodeProcessor"), UPDATE("普通更新", "updateNodeProcessor"), - CHANGE_MANAGER("更换管理员", "changeNodeManagerProcessor"); + CHANGE_MANAGER("更换管理员", "changeNodeManagerProcessor"), + CHANGE_TEAM_LEADER("更换班组长", "changeTeamLeaderProcessor"); private final String desc; private final String processor; diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/team/OrgTeamApi.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/team/OrgTeamApi.java deleted file mode 100644 index 3e2376a..0000000 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/team/OrgTeamApi.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.axzo.orgmanax.api.team; - -import cn.axzo.framework.domain.web.result.ApiResult; -import cn.axzo.orgmanax.api.team.req.OrgCreateTeamReq; -import cn.axzo.orgmanax.api.team.resp.OrgCreateTeamResp; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; - -/** - * 班组相关API - * @author tanjie@axzo.cn - * @date 2024/12/2 15:40 - */ -@FeignClient( - value = "orgmanax", - url = "${axzo.service.orgmanax:http://orgmanax:8080}") -public interface OrgTeamApi { - - - /** - * 创建项目班组 - * @param organizationalNodeCreateReq - * @return - */ - @PostMapping("/api/org/project/create-team") - ApiResult createProjectTeam(@RequestBody OrgCreateTeamReq organizationalNodeCreateReq); - -} diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/team/req/OrgCreateTeamReq.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/team/req/OrgCreateTeamReq.java deleted file mode 100644 index 191ddf3..0000000 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/team/req/OrgCreateTeamReq.java +++ /dev/null @@ -1,44 +0,0 @@ -package cn.axzo.orgmanax.api.team.req; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 创建班组请求实体 - * @author tanjie@axzo.cn - * @date 2024/12/5 10:46 - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class OrgCreateTeamReq { - - /** - * - */ - private String name; - - /** - * - */ - private Long teamLeaderPersonId; - - private Long inviteOuId; - - private Long inviteWorkspaceId; - - /** - * 单位班组的节点ID - */ - private Long ouTeamNodeId; - - - /** - * 操作人ID: person id - */ - private Long operatorId; - -} diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/team/resp/OrgCreateTeamResp.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/team/resp/OrgCreateTeamResp.java deleted file mode 100644 index 76ebfc3..0000000 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/team/resp/OrgCreateTeamResp.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.axzo.orgmanax.api.team.resp; - -/** - * @author tanjie@axzo.cn - * @date 2024/12/5 10:55 - */ -public class OrgCreateTeamResp { - - private Long projectTeamId; - - private String teamName; - private Long organizationalNodeId; - -} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/NodeQueryRepository.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/NodeQueryRepository.java index ac1abbf..8c9c880 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/NodeQueryRepository.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/NodeQueryRepository.java @@ -29,6 +29,10 @@ public interface NodeQueryRepository { PageResp page(PageReq req); + default NodeResp one(OneReq req) { + return oneOpt(req).orElse(null); + } + default Optional oneOpt(OneReq req) { req.check(); PageReq page = BeanUtil.toBean(req, PageReq.class); diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/NodeUpsertRepository.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/NodeUpsertRepository.java index afbfa66..a16e1a6 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/NodeUpsertRepository.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/NodeUpsertRepository.java @@ -2,6 +2,14 @@ package cn.axzo.orgmanax.infra.dao.node.repository; import cn.axzo.orgmanax.infra.dao.node.DO.OrganizationalNode; +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.HashSet; +import java.util.Set; /** * @author tanjie@axzo.cn @@ -11,4 +19,31 @@ public interface NodeUpsertRepository { OrganizationalNode create(OrganizationalNode node); OrganizationalNode update(OrganizationalNode node); + + @NoArgsConstructor + @AllArgsConstructor + @Data + @Builder + class CreateReq { + private OrganizationalNode node; + /** + * 场景描述,如 添加普通部门,添加班组 等 + */ + private String scene; + private Long operatorId; + } + + @NoArgsConstructor + @AllArgsConstructor + @Data + @Builder + class UpdateReq { + private Long id; + private OrganizationalNode node; + private String scene; + /** + * 由于updateById不支持将值设置为null,这里提供这个 + */ + Set> setNullFields = new HashSet<>(); + } } diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/impl/NodeUpsertRepositoryImpl.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/impl/NodeUpsertRepositoryImpl.java index 1529be8..e370451 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/impl/NodeUpsertRepositoryImpl.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/impl/NodeUpsertRepositoryImpl.java @@ -1,21 +1,22 @@ package cn.axzo.orgmanax.infra.dao.node.repository.impl; -import cn.axzo.orgmanax.infra.dao.node.dao.NodeDao; import cn.axzo.orgmanax.infra.dao.node.DO.OrganizationalNode; +import cn.axzo.orgmanax.infra.dao.node.dao.NodeDao; import cn.axzo.orgmanax.infra.dao.node.repository.NodeUpsertRepository; import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Repository; +import org.springframework.stereotype.Component; /** * @author tanjie@axzo.cn * @date 2024/12/2 18:22 */ -@Repository +@Component @RequiredArgsConstructor public class NodeUpsertRepositoryImpl implements NodeUpsertRepository { private final NodeDao nodeDao; + @Override public OrganizationalNode create(OrganizationalNode node) { nodeDao.save(node); diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/controller/NodeController.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/controller/NodeController.java index f0ee555..cf6d594 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/controller/NodeController.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/controller/NodeController.java @@ -46,4 +46,5 @@ public class NodeController implements OrgNodeApi { } + } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/convert/NodeApiConvert.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/convert/NodeApiConvert.java index 4b15109..90b4234 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/convert/NodeApiConvert.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/convert/NodeApiConvert.java @@ -1,7 +1,7 @@ package cn.axzo.orgmanax.server.node.convert; import cn.axzo.orgmanax.api.node.req.ProcessNodeReq; -import cn.axzo.orgmanax.server.node.foundation.node.entity.OrganizationalNodeCreate; +import cn.axzo.orgmanax.server.node.foundation.entity.NodeCreate; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -13,5 +13,5 @@ import org.mapstruct.factory.Mappers; public interface NodeApiConvert { NodeApiConvert INSTANCE = Mappers.getMapper(NodeApiConvert.class); - OrganizationalNodeCreate toFoundation(ProcessNodeReq req); + NodeCreate toFoundation(ProcessNodeReq req); } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/NodeFoundationService.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/NodeFoundationService.java new file mode 100644 index 0000000..194febb --- /dev/null +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/NodeFoundationService.java @@ -0,0 +1,18 @@ +package cn.axzo.orgmanax.server.node.foundation; + +import cn.axzo.orgmanax.api.node.resp.ProcessOrgNodeResp; +import cn.axzo.orgmanax.infra.dao.node.DO.OrganizationalNode; +import cn.axzo.orgmanax.server.node.foundation.entity.NodeCreate; +import org.springframework.transaction.annotation.Transactional; + +public interface NodeFoundationService { + /** + * 创建部门 + * + * @param nodeCreate + * @return + */ + @Transactional(rollbackFor = Throwable.class) + OrganizationalNode create(NodeCreate nodeCreate); + +} diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/node/convert/NodeConvert.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/convert/NodeConvert.java similarity index 59% rename from orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/node/convert/NodeConvert.java rename to orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/convert/NodeConvert.java index b53cef4..3c6685a 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/node/convert/NodeConvert.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/convert/NodeConvert.java @@ -1,7 +1,7 @@ -package cn.axzo.orgmanax.server.node.foundation.node.convert; +package cn.axzo.orgmanax.server.node.foundation.convert; import cn.axzo.orgmanax.infra.dao.node.DO.OrganizationalNode; -import cn.axzo.orgmanax.server.node.foundation.node.entity.OrganizationalNodeCreate; +import cn.axzo.orgmanax.server.node.foundation.entity.NodeCreate; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -13,6 +13,6 @@ import org.mapstruct.factory.Mappers; public interface NodeConvert { NodeConvert INSTANCE = Mappers.getMapper(NodeConvert.class); - OrganizationalNode toDo(OrganizationalNodeCreate req); + OrganizationalNode toDo(NodeCreate req); } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/node/entity/OrganizationalNodeCreate.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/entity/NodeCreate.java similarity index 62% rename from orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/node/entity/OrganizationalNodeCreate.java rename to orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/entity/NodeCreate.java index 0622852..b0f0e08 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/node/entity/OrganizationalNodeCreate.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/entity/NodeCreate.java @@ -1,11 +1,21 @@ -package cn.axzo.orgmanax.server.node.foundation.node.entity; +package cn.axzo.orgmanax.server.node.foundation.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; /** * 部门相关操作 + * * @author tanjie@axzo.cn * @date 2024/12/5 10:28 */ -public class OrganizationalNodeCreate { +@NoArgsConstructor +@AllArgsConstructor +@Data +@Builder +public class NodeCreate { /** @@ -36,7 +46,7 @@ public class OrganizationalNodeCreate { /** * 创建人 */ - private Long crateBy; + private Long operatorId; } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/node/service/NodeFoundationServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/impl/NodeFoundationServiceImpl.java similarity index 52% rename from orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/node/service/NodeFoundationServiceImpl.java rename to orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/impl/NodeFoundationServiceImpl.java index ca775fd..a074e46 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/node/service/NodeFoundationServiceImpl.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/impl/NodeFoundationServiceImpl.java @@ -1,15 +1,12 @@ -package cn.axzo.orgmanax.server.node.foundation.node.service; +package cn.axzo.orgmanax.server.node.foundation.impl; -import cn.axzo.orgmanax.api.node.resp.ProcessOrgNodeResp; import cn.axzo.orgmanax.common.config.BizResultCode; -import cn.axzo.orgmanax.common.entity.BizErrorInfo; import cn.axzo.orgmanax.infra.dao.node.DO.OrganizationalNode; import cn.axzo.orgmanax.infra.dao.node.repository.NodeQueryRepository; import cn.axzo.orgmanax.infra.dao.node.repository.NodeUpsertRepository; -import cn.axzo.orgmanax.server.node.foundation.node.check.NodeBasicCheck; -import cn.axzo.orgmanax.server.node.foundation.node.convert.NodeConvert; -import cn.axzo.orgmanax.server.node.foundation.node.entity.OrganizationalNodeCreate; -import cn.hutool.core.lang.Assert; +import cn.axzo.orgmanax.server.node.foundation.NodeFoundationService; +import cn.axzo.orgmanax.server.node.foundation.convert.NodeConvert; +import cn.axzo.orgmanax.server.node.foundation.entity.NodeCreate; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -22,7 +19,6 @@ import org.springframework.transaction.annotation.Transactional; @RequiredArgsConstructor public class NodeFoundationServiceImpl implements NodeFoundationService { - private final NodeBasicCheck nodeBasicCheck; private final NodeQueryRepository nodeQueryRepository; private final NodeUpsertRepository nodeUpsertRepository; @@ -35,20 +31,16 @@ public class NodeFoundationServiceImpl implements NodeFoundationService { */ @Transactional @Override - public ProcessOrgNodeResp create(OrganizationalNodeCreate organizationalNodeCreate) { - - // 业务校验 - BizErrorInfo bizErrorInfo = nodeBasicCheck.createNodeCheck(organizationalNodeCreate); - Assert.isTrue(bizErrorInfo.isSuccess(), bizErrorInfo.getErrorMsg()); - // 转换为领域对象 - // 持久化 - OrganizationalNode organizationalNode = NodeConvert.INSTANCE.toDo(organizationalNodeCreate); - nodeUpsertRepository.create(organizationalNode); - + public OrganizationalNode create(NodeCreate nodeCreate) { // 获取上级节点,为了重新计算path、topNodeId等数据 - OrganizationalNode parentNode = nodeQueryRepository - .oneOpt(NodeQueryRepository.OneReq.builder().id(organizationalNode.getParentId()).build()) - .orElseThrow(() -> BizResultCode.ENTITY_NOT_FOUND.toException("父级部门不存在")); + OrganizationalNode parentNode = nodeCreate.getParentId() == null || nodeCreate.getParentId() <= 0L ? null : + nodeQueryRepository.oneOpt(NodeQueryRepository.OneReq.builder().id(nodeCreate.getParentId()).build()) + .orElseThrow(() -> BizResultCode.ENTITY_NOT_FOUND.toException("父级部门不存在")); + + // 转换为领域对象 + // 持久化 -> mapstruct? + OrganizationalNode organizationalNode = NodeConvert.INSTANCE.toDo(nodeCreate); + nodeUpsertRepository.create(organizationalNode); // 重新计算path、topNodeId等数据。 未来也可以添加workspaceId等信息 organizationalNode.calcPath(parentNode); @@ -60,10 +52,7 @@ public class NodeFoundationServiceImpl implements NodeFoundationService { // eventProducer.send(null); // 返回结果 - return ProcessOrgNodeResp.builder() - .id(organizationalNode.getId()) - // .... - .build(); + return nodeQueryRepository.one(NodeQueryRepository.OneReq.builder().id(organizationalNode.getId()).build()); } } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/node/check/NodeBasicCheck.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/node/check/NodeBasicCheck.java deleted file mode 100644 index 99397e2..0000000 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/node/check/NodeBasicCheck.java +++ /dev/null @@ -1,31 +0,0 @@ -package cn.axzo.orgmanax.server.node.foundation.node.check; - -import cn.axzo.orgmanax.common.entity.BizErrorInfo; -import cn.axzo.orgmanax.infra.dao.node.repository.NodeQueryRepository; -import cn.axzo.orgmanax.server.node.foundation.node.entity.OrganizationalNodeCreate; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -/** - * @author tanjie@axzo.cn - * @date 2024/12/2 20:17 - */ -@Service -@RequiredArgsConstructor -public class NodeBasicCheck { - - private final NodeQueryRepository nodeQueryRepository; - - /** 返回值也可以封装成对象 - * @param organizationalNode - * @return - */ - public BizErrorInfo createNodeCheck(OrganizationalNodeCreate organizationalNode) { - // 重名校验 - // nodeQueryGateway.find(organizationalNode.getOrganizationalNodeName()); - - return BizErrorInfo.builder() - .isSuccess(true) - .build(); - } -} diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/node/service/NodeFoundationService.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/node/service/NodeFoundationService.java deleted file mode 100644 index dcca1ac..0000000 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/foundation/node/service/NodeFoundationService.java +++ /dev/null @@ -1,10 +0,0 @@ -package cn.axzo.orgmanax.server.node.foundation.node.service; - -import cn.axzo.orgmanax.api.node.resp.ProcessOrgNodeResp; -import cn.axzo.orgmanax.server.node.foundation.node.entity.OrganizationalNodeCreate; -import org.springframework.transaction.annotation.Transactional; - -public interface NodeFoundationService { - @Transactional - ProcessOrgNodeResp create(OrganizationalNodeCreate organizationalNodeCreate); -} diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/ChangeTeamLeaderProcessor.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/ChangeTeamLeaderProcessor.java index 75c1c13..9543169 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/ChangeTeamLeaderProcessor.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/ChangeTeamLeaderProcessor.java @@ -20,10 +20,14 @@ public class ChangeTeamLeaderProcessor extends ChangeNodeManagerProcessor { // 3. 老 班组长移除班组长角色,权限。 新班组长添加角色、权限 + // 3.5 xxx + // 4. 更换项目内班组的班组长。(可异步处理) // 5. 发送 业务MQ消息 - 「更换班组长」 + // 6. + // 返回处理结果,可按需封装 return nodeChangeManagerResult; } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/CreateNodeProcessor.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/CreateNodeProcessor.java index 395557d..4773577 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/CreateNodeProcessor.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/CreateNodeProcessor.java @@ -4,7 +4,7 @@ import cn.axzo.foundation.event.support.producer.EventProducer; import cn.axzo.foundation.exception.Axssert; import cn.axzo.orgmanax.api.node.resp.ProcessOrgNodeResp; import cn.axzo.orgmanax.common.config.BizResultCode; -import cn.axzo.orgmanax.server.node.foundation.node.service.NodeFoundationService; +import cn.axzo.orgmanax.server.node.foundation.NodeFoundationService; import cn.axzo.orgmanax.server.node.service.processor.NodeProcessor; import com.alibaba.fastjson.JSONObject; import lombok.AllArgsConstructor; diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/CreateTeamProcessor.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/CreateTeamProcessor.java index 9dab49e..9f9253d 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/CreateTeamProcessor.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/node/service/processor/impl/CreateTeamProcessor.java @@ -4,7 +4,7 @@ import cn.axzo.foundation.exception.Axssert; import cn.axzo.orgmanax.api.node.resp.ProcessOrgNodeResp; import cn.axzo.orgmanax.common.config.BizResultCode; import cn.axzo.orgmanax.infra.dao.node.repository.NodeQueryRepository; -import cn.axzo.orgmanax.server.node.foundation.node.service.NodeFoundationService; +import cn.axzo.orgmanax.server.node.foundation.NodeFoundationService; import cn.axzo.orgmanax.server.node.service.processor.NodeProcessor; import com.alibaba.fastjson.JSONObject; import lombok.AllArgsConstructor;