From 6604cdd852d34abeb4a03b284441beb36739131e Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期四, 25 四月 2024 09:23:57 +0800
Subject: [PATCH] 最新版本

---
 server/meeting/meeting_admin/pom.xml                                            |   53 ++
 server/system_service/pom.xml                                                   |  320 ++++++++++++
 server/meeting/pom.xml                                                          |   51 +
 server/visits/pom.xml                                                           |   59 ++
 server/visits/admin_timer/pom.xml                                               |  108 ++++
 server/visits/admin_timer/src/main/resources/logback.xml                        |   22 
 server/visits/dmvisit_admin/pom.xml                                             |   59 ++
 server/system_service/src/main/resources/mappers/SystemPermissionMapper.xml     |   63 ++
 server/visits/dmvisit_web/pom.xml                                               |   61 ++
 server/meeting/meeting_service/pom.xml                                          |   26 +
 server/system_service/src/main/resources/mappers/SystemDictDataMapper.xml       |   47 +
 server/system_service/src/main/resources/mappers/SystemPositionMapper.xml       |   49 +
 server/visits/dmvisit_service/pom.xml                                           |   26 +
 server/system_service/src/main/resources/mappers/SystemDepartmentMapper.xml     |   43 +
 server/visits/dmvisit_screen/pom.xml                                            |   58 ++
 server/system_gateway/pom.xml                                                   |   91 +++
 server/system_service/src/main/resources/mappers/SystemDictMapper.xml           |   37 +
 server/system_service/src/main/resources/mappers/SystemDataPermissionMapper.xml |   47 +
 server/system_service/src/main/resources/mappers/SystemRoleMapper.xml           |   49 +
 server/system_service/src/main/resources/mappers/SystemMenuMapper.xml           |   58 ++
 server/system_service/src/main/resources/mappers/SystemUserMapper.xml           |   70 ++
 server/visits/openapi/pom.xml                                                   |   59 ++
 server/meeting/meeting_web/pom.xml                                              |   53 ++
 23 files changed, 1,509 insertions(+), 0 deletions(-)

diff --git a/server/meeting/meeting_admin/pom.xml b/server/meeting/meeting_admin/pom.xml
new file mode 100644
index 0000000..8b775b2
--- /dev/null
+++ b/server/meeting/meeting_admin/pom.xml
@@ -0,0 +1,53 @@
+<?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">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.doumee</groupId>
+        <artifactId>meeting</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>meeting_admin</artifactId>
+    <dependencies>
+        <dependency>
+            <groupId>com.doumee</groupId>
+            <artifactId>meeting_service</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <build>
+        <finalName>meeting_admin</finalName>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <configuration>
+                    <fork>true</fork>
+                    <mainClass>com.doumee.MeetingAdminApplication</mainClass>
+                    <layout>ZIP</layout>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
+        </plugins>
+    </build>
+</project>
\ No newline at end of file
diff --git a/server/meeting/meeting_service/pom.xml b/server/meeting/meeting_service/pom.xml
new file mode 100644
index 0000000..948a8b4
--- /dev/null
+++ b/server/meeting/meeting_service/pom.xml
@@ -0,0 +1,26 @@
+<?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">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.doumee</groupId>
+        <artifactId>meeting</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>meeting_service</artifactId>
+<dependencies>
+    <dependency>
+        <groupId>com.doumee</groupId>
+        <artifactId>system_service</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </dependency>
+</dependencies>
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+</project>
\ No newline at end of file
diff --git a/server/meeting/meeting_web/pom.xml b/server/meeting/meeting_web/pom.xml
new file mode 100644
index 0000000..c182891
--- /dev/null
+++ b/server/meeting/meeting_web/pom.xml
@@ -0,0 +1,53 @@
+<?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">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.doumee</groupId>
+        <artifactId>meeting</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>meeting_web</artifactId>
+    <dependencies>
+        <dependency>
+            <groupId>com.doumee</groupId>
+            <artifactId>meeting_service</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <build>
+        <finalName>meeting_interface</finalName>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <configuration>
+                    <fork>true</fork>
+                    <mainClass>com.doumee.InterfaceApplication</mainClass>
+                    <layout>ZIP</layout>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
+        </plugins>
+    </build>
+</project>
\ No newline at end of file
diff --git a/server/meeting/pom.xml b/server/meeting/pom.xml
new file mode 100644
index 0000000..95adea5
--- /dev/null
+++ b/server/meeting/pom.xml
@@ -0,0 +1,51 @@
+<?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">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.doumee</groupId>
+        <artifactId>dmvisit</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>meeting</artifactId>
+    <packaging>pom</packaging>
+    <modules>
+        <module>meeting_admin</module>
+        <module>meeting_service</module>
+        <module>meeting_web</module>
+    </modules>
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+       <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-dependencies</artifactId>
+            <version>2.3.12.RELEASE</version>
+            <type>pom</type>
+            <scope>import</scope>
+        </dependency>
+        <!--<dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-bootstrap</artifactId>
+        </dependency>-->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+<!--            <version>2.2.7.RELEASE</version>-->
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+<!--            <version>2.2.7.RELEASE</version>-->
+        </dependency>
+
+    </dependencies>
+</project>
\ No newline at end of file
diff --git a/server/system_gateway/pom.xml b/server/system_gateway/pom.xml
new file mode 100644
index 0000000..34afe2f
--- /dev/null
+++ b/server/system_gateway/pom.xml
@@ -0,0 +1,91 @@
+<?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">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.doumee</groupId>
+        <artifactId>dmvisit</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>system_gateway</artifactId>
+    <dependencies>
+        <dependency>
+            <groupId>com.doumee</groupId>
+            <artifactId>system_service</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+        </dependency>
+        <!-- Spring Cloud Gateway -->
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-gateway</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.springframework.boot</groupId>
+                    <artifactId>spring-boot-starter-web</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+      <!--  <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-bootstrap</artifactId>
+        </dependency>-->
+
+        <!-- Nacos Discovery -->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
+        </dependency>
+
+        <!-- Nacos Config -->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+        </dependency>
+
+        <!-- 鍏朵粬渚濊禆... -->
+    </dependencies>
+
+    <dependencyManagement>
+        <dependencies>
+            <!-- Spring Cloud 渚濊禆绠$悊 -->
+            <dependency>
+                <groupId>org.springframework.cloud</groupId>
+                <artifactId>spring-cloud-dependencies</artifactId>
+                <version>${spring-cloud.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <!-- Alibaba Cloud 渚濊禆绠$悊 -->
+            <dependency>
+                <groupId>com.alibaba.cloud</groupId>
+                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
+                <version>${spring-cloud-alibaba.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <properties>
+        <java.version>1.8</java.version>
+        <spring-cloud.version>Hoxton.SR12</spring-cloud.version>
+        <spring-cloud-alibaba.version>2.2.7.RELEASE</spring-cloud-alibaba.version>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+</project>
\ No newline at end of file
diff --git a/server/system_service/pom.xml b/server/system_service/pom.xml
new file mode 100644
index 0000000..0f8156b
--- /dev/null
+++ b/server/system_service/pom.xml
@@ -0,0 +1,320 @@
+<?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">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.doumee</groupId>
+        <artifactId>dmvisit</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>system_service</artifactId>
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <java.version>1.8</java.version>
+        <swagger.version>2.9.2</swagger.version>
+        <swagger.bootstrap-ui.version>1.9.6</swagger.bootstrap-ui.version>
+        <fastjson.version>1.2.70</fastjson.version>
+        <druid.version>1.2.0</druid.version>
+        <mybatis.plus.version>3.4.2</mybatis.plus.version>
+        <apache.shiro.version>1.7.0</apache.shiro.version>
+        <oshi.version>5.7.0</oshi.version>
+        <jna.version>5.7.0</jna.version>
+        <poi.version>5.0.0</poi.version>
+        <spring-cloud.version>2021.0.3</spring-cloud.version>
+        <spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version>
+        <!-- jwtToken -->
+        <jjwt.version>0.9.1</jjwt.version>
+        <!-- hutool 宸ュ叿鐩稿叧-->
+        <hutool.version>5.5.8</hutool.version>
+        <!-- 寰俊灏忕▼搴� -->
+        <weixin-java-miniapp.version>4.1.0</weixin-java-miniapp.version>
+        <!-- 寰俊鏀粯 -->
+        <weixin-java-pay.version>4.1.0</weixin-java-pay.version>
+        <!-- 闃块噷浜慜SS瀛樺偍 -->
+        <aliyun-oss.version>3.8.0</aliyun-oss.version>
+    </properties>
+
+    <dependencies>
+        <!-- Spring Boot -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-quartz</artifactId>
+        </dependency>
+        <!-- Shiro -->
+        <dependency>
+            <groupId>org.apache.shiro</groupId>
+            <artifactId>shiro-spring</artifactId>
+            <version>${apache.shiro.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.github.binarywang</groupId>
+            <artifactId>weixin-java-miniapp</artifactId>
+            <version>${weixin-java-miniapp.version}</version>
+        </dependency>
+        <!-- MyBatis plus -->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>${mybatis.plus.version}</version>
+        </dependency>
+        <!-- MyBatis鍒嗛〉 -->
+        <dependency>
+            <groupId>com.github.pagehelper</groupId>
+            <artifactId>pagehelper-spring-boot-starter</artifactId>
+            <version>1.3.0</version>
+            <!--浣跨敤spring boot2鏁村悎 pagehelper-spring-boot-starter蹇呴』鎺掗櫎涓�涓嬩緷璧�
+                鍥犱负pagehelper-spring-boot-starter涔熷凡缁忓湪pom渚濊禆浜唌ybatis涓巑ybatis-spring
+                鎵�浠ヤ細涓巑ybatis-plus-boot-starter涓殑mybatis涓巑ybatis-spring鍙戠敓鍐茬獊
+            -->
+            <exclusions>
+                <exclusion>
+                    <groupId>org.mybatis</groupId>
+                    <artifactId>mybatis</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.mybatis</groupId>
+                    <artifactId>mybatis-spring</artifactId>
+                </exclusion>
+                <!-- 瑙e喅jsqlparser 渚濊禆鐗堟湰鍐茬獊-->
+                <exclusion>
+                    <artifactId>jsqlparser</artifactId>
+                    <groupId>com.github.jsqlparser</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <!-- 杩炴帴姹� -->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid</artifactId>
+            <version>${druid.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+
+        <!-- swagger -->
+        <dependency>
+            <groupId>com.github.xiaoymin</groupId>
+            <artifactId>knife4j-spring-boot-starter</artifactId>
+            <version>3.0.3</version>
+        </dependency>
+
+        <!-- lombok -->
+        <dependency>
+            <groupId>javax.validation</groupId>
+            <artifactId>validation-api</artifactId>
+            <version>2.0.1.Final</version>
+        </dependency>
+        <dependency>
+            <groupId>org.hibernate</groupId>
+            <artifactId>hibernate-validator</artifactId>
+            <version>6.0.13.Final</version>
+        </dependency>
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>dingtalk</artifactId>
+            <version>1.3.54</version>
+        </dependency>
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>alibaba-dingtalk-service-sdk</artifactId>
+            <version>2.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+        <!--google kaptcha-->
+        <dependency>
+            <groupId>com.github.penggle</groupId>
+            <artifactId>kaptcha</artifactId>
+            <version>2.3.2</version>
+        </dependency>
+        <!-- 宸ュ叿鍖� -->
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>${fastjson.version}</version>
+        </dependency>
+        <!-- Excel瀵煎叆/瀵煎嚭渚濊禆鍖� -->
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi</artifactId>
+            <version>${poi.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+            <version>${poi.version}</version>
+        </dependency>
+        <!-- 鑾峰彇绯荤粺淇℃伅渚濊禆鍖� -->
+        <dependency>
+            <groupId>com.github.oshi</groupId>
+            <artifactId>oshi-core</artifactId>
+            <version>${oshi.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>net.java.dev.jna</groupId>
+            <artifactId>jna</artifactId>
+            <version>${jna.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>net.java.dev.jna</groupId>
+            <artifactId>jna-platform</artifactId>
+            <version>${jna.version}</version>
+        </dependency>
+        <!-- https://mvnrepository.com/artifact/com.github.yulichang/mybatis-plus-join -->
+        <dependency>
+            <groupId>com.github.yulichang</groupId>
+            <artifactId>mybatis-plus-join</artifactId>
+            <version>1.4.2.2</version>
+        </dependency>
+
+        <!--娣诲姞fileupload渚濊禆-->
+        <dependency>
+            <groupId>commons-fileupload</groupId>
+            <artifactId>commons-fileupload</artifactId>
+            <version>1.3.3</version>
+        </dependency>
+
+        <!-- FILE杞崲 -->
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-test</artifactId>
+        </dependency>
+
+        <!--jwt-->
+        <dependency>
+            <groupId>io.jsonwebtoken</groupId>
+            <artifactId>jjwt</artifactId>
+            <version>${jjwt.version}</version>
+        </dependency>
+
+        <!--hutool宸ュ叿-->
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>${hutool.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.belerweb</groupId>
+            <artifactId>pinyin4j</artifactId>
+            <version>2.5.1</version>
+        </dependency>
+        <!--    &lt;!&ndash; WeChat 灏忕▼搴� &ndash;&gt;-->
+        <!--    <dependency>-->
+        <!--      <groupId>com.github.binarywang</groupId>-->
+        <!--      <artifactId>weixin-java-miniapp</artifactId>-->
+        <!--      <version>${weixin-java-miniapp.version}</version>-->
+        <!--    </dependency>-->
+        <!--    &lt;!&ndash; WeChat 鏀粯 &ndash;&gt;-->
+        <!--    <dependency>-->
+        <!--      <groupId>com.github.binarywang</groupId>-->
+        <!--      <artifactId>weixin-java-pay</artifactId>-->
+        <!--      <version>${weixin-java-pay.version}</version>-->
+        <!--    </dependency>-->
+
+        <!--  闃块噷浜慜SS-->
+        <dependency>
+            <groupId>com.aliyun.oss</groupId>
+            <artifactId>aliyun-sdk-oss</artifactId>
+            <version>${aliyun-oss.version}</version>
+        </dependency>
+
+        <!-- aliyun sms SDK -->
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>aliyun-java-sdk-core</artifactId>
+            <version>4.5.3</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-configuration-processor</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <!-- mqtt -->
+        <dependency>
+            <groupId>org.springframework.integration</groupId>
+            <artifactId>spring-integration-mqtt</artifactId>
+        </dependency>
+        <!--	娴峰悍绯荤粺	-->
+        <dependency>
+            <groupId>com.hikvision.ga</groupId>
+            <artifactId>artemis-http-client</artifactId>
+            <version>1.1.3</version>
+        </dependency>
+        <!--鐢熸垚浜岀淮鐮�-->
+        <dependency>
+            <groupId>com.google.zxing</groupId>
+            <artifactId>javase</artifactId>
+            <version>3.3.0</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-net</groupId>
+            <artifactId>commons-net</artifactId>
+            <version>3.8.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+        </dependency>
+
+        <!-- WxJava鍏紬鍙� -->
+        <dependency>
+            <groupId>com.github.binarywang</groupId>
+            <artifactId>weixin-java-mp</artifactId>
+            <version>3.6.0</version>
+        </dependency>
+            <!-- Spring Cloud 渚濊禆绠$悊 -->
+            <dependency>
+                <groupId>org.springframework.cloud</groupId>
+                <artifactId>spring-cloud-dependencies</artifactId>
+                <version>${spring-cloud.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <!-- Alibaba Cloud 渚濊禆绠$悊 -->
+            <dependency>
+                <groupId>com.alibaba.cloud</groupId>
+                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
+                <version>${spring-cloud-alibaba.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+       <!-- <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-dependencies</artifactId>
+            <version>2.6.3</version>
+            <type>pom</type>
+            <scope>import</scope>
+        </dependency>-->
+
+       <!-- <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-dependencies</artifactId>
+            <version>Hoxton.SR12</version>
+            <type>pom</type>
+            <scope>import</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
+            <version>2.2.7.RELEASE</version>
+            <type>pom</type>
+            <scope>import</scope>
+        </dependency>-->
+    </dependencies>
+</project>
\ No newline at end of file
diff --git a/server/system_service/src/main/resources/mappers/SystemDataPermissionMapper.xml b/server/system_service/src/main/resources/mappers/SystemDataPermissionMapper.xml
new file mode 100644
index 0000000..13f821f
--- /dev/null
+++ b/server/system_service/src/main/resources/mappers/SystemDataPermissionMapper.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.doumee.dao.system.SystemDataPermissionMapper">
+
+  <!-- 鏌ヨ閮ㄩ棬鍒楄〃 -->
+  <resultMap id="SystemDataPermissionListVO" type="com.doumee.dao.system.vo.SystemDataPermissionListVO" autoMapping="true">
+    <id column="ID" property="id"/>
+    <association property="role" javaType="com.doumee.dao.system.model.SystemRole">
+      <result column="ROLE_ID" property="id"/>
+      <result column="ROLE_CODE" property="code"/>
+      <result column="ROLE_NAME" property="name"/>
+    </association>
+    <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <result column="CREATE_USER_ID" property="id"/>
+      <result column="CREATE_USER_NAME" property="username"/>
+    </association>
+    <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <result column="UPDATE_USER_ID" property="id"/>
+      <result column="UPDATE_USER_NAME" property="username"/>
+    </association>
+  </resultMap>
+  <select id="selectManageList" resultMap="SystemDataPermissionListVO">
+    SELECT
+      sdp.`ID`, sdp.`BUSINESS_CODE`, sdp.`ROLE_ID`, sdp.`TYPE`, sdp.`CUSTOM_DATA`, sdp.`DISABLED`, sdp.`REMARK`, sdp.DISABLED, sdp.`CREATE_TIME`, sdp.`UPDATE_TIME`,
+      role.`ID` AS ROLE_ID, role.`CODE` AS ROLE_CODE, role.`NAME` AS ROLE_NAME,
+      create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
+      update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
+    FROM SYSTEM_DATA_PERMISSION sdp
+    INNER JOIN `SYSTEM_ROLE` role ON role.ID = sdp.ROLE_ID
+    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = sdp.CREATE_USER
+    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = sdp.UPDATE_USER
+    <where>
+      sdp.DELETED = 0
+      <if test="dto.businessCode != null and dto.businessCode != ''">
+        AND sdp.`BUSINESS_CODE` = #{dto.businessCode}
+      </if>
+      <if test="dto.roleId != null">
+        AND role.`ID` =  #{dto.roleId}
+      </if>
+      <if test="dto.type != null">
+        AND sdp.`TYPE` =  #{dto.type}
+      </if>
+    </where>
+    ${orderByClause}
+  </select>
+
+</mapper>
diff --git a/server/system_service/src/main/resources/mappers/SystemDepartmentMapper.xml b/server/system_service/src/main/resources/mappers/SystemDepartmentMapper.xml
new file mode 100644
index 0000000..0a57944
--- /dev/null
+++ b/server/system_service/src/main/resources/mappers/SystemDepartmentMapper.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.doumee.dao.system.SystemDepartmentMapper">
+
+  <!-- 鏌ヨ閮ㄩ棬鍒楄〃 -->
+  <resultMap id="SystemDepartmentListVO" type="com.doumee.dao.system.vo.SystemDepartmentListVO" autoMapping="true">
+    <id column="ID" property="id"/>
+    <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <result column="CREATE_USER_ID" property="id"/>
+      <result column="CREATE_USER_NAME" property="username"/>
+    </association>
+    <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <result column="UPDATE_USER_ID" property="id"/>
+      <result column="UPDATE_USER_NAME" property="username"/>
+    </association>
+  </resultMap>
+  <select id="selectManageList" parameterType="com.doumee.dao.system.dto.QuerySystemDepartmentDTO" resultMap="SystemDepartmentListVO">
+    SELECT
+      dept.`ID`, dept.`PARENT_ID`, dept.`CODE`, dept.`NAME`, dept.`PHONE`, dept.`EMAIL`, dept.`CREATE_TIME`, dept.`UPDATE_TIME`, dept.`CREATE_USER`, dept.`UPDATE_USER`, dept.`DELETED`,
+      create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
+      update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME,
+      COUNT(usr.ID) USER_COUNT
+    FROM SYSTEM_DEPARTMENT dept
+    LEFT JOIN `SYSTEM_DEPARTMENT_USER` sdu ON sdu.DEPARTMENT_ID = dept.ID AND sdu.DELETED = 0
+    LEFT JOIN `SYSTEM_USER` usr ON usr.ID = sdu.USER_ID AND usr.DELETED = 0
+    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = dept.CREATE_USER
+    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = dept.UPDATE_USER
+    <where>
+      dept.DELETED = 0
+      <if test="id != null">
+        AND dept.ID = #{id}
+      </if>
+      <if test="ids != null">
+        AND dept.ID IN
+        <foreach collection="ids" item="id" separator="," open="(" close=")">
+          #{id}
+        </foreach>
+      </if>
+    </where>
+    GROUP BY dept.`ID`
+  </select>
+
+</mapper>
diff --git a/server/system_service/src/main/resources/mappers/SystemDictDataMapper.xml b/server/system_service/src/main/resources/mappers/SystemDictDataMapper.xml
new file mode 100644
index 0000000..ae3a515
--- /dev/null
+++ b/server/system_service/src/main/resources/mappers/SystemDictDataMapper.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.doumee.dao.system.SystemDictDataMapper">
+
+  <!-- 鏌ヨ瀛楀吀鏁版嵁鍒楄〃 -->
+  <resultMap id="SystemDictDataListVO" type="com.doumee.dao.system.vo.SystemDictDataListVO" autoMapping="true">
+    <id column="ID" property="id"/>
+    <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <result column="CREATE_USER_ID" property="id"/>
+      <result column="CREATE_USER_NAME" property="username"/>
+    </association>
+    <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <result column="UPDATE_USER_ID" property="id"/>
+      <result column="UPDATE_USER_NAME" property="username"/>
+    </association>
+  </resultMap>
+  <select id="selectManageList" parameterType="com.doumee.dao.system.dto.QuerySystemDictDataDTO" resultMap="SystemDictDataListVO">
+    SELECT
+      dict_data.`ID`, dict_data.`DICT_ID`, dict_data.`CODE`, dict_data.`LABEL`, dict_data.`SORT`, dict_data.`DISABLED`, dict_data.`CREATE_TIME`, dict_data.`UPDATE_TIME`, dict_data.`CREATE_USER`, dict_data.`UPDATE_USER`,
+      create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
+      update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
+    FROM SYSTEM_DICT_DATA dict_data
+    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = dict_data.CREATE_USER
+    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = dict_data.UPDATE_USER
+    <where>
+      dict_data.DELETED = 0
+      <if test="dictId != null">
+        AND dict_data.`DICT_ID` = #{dictId}
+      </if>
+    </where>
+  </select>
+  <select id="list" resultType="com.doumee.dao.system.vo.SystemDictDataListVO">
+    SELECT
+      dict_data.`ID`, dict_data.`DICT_ID`, dict_data.`CODE`, dict_data.`LABEL`
+    FROM SYSTEM_DICT_DATA dict_data
+    <where>
+      dict_data.DELETED = 0
+      <if test="codes != null and codes.size > 0">
+        AND dict_data.`LABEL` in
+        <foreach collection="codes" index="index" item="code" open="(" separator="," close=")">
+          #{code}
+        </foreach>
+      </if>
+    </where>
+  </select>
+
+</mapper>
diff --git a/server/system_service/src/main/resources/mappers/SystemDictMapper.xml b/server/system_service/src/main/resources/mappers/SystemDictMapper.xml
new file mode 100644
index 0000000..76338cb
--- /dev/null
+++ b/server/system_service/src/main/resources/mappers/SystemDictMapper.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.doumee.dao.system.SystemDictMapper">
+
+  <!-- 鏌ヨ瀛楀吀鍒楄〃 -->
+  <resultMap id="SystemDictListVO" type="com.doumee.dao.system.vo.SystemDictListVO" autoMapping="true">
+    <id column="ID" property="id"/>
+    <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <result column="CREATE_USER_ID" property="id"/>
+      <result column="CREATE_USER_NAME" property="username"/>
+    </association>
+    <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <result column="UPDATE_USER_ID" property="id"/>
+      <result column="UPDATE_USER_NAME" property="username"/>
+    </association>
+  </resultMap>
+  <select id="selectManageList" parameterType="com.doumee.dao.system.dto.QuerySystemDictDTO" resultMap="SystemDictListVO">
+    SELECT
+      dict.`ID`, dict.`CODE`, dict.`NAME`, dict.`REMARK`, dict.`CREATE_TIME`, dict.`UPDATE_TIME`, dict.`CREATE_USER`, dict.`UPDATE_USER`,
+      create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
+      update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
+    FROM SYSTEM_DICT dict
+    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = dict.CREATE_USER
+    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = dict.UPDATE_USER
+    <where>
+      dict.DELETED = 0
+      <if test="dto.code != null and dto.code != ''">
+        AND dict.`CODE` LIKE concat('%', #{dto.code}, '%')
+      </if>
+      <if test="dto.name != null and dto.name != ''">
+        AND dict.`NAME` LIKE concat('%', #{dto.name}, '%')
+      </if>
+    </where>
+    ${orderByClause}
+  </select>
+
+</mapper>
diff --git a/server/system_service/src/main/resources/mappers/SystemMenuMapper.xml b/server/system_service/src/main/resources/mappers/SystemMenuMapper.xml
new file mode 100644
index 0000000..0ec9ada
--- /dev/null
+++ b/server/system_service/src/main/resources/mappers/SystemMenuMapper.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.doumee.dao.system.SystemMenuMapper">
+
+  <!-- 鏌ヨ鑿滃崟鍒楄〃 -->
+  <resultMap id="SystemMenuListVO" type="com.doumee.dao.system.vo.SystemMenuListVO" autoMapping="true">
+    <id column="ID" property="id"/>
+    <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <result column="CREATE_USER_ID" property="id"/>
+      <result column="CREATE_USER_NAME" property="username"/>
+    </association>
+    <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <result column="UPDATE_USER_ID" property="id"/>
+      <result column="UPDATE_USER_NAME" property="username"/>
+    </association>
+  </resultMap>
+  <select id="selectManageList" resultMap="SystemMenuListVO">
+    SELECT
+      menu.`ID`, menu.`PARENT_ID`, menu.`NAME`, menu.`PATH`, menu.`FIXED`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED`,
+      create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
+      update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
+    FROM SYSTEM_MENU menu
+    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = menu.CREATE_USER
+    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = menu.UPDATE_USER
+    <where>
+      menu.DELETED = 0
+    </where>
+    ORDER BY menu.SORT
+  </select>
+
+  <!-- 鏌ヨ鑿滃崟鏍� -->
+  <select id="selectByUserId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemMenu">
+    SELECT
+      DISTINCT menu.`ID`, menu.`PARENT_ID`, menu.`NAME`, menu.`PATH`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED`
+    FROM `SYSTEM_MENU` menu
+    INNER JOIN SYSTEM_ROLE_MENU role_menu ON role_menu.MENU_ID = menu.ID AND role_menu.DELETED = 0
+    INNER JOIN SYSTEM_USER_ROLE user_role ON user_role.ROLE_ID = role_menu.ROLE_ID AND user_role.DELETED = 0
+    <where>
+      AND menu.DELETED = 0
+      AND menu.DISABLED = 0
+      AND user_role.USER_ID = #{userId}
+    </where>
+    ORDER BY menu.SORT
+  </select>
+
+  <!-- 鏍规嵁瑙掕壊ID鏌ヨ鑿滃崟鍒楄〃 -->
+  <select id="selectByRoleId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemMenu">
+    SELECT
+      menu.`ID`, menu.`PARENT_ID`, menu.`NAME`, menu.`PATH`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED`
+    FROM `SYSTEM_MENU` menu
+    INNER JOIN `SYSTEM_ROLE_MENU` role_menu ON role_menu.MENU_ID = menu.ID AND role_menu.DELETED = 0
+    <where>
+      menu.DELETED = 0
+      AND role_menu.ROLE_ID = #{roleId}
+    </where>
+  </select>
+
+</mapper>
diff --git a/server/system_service/src/main/resources/mappers/SystemPermissionMapper.xml b/server/system_service/src/main/resources/mappers/SystemPermissionMapper.xml
new file mode 100644
index 0000000..9568ef5
--- /dev/null
+++ b/server/system_service/src/main/resources/mappers/SystemPermissionMapper.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.doumee.dao.system.SystemPermissionMapper">
+
+  <!-- 鏌ヨ绯荤粺鏉冮檺鍒楄〃 -->
+  <resultMap id="SystemPermissionListVO" type="com.doumee.dao.system.vo.SystemPermissionListVO" autoMapping="true">
+    <id column="ID" property="id"/>
+    <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <id column="CREATE_USER_ID" property="id"/>
+      <result column="CREATE_USER_NAME" property="username"/>
+    </association>
+    <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <id column="UPDATE_USER_ID" property="id"/>
+      <result column="UPDATE_USER_NAME" property="username"/>
+    </association>
+  </resultMap>
+  <select id="selectManageList" resultMap="SystemPermissionListVO">
+    SELECT
+      perm.`ID`, perm.`CODE`, perm.`NAME`, perm.`REMARK`, perm.`FIXED`, perm.`CREATE_TIME`, perm.`UPDATE_TIME`, perm.`CREATE_USER`, perm.`UPDATE_USER`, perm.`DELETED`,
+      create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
+      update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
+    FROM SYSTEM_PERMISSION perm
+    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = perm.CREATE_USER
+    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = perm.UPDATE_USER
+    <where>
+      perm.DELETED = 0
+      <if test="dto.code != null">
+        AND perm.CODE LIKE CONCAT('%', #{dto.code}, '%')
+      </if>
+      <if test="dto.name != null">
+        AND perm.`NAME` LIKE CONCAT('%', #{dto.name}, '%')
+      </if>
+    </where>
+    ${orderByClause}
+  </select>
+
+  <!-- 鏍规嵁鐢ㄦ埛ID鏌ヨ鏉冮檺 -->
+  <select id="selectByUserId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemPermission">
+    SELECT
+      perm.`ID`, perm.`CODE`, perm.`NAME`, perm.`REMARK`, perm.`CREATE_TIME`, perm.`UPDATE_TIME`, perm.`CREATE_USER`, perm.`UPDATE_USER`, perm.`DELETED`
+    FROM SYSTEM_PERMISSION perm
+    INNER JOIN SYSTEM_ROLE_PERMISSION role_perm ON role_perm.PERMISSION_ID = perm.ID AND role_perm.DELETED = 0
+    INNER JOIN SYSTEM_ROLE role ON role.ID = role_perm.ROLE_ID AND role.DELETED = 0
+    INNER JOIN SYSTEM_USER_ROLE user_role ON user_role.ROLE_ID = role.ID AND user_role.DELETED = 0
+    <where>
+      perm.DELETED = 0
+      AND user_role.USER_ID = #{userId}
+    </where>
+  </select>
+
+  <!-- 鏍规嵁瑙掕壊ID鏌ヨ鏉冮檺 -->
+  <select id="selectByRoleId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemPermission">
+    SELECT
+      perm.`ID`, perm.`CODE`, perm.`NAME`, perm.`REMARK`, perm.`CREATE_TIME`, perm.`UPDATE_TIME`, perm.`CREATE_USER`, perm.`UPDATE_USER`, perm.`DELETED`
+    FROM SYSTEM_PERMISSION perm
+    INNER JOIN SYSTEM_ROLE_PERMISSION role_perm ON role_perm.PERMISSION_ID = perm.ID AND role_perm.DELETED = 0
+    <where>
+      perm.DELETED = 0
+      AND role_perm.ROLE_ID = #{roleId}
+    </where>
+  </select>
+
+</mapper>
diff --git a/server/system_service/src/main/resources/mappers/SystemPositionMapper.xml b/server/system_service/src/main/resources/mappers/SystemPositionMapper.xml
new file mode 100644
index 0000000..fc15235
--- /dev/null
+++ b/server/system_service/src/main/resources/mappers/SystemPositionMapper.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.doumee.dao.system.SystemPositionMapper">
+
+  <!-- 鏌ヨ宀椾綅鍒楄〃 -->
+  <resultMap id="SystemPositionListVO" type="com.doumee.dao.system.vo.SystemPositionListVO" autoMapping="true">
+    <id column="ID" property="id"/>
+    <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <result column="CREATE_USER_ID" property="id"/>
+      <result column="CREATE_USER_NAME" property="username"/>
+    </association>
+    <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <result column="UPDATE_USER_ID" property="id"/>
+      <result column="UPDATE_USER_NAME" property="username"/>
+    </association>
+  </resultMap>
+  <select id="selectManageList" resultMap="SystemPositionListVO">
+    SELECT
+      posi.`ID`, posi.`PARENT_ID`, posi.`CODE`, posi.`NAME`, posi.`CREATE_TIME`, posi.`UPDATE_TIME`, posi.`CREATE_USER`, posi.`UPDATE_USER`,
+      create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
+      update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME,
+      COUNT(usr.ID) USER_COUNT
+    FROM SYSTEM_POSITION posi
+    LEFT JOIN `SYSTEM_POSITION_USER` spu ON spu.POSITION_ID = posi.ID AND spu.DELETED = 0
+    LEFT JOIN `SYSTEM_USER` usr ON usr.ID = spu.USER_ID AND usr.DELETED = 0
+    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = posi.CREATE_USER
+    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = posi.UPDATE_USER
+    <where>
+      posi.DELETED = 0
+      <if test="name != null and name != ''">
+        AND posi.`NAME` LIKE concat('%', #{name}, '%')
+      </if>
+    </where>
+    GROUP BY posi.`ID`
+  </select>
+
+  <!-- 鏌ヨ鐢ㄦ埛宀椾綅鍒楄〃 -->
+  <select id="selectByUserId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemPosition">
+    SELECT
+      sp.`ID`, sp.`PARENT_ID`, sp.`CODE`, sp.`NAME`
+    FROM `SYSTEM_POSITION` sp
+    INNER JOIN `SYSTEM_POSITION_USER` spu ON spu.`POSITION_ID` = sp.`ID` AND spu.`DELETED` = 0
+    INNER JOIN `SYSTEM_USER` su ON su.`ID` = spu.`USER_ID`
+    <where>
+      sp.DELETED = 0
+      AND spu.USER_ID = #{userId}
+    </where>
+  </select>
+</mapper>
diff --git a/server/system_service/src/main/resources/mappers/SystemRoleMapper.xml b/server/system_service/src/main/resources/mappers/SystemRoleMapper.xml
new file mode 100644
index 0000000..e2851b9
--- /dev/null
+++ b/server/system_service/src/main/resources/mappers/SystemRoleMapper.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.doumee.dao.system.SystemRoleMapper">
+
+  <!-- 鏌ヨ瑙掕壊鍒楄〃 -->
+  <resultMap id="SystemRoleListVO" type="com.doumee.dao.system.vo.SystemRoleListVO" autoMapping="true">
+    <id column="ID" property="id"/>
+    <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <id column="CREATE_USER_ID" property="id"/>
+      <result column="CREATE_USER_NAME" property="username"/>
+    </association>
+    <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <id column="UPDATE_USER_ID" property="id"/>
+      <result column="UPDATE_USER_NAME" property="username"/>
+    </association>
+  </resultMap>
+  <select id="selectManageList" parameterType="com.doumee.dao.system.dto.QuerySystemUserDTO" resultMap="SystemRoleListVO">
+    SELECT
+      role.ID, role.`CODE`, role.`NAME`, role.`REMARK`, role.`FIXED`, role.`CREATE_TIME`, role.`UPDATE_TIME`,
+      create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
+      update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
+    FROM SYSTEM_ROLE role
+    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = role.CREATE_USER
+    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = role.UPDATE_USER
+    <where>
+      role.DELETED = 0
+      <if test="dto.code != null and dto.code != ''">
+        AND role.`CODE` LIKE CONCAT('%', #{dto.code}, '%')
+      </if>
+      <if test="dto.name != null and dto.name != ''">
+        AND role.`NAME` LIKE CONCAT('%', #{dto.name}, '%')
+      </if>
+    </where>
+    ${orderByClause}
+  </select>
+
+  <!-- 鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃 -->
+  <select id="selectByUserId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemRole">
+    SELECT
+    role.ID, role.`CODE`, role.`NAME`, role.`REMARK`, role.`CREATE_TIME`, role.`UPDATE_TIME`
+    FROM SYSTEM_ROLE role
+    INNER JOIN SYSTEM_USER_ROLE user_role ON user_role.ROLE_ID = role.ID AND user_role.DELETED = 0
+    <where>
+      role.DELETED = 0
+      AND user_role.USER_ID = #{userId}
+    </where>
+  </select>
+
+</mapper>
diff --git a/server/system_service/src/main/resources/mappers/SystemUserMapper.xml b/server/system_service/src/main/resources/mappers/SystemUserMapper.xml
new file mode 100644
index 0000000..78d68d6
--- /dev/null
+++ b/server/system_service/src/main/resources/mappers/SystemUserMapper.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.doumee.dao.system.SystemUserMapper">
+
+  <!-- 鏌ヨ鐢ㄦ埛鍒楄〃 -->
+  <resultMap id="SystemUserListVO" type="com.doumee.dao.system.vo.SystemUserListVO" autoMapping="true">
+    <id column="ID" property="id"/>
+    <association property="department" javaType="com.doumee.dao.system.model.SystemDepartment">
+      <result column="DEPARTMENT_ID" property="id"/>
+      <result column="DEPARTMENT_NAME" property="name"/>
+    </association>
+    <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <result column="CREATE_USER_ID" property="id"/>
+      <result column="CREATE_USER_NAME" property="username"/>
+      <result column="CREATE_REAL_NAME" property="realname"/>
+    </association>
+    <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser">
+      <result column="UPDATE_USER_ID" property="id"/>
+      <result column="UPDATE_USER_NAME" property="username"/>
+      <result column="UPDATE_REAL_NAME" property="realname"/>
+    </association>
+  </resultMap>
+  <select id="selectManageList" parameterType="com.doumee.dao.system.dto.QuerySystemUserDTO" resultMap="SystemUserListVO">
+    SELECT
+      DISTINCT
+      usr.ID, usr.BIRTHDAY, usr.EMAIL, usr.EMP_NO, usr.MOBILE, usr.AVATAR, usr.USERNAME, usr.REALNAME, usr.SEX, usr.FIXED, usr.CREATE_TIME, usr.UPDATE_TIME,
+      sd.ID AS DEPARTMENT_ID, sd.`NAME` AS DEPARTMENT_NAME,usr.wechat_name,usr.status,usr.OPENID,usr.type,
+      create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME, create_user.`REALNAME` CREATE_REAL_NAME,
+      update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME, create_user.`REALNAME` UPDATE_REAL_NAME
+    FROM `SYSTEM_USER` usr
+    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = usr.CREATE_USER
+    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = usr.UPDATE_USER
+--     LEFT JOIN `SYSTEM_POSITION_USER` spu ON spu.USER_ID = usr.ID AND spu.DELETED = 0
+--     LEFT JOIN `SYSTEM_POSITION` sp ON sp.ID = spu.POSITION_ID AND sp.DELETED = 0
+    LEFT JOIN `SYSTEM_DEPARTMENT_USER` sdu ON sdu.USER_ID = usr.ID AND sdu.DELETED = 0
+    LEFT JOIN `SYSTEM_DEPARTMENT` sd ON sd.ID = sdu.DEPARTMENT_ID AND sd.DELETED = 0
+    <if test="dto.roleId != null">
+      RIGHT JOIN system_user_role sur on sur.USER_ID = usr.ID and sur.ROLE_ID = #{dto.roleId}
+    </if>
+    <where>
+      usr.DELETED = 0
+<!--      <if test="dto.positionId != null">-->
+<!--        AND spu.POSITION_ID = #{dto.positionId}-->
+<!--      </if>-->
+      <if test="dto.strictDeptId != null">
+        AND sdu.DEPARTMENT_ID = #{dto.strictDeptId}
+      </if>
+      <if test="dto.departmentIds != null and dto.departmentIds.size > 0">
+        AND sdu.DEPARTMENT_ID IN
+        <foreach collection="dto.departmentIds" open="(" close=")" separator="," item="id">
+          #{id}
+        </foreach>
+      </if>
+      <if test="dto.username != null and dto.username != ''">
+        AND usr.`USERNAME` LIKE CONCAT('%', #{dto.username}, '%')
+      </if>
+      <if test="dto.realname != null and dto.realname != ''">
+        AND usr.`REALNAME` LIKE CONCAT('%', #{dto.realname}, '%')
+      </if>
+      <if test="dto.mobile != null and dto.mobile != ''">
+        AND usr.`MOBILE` LIKE CONCAT('%', #{dto.mobile}, '%')
+      </if>
+      <if test="dto.status != null ">
+        AND  usr.`status` = #{dto.status}
+      </if>
+    </where>
+    ${orderByClause}
+  </select>
+
+</mapper>
diff --git a/server/visits/admin_timer/pom.xml b/server/visits/admin_timer/pom.xml
new file mode 100644
index 0000000..a9229c8
--- /dev/null
+++ b/server/visits/admin_timer/pom.xml
@@ -0,0 +1,108 @@
+<?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">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.doumee</groupId>
+        <artifactId>dmvisit</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>admin_timer</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.doumee</groupId>
+            <artifactId>dmvisit_service</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+    <!--
+        <build>
+            <finalName>smartmeeting-admin</finalName>
+            <pluginManagement>&lt;!&ndash; lock down plugins versions to avoid using Maven
+                    defaults (may be moved to parent pom) &ndash;&gt;
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-clean-plugin</artifactId>
+                        <version>3.1.0</version>
+                    </plugin>
+                    &lt;!&ndash; see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging &ndash;&gt;
+                    <plugin>
+                        <artifactId>maven-resources-plugin</artifactId>
+                        <version>3.0.2</version>
+                    </plugin>
+                    <plugin>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <version>3.8.0</version>
+                    </plugin>
+                    <plugin>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <version>2.22.1</version>
+                    </plugin>
+                    <plugin>
+                        <artifactId>maven-war-plugin</artifactId>
+                        <version>3.2.2</version>
+                        <configuration>
+                            <webResources>
+                                <resource>
+                                    <directory>${project.basedir}/../lib</directory>
+                                    <targetPath>WEB-INF/lib/</targetPath>
+                                    <includes>
+                                        <include>*.jar</include>
+                                    </includes>
+                                </resource>
+                            </webResources>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <artifactId>maven-install-plugin</artifactId>
+                        <version>2.5.2</version>
+                    </plugin>
+                    <plugin>
+                        <artifactId>maven-deploy-plugin</artifactId>
+                        <version>2.8.2</version>
+                    </plugin>
+                </plugins>
+            </pluginManagement>
+        </build>-->
+    <build>
+        <finalName>admin_timer</finalName>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <configuration>
+                    <fork>true</fork>
+                    <mainClass>com.doumee.TimerApplication</mainClass>
+                    <layout>ZIP</layout>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <!--<plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-war-plugin</artifactId>
+            <version>2.6</version>
+            </plugin>-->
+        </plugins>
+    </build>
+</project>
\ No newline at end of file
diff --git a/server/visits/admin_timer/src/main/resources/logback.xml b/server/visits/admin_timer/src/main/resources/logback.xml
new file mode 100644
index 0000000..8358dbb
--- /dev/null
+++ b/server/visits/admin_timer/src/main/resources/logback.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<configuration>
+    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>logs/myapp.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!-- daily rollover with compression -->
+            <fileNamePattern>logs/admin_timer.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
+            <!-- keep 30 days' worth of history -->
+            <maxHistory>30</maxHistory>
+        </rollingPolicy>
+        <encoder>
+            <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
+        </encoder>
+    </appender>
+
+    <logger name="com.doumee" level="DEBUG" additivity="false">
+        <appender-ref ref="FILE" />
+    </logger>
+
+    <!-- other configurations... -->
+</configuration>
\ No newline at end of file
diff --git a/server/visits/dmvisit_admin/pom.xml b/server/visits/dmvisit_admin/pom.xml
new file mode 100644
index 0000000..21a00c1
--- /dev/null
+++ b/server/visits/dmvisit_admin/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">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.doumee</groupId>
+        <artifactId>visits</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>dmvisit_admin</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.doumee</groupId>
+            <artifactId>dmvisit_service</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <finalName>admin_interface</finalName>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <configuration>
+                    <fork>true</fork>
+                    <mainClass>com.doumee.VisitsAdminApplication</mainClass>
+                    <layout>ZIP</layout>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <!--<plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-war-plugin</artifactId>
+            <version>2.6</version>
+            </plugin>-->
+        </plugins>
+    </build>
+</project>
\ No newline at end of file
diff --git a/server/visits/dmvisit_screen/pom.xml b/server/visits/dmvisit_screen/pom.xml
new file mode 100644
index 0000000..cfddbb3
--- /dev/null
+++ b/server/visits/dmvisit_screen/pom.xml
@@ -0,0 +1,58 @@
+<?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">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.doumee</groupId>
+        <artifactId>visits</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>dmvisit_screen</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>com.doumee</groupId>
+            <artifactId>dmvisit_service</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <finalName>openapi</finalName>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <configuration>
+                    <fork>true</fork>
+                    <mainClass>com.doumee.ScreenApplication</mainClass>
+                    <layout>ZIP</layout>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <!--<plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-war-plugin</artifactId>
+            <version>2.6</version>
+            </plugin>
+            -->
+        </plugins>
+    </build>
+</project>
\ No newline at end of file
diff --git a/server/visits/dmvisit_service/pom.xml b/server/visits/dmvisit_service/pom.xml
new file mode 100644
index 0000000..7b13c12
--- /dev/null
+++ b/server/visits/dmvisit_service/pom.xml
@@ -0,0 +1,26 @@
+<?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">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.doumee</groupId>
+        <artifactId>visits</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>dmvisit_service</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>com.doumee</groupId>
+            <artifactId>system_service</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+</project>
\ No newline at end of file
diff --git a/server/visits/dmvisit_web/pom.xml b/server/visits/dmvisit_web/pom.xml
new file mode 100644
index 0000000..457830a
--- /dev/null
+++ b/server/visits/dmvisit_web/pom.xml
@@ -0,0 +1,61 @@
+<?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">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.doumee</groupId>
+        <artifactId>visits</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>dmvisit_web</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.doumee</groupId>
+            <artifactId>dmvisit_service</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <finalName>web_interface</finalName>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <configuration>
+                    <fork>true</fork>
+                    <mainClass>com.doumee.InterfaceApplication</mainClass>
+                    <layout>ZIP</layout>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <!--<plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-war-plugin</artifactId>
+            <version>2.6</version>
+            </plugin>-->
+
+        </plugins>
+    </build>
+</project>
\ No newline at end of file
diff --git a/server/visits/openapi/pom.xml b/server/visits/openapi/pom.xml
new file mode 100644
index 0000000..d5ce8a1
--- /dev/null
+++ b/server/visits/openapi/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">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.doumee</groupId>
+        <artifactId>visits</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>openapi</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>com.doumee</groupId>
+            <artifactId>dmvisit_service</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <finalName>erp_interface</finalName>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <configuration>
+                    <fork>true</fork>
+                    <mainClass>com.doumee.OpenapiApplication</mainClass>
+                    <layout>ZIP</layout>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <!--<plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-war-plugin</artifactId>
+            <version>2.6</version>
+            </plugin>-->
+
+        </plugins>
+    </build>
+</project>
\ No newline at end of file
diff --git a/server/visits/pom.xml b/server/visits/pom.xml
new file mode 100644
index 0000000..facdcbd
--- /dev/null
+++ b/server/visits/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">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.doumee</groupId>
+        <artifactId>dmvisit</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+    <packaging>pom</packaging>
+    <artifactId>visits</artifactId>
+   <modules>
+       <module>dmvisit_admin</module>
+       <module>dmvisit_service</module>
+       <module>dmvisit_screen</module>
+       <module>dmvisit_web</module>
+       <module>openapi</module>
+       <module>admin_timer</module>
+   </modules>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-dependencies</artifactId>
+            <version>2.3.12.RELEASE</version>
+            <type>pom</type>
+            <scope>import</scope>
+        </dependency>
+     <!--   <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-bootstrap</artifactId>
+        </dependency>-->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+           <!-- <version>2.2.7.RELEASE</version>-->
+        </dependency>
+        <!--<dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-bootstrap</artifactId>
+        </dependency>-->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+            <!-- <version>2.2.7.RELEASE</version>-->
+        </dependency>
+
+    </dependencies>
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+</project>
\ No newline at end of file

--
Gitblit v1.9.3