commit:1.5多应用版本

This commit is contained in:
Jerry
2021-03-31 09:43:36 +08:00
parent 060cb450be
commit 71d07cefb3
1343 changed files with 11695 additions and 71470 deletions

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<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">
<parent>
<groupId>com.orange.demo</groupId>
<artifactId>upms</artifactId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>upms-api</artifactId>
<version>1.0.0</version>
<name>upms-api</name>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.orange.demo</groupId>
<artifactId>common-core</artifactId>
<version>1.0.0</version>
</dependency>
<!-- 通用业务依赖 -->
<dependency>
<groupId>com.orange.demo</groupId>
<artifactId>application-common</artifactId>
<version>1.0.0</version>
</dependency>
<!-- knife4j 接口文档框架 -->
<dependency>
<groupId>com.orange.demo</groupId>
<artifactId>common-swagger</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,156 @@
package com.orange.demo.upmsapi.client;
import com.orange.demo.common.core.base.client.BaseFallbackFactory;
import com.orange.demo.common.core.config.FeignConfig;
import com.orange.demo.common.core.base.client.BaseClient;
import com.orange.demo.common.core.object.*;
import com.orange.demo.upmsapi.dto.SysUserDto;
import com.orange.demo.upmsapi.vo.SysUserVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
import java.util.*;
/**
* 用户管理服务远程数据操作访问接口。
*
* @author Jerry
* @date 2020-08-08
*/
@FeignClient(
name = "upms",
configuration = FeignConfig.class,
fallbackFactory = SysUserClient.SysUserClientFallbackFactory.class)
public interface SysUserClient extends BaseClient<SysUserDto, SysUserVo, Long> {
/**
* 基于主键的(In-list)条件获取远程数据接口。
*
* @param userIds 主键Id集合。
* @param withDict 是否包含字典关联。
* @return 应答结果对象,包含主对象的数据集合。
*/
@Override
@PostMapping("/sysUser/listByIds")
ResponseResult<List<SysUserVo>> listByIds(
@RequestParam("userIds") Set<Long> userIds,
@RequestParam("withDict") Boolean withDict);
/**
* 基于主键Id获取远程对象。
*
* @param userId 主键Id。
* @param withDict 是否包含字典关联。
* @return 应答结果对象,包含主对象数据。
*/
@Override
@PostMapping("/sysUser/getById")
ResponseResult<SysUserVo> getById(
@RequestParam("userId") Long userId,
@RequestParam("withDict") Boolean withDict);
/**
* 判断参数列表中指定的主键Id是否都存在。
*
* @param userIds 主键Id集合。
* @return 应答结果对象包含true全部存在否则false。
*/
@Override
@PostMapping("/sysUser/existIds")
ResponseResult<Boolean> existIds(@RequestParam("userIds") Set<Long> userIds);
/**
* 判断主键Id是否存在。
*
* @param userId 参数主键Id。
* @return 应答结果对象包含true表示存在否则false。
*/
@Override
@PostMapping("/sysUser/existId")
ResponseResult<Boolean> existId(@RequestParam("userId") Long userId);
/**
* 删除主键Id关联的对象。
*
* @param userId 主键Id。
* @return 应答结果对象。
*/
@Override
@PostMapping("/sysUser/deleteById")
ResponseResult<Integer> deleteById(@RequestParam("userId") Long userId);
/**
* 删除符合过滤条件的数据。
*
* @param filter 过滤对象。
* @return 应答结果对象,包含删除数量。
*/
@Override
@PostMapping("/sysUser/deleteBy")
ResponseResult<Integer> deleteBy(@RequestBody SysUserDto filter);
/**
* 获取远程主对象中符合查询条件的数据列表。
*
* @param queryParam 查询参数。
* @return 应答结果对象,包含实体对象集合。
*/
@Override
@PostMapping("/sysUser/listBy")
ResponseResult<MyPageData<SysUserVo>> listBy(@RequestBody MyQueryParam queryParam);
/**
* 获取远程主对象中符合查询条件的单条数据对象。
*
* @param queryParam 查询参数。
* @return 应答结果对象,包含实体对象。
*/
@Override
@PostMapping("/sysUser/getBy")
ResponseResult<SysUserVo> getBy(@RequestBody MyQueryParam queryParam);
/**
* 获取远程主对象中符合查询条件的数据列表。
* 和listBy接口相比以Map列表的方式返回的主要目的是降低服务之间的耦合度。
*
* @param queryParam 查询参数。
* @return 应答结果对象,包含主对象集合。
*/
@Override
@PostMapping("/sysUser/listMapBy")
ResponseResult<MyPageData<Map<String, Object>>> listMapBy(@RequestBody MyQueryParam queryParam);
/**
* 获取远程主对象中符合查询条件的数据数量。
*
* @param queryParam 查询参数。
* @return 应答结果对象,包含结果数量。
*/
@Override
@PostMapping("/sysUser/countBy")
ResponseResult<Integer> countBy(@RequestBody MyQueryParam queryParam);
/**
* 获取远程对象中符合查询条件的分组聚合计算Map列表。
*
* @param aggregationParam 聚合参数。
* @return 应该结果对象包含聚合计算后的分组Map列表。
*/
@Override
@PostMapping("/sysUser/aggregateBy")
ResponseResult<List<Map<String, Object>>> aggregateBy(@RequestBody MyAggregationParam aggregationParam);
@Component("UpmsSysUserClientFallbackFactory")
@Slf4j
class SysUserClientFallbackFactory
extends BaseFallbackFactory<SysUserDto, SysUserVo, Long, SysUserClient> implements SysUserClient {
@Override
public SysUserClient create(Throwable throwable) {
log.error("Exception For Feign Remote Call.", throwable);
return new SysUserClientFallbackFactory();
}
}
}

View File

@@ -0,0 +1,54 @@
package com.orange.demo.upmsapi.constant;
import java.util.HashMap;
import java.util.Map;
/**
* 菜单类型常量对象。
*
* @author Jerry
* @date 2020-08-08
*/
public final class SysMenuType {
/**
* 目录菜单。
*/
public static final int TYPE_DIRECTORY = 0;
/**
* 普通菜单。
*/
public static final int TYPE_MENU = 1;
/**
* 表单片段类型。
*/
public static final int TYPE_UI_FRAGMENT = 2;
/**
* 按钮类型。
*/
public static final int TYPE_BUTTON = 3;
private static final Map<Object, String> DICT_MAP = new HashMap<>(4);
static {
DICT_MAP.put(0, "目录菜单");
DICT_MAP.put(1, "普通菜单");
DICT_MAP.put(2, "表单片段类型");
DICT_MAP.put(3, "按钮类型");
}
/**
* 判断参数是否为当前常量字典的合法值。
*
* @param value 待验证的参数值。
* @return 合法返回true否则false。
*/
public static boolean isValid(Integer value) {
return value != null && DICT_MAP.containsKey(value);
}
/**
* 私有构造函数,明确标识该常量类的作用。
*/
private SysMenuType() {
}
}

View File

@@ -0,0 +1,49 @@
package com.orange.demo.upmsapi.constant;
import java.util.HashMap;
import java.util.Map;
/**
* 权限字类型常量对象。
*
* @author Jerry
* @date 2020-08-08
*/
public final class SysPermCodeType {
/**
* 表单权限字。
*/
public static final int TYPE_FORM = 0;
/**
* 表单片段布局权限字。
*/
public static final int TYPE_FRAGMENT = 1;
/**
* 操作权限字。
*/
public static final int TYPE_OPERATION = 2;
private static final Map<Object, String> DICT_MAP = new HashMap<>(3);
static {
DICT_MAP.put(0, "表单权限字");
DICT_MAP.put(1, "表单片段布局权限字");
DICT_MAP.put(2, "操作权限字");
}
/**
* 判断参数是否为当前常量字典的合法值。
*
* @param value 待验证的参数值。
* @return 合法返回true否则false。
*/
public static boolean isValid(Integer value) {
return value != null && DICT_MAP.containsKey(value);
}
/**
* 私有构造函数,明确标识该常量类的作用。
*/
private SysPermCodeType() {
}
}

View File

@@ -0,0 +1,44 @@
package com.orange.demo.upmsapi.constant;
import java.util.HashMap;
import java.util.Map;
/**
* 权限资源模块类型常量对象。
*
* @author Jerry
* @date 2020-08-08
*/
public final class SysPermModuleType {
/**
* 普通模块。
*/
public static final int TYPE_NORMAL = 0;
/**
* controller接口模块。
*/
public static final int TYPE_CONTROLLER = 1;
private static final Map<Object, String> DICT_MAP = new HashMap<>(2);
static {
DICT_MAP.put(0, "普通模块");
DICT_MAP.put(1, "controller接口模块");
}
/**
* 判断参数是否为当前常量字典的合法值。
*
* @param value 待验证的参数值。
* @return 合法返回true否则false。
*/
public static boolean isValid(Integer value) {
return value != null && DICT_MAP.containsKey(value);
}
/**
* 私有构造函数,明确标识该常量类的作用。
*/
private SysPermModuleType() {
}
}

View File

@@ -0,0 +1,44 @@
package com.orange.demo.upmsapi.constant;
import java.util.HashMap;
import java.util.Map;
/**
* 用户状态常量字典对象。
*
* @author Jerry
* @date 2020-08-08
*/
public final class SysUserStatus {
/**
* 正常状态。
*/
public static final int STATUS_NORMAL = 0;
/**
* 锁定状态。
*/
public static final int STATUS_LOCKED = 1;
private static final Map<Object, String> DICT_MAP = new HashMap<>(2);
static {
DICT_MAP.put(STATUS_NORMAL, "正常状态");
DICT_MAP.put(STATUS_LOCKED, "锁定状态");
}
/**
* 判断参数是否为当前常量字典的合法值。
*
* @param value 待验证的参数值。
* @return 合法返回true否则false。
*/
public static boolean isValid(Integer value) {
return value != null && DICT_MAP.containsKey(value);
}
/**
* 私有构造函数,明确标识该常量类的作用。
*/
private SysUserStatus() {
}
}

View File

@@ -0,0 +1,49 @@
package com.orange.demo.upmsapi.constant;
import java.util.HashMap;
import java.util.Map;
/**
* 用户类型常量字典对象。
*
* @author Jerry
* @date 2020-08-08
*/
public final class SysUserType {
/**
* 管理员。
*/
public static final int TYPE_ADMIN = 0;
/**
* 系统操作员。
*/
public static final int TYPE_SYSTEM = 1;
/**
* 普通操作员。
*/
public static final int TYPE_OPERATOR = 2;
private static final Map<Object, String> DICT_MAP = new HashMap<>(3);
static {
DICT_MAP.put(TYPE_ADMIN, "管理员");
DICT_MAP.put(TYPE_SYSTEM, "系统操作员");
DICT_MAP.put(TYPE_OPERATOR, "普通操作员");
}
/**
* 判断参数是否为当前常量字典的合法值。
*
* @param value 待验证的参数值。
* @return 合法返回true否则false。
*/
public static boolean isValid(Integer value) {
return value != null && DICT_MAP.containsKey(value);
}
/**
* 私有构造函数,明确标识该常量类的作用。
*/
private SysUserType() {
}
}

View File

@@ -0,0 +1,69 @@
package com.orange.demo.upmsapi.dto;
import com.orange.demo.common.core.validator.UpdateGroup;
import com.orange.demo.common.core.validator.ConstDictRef;
import com.orange.demo.upmsapi.constant.SysMenuType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 菜单Dto。
*
* @author Jerry
* @date 2020-08-08
*/
@ApiModel("菜单Dto")
@Data
public class SysMenuDto {
/**
* 菜单Id。
*/
@ApiModelProperty(value = "菜单Id", required = true)
@NotNull(message = "菜单Id不能为空", groups = {UpdateGroup.class})
private Long menuId;
/**
* 父菜单Id目录菜单的父菜单为null
*/
@ApiModelProperty(value = "父菜单Id")
private Long parentId;
/**
* 菜单显示名称。
*/
@ApiModelProperty(value = "菜单显示名称", required = true)
@NotBlank(message = "菜单显示名称不能为空!")
private String menuName;
/**
* 菜单类型 (0: 目录 1: 菜单 2: 按钮 3: UI片段)。
*/
@ApiModelProperty(value = "菜单类型", required = true)
@NotNull(message = "菜单类型不能为空!")
@ConstDictRef(constDictClass = SysMenuType.class, message = "数据验证失败,菜单类型为无效值!")
private Integer menuType;
/**
* 前端表单路由名称仅用于menu_type为1的菜单类型。
*/
@ApiModelProperty(value = "前端表单路由名称")
private String formRouterName;
/**
* 菜单显示顺序 (值越小,排序越靠前)。
*/
@ApiModelProperty(value = "菜单显示顺序", required = true)
@NotNull(message = "菜单显示顺序不能为空!")
private Integer showOrder;
/**
* 菜单图标。
*/
@ApiModelProperty(value = "菜单显示顺序")
private String icon;
}

View File

@@ -0,0 +1,64 @@
package com.orange.demo.upmsapi.dto;
import com.orange.demo.common.core.validator.ConstDictRef;
import com.orange.demo.common.core.validator.UpdateGroup;
import com.orange.demo.upmsapi.constant.SysPermCodeType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 权限字Dto。
*
* @author Jerry
* @date 2020-08-08
*/
@ApiModel("权限字Dto")
@Data
public class SysPermCodeDto {
/**
* 权限字Id。
*/
@ApiModelProperty(value = "权限字Id", required = true)
@NotNull(message = "权限字Id不能为空", groups = {UpdateGroup.class})
private Long permCodeId;
/**
* 权限字标识(一般为有含义的英文字符串)。
*/
@ApiModelProperty(value = "权限字标识", required = true)
@NotBlank(message = "权限字编码不能为空!")
private String permCode;
/**
* 上级权限字Id。
*/
@ApiModelProperty(value = "上级权限字Id")
private Long parentId;
/**
* 权限字类型(0: 表单 1: UI片段 2: 操作)。
*/
@ApiModelProperty(value = "权限字类型", required = true)
@NotNull(message = "权限字类型不能为空!")
@ConstDictRef(constDictClass = SysPermCodeType.class, message = "数据验证失败,权限类型为无效值!")
private Integer permCodeType;
/**
* 显示名称。
*/
@ApiModelProperty(value = "显示名称", required = true)
@NotBlank(message = "权限字显示名称不能为空!")
private String showName;
/**
* 显示顺序(数值越小,越靠前)。
*/
@ApiModelProperty(value = "显示顺序", required = true)
@NotNull(message = "权限字显示顺序不能为空!")
private Integer showOrder;
}

View File

@@ -0,0 +1,61 @@
package com.orange.demo.upmsapi.dto;
import com.orange.demo.common.core.validator.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 权限资源Dto。
*
* @author Jerry
* @date 2020-08-08
*/
@ApiModel("权限资源Dto")
@Data
public class SysPermDto {
/**
* 权限资源Id。
*/
@ApiModelProperty(value = "权限资源Id", required = true)
@NotNull(message = "权限Id不能为空", groups = {UpdateGroup.class})
private Long permId;
/**
* 权限资源名称。
*/
@ApiModelProperty(value = "权限资源名称", required = true)
@NotBlank(message = "权限资源名称不能为空!")
private String permName;
/**
* shiro格式的权限字如(upms:sysUser:add)。
*/
@ApiModelProperty(value = "权限字")
private String permCode;
/**
* 权限所在的权限模块Id。
*/
@ApiModelProperty(value = "权限所在的权限模块Id")
@NotNull(message = "权限模块Id不能为空")
private Long moduleId;
/**
* 关联的URL。
*/
@ApiModelProperty(value = "关联的URL", required = true)
@NotBlank(message = "权限关联的url不能为空")
private String url;
/**
* 权限在当前模块下的顺序,由小到大。
*/
@ApiModelProperty(value = "显示顺序", required = true)
@NotNull(message = "权限显示顺序不能为空!")
private Integer showOrder;
}

View File

@@ -0,0 +1,57 @@
package com.orange.demo.upmsapi.dto;
import com.orange.demo.common.core.validator.ConstDictRef;
import com.orange.demo.common.core.validator.UpdateGroup;
import com.orange.demo.upmsapi.constant.SysPermModuleType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 权限资源模块Dto。
*
* @author Jerry
* @date 2020-08-08
*/
@ApiModel("权限资源模块Dto")
@Data
public class SysPermModuleDto {
/**
* 权限模块Id。
*/
@ApiModelProperty(value = "权限模块Id", required = true)
@NotNull(message = "权限模块Id不能为空", groups = {UpdateGroup.class})
private Long moduleId;
/**
* 权限模块名称。
*/
@ApiModelProperty(value = "权限模块名称", required = true)
@NotBlank(message = "权限模块名称不能为空!")
private String moduleName;
/**
* 上级权限模块Id。
*/
@ApiModelProperty(value = "上级权限模块Id")
private Long parentId;
/**
* 权限模块类型(0: 普通模块 1: Controller模块)。
*/
@ApiModelProperty(value = "权限模块类型", required = true)
@NotNull(message = "模块类型不能为空!")
@ConstDictRef(constDictClass = SysPermModuleType.class, message = "数据验证失败,权限模块类型为无效值!")
private Integer moduleType;
/**
* 权限模块在当前层级下的顺序,由小到大。
*/
@ApiModelProperty(value = "显示顺序", required = true)
@NotNull(message = "权限模块显示顺序不能为空!")
private Integer showOrder;
}

View File

@@ -0,0 +1,33 @@
package com.orange.demo.upmsapi.dto;
import com.orange.demo.common.core.validator.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.*;
/**
* 角色Dto。
*
* @author Jerry
* @date 2020-08-08
*/
@ApiModel("角色Dto")
@Data
public class SysRoleDto {
/**
* 角色Id。
*/
@ApiModelProperty(value = "角色Id", required = true)
@NotNull(message = "角色Id不能为空", groups = {UpdateGroup.class})
private Long roleId;
/**
* 角色名称。
*/
@ApiModelProperty(value = "角色名称", required = true)
@NotBlank(message = "角色名称不能为空!")
private String roleName;
}

View File

@@ -0,0 +1,86 @@
package com.orange.demo.upmsapi.dto;
import com.orange.demo.common.core.validator.AddGroup;
import com.orange.demo.common.core.validator.UpdateGroup;
import com.orange.demo.common.core.validator.ConstDictRef;
import com.orange.demo.upmsapi.constant.SysUserType;
import com.orange.demo.upmsapi.constant.SysUserStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.*;
/**
* SysUserDto对象。
*
* @author Jerry
* @date 2020-08-08
*/
@ApiModel("SysUserDto对象")
@Data
public class SysUserDto {
/**
* 用户Id。
*/
@ApiModelProperty(value = "用户Id", required = true)
@NotNull(message = "数据验证失败用户Id不能为空", groups = {UpdateGroup.class})
private Long userId;
/**
* 登录用户名。
*/
@ApiModelProperty(value = "登录用户名", required = true)
@NotBlank(message = "数据验证失败,登录用户名不能为空!")
private String loginName;
/**
* 用户密码。
*/
@ApiModelProperty(value = "用户密码", required = true)
@NotBlank(message = "数据验证失败,用户密码不能为空!", groups = {AddGroup.class})
private String password;
/**
* 用户显示名称。
*/
@ApiModelProperty(value = "用户显示名称", required = true)
@NotBlank(message = "数据验证失败,用户显示名称不能为空!")
private String showName;
/**
* 用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)。
*/
@ApiModelProperty(value = "用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)", required = true)
@NotNull(message = "数据验证失败,用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)不能为空!")
@ConstDictRef(constDictClass = SysUserType.class, message = "数据验证失败,用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)为无效值!")
private Integer userType;
/**
* 用户头像的Url。
*/
@ApiModelProperty(value = "用户头像的Url")
private String headImageUrl;
/**
* 用户状态(0: 正常 1: 锁定)。
*/
@ApiModelProperty(value = "用户状态(0: 正常 1: 锁定)", required = true)
@NotNull(message = "数据验证失败,用户状态(0: 正常 1: 锁定)不能为空!")
@ConstDictRef(constDictClass = SysUserStatus.class, message = "数据验证失败,用户状态(0: 正常 1: 锁定)为无效值!")
private Integer userStatus;
/**
* createTime 范围过滤起始值(>=)。
*/
@ApiModelProperty(value = "createTime 范围过滤起始值(>=)")
private String createTimeStart;
/**
* createTime 范围过滤结束值(<=)。
*/
@ApiModelProperty(value = "createTime 范围过滤结束值(<=)")
private String createTimeEnd;
}

View File

@@ -0,0 +1,90 @@
package com.orange.demo.upmsapi.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.*;
/**
* 菜单VO。
*
* @author Jerry
* @date 2020-08-08
*/
@ApiModel("菜单VO")
@Data
public class SysMenuVo {
/**
* 菜单Id。
*/
@ApiModelProperty(value = "菜单Id")
private Long menuId;
/**
* 父菜单Id目录菜单的父菜单为null
*/
@ApiModelProperty(value = "父菜单Id")
private Long parentId;
/**
* 菜单显示名称。
*/
@ApiModelProperty(value = "菜单显示名称")
private String menuName;
/**
* 菜单类型 (0: 目录 1: 菜单 2: 按钮 3: UI片段)。
*/
@ApiModelProperty(value = "菜单类型")
private Integer menuType;
/**
* 前端表单路由名称仅用于menu_type为1的菜单类型。
*/
@ApiModelProperty(value = "前端表单路由名称")
private String formRouterName;
/**
* 菜单显示顺序 (值越小,排序越靠前)。
*/
@ApiModelProperty(value = "菜单显示顺序")
private Integer showOrder;
/**
* 菜单图标。
*/
@ApiModelProperty(value = "菜单显示顺序")
private String icon;
/**
* 创建者Id。
*/
@ApiModelProperty(value = "创建者Id")
private Long createUserId;
/**
* 创建时间。
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新者Id。
*/
@ApiModelProperty(value = "更新者Id")
private Long updateUserId;
/**
* 更新时间。
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 菜单与权限字关联对象列表。
*/
@ApiModelProperty(value = "菜单与权限字关联对象列表")
private List<Map<String, Object>> sysMenuPermCodeList;
}

View File

@@ -0,0 +1,84 @@
package com.orange.demo.upmsapi.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.*;
/**
* 权限字VO。
*
* @author Jerry
* @date 2020-08-08
*/
@ApiModel("权限字VO")
@Data
public class SysPermCodeVo {
/**
* 权限字Id。
*/
@ApiModelProperty(value = "权限字Id")
private Long permCodeId;
/**
* 权限字标识(一般为有含义的英文字符串)。
*/
@ApiModelProperty(value = "权限字标识")
private String permCode;
/**
* 上级权限字Id。
*/
@ApiModelProperty(value = "上级权限字Id")
private Long parentId;
/**
* 权限字类型(0: 表单 1: UI片段 2: 操作)。
*/
@ApiModelProperty(value = "权限字类型")
private Integer permCodeType;
/**
* 显示名称。
*/
@ApiModelProperty(value = "显示名称")
private String showName;
/**
* 显示顺序(数值越小,越靠前)。
*/
@ApiModelProperty(value = "显示顺序")
private Integer showOrder;
/**
* 创建者Id。
*/
@ApiModelProperty(value = "创建者Id")
private Long createUserId;
/**
* 创建时间。
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新者Id。
*/
@ApiModelProperty(value = "更新者Id")
private Long updateUserId;
/**
* 更新时间。
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 权限字与权限资源关联对象列表。
*/
@ApiModelProperty(value = "权限字与权限资源关联对象列表")
private List<Map<String, Object>> sysPermCodePermList;
}

View File

@@ -0,0 +1,78 @@
package com.orange.demo.upmsapi.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.*;
/**
* 权限资源模块VO。
*
* @author Jerry
* @date 2020-08-08
*/
@ApiModel("权限资源模块VO")
@Data
public class SysPermModuleVo {
/**
* 权限模块Id。
*/
@ApiModelProperty(value = "权限模块Id")
private Long moduleId;
/**
* 权限模块名称。
*/
@ApiModelProperty(value = "权限模块名称")
private String moduleName;
/**
* 上级权限模块Id。
*/
@ApiModelProperty(value = "上级权限模块Id")
private Long parentId;
/**
* 权限模块类型(0: 普通模块 1: Controller模块)。
*/
@ApiModelProperty(value = "权限模块类型")
private Integer moduleType;
/**
* 权限模块在当前层级下的顺序,由小到大。
*/
@ApiModelProperty(value = "显示顺序")
private Integer showOrder;
/**
* 创建者Id。
*/
@ApiModelProperty(value = "创建者Id")
private Long createUserId;
/**
* 创建时间。
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新者Id。
*/
@ApiModelProperty(value = "更新者Id")
private Long updateUserId;
/**
* 更新时间。
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 权限资源对象列表。
*/
@ApiModelProperty(value = "权限资源对象列表")
private List<SysPermVo> sysPermList;
}

View File

@@ -0,0 +1,84 @@
package com.orange.demo.upmsapi.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.*;
/**
* 权限资源VO。
*
* @author Jerry
* @date 2020-08-08
*/
@ApiModel("权限资源VO")
@Data
public class SysPermVo {
/**
* 权限资源Id。
*/
@ApiModelProperty(value = "权限资源Id")
private Long permId;
/**
* 权限资源名称。
*/
@ApiModelProperty(value = "权限资源名称")
private String permName;
/**
* shiro格式的权限字如(upms:sysUser:add)。
*/
@ApiModelProperty(value = "权限字")
private String permCode;
/**
* 权限所在的权限模块Id。
*/
@ApiModelProperty(value = "权限所在的权限模块Id")
private Long moduleId;
/**
* 关联的URL。
*/
@ApiModelProperty(value = "关联的URL")
private String url;
/**
* 权限在当前模块下的顺序,由小到大。
*/
@ApiModelProperty(value = "显示顺序")
private Integer showOrder;
/**
* 创建者Id。
*/
@ApiModelProperty(value = "创建者Id")
private Long createUserId;
/**
* 创建时间。
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新者Id。
*/
@ApiModelProperty(value = "更新者Id")
private Long updateUserId;
/**
* 更新时间。
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 模块Id的字典关联数据。
*/
@ApiModelProperty(value = "模块Id的字典关联数据")
private Map<String, Object> moduleIdDictMap;
}

View File

@@ -0,0 +1,60 @@
package com.orange.demo.upmsapi.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.*;
/**
* 角色VO。
*
* @author Jerry
* @date 2020-08-08
*/
@ApiModel("角色VO")
@Data
public class SysRoleVo {
/**
* 角色Id。
*/
@ApiModelProperty(value = "角色Id")
private Long roleId;
/**
* 角色名称。
*/
@ApiModelProperty(value = "角色名称")
private String roleName;
/**
* 创建者Id。
*/
@ApiModelProperty(value = "创建者Id")
private Long createUserId;
/**
* 创建时间。
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新者Id。
*/
@ApiModelProperty(value = "更新者Id")
private Long updateUserId;
/**
* 更新时间。
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 角色与菜单关联对象列表。
*/
@ApiModelProperty(value = "角色与菜单关联对象列表")
private List<Map<String, Object>> sysRoleMenuList;
}

View File

@@ -0,0 +1,98 @@
package com.orange.demo.upmsapi.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.Map;
import java.util.List;
/**
* SysUserVO对象。
*
* @author Jerry
* @date 2020-08-08
*/
@ApiModel("SysUserVO实体对象")
@Data
public class SysUserVo {
/**
* 用户Id。
*/
@ApiModelProperty(value = "用户Id")
private Long userId;
/**
* 登录用户名。
*/
@ApiModelProperty(value = "登录用户名")
private String loginName;
/**
* 用户显示名称。
*/
@ApiModelProperty(value = "用户显示名称")
private String showName;
/**
* 用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)。
*/
@ApiModelProperty(value = "用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)")
private Integer userType;
/**
* 用户头像的Url。
*/
@ApiModelProperty(value = "用户头像的Url")
private String headImageUrl;
/**
* 用户状态(0: 正常 1: 锁定)。
*/
@ApiModelProperty(value = "用户状态(0: 正常 1: 锁定)")
private Integer userStatus;
/**
* 创建用户Id。
*/
@ApiModelProperty(value = "创建用户Id")
private Long createUserId;
/**
* 更新者Id。
*/
@ApiModelProperty(value = "更新者Id")
private Long updateUserId;
/**
* 创建时间。
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间。
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 多对多用户角色数据集合。
*/
@ApiModelProperty(value = "多对多用户角色数据集合")
private List<Map<String, Object>> sysUserRoleList;
/**
* userType 常量字典关联数据。
*/
@ApiModelProperty(value = "userType 常量字典关联数据")
private Map<String, Object> userTypeDictMap;
/**
* userStatus 常量字典关联数据。
*/
@ApiModelProperty(value = "userStatus 常量字典关联数据")
private Map<String, Object> userStatusDictMap;
}

View File

@@ -0,0 +1,278 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
</facet>
<facet type="web" name="Web">
<configuration>
<webroots />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="common-core" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.10.2" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.10.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.31" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.31" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.31" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.18.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:28.2-android" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:failureaccess:1.0.1" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" level="project" />
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" />
<orderEntry type="library" name="Maven: org.checkerframework:checker-compat-qual:2.5.5" level="project" />
<orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.3.4" level="project" />
<orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.9" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.13" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.6" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" />
<orderEntry type="library" name="Maven: joda-time:joda-time:2.10.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-csv:1.8" level="project" />
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.4.5" level="project" />
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt:0.9.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.2" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.74" level="project" />
<orderEntry type="library" name="Maven: com.github.ben-manes.caffeine:caffeine:2.8.1" level="project" />
<orderEntry type="library" name="Maven: org.checkerframework:checker-qual:3.1.0" level="project" />
<orderEntry type="library" name="Maven: cn.jimmyshi:bean-query:1.1.5" level="project" />
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-all:1.3" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.3" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.30" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.17" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi:3.17" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.17" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0" level="project" />
<orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
<orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.04" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:8.0.19" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.1.22" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid:1.1.22" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: tk.mybatis:mapper-spring-boot-starter:2.1.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.6" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.2" level="project" />
<orderEntry type="library" name="Maven: tk.mybatis:mapper-core:1.1.5" level="project" />
<orderEntry type="library" name="Maven: javax.persistence:persistence-api:1.0" level="project" />
<orderEntry type="library" name="Maven: tk.mybatis:mapper-base:1.1.5" level="project" />
<orderEntry type="library" name="Maven: tk.mybatis:mapper-weekend:1.1.5" level="project" />
<orderEntry type="library" name="Maven: tk.mybatis:mapper-spring:1.1.5" level="project" />
<orderEntry type="library" name="Maven: tk.mybatis:mapper-extra:1.1.5" level="project" />
<orderEntry type="library" name="Maven: tk.mybatis:mapper-spring-boot-autoconfigure:2.1.5" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.3.0" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.3" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.1.3" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.3.0" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.2.0" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:3.2" level="project" />
<orderEntry type="module" module-name="application-common" />
<orderEntry type="module" module-name="common-swagger" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-micro-spring-boot-starter:2.0.5" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring-boot-autoconfigure:2.0.5" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring:2.0.5" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-annotations:2.0.5" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-core:2.0.5" level="project" />
<orderEntry type="library" name="Maven: org.javassist:javassist:3.25.0-GA" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.22" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.22" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.9.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-bean-validators:2.9.2" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:2.2.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-client:1.2.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-common:1.2.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-api:1.2.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.2" level="project" />
<orderEntry type="library" name="Maven: io.prometheus:simpleclient:0.5.0" level="project" />
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.25" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.spring:spring-context-support:1.0.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:2.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:2.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-ribbon:2.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon:2.3.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.ribbon:ribbon-transport:2.3.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-contexts:0.4.9" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-servo:0.4.9" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: javax.inject:javax.inject:1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty:0.4.9" level="project" />
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-core:2.3.0" level="project" />
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-httpclient:2.3.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-client:1.19.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-core:1.19.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: javax.ws.rs:jsr311-api:1.1.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey.contribs:jersey-apache-client4:1.19.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.servo:servo-core:0.12.21" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-commons-util:0.3.0" level="project" />
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-loadbalancer:2.3.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-statistics:0.1.1" level="project" />
<orderEntry type="library" name="Maven: io.reactivex:rxjava:1.3.8" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-sentinel:2.2.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-transport-simple-http:1.7.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-transport-common:1.7.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-annotation-aspectj:1.7.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-core:1.7.1" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjrt:1.9.5" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-circuitbreaker-sentinel:2.2.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-reactor-adapter:1.7.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-spring-webflux-adapter:1.7.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-spring-webmvc-adapter:1.7.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-parameter-flow-control:1.7.1" level="project" />
<orderEntry type="library" name="Maven: com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.4.2" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-cluster-server-default:1.7.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-cluster-common-default:1.7.1" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.45.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.45.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.45.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.45.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.45.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.45.Final" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-cluster-client-default:1.7.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-alibaba-sentinel-datasource:2.2.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.10.2" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.10.2" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.10.2" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.woodstox:stax2-api:4.2" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.woodstox:woodstox-core:5.0.3" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-datasource-nacos:1.7.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-datasource-extension:1.7.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-freemarker:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
<orderEntry type="library" name="Maven: org.freemarker:freemarker:2.3.29" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:4.0.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-log4j2:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-slf4j-impl:2.12.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.12.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-core:2.12.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-jul:2.12.1" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-configuration-processor:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-actuator:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:2.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.10.2" level="project" />
<orderEntry type="library" name="Maven: io.micrometer:micrometer-core:1.3.5" level="project" />
<orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.11" level="project" />
<orderEntry type="library" name="Maven: org.latencyutils:LatencyUtils:2.0.3" level="project" />
<orderEntry type="library" name="Maven: de.codecentric:spring-boot-admin-starter-client:2.2.3" level="project" />
<orderEntry type="library" name="Maven: de.codecentric:spring-boot-admin-client:2.2.3" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config:2.2.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-openfeign:2.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:2.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.9.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.59" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.59" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-openfeign-core:2.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-core:10.7.4" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-slf4j:10.7.4" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-hystrix:10.7.4" level="project" />
<orderEntry type="library" name="Maven: com.netflix.archaius:archaius-core:0.7.6" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-httpclient:10.7.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.11" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.13" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-hystrix:2.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-hystrix:2.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-ribbon:2.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-archaius:2.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-archaius:2.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.8" level="project" />
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-core:1.5.18" level="project" />
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-serialization:1.5.18" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.jackson.module:jackson-module-afterburner:2.10.2" level="project" />
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-metrics-event-stream:1.5.18" level="project" />
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-javanica:1.5.18" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
<orderEntry type="library" name="Maven: io.reactivex:rxjava-reactive-streams:1.2.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" />
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.3.1.Final" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.mapstruct:mapstruct-processor:1.3.1.Final" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.curator:curator-recipes:4.3.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.curator:curator-framework:4.0.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.curator:curator-client:4.0.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.zookeeper:zookeeper:3.5.3-beta" level="project" />
<orderEntry type="library" name="Maven: commons-cli:commons-cli:1.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.kafka:kafka-clients:2.4.0" level="project" />
<orderEntry type="library" name="Maven: com.github.luben:zstd-jni:1.4.3-1" level="project" />
<orderEntry type="library" name="Maven: org.lz4:lz4-java:1.6.0" level="project" />
<orderEntry type="library" name="Maven: org.xerial.snappy:snappy-java:1.1.7.3" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
<orderEntry type="library" name="Maven: org.scala-lang:scala-library:2.12.10" level="project" />
<orderEntry type="library" name="Maven: com.lmax:disruptor:3.4.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.2.5.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.2.5.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.2.5.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
<orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.2" level="project" />
<orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.vintage:junit-vintage-engine:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:3.1.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.13.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:3.1.0" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.8" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.8" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.6" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.4.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.2.4.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.6.3" level="project" />
</component>
</module>