diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b33e75b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,64 @@
+# 此为注释– 将被Git 忽略
+# /结尾表示是目录,忽略目录和目录下的所有件
+# /开头表示根目录,否则是.gitignore的相对目录
+# !开头表示反选
+**/.idea/
+**/target/
+*.iml
+*.ipr
+*.iws
+*.log
+.svn/
+.project
+rebel.xml
+.rebel-remote.xml.*
+**/target/
+pom.xml.tag
+pom.xml.releaseBackup
+pom.xml.versionsBackup
+pom.xml.next
+release.properties
+dependency-reduced-pom.xml
+buildNumber.properties
+.mvn/timing.properties
+# https://github.com/takari/maven-wrapper#usage-without-binary-jar
+.mvn/wrapper/maven-wrapper.jar
+
+.DS_Store
+HELP.md
+## target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+**/node_modules/
+**/logs/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+/supervise-uniapp/.hbuilderx/
+/supervise-uniapp/unpackage/
diff --git a/demo-system/demo-system-biz/pom.xml b/demo-system/demo-system-biz/pom.xml
index cac6dd0..4e4930e 100644
--- a/demo-system/demo-system-biz/pom.xml
+++ b/demo-system/demo-system-biz/pom.xml
@@ -33,16 +33,25 @@
org.projectlombok
lombok
-
- com.yxt.demo
- demo-common-core
- 0.0.1
- compile
-
+
+
+
+
+
+
com.baomidou
mybatis-plus-boot-starter
3.5.1
+
+ cn.hutool
+ hutool-all
+ 5.8.16
+
+
+ com.github.xiaoymin
+ knife4j-spring-boot-starter
+ 2.0.5
diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/common/core/dto/Dto.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/common/core/dto/Dto.java
new file mode 100644
index 0000000..902dad8
--- /dev/null
+++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/common/core/dto/Dto.java
@@ -0,0 +1,8 @@
+package com.yxt.demo.common.core.dto;
+
+
+import com.yxt.demo.common.core.vo.Vo;
+
+public interface Dto extends Vo {
+
+}
diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/common/core/query/PagerQuery.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/common/core/query/PagerQuery.java
new file mode 100644
index 0000000..b48993d
--- /dev/null
+++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/common/core/query/PagerQuery.java
@@ -0,0 +1,77 @@
+package com.yxt.demo.common.core.query;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * @author dimengzhe
+ * @date 2021/9/3 16:41
+ * @description
+ */
+
+public class PagerQuery implements Serializable {
+
+ @ApiModelProperty(value = "当前页号", example = "1")
+ private long current = 1L;
+
+ @ApiModelProperty(value = "每页记录数", example = "10")
+ private long size = 10L;
+
+ @ApiModelProperty(value = "标识符")
+ private Integer identifier;
+
+ @ApiModelProperty("查询条件的项")
+ private T params;
+
+ public PagerQuery() {
+ }
+
+ public PagerQuery(long current) {
+ this.current = current;
+ }
+
+ public PagerQuery(long current, long size) {
+ this.size = size;
+ this.current = current;
+ }
+
+ public long getSize() {
+ return size;
+ }
+
+ public PagerQuery setSize(long size) {
+ this.size = size;
+ return this;
+ }
+
+ public long getCurrent() {
+ return current;
+ }
+
+ public PagerQuery setCurrent(long current) {
+ this.current = current;
+ return this;
+ }
+
+ public T getParams() {
+ return params;
+ }
+
+ public PagerQuery setParams(T params) {
+ this.params = params;
+ return this;
+ }
+
+ public Integer getIdentifier() {
+ return identifier;
+ }
+
+ public void setIdentifier(Integer identifier) {
+ this.identifier = identifier;
+ }
+
+ public void fromPagerQuery(PagerQuery s_query) {
+ this.setCurrent(s_query.getCurrent()).setSize(s_query.getSize()).setParams(params.fromMap(s_query.getParams().toMap()));
+ }
+}
diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/common/core/query/Query.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/common/core/query/Query.java
new file mode 100644
index 0000000..b193e23
--- /dev/null
+++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/common/core/query/Query.java
@@ -0,0 +1,13 @@
+package com.yxt.demo.common.core.query;
+
+import com.yxt.demo.common.core.vo.Vo;
+
+/**
+ * @author dimengzhe
+ * @date 2021/9/3 16:41
+ * @description
+ */
+
+public interface Query extends Vo {
+
+}
diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/common/core/vo/PagerVo.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/common/core/vo/PagerVo.java
new file mode 100644
index 0000000..f770b3d
--- /dev/null
+++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/common/core/vo/PagerVo.java
@@ -0,0 +1,100 @@
+package com.yxt.demo.common.core.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @author dimengzhe
+ * @date 2021/9/3 16:24
+ * @description
+ */
+@ApiModel(description = "返回的分页结果")
+public class PagerVo implements Serializable {
+
+ @ApiModelProperty("总页数")
+ private long pages = 1L;
+ @ApiModelProperty("总记录数")
+ private long total = 0L;
+ @ApiModelProperty("每页记录数")
+ private long size = 15L;
+ @ApiModelProperty("当前页号")
+ private long current = 1L;
+ @ApiModelProperty(value = "标识符")
+ private Integer identifier;
+
+ @ApiModelProperty("当前页的数据")
+ private List records = Collections.emptyList();
+
+ public PagerVo() {
+ this.pages = 1L;
+ this.total = 0L;
+ this.size = 10L;
+ this.current = 1L;
+ this.records = Collections.emptyList();
+ }
+
+ public PagerVo(long current) {
+ this.pages = 1L;
+ this.total = 0L;
+ this.size = 10L;
+ this.current = current;
+ this.records = Collections.emptyList();
+ }
+
+ public long getPages() {
+ return pages;
+ }
+
+ public PagerVo setPages(long pages) {
+ this.pages = pages;
+ return this;
+ }
+
+ public long getTotal() {
+ return total;
+ }
+
+ public PagerVo setTotal(long total) {
+ this.total = total;
+ return this;
+ }
+
+ public long getSize() {
+ return size;
+ }
+
+ public PagerVo setSize(long size) {
+ this.size = size;
+ return this;
+ }
+
+ public long getCurrent() {
+ return current;
+ }
+
+ public PagerVo setCurrent(long current) {
+ this.current = current;
+ return this;
+ }
+
+ public List getRecords() {
+ return records;
+ }
+
+ public PagerVo setRecords(List records) {
+ this.records = records;
+ return this;
+ }
+
+ public Integer getIdentifier() {
+ return identifier;
+ }
+
+ public void setIdentifier(Integer identifier) {
+ this.identifier = identifier;
+ }
+}
diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/common/core/vo/Vo.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/common/core/vo/Vo.java
new file mode 100644
index 0000000..70b9673
--- /dev/null
+++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/common/core/vo/Vo.java
@@ -0,0 +1,28 @@
+package com.yxt.demo.common.core.vo;
+
+import cn.hutool.core.bean.BeanUtil;
+
+import javax.swing.text.html.parser.Entity;
+import java.io.Serializable;
+import java.util.Map;
+
+/**
+ * @author dimengzhe
+ * @date 2021/9/3 16:21
+ * @description
+ */
+
+public interface Vo extends Serializable {
+
+ default Map toMap() {
+ return BeanUtil.beanToMap(this);
+ }
+
+ default V fromMap(Map map) {
+ return (V) BeanUtil.fillBeanWithMap(map, this, false);
+ }
+
+ default void fromEntity(E e) {
+ BeanUtil.copyProperties(e, this);
+ }
+}
diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserService.java
index fe6d861..1a98ab4 100644
--- a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserService.java
+++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserService.java
@@ -9,7 +9,6 @@ import com.yxt.demo.system.api.sys_user.SysUser;
import com.yxt.demo.system.api.sys_user.SysUserDto;
import com.yxt.demo.system.api.sys_user.SysUserLoginQuery;
import com.yxt.demo.system.biz.sys_info.SysInfoService;
-import jdk.nashorn.internal.ir.IfNode;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;