规范maven,添加创建部门示例

This commit is contained in:
TanJ 2024-12-02 20:12:54 +08:00
parent 19c1754f93
commit 19228b0412
30 changed files with 741 additions and 38 deletions

View File

@ -2,9 +2,9 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>cn.axzo.infra</groupId>
<artifactId>axzo-parent</artifactId>
<version>2.4.13.4</version>
<groupId>cn.axzo.orgmanax</groupId>
<artifactId>orgmanax</artifactId>
<version>${revision}</version>
</parent>
<groupId>cn.axzo.orgmanax</groupId>
@ -22,6 +22,15 @@
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>cn.axzo.framework</groupId>
<artifactId>axzo-common-domain</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,31 @@
package cn.axzo.orgmanax.api.node.feign.basic;
import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.orgmanax.api.node.req.OrganizationalNodeCreateReq;
import cn.axzo.orgmanax.api.node.resp.OrganizationalNodeInfoResp;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* 部门相关基础API
* @author tanjie@axzo.cn
* @date 2024/12/2 15:40
*/
@FeignClient(
value = "orgmanax",
url = "${axzo.service.orgmanax:http://orgmanax:8080}")
public interface OrganizationalNodeBasicApi {
/**
* 创建部门标准接口
* @param organizationalNodeCreateReq
* @return
*/
@PostMapping("/api/org/node/basic/create")
ApiResult<OrganizationalNodeInfoResp> create(@RequestBody OrganizationalNodeCreateReq organizationalNodeCreateReq);
}

View File

@ -1,15 +1,18 @@
package cn.axzo.orgmanax.api.feign;
package cn.axzo.orgmanax.api.node.feign.biz;
import org.springframework.cloud.openfeign.FeignClient;
/**
* business-oriented api related to node
* @author tanjie@axzo.cn
* @date 2024/12/2 15:40
*/
@FeignClient(
value = "orgmanax",
url = "${axzo.service.orgmanax:http://orgmanax:8080}")
public interface OrganizationalNodeApi {
public interface OrganizationalNodeBizApi {
}

View File

@ -0,0 +1,50 @@
package cn.axzo.orgmanax.api.node.req;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author tanjie@axzo.cn
* @date 2024/12/2 16:09
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrganizationalNodeCreateReq {
/**
* 单位ID
*/
private Long organizationalUnitId;
/**
* 部门名称
*/
private String organizationalNodeName;
/**
* 部门类型
*/
private Integer nodeType;
/**
* 上级部门ID
*/
private Long parentId;
/**
* 简介
*/
private String remark;
/**
* 创建人
*/
private Long crateBy;
}

View File

@ -0,0 +1 @@
package cn.axzo.orgmanax.api.node.req;

View File

@ -0,0 +1,58 @@
package cn.axzo.orgmanax.api.node.resp;
import lombok.Data;
import java.util.Date;
/**
* 部门信息
* @author tanjie@axzo.cn
* @date 2024/12/2 16:20
*/
@Data
public class OrganizationalNodeInfoResp {
/**
* 单位id
*/
private Long organizationalUnitId;
/**
* 部门名称
*/
private String organizationalNodeName;
/**
* 节点类型 节点类型 1.部门 2.班组 3.小组
*/
private Integer nodeType;
/**
* 上级部门ID
*/
private Long parentId;
/**
* 顶级部门ID
*/
private Long topNodeId;
/**
* 层级信息
*/
private String path;
/**
* 状态
*/
private Integer status;
/**
* 扩展信息
*/
private String extra;
/**
* 创建人自然人ID
*/
private Long createBy;
/**
* 创建时间
*/
private Date createAt;
}

View File

@ -1 +0,0 @@
package cn.axzo.orgmanax.api.req;

View File

@ -1 +0,0 @@
package cn.axzo.orgmanax.api.resp;

View File

@ -1,4 +1,4 @@
package cn.axzo.orgmanax.api.feign;
package cn.axzo.orgmanax.api.unit.feign.basic;
@ -11,7 +11,7 @@ import org.springframework.cloud.openfeign.FeignClient;
@FeignClient(
value = "orgmanax",
url = "${axzo.service.orgmanax:http://orgmanax:8080}")
public interface OrganizationalUnitApi {
public interface OrganizationalUnitBasicApi {
}

View File

@ -0,0 +1,18 @@
package cn.axzo.orgmanax.api.unit.feign.biz;
import org.springframework.cloud.openfeign.FeignClient;
/**
* business-oriented api related to unit
* @author tanjie@axzo.cn
* @date 2024/12/2 15:40
*/
@FeignClient(
value = "orgmanax",
url = "${axzo.service.orgmanax:http://orgmanax:8080}")
public interface OrganizationalUnitBizApi {
}

View File

@ -17,4 +17,10 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,80 @@
package cn.axzo.orgmanax.domain.node.entity;
import cn.hutool.core.lang.Assert;
import lombok.Data;
import java.util.Date;
import java.util.Objects;
/**
* 领域对象
* @author tanjie@axzo.cn
* @date 2024/12/2 17:08
*/
@Data
public class OrganizationalNode {
private Long id;
/**
* 单位id
*/
private Long organizationalUnitId;
/**
* 部门名称
*/
private String organizationalNodeName;
/**
* 节点类型 节点类型 1.部门 2.班组 3.小组
*/
private Integer nodeType;
/**
* 上级部门ID
*/
private Long parentId;
/**
* 顶级部门ID
*/
private Long topNodeId;
/**
* 层级信息
*/
private String path;
/**
* 状态
*/
private Integer status;
/**
* 扩展信息
*/
private String extra;
/**
* 创建人自然人ID
*/
private Long createBy;
/**
* 创建时间
*/
private Date createAt;
/**
* 计算pathtopNodeId等信息
*
* @param parentNode 父节点
*/
public void calcPath(OrganizationalNode parentNode) {
if (Objects.equals(this.getParentId(), 0L)) {
this.topNodeId = id;
this.path = id + ",";
return;
}
Assert.notNull(parentNode, "重置路径时,父节点不能为空");
this.topNodeId = parentNode.getTopNodeId();
this.path = parentNode.path + id + ",";
}
}

View File

@ -0,0 +1,14 @@
package cn.axzo.orgmanax.domain.node.gateway;
import cn.axzo.orgmanax.domain.node.entity.OrganizationalNode;
/**
* @author tanjie@axzo.cn
* @date 2024/12/2 18:21
*/
public interface NodeUpsertGateway {
OrganizationalNode create(OrganizationalNode node);
OrganizationalNode update(OrganizationalNode node);
}

View File

@ -22,22 +22,22 @@
<artifactId>orgmanax-domain</artifactId>
<version>${project.version}</version>
</dependency>
<!-- rocket相关的包 -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
</dependency>
<!-- rocket相关的包 -->
<!-- rocket相关的包 -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
</dependency>
<!-- rocket相关的包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
</dependency>
<!-- TODO 根据项目需要, 使用不同的组件-->
<!---->
@ -64,10 +64,23 @@
<artifactId>unittest-support-lib</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>6.6</version>
</dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>6.6</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -14,7 +14,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
@Slf4j
@EnableTransactionManagement
@MapperScan("cn.axzo.**.mapper")
@MapperScan("cn.axzo.orgmanax.**.mapper")
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {

View File

@ -18,7 +18,7 @@ import org.springframework.stereotype.Component;
*/
@Slf4j
public class RocketMQEventConfig {
public static final String DEFAULT_MODULE = "archetype-server";
public static final String DEFAULT_MODULE = "orgmanax-server";
@Value("topic_${spring.application.name}_${spring.profiles.active}")
private String currentTopic;

View File

@ -0,0 +1,20 @@
package cn.axzo.orgmanax.infra.dao.node.convert;
import cn.axzo.orgmanax.domain.node.entity.OrganizationalNode;
import cn.axzo.orgmanax.infra.dao.node.entity.OrganizationalNodeDo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
* @author tanjie@axzo.cn
* @date 2024/12/2 18:13
*/
@Mapper
public interface NodeInfraConvert {
NodeInfraConvert INSTANCE = Mappers.getMapper(NodeInfraConvert.class);
OrganizationalNode toDomain(OrganizationalNodeDo doo);
OrganizationalNodeDo toEntity(OrganizationalNode doo);
}

View File

@ -0,0 +1,21 @@
package cn.axzo.orgmanax.infra.dao.node.dao;
import cn.axzo.orgmanax.domain.node.entity.OrganizationalNode;
import cn.axzo.orgmanax.infra.dao.node.convert.NodeInfraConvert;
import cn.axzo.orgmanax.infra.dao.node.entity.OrganizationalNodeDo;
import cn.axzo.orgmanax.infra.dao.node.mapper.OrganizationalNodeMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Repository;
/**
* @author tanjie@axzo.cn
* @date 2024/12/2 18:10
*/
@Repository
public class NodeDao extends ServiceImpl<OrganizationalNodeMapper, OrganizationalNodeDo> {
public OrganizationalNode findById(Long id) {
return NodeInfraConvert.INSTANCE.toDomain(getById(id));
}
}

View File

@ -0,0 +1,37 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package cn.axzo.orgmanax.infra.dao.node.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NonNull;
import java.io.Serializable;
import java.util.Date;
@Data
public abstract class BaseEntity<T extends Model<T>> extends Model<T> implements Serializable {
@TableId(
type = IdType.AUTO
)
protected Long id;
@TableField(
fill = FieldFill.INSERT
)
protected Date createAt;
@TableField(
fill = FieldFill.UPDATE
)
protected Date updateAt;
@TableField("is_delete")
protected Long isDelete = 0L;
}

View File

@ -0,0 +1,127 @@
package cn.axzo.orgmanax.infra.dao.node.entity;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import lombok.*;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* 组织节点表表实体类
*
* @author makejava
* @since 2022-06-05 10:59:31
*/
@TableName(value = "organizational_node", autoResultMap = true)
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class OrganizationalNodeDo extends BaseEntity<OrganizationalNodeDo> implements Serializable {
private static final long serialVersionUID = -14708237380609631L;
/**
* 上级id,为0时为顶级节点
*/
@TableField("parent_id")
private Long parentId;
/**
* 单位id
*/
@TableField("organizational_unit_id")
private Long organizationalUnitId;
/**
* 节点类型 1.部门 2.班组 3.小组
*/
@TableField("node_type")
private Integer nodeType;
/**
* 节点名称
*/
@TableField("node_name")
private String nodeName;
/**
* 层级路由
*/
@TableField("path")
private String path;
/**
* 扩展字段
*/
@TableField(value = "extra", typeHandler = FastjsonTypeHandler.class)
private JSONObject extra;
/**
* 排序
*/
@TableField("sort")
private Integer sort;
/**
* 节点描述
*/
@TableField("remark")
private String remark;
/**
* 迁移数据原始id
*/
@TableField("temp_transfer_id")
private Long tempTransferId;
/**
* 顶级节点的nodeId
*/
@TableField("top_node_id")
private Long topNodeId;
/**
* 节点状态 1-正常 0-停用
**/
@TableField("node_state")
private Integer nodeState;
/**
* 节点同步状态 1-正常 0-停用
**/
@TableField("sync_state")
private Integer syncState;
/**
* 节点扩展类型 1-正常 2-隐藏
**/
@TableField("ext_type")
private Integer extType;
/**
* 节点同步ID
**/
@TableField("sync_data_id")
private Long syncDataId;
/**
* 节点信息json不同的节点类型格式不一如班组节点的解散状态等
*/
@TableField(value = "profile", typeHandler = FastjsonTypeHandler.class)
private JSONObject profile;
/**
* 获取主键值
*
* @return 主键值
*/
@Override
protected Serializable pkVal() {
return this.id;
}
}

View File

@ -0,0 +1,11 @@
package cn.axzo.orgmanax.infra.dao.node.gateway;
import cn.axzo.orgmanax.domain.node.entity.OrganizationalNode;
/**
* @author tanjie@axzo.cn
* @date 2024/12/2 18:00
*/
public interface NodeQueryGateway {
OrganizationalNode findById(Long id);
}

View File

@ -0,0 +1,22 @@
package cn.axzo.orgmanax.infra.dao.node.gateway.impl;
import cn.axzo.orgmanax.domain.node.entity.OrganizationalNode;
import cn.axzo.orgmanax.infra.dao.node.dao.NodeDao;
import cn.axzo.orgmanax.infra.dao.node.gateway.NodeQueryGateway;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* @author tanjie@axzo.cn
* @date 2024/12/2 18:05
*/
@Service
@RequiredArgsConstructor
public class NodeQueryGatewayImpl implements NodeQueryGateway {
private final NodeDao nodeDao;
@Override
public OrganizationalNode findById(Long id) {
return nodeDao.findById(id);
}
}

View File

@ -0,0 +1,35 @@
package cn.axzo.orgmanax.infra.dao.node.gateway.impl;
import cn.axzo.orgmanax.domain.node.entity.OrganizationalNode;
import cn.axzo.orgmanax.domain.node.gateway.NodeUpsertGateway;
import cn.axzo.orgmanax.infra.dao.node.convert.NodeInfraConvert;
import cn.axzo.orgmanax.infra.dao.node.dao.NodeDao;
import cn.axzo.orgmanax.infra.dao.node.entity.OrganizationalNodeDo;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Repository;
/**
* @author tanjie@axzo.cn
* @date 2024/12/2 18:22
*/
@Repository
@RequiredArgsConstructor
public class NodeUpsertGatewayImpl implements NodeUpsertGateway {
private final NodeDao nodeDao;
@Override
public OrganizationalNode create(OrganizationalNode node) {
OrganizationalNodeDo nodeEntity = NodeInfraConvert.INSTANCE.toEntity(node);
nodeDao.save(nodeEntity);
node.setId(nodeEntity.getId());
return node;
}
@Override
public OrganizationalNode update(OrganizationalNode node) {
OrganizationalNodeDo nodeEntity = NodeInfraConvert.INSTANCE.toEntity(node);
nodeDao.updateById(nodeEntity);
return node;
}
}

View File

@ -0,0 +1,19 @@
package cn.axzo.orgmanax.infra.dao.node.mapper;
import cn.axzo.orgmanax.infra.dao.node.entity.OrganizationalNodeDo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* 组织节点表表数据库访问层
*
* @author makejava
* @since 2022-05-21 18:53:19
*/
@Mapper
public interface OrganizationalNodeMapper extends BaseMapper<OrganizationalNodeDo> {
}

View File

@ -18,6 +18,7 @@
</properties>
<dependencies>
<!--内部依赖-->
<dependency>
<groupId>cn.axzo.orgmanax</groupId>
<artifactId>orgmanax-domain</artifactId>
@ -29,7 +30,12 @@
<artifactId>orgmanax-infra</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>cn.axzo.orgmanax</groupId>
<artifactId>orgmanax-api</artifactId>
<version>${project.version}</version>
</dependency>
<!---->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>

View File

@ -6,13 +6,18 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.env.Environment;
import static cn.axzo.orgmanax.server.OrgmanaxApplication.DEFAULT_DIR;
/**
* @author tanjie@axzo.cn
* @date 2024/11/28 15:54
*/
@SpringBootApplication
@SpringBootApplication(scanBasePackages = DEFAULT_DIR)
@Slf4j
public class OrgmanaxApplication {
public static final String DEFAULT_DIR = "cn.axzo.orgmanax";
public static void main(String[] args) {
ConfigurableApplicationContext run = SpringApplication.run(OrgmanaxApplication.class, args);
Environment env = run.getEnvironment();

View File

@ -0,0 +1,34 @@
package cn.axzo.orgmanax.server.controller.node;
import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.orgmanax.api.node.feign.basic.OrganizationalNodeBasicApi;
import cn.axzo.orgmanax.api.node.req.OrganizationalNodeCreateReq;
import cn.axzo.orgmanax.api.node.resp.OrganizationalNodeInfoResp;
import cn.axzo.orgmanax.server.service.node.NodeBasicService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author tanjie@axzo.cn
* @date 2024/12/2 16:47
*/
@RestController
@RequestMapping
@RequiredArgsConstructor
public class OrganizationalNodeBasicController implements OrganizationalNodeBasicApi {
private final NodeBasicService nodeBasicService;
/**
* 创建部门
* @param organizationalNodeCreateReq 创建部门参数
* @return
*/
@Override
public ApiResult<OrganizationalNodeInfoResp> create(OrganizationalNodeCreateReq organizationalNodeCreateReq) {
return ApiResult.ok(nodeBasicService.create(organizationalNodeCreateReq));
}
}

View File

@ -0,0 +1,54 @@
package cn.axzo.orgmanax.server.service.node;
import cn.axzo.orgmanax.api.node.req.OrganizationalNodeCreateReq;
import cn.axzo.orgmanax.api.node.resp.OrganizationalNodeInfoResp;
import cn.axzo.orgmanax.domain.node.entity.OrganizationalNode;
import cn.axzo.orgmanax.domain.node.gateway.NodeUpsertGateway;
import cn.axzo.orgmanax.infra.dao.node.gateway.NodeQueryGateway;
import cn.axzo.orgmanax.server.service.node.convert.NodeConvert;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* @author tanjie@axzo.cn
* @date 2024/12/2 16:55
*/
@Service
@RequiredArgsConstructor
public class NodeBasicService {
private final NodeQueryGateway nodeQueryGateway;
private final NodeUpsertGateway nodeUpsertGateway;
/**
* 创建部门
*
* @param organizationalNodeCreateReq 创建部门参数
* @return
*/
@Transactional
public OrganizationalNodeInfoResp create(OrganizationalNodeCreateReq organizationalNodeCreateReq) {
OrganizationalNode node = NodeConvert.INSTANCE.toNode(organizationalNodeCreateReq);
// 业务校验
// 持久化
nodeUpsertGateway.create(node);
// 获取上级节点为了重新计算pathtopNodeId等数据
OrganizationalNode parentNode = nodeQueryGateway.findById(node.getParentId());
// 重新计算pathtopNodeId等数据 未来也可以添加workspaceId等信息
node.calcPath(parentNode);
//更新数据
nodeUpsertGateway.update(node);
// 发送消息
// 返回结果
return null;
}
}

View File

@ -0,0 +1,18 @@
package cn.axzo.orgmanax.server.service.node.convert;
import cn.axzo.orgmanax.api.node.req.OrganizationalNodeCreateReq;
import cn.axzo.orgmanax.domain.node.entity.OrganizationalNode;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
* @author tanjie@axzo.cn
* @date 2024/12/2 17:26
*/
@Mapper
public interface NodeConvert {
NodeConvert INSTANCE = Mappers.getMapper(NodeConvert.class);
OrganizationalNode toNode(OrganizationalNodeCreateReq req);
}

25
pom.xml
View File

@ -13,16 +13,33 @@
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<revision>2.0.0-SNAPSHOT</revision>
<!-- 2nd dependencies -->
<foundation-support-lib>2.0.0-SNAPSHOT</foundation-support-lib>
<spring-cloud-starter-alibaba-nacos.version>2021.1</spring-cloud-starter-alibaba-nacos.version>
<spring-cloud-starter-bootstrap.version>3.0.6</spring-cloud-starter-bootstrap.version>
<mybatis-plus.version>3.5.6</mybatis-plus.version>
<rocket-mq.version>2.2.3</rocket-mq.version>
<revision>2.0.0-SNAPSHOT</revision>
<axzo-bom.version>2.0.0-SNAPSHOT</axzo-bom.version>
<axzo-dependencies.version>2.0.0-SNAPSHOT</axzo-dependencies.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- 导入axzo通用api依赖 -->
<dependency>
<groupId>cn.axzo.infra</groupId>
<artifactId>axzo-bom</artifactId>
<version>${axzo-bom.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>cn.axzo.infra</groupId>
<artifactId>axzo-dependencies</artifactId>
<version>${axzo-dependencies.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
@ -48,11 +65,7 @@
<artifactId>event-support-lib</artifactId>
<version>${foundation-support-lib}</version>
</dependency>
<dependency>
<groupId>cn.axzo.foundation</groupId>
<artifactId>redis-support-lib</artifactId>
<version>${foundation-support-lib}</version>
</dependency>
<dependency>
<groupId>cn.axzo.foundation</groupId>
<artifactId>unittest-support-lib</artifactId>