commit:集成knife4j

This commit is contained in:
Jerry
2020-10-29 18:51:32 +08:00
parent c87e94d2e8
commit 6e57f10dfc
648 changed files with 6447 additions and 708 deletions

View File

@@ -25,5 +25,11 @@
<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

@@ -17,7 +17,7 @@ import java.util.*;
* 用户管理服务远程数据操作访问接口。
*
* @author Jerry
* @date 2020-10-19
* @date 2020-08-08
*/
@FeignClient(
name = "upms",

View File

@@ -7,7 +7,7 @@ import java.util.Map;
* 菜单类型常量对象。
*
* @author Jerry
* @date 2020-10-19
* @date 2020-08-08
*/
public final class SysMenuType {

View File

@@ -7,7 +7,7 @@ import java.util.Map;
* 权限字类型常量对象。
*
* @author Jerry
* @date 2020-10-19
* @date 2020-08-08
*/
public final class SysPermCodeType {

View File

@@ -7,7 +7,7 @@ import java.util.Map;
* 权限资源模块类型常量对象。
*
* @author Jerry
* @date 2020-10-19
* @date 2020-08-08
*/
public final class SysPermModuleType {

View File

@@ -7,7 +7,7 @@ import java.util.Map;
* 用户状态常量字典对象。
*
* @author Jerry
* @date 2020-10-19
* @date 2020-08-08
*/
public final class SysUserStatus {

View File

@@ -7,7 +7,7 @@ import java.util.Map;
* 用户类型常量字典对象。
*
* @author Jerry
* @date 2020-10-19
* @date 2020-08-08
*/
public final class SysUserType {

View File

@@ -3,6 +3,8 @@ package com.orange.demo.upmsinterface.dto;
import com.orange.demo.common.core.validator.ConstDictRef;
import com.orange.demo.common.core.validator.UpdateGroup;
import com.orange.demo.upmsinterface.constant.SysMenuType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -15,31 +17,36 @@ import java.util.Map;
* 菜单Dto。
*
* @author Jerry
* @date 2020-10-19
* @date 2020-08-08
*/
@ApiModel("菜单Dto")
@Data
public class SysMenuDto {
/**
* 主键Id。
* 菜单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片段)。
* 菜单类型 (0: 目录 1: 菜单 2: 按钮 3: UI片段)。
*/
@ApiModelProperty(value = "菜单类型", required = true)
@NotNull(message = "菜单类型不能为空!")
@ConstDictRef(constDictClass = SysMenuType.class, message = "数据验证失败,菜单类型为无效值!")
private Integer menuType;
@@ -47,26 +54,31 @@ public class SysMenuDto {
/**
* 前端表单路由名称仅用于menu_type为1的菜单类型。
*/
@ApiModelProperty(value = "前端表单路由名称")
private String formRouterName;
/**
* 菜单显示顺序 (值越小,排序越靠前)。
*/
@ApiModelProperty(value = "菜单显示顺序", required = true)
@NotNull(message = "菜单显示顺序不能为空!")
private Integer showOrder;
/**
* 菜单图标。
*/
@ApiModelProperty(value = "菜单显示顺序")
private String icon;
/**
* 创建时间。
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 菜单与权限字关联对象列表。
*/
@ApiModelProperty(hidden = true)
private List<Map<String, Object>> sysMenuPermCodeList;
}

View File

@@ -3,6 +3,8 @@ package com.orange.demo.upmsinterface.dto;
import com.orange.demo.common.core.validator.ConstDictRef;
import com.orange.demo.common.core.validator.UpdateGroup;
import com.orange.demo.upmsinterface.constant.SysPermCodeType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -15,31 +17,36 @@ import java.util.Map;
* 权限字Dto。
*
* @author Jerry
* @date 2020-10-19
* @date 2020-08-08
*/
@ApiModel("权限字Dto")
@Data
public class SysPermCodeDto {
/**
* 主键Id。
* 权限字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: 操作)。
* 权限类型(0: 表单 1: UI片段 2: 操作)。
*/
@ApiModelProperty(value = "权限字类型", required = true)
@NotNull(message = "权限字类型不能为空!")
@ConstDictRef(constDictClass = SysPermCodeType.class, message = "数据验证失败,权限类型为无效值!")
private Integer permCodeType;
@@ -47,22 +54,26 @@ public class SysPermCodeDto {
/**
* 显示名称。
*/
@ApiModelProperty(value = "显示名称", required = true)
@NotBlank(message = "权限字显示名称不能为空!")
private String showName;
/**
* 显示顺序(数值越小,越靠前)。
*/
@ApiModelProperty(value = "显示顺序", required = true)
@NotNull(message = "权限字显示顺序不能为空!")
private Integer showOrder;
/**
* 创建时间。
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 权限字与权限资源关联对象列表。
*/
@ApiModelProperty(hidden = true)
private List<Map<String, Object>> sysPermCodePermList;
}

View File

@@ -1,6 +1,8 @@
package com.orange.demo.upmsinterface.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;
@@ -12,53 +14,62 @@ import java.util.Map;
* 权限资源Dto。
*
* @author Jerry
* @date 2020-10-19
* @date 2020-08-08
*/
@ApiModel("权限资源Dto")
@Data
public class SysPermDto {
/**
* 权限Id。
* 权限资源Id。
*/
@ApiModelProperty(value = "权限资源Id", required = true)
@NotNull(message = "权限Id不能为空", groups = {UpdateGroup.class})
private Long permId;
/**
* 权限名称。
* 权限资源名称。
*/
@NotBlank(message = "权限名称不能为空!")
@ApiModelProperty(value = "权限资源名称", required = true)
@NotBlank(message = "权限资源名称不能为空!")
private String permName;
/**
* shiro格式的权限,如(upms:sysUser:add)。
* 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;
/**
* 创建时间。
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 模块Id的字典关联数据。
*/
@ApiModelProperty(hidden = true)
private Map<String, Object> moduleIdDictMap;
}

View File

@@ -3,6 +3,8 @@ package com.orange.demo.upmsinterface.dto;
import com.orange.demo.common.core.validator.ConstDictRef;
import com.orange.demo.common.core.validator.UpdateGroup;
import com.orange.demo.upmsinterface.constant.SysPermModuleType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -14,31 +16,36 @@ import java.util.List;
* 权限资源模块Dto。
*
* @author Jerry
* @date 2020-10-19
* @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;
@@ -46,16 +53,19 @@ public class SysPermModuleDto {
/**
* 权限模块在当前层级下的顺序,由小到大。
*/
@ApiModelProperty(value = "显示顺序", required = true)
@NotNull(message = "权限模块显示顺序不能为空!")
private Integer showOrder;
/**
* 创建时间。
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 权限资源对象列表。
*/
@ApiModelProperty(hidden = true)
private List<SysPermDto> sysPermList;
}

View File

@@ -1,6 +1,8 @@
package com.orange.demo.upmsinterface.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.*;
@@ -12,51 +14,62 @@ import java.util.Map;
* 角色Dto。
*
* @author Jerry
* @date 2020-10-19
* @date 2020-08-08
*/
@ApiModel("角色Dto")
@Data
public class SysRoleDto {
/**
* 主键Id。
* 角色Id。
*/
@ApiModelProperty(value = "角色Id", required = true)
@NotNull(message = "角色Id不能为空", groups = {UpdateGroup.class})
private Long roleId;
/**
* 角色名称。
*/
@ApiModelProperty(value = "角色名称", required = true)
@NotBlank(message = "角色名称不能为空!")
private String roleName;
/**
* 创建者。
* 创建者Id
*/
@ApiModelProperty(value = "创建者Id")
private Long createUserId;
/**
* 创建者显示名称。
*/
@ApiModelProperty(value = "创建者显示名称")
private String createUsername;
/**
* 创建时间。
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间。
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 角色与菜单关联对象列表。
*/
@ApiModelProperty(hidden = true)
private List<Map<String, Object>> sysRoleMenuList;
private Date createTimeStart;
@ApiModelProperty(value = "创建时间开始查询时间")
private String createTimeStart;
private Date createTimeEnd;
@ApiModelProperty(value = "创建时间结束查询时间")
private String createTimeEnd;
@ApiModelProperty(value = "LIKE 模糊搜索字符串")
private String searchString;
}

View File

@@ -6,6 +6,8 @@ import com.orange.demo.common.core.validator.ConstDictRef;
import com.orange.demo.upmsinterface.constant.SysUserType;
import com.orange.demo.upmsinterface.constant.SysUserStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.*;
@@ -18,38 +20,44 @@ import java.util.List;
* SysUserDto对象。
*
* @author Jerry
* @date 2020-10-19
* @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;
@@ -57,11 +65,13 @@ public class SysUserDto {
/**
* 用户头像的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;
@@ -69,45 +79,54 @@ public class SysUserDto {
/**
* 创建用户Id。
*/
@ApiModelProperty(value = "创建用户Id")
private Long createUserId;
/**
* 创建用户名。
*/
@ApiModelProperty(value = "创建用户名")
private String createUsername;
/**
* 创建时间。
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间。
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* createTime 范围过滤起始值(>=)。
*/
@ApiModelProperty(value = "createTime 范围过滤起始值(>=)")
private String createTimeStart;
/**
* createTime 范围过滤结束值(<=)。
*/
@ApiModelProperty(value = "createTime 范围过滤结束值(<=)")
private String createTimeEnd;
/**
* 多对多用户角色数据集合。
*/
@ApiModelProperty(hidden = true)
private List<Map<String, Object>> sysUserRoleList;
/**
* userType 常量字典关联数据。
*/
@ApiModelProperty(hidden = true)
private Map<String, Object> userTypeDictMap;
/**
* userStatus 常量字典关联数据。
*/
@ApiModelProperty(hidden = true)
private Map<String, Object> userStatusDictMap;
}

View File

@@ -49,10 +49,10 @@
<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.1.5" 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.70" 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" />
@@ -91,6 +91,24 @@
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.11" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:2.0" 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" />
@@ -247,7 +265,7 @@
<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" scope="TEST" name="Maven: net.bytebuddy:byte-buddy:1.10.8" 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" />