فهرست منبع

完善swagger接口文档

lixing 4 سال پیش
والد
کامیت
7ee4031544

+ 2 - 2
fm-common/src/main/java/com/persagy/fm/common/constant/RegexConstants.java

@@ -136,8 +136,8 @@ public class RegexConstants {
     public static final String PHONE_REGEX_WARNING = "请输入正确手机号码";
 
     public static void main(String[] args) {
-        String str = "zhang`._#~]";
-        String regEx = ALL_REGEX;
+        String str = "12345678901";
+        String regEx = PHONE_REGEX;
         // 编译正则表达式
         Pattern pattern = Pattern.compile(regEx);
         Matcher matcher = pattern.matcher(str);

+ 5 - 0
fm-common/src/main/java/com/persagy/fm/common/model/dto/EnumQueryDTO.java

@@ -1,5 +1,7 @@
 package com.persagy.fm.common.model.dto;
 
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.NonNull;
 
@@ -12,7 +14,10 @@ import javax.validation.constraints.NotNull;
  * @version V1.0 2021/3/12 6:26 下午
  **/
 @Data
+@ApiModel
 public class EnumQueryDTO {
     @NotNull(message = "枚举类型不能为空")
+
+    @ApiModelProperty("枚举类型")
     private String type;
 }

+ 1 - 1
fm-common/src/main/java/com/persagy/fm/common/model/dto/PageDTO.java

@@ -23,7 +23,7 @@ public class PageDTO {
     @ApiModelProperty(value = "每页条数", required = true)
     @NotNull(message = "每页条数不能为空")
     private Integer size;
-
+    @ApiModelProperty(value = "排序方式")
     private List<Sort> orders;
 
     @JsonIgnore

+ 3 - 2
fm-common/src/main/java/com/persagy/fm/common/model/dto/Sort.java

@@ -1,5 +1,6 @@
 package com.persagy.fm.common.model.dto;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
@@ -13,9 +14,9 @@ import lombok.NoArgsConstructor;
 @NoArgsConstructor
 @Data
 public class Sort {
-
+    @ApiModelProperty(value = "排序字段名称")
     private String column;
-
+    @ApiModelProperty(value = "是否升序排列")
     private boolean asc;
 
     public Sort(String column, boolean asc) {

+ 7 - 12
fm-common/src/main/java/com/persagy/fm/common/model/entity/AuditableEntity.java

@@ -3,7 +3,9 @@ package com.persagy.fm.common.model.entity;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonIgnore;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 
 import java.util.Date;
 
@@ -12,6 +14,7 @@ import java.util.Date;
  * @author Charlie Yu
  * @version 1.0 2021-03-04
  */
+@EqualsAndHashCode(callSuper = true)
 @Data
 public abstract class AuditableEntity<T> extends BaseEntity<T> implements IAuditableEntity {
 
@@ -32,28 +35,20 @@ public abstract class AuditableEntity<T> extends BaseEntity<T> implements IAudit
     /** 最后一个修改人 */
     public static final String PROP_MODIFIER = "modifier";
 
-    /**
-     * 创建时间
-     */
     @JsonIgnore
     @TableField(fill = FieldFill.INSERT)
+    @ApiModelProperty(value = "创建时间", hidden = true)
     protected Date creationTime;
 
-    /**
-     * 创建人
-     */
+    @ApiModelProperty("创建人")
     protected String creator;
 
-    /**
-     * 最后一次修改时间
-     */
     @JsonIgnore
     @TableField(fill = FieldFill.INSERT_UPDATE)
+    @ApiModelProperty(value = "最后一次修改时间", hidden = true)
     protected Date modifiedTime;
 
-    /**
-     * 最后一次修改人
-     */
+    @ApiModelProperty("最后一次修改人")
     protected String modifier;
 
 }

+ 6 - 0
fm-common/src/main/java/com/persagy/fm/common/model/entity/BaseEntity.java

@@ -5,6 +5,8 @@ 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 io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.AccessLevel;
 import lombok.Data;
 import lombok.Getter;
@@ -19,6 +21,7 @@ import java.util.Date;
  * @version 1.0 2021-03-04
  */
 @Data
+@ApiModel
 public abstract class BaseEntity<T> extends Model implements IBaseEntity,Serializable,Cloneable{
 
 	/** 序列id */
@@ -42,13 +45,16 @@ public abstract class BaseEntity<T> extends Model implements IBaseEntity,Seriali
 	/** 实体类必须有的属性 */
 
 	@TableId(type = IdType.ASSIGN_ID)
+	@ApiModelProperty("主键")
 	protected String id;
 
 	/** 时间戳 */
+	@ApiModelProperty("乐观锁")
 	protected Date ts;
 
 	/** 实体状态 - 有效标识 */
 	@TableField(fill = FieldFill.INSERT)
+	@ApiModelProperty(value = "删除标记", notes = "com.persagy.fm.common.constant.enums.ValidEnum")
 	protected Integer valid;
 
 	@Override

+ 4 - 0
fm-common/src/main/java/com/persagy/fm/common/model/vo/DuplicateVO.java

@@ -1,5 +1,7 @@
 package com.persagy.fm.common.model.vo;
 
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -9,6 +11,8 @@ import lombok.Data;
  * @version V1.0 2021/4/7 7:36 下午
  **/
 @Data
+@ApiModel("是否重复VO类")
 public class DuplicateVO {
+    @ApiModelProperty("是否重复")
     private Boolean duplicate;
 }

+ 5 - 0
fm-common/src/main/java/com/persagy/fm/common/model/vo/EnumVO.java

@@ -1,6 +1,8 @@
 package com.persagy.fm.common.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.checkerframework.checker.units.qual.K;
 
@@ -12,7 +14,10 @@ import org.checkerframework.checker.units.qual.K;
  **/
 @Data
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel("枚举VO类")
 public class EnumVO {
+    @ApiModelProperty(value = "键")
     private String key;
+    @ApiModelProperty(value = "值")
     private String value;
 }

+ 5 - 0
fm-common/src/main/java/com/persagy/fm/common/model/vo/SimpleObjVO.java

@@ -1,6 +1,8 @@
 package com.persagy.fm.common.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -15,7 +17,10 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 @NoArgsConstructor
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel
 public class SimpleObjVO {
+    @ApiModelProperty(value = "主键")
     private String id;
+    @ApiModelProperty(value = "名称")
     private String name;
 }

+ 6 - 3
fm-common/src/main/java/com/persagy/fm/common/response/CommonResult.java

@@ -2,6 +2,8 @@ package com.persagy.fm.common.response;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.persagy.common.enums.ResponseCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -11,16 +13,17 @@ import lombok.Data;
  */
 @Data
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel("响应结果")
 public class CommonResult<T> {
 
     /** 不需要提示 */
     public static final CommonResult SUCCESS = new CommonResult();
 
-    /** 响应码 */
+    @ApiModelProperty(value = "响应码")
     private String respCode;
-    /** 响应码 */
+    @ApiModelProperty(value = "响应信息")
     private String respMsg;
-    /** 响应数据 */
+    @ApiModelProperty(value = "响应数据")
     private T content;
 
     /**

+ 2 - 3
fm-common/src/main/java/com/persagy/fm/common/response/FmResponseUpsertVO.java

@@ -1,6 +1,7 @@
 package com.persagy.fm.common.response;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -17,8 +18,6 @@ import lombok.NoArgsConstructor;
 @NoArgsConstructor
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class FmResponseUpsertVO {
-    /**
-     * 响应码
-     */
+    @ApiModelProperty("主键")
     private String id;
 }

+ 5 - 1
fm-common/src/main/java/com/persagy/fm/common/response/PageList.java

@@ -1,5 +1,7 @@
 package com.persagy.fm.common.response;
 
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.List;
@@ -10,9 +12,11 @@ import java.util.List;
  * @data 2021-03-25
  */
 @Data
+@ApiModel("分页列表")
 public class PageList<T> {
-
+    @ApiModelProperty("当前页数据")
     private List<T> records;
+    @ApiModelProperty("总条数")
     private long total;
 
     public PageList(final List<T> records, final long total) {

+ 128 - 0
fm-screw/doc/fm-peron_3.0.0_表结构设计.md

@@ -0,0 +1,128 @@
+# 表结构设计
+
+**数据库名:** tes_fm-person
+
+**文档版本:** 3.0.0
+
+**文档描述:** 表结构设计
+
+| 表名                  | 说明       |
+| :---: | :---: |
+| [department](#department) | 部门 |
+| [dep_project](#dep_project) | 部门项目 |
+| [person](#person) | 人员 |
+| [profession](#profession) | 专业 |
+| [work_resume](#work_resume) | 工作信息 |
+
+**表名:** <a id="department">department</a>
+
+**说明:** 部门
+
+**数据列:**
+
+| 序号 | 名称 | 数据类型 |  长度  | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
+| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
+|  1   | id |   varchar   | 64 |   0    |    N     |  Y   |       | id  |
+|  2   | name |   varchar   | 100 |   0    |    N     |  N   |       | 部门名称  |
+|  3   | type |   varchar   | 10 |   0    |    N     |  N   |       | 部门类型  |
+|  4   | parent_id |   varchar   | 64 |   0    |    N     |  N   |   0    | 上级部门id  |
+|  5   | resource_from |   varchar   | 10 |   0    |    N     |  N   |   0    | 数据来源(0:手动创建;1:oa同步)  |
+|  6   | managers |   text   | 65535 |   0    |    Y     |  N   |       | 负责人  |
+|  7   | full_path |   text   | 65535 |   0    |    Y     |  N   |       | 部门全路径  |
+|  8   | staff_count |   int   | 10 |   0    |    N     |  N   |   0    | 编制人数(预留字段)  |
+|  9   | project_ids |   json   | 1073741824 |   0    |    Y     |  N   |       | 关联的项目  |
+|  10   | ts |   timestamp   | 26 |   0    |    Y     |  N   |       | 乐观锁  |
+|  11   | creator |   varchar   | 32 |   0    |    Y     |  N   |       | 创建人  |
+|  12   | creation_time |   timestamp   | 26 |   0    |    Y     |  N   |       | 创建时间  |
+|  13   | modifier |   varchar   | 32 |   0    |    Y     |  N   |       | 最后修改人  |
+|  14   | modified_time |   datetime   | 26 |   0    |    Y     |  N   |       | 最后修改时间  |
+|  15   | valid |   int   | 10 |   0    |    Y     |  N   |       | 合法标识(0:false;1:true)  |
+
+**表名:** <a id="dep_project">dep_project</a>
+
+**说明:** 部门项目
+
+**数据列:**
+
+| 序号 | 名称 | 数据类型 |  长度  | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
+| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
+|  1   | id |   varchar   | 64 |   0    |    N     |  Y   |       | 主键  |
+|  2   | dep_id |   varchar   | 64 |   0    |    Y     |  N   |       | 部门id  |
+|  3   | project_id |   varchar   | 80 |   0    |    Y     |  N   |       | 项目id  |
+|  4   | ts |   timestamp   | 26 |   0    |    Y     |  N   |       | 乐观锁  |
+|  5   | creator |   varchar   | 32 |   0    |    Y     |  N   |       | 创建人  |
+|  6   | creation_time |   timestamp   | 26 |   0    |    Y     |  N   |       | 创建时间  |
+|  7   | modifier |   varchar   | 32 |   0    |    Y     |  N   |       | 最后修改人  |
+|  8   | modified_time |   datetime   | 26 |   0    |    Y     |  N   |       | 最后修改时间  |
+|  9   | valid |   int   | 10 |   0    |    Y     |  N   |       | 合法标识(0:false;1:true)  |
+
+**表名:** <a id="person">person</a>
+
+**说明:** 人员
+
+**数据列:**
+
+| 序号 | 名称 | 数据类型 |  长度  | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
+| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
+|  1   | id |   varchar   | 64 |   0    |    N     |  Y   |       | id  |
+|  2   | name |   varchar   | 80 |   0    |    Y     |  N   |       | 姓名  |
+|  3   | name_pinyin |   varchar   | 200 |   0    |    Y     |  N   |       | 姓名拼音  |
+|  4   | username |   varchar   | 80 |   0    |    Y     |  N   |       | 账号  |
+|  5   | account_id |   varchar   | 80 |   0    |    Y     |  N   |       | 账号id  |
+|  6   | id_number |   varchar   | 80 |   0    |    Y     |  N   |       | 证件号码  |
+|  7   | certificate_type |   varchar   | 10 |   0    |    Y     |  N   |       | 证件类型(1:身份证;2:其他)  |
+|  8   | gender |   int   | 10 |   0    |    Y     |  N   |       | 性别(1:男,0:女)  |
+|  9   | birthday |   timestamp   | 26 |   0    |    Y     |  N   |       | 生日  |
+|  10   | job_number |   varchar   | 80 |   0    |    Y     |  N   |       | 工号  |
+|  11   | person_type |   varchar   | 10 |   0    |    Y     |  N   |       | 员工类型(1:自有员工;2:外包员工;3:合作方人员;4:外部用户)  |
+|  12   | user_from |   varchar   | 80 |   0    |    Y     |  N   |       | 账号来源(预留字段)  |
+|  13   | leader |   bigint   | 20 |   0    |    Y     |  N   |       | 直接领导  |
+|  14   | remark |   varchar   | 500 |   0    |    Y     |  N   |       | 备注  |
+|  15   | profession |   text   | 65535 |   0    |    Y     |  N   |       | 专业  |
+|  16   | ts |   timestamp   | 26 |   0    |    Y     |  N   |       | 乐观锁  |
+|  17   | creation_time |   timestamp   | 26 |   0    |    Y     |  N   |       | 创建时间  |
+|  18   | creator |   varchar   | 80 |   0    |    Y     |  N   |       | 创建用户  |
+|  19   | modifier |   varchar   | 80 |   0    |    Y     |  N   |       | 更新用户  |
+|  20   | modified_time |   timestamp   | 26 |   0    |    Y     |  N   |       | 更新时间  |
+|  21   | valid |   int   | 10 |   0    |    Y     |  N   |       | 合法标识(0:false;1:true)  |
+
+**表名:** <a id="profession">profession</a>
+
+**说明:** 专业
+
+**数据列:**
+
+| 序号 | 名称 | 数据类型 |  长度  | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
+| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
+|  1   | id |   varchar   | 64 |   0    |    N     |  Y   |       | 主键  |
+|  2   | name |   varchar   | 20 |   0    |    N     |  N   |       | 专业名称  |
+|  3   | editable |   char   | 11 |   0    |    N     |  N   |       | 是否可编辑(0:false;1:true)  |
+|  4   | ts |   timestamp   | 26 |   0    |    Y     |  N   |       | 乐观锁  |
+|  5   | creator |   varchar   | 32 |   0    |    Y     |  N   |       | 创建人  |
+|  6   | creation_time |   timestamp   | 26 |   0    |    Y     |  N   |       | 创建时间  |
+|  7   | modifier |   varchar   | 32 |   0    |    Y     |  N   |       | 最后修改人  |
+|  8   | modified_time |   datetime   | 26 |   0    |    Y     |  N   |       | 最后修改时间  |
+|  9   | valid |   int   | 10 |   0    |    Y     |  N   |       | 合法标识(0:false;1:true)  |
+
+**表名:** <a id="work_resume">work_resume</a>
+
+**说明:** 工作信息
+
+**数据列:**
+
+| 序号 | 名称 | 数据类型 |  长度  | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
+| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
+|  1   | id |   varchar   | 64 |   0    |    N     |  Y   |       | id  |
+|  2   | person_id |   varchar   | 64 |   0    |    N     |  N   |       | 人员主键  |
+|  3   | dep_id |   varchar   | 64 |   0    |    N     |  N   |       | 部门主键  |
+|  4   | hired_state |   varchar   | 10 |   0    |    N     |  N   |   0    | 在职状态(0:在职;1:离职)  |
+|  5   | enable_state |   varchar   | 10 |   0    |    N     |  N   |   0    | 启用状态(0:启用;1:禁用)  |
+|  6   | hired_date |   timestamp   | 26 |   0    |    Y     |  N   |       | 入职时间  |
+|  7   | departure_date |   timestamp   | 26 |   0    |    Y     |  N   |       | 离职时间  |
+|  8   | is_leader |   varchar   | 10 |   0    |    Y     |  N   |       | 是否是部门主管(0:false;1:true)  |
+|  9   | ts |   timestamp   | 26 |   0    |    Y     |  N   |       | 乐观锁  |
+|  10   | creator |   varchar   | 32 |   0    |    Y     |  N   |       | 创建人  |
+|  11   | creation_time |   timestamp   | 26 |   0    |    Y     |  N   |       | 创建时间  |
+|  12   | modifier |   varchar   | 32 |   0    |    Y     |  N   |       | 最后修改人  |
+|  13   | modified_time |   datetime   | 26 |   0    |    Y     |  N   |       | 最后修改时间  |
+|  14   | valid |   int   | 10 |   0    |    Y     |  N   |       | 合法标识(0:false;1:true)  |

+ 59 - 0
fm-screw/pom.xml

@@ -0,0 +1,59 @@
+<?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>
+        <artifactId>fm-parent</artifactId>
+        <groupId>com.persagy</groupId>
+        <version>3.0.0</version>
+        <relativePath>../fm-parent</relativePath>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>fm-screw</artifactId>
+
+    <properties>
+        <mysql.version>8.0.15</mysql.version>
+    </properties>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>cn.smallbun.screw</groupId>
+                <artifactId>screw-maven-plugin</artifactId>
+                <version>1.0.5</version>
+                <dependencies>
+                    <dependency>
+                        <groupId>mysql</groupId>
+                        <artifactId>mysql-connector-java</artifactId>
+                        <version>${mysql.version}</version>
+                    </dependency>
+                </dependencies>
+                <configuration>
+                    <!-- 数据库相关配置 -->
+                    <driverClassName>com.mysql.cj.jdbc.Driver</driverClassName>
+                    <jdbcUrl>jdbc:mysql://192.168.64.15:9934/tes_fm-person</jdbcUrl>
+                    <username>root</username>
+                    <password>brzj123456</password>
+                    <!-- screw 配置 -->
+                    <fileType>MD</fileType>
+                    <title>表结构设计</title> <!--标题-->
+                    <fileName>fm-peron_3.0.0_表结构设计</fileName> <!--文档名称 为空时:将采用[数据库名称-描述-版本号]作为文档名称-->
+                    <description>表结构设计</description> <!--描述-->
+                    <version>${project.version}</version> <!--版本-->
+                    <openOutputDir>false</openOutputDir> <!--打开文件输出目录-->
+                    <produceType>freemarker</produceType> <!--生成模板-->
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

+ 1 - 0
pom.xml

@@ -18,5 +18,6 @@
         <module>fm-common</module>
         <module>fm-translate</module>
         <module>fm-mybatis</module>
+        <module>fm-screw</module>
     </modules>
 </project>