Bladeren bron

Merge branch 'dongbing' of sckj/mz-cloud into master

15143018065 2 jaren geleden
bovenliggende
commit
32b8c97f49

+ 353 - 370
pom.xml

@@ -1,370 +1,353 @@
-<?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>
-
-    <groupId>com.ruoyi</groupId>
-    <artifactId>ruoyi</artifactId>
-    <version>3.6.0</version>
-
-    <name>ruoyi</name>
-    <url>http://www.ruoyi.vip</url>
-    <description>若依微服务系统</description>
-
-    <properties>
-        <ruoyi.version>3.6.0</ruoyi.version>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <java.version>1.8</java.version>
-        <spring-boot.version>2.7.2</spring-boot.version>
-        <spring-cloud.version>2021.0.3</spring-cloud.version>
-        <spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version>
-        <alibaba.nacos.version>2.0.4</alibaba.nacos.version>
-        <alibaba.seata.version>1.5.1</alibaba.seata.version>
-        <spring-boot-admin.version>2.7.3</spring-boot-admin.version>
-        <spring-boot.mybatis>2.2.2</spring-boot.mybatis>
-        <swagger.fox.version>3.0.0</swagger.fox.version>
-        <swagger.core.version>1.6.2</swagger.core.version>
-        <tobato.version>1.27.2</tobato.version>
-        <kaptcha.version>2.3.2</kaptcha.version>
-        <pagehelper.boot.version>1.4.3</pagehelper.boot.version>
-        <druid.version>1.2.11</druid.version>
-        <dynamic-ds.version>3.5.1</dynamic-ds.version>
-        <commons.io.version>2.11.0</commons.io.version>
-        <commons.fileupload.version>1.4</commons.fileupload.version>
-        <velocity.version>2.3</velocity.version>
-        <fastjson.version>2.0.11</fastjson.version>
-        <jjwt.version>0.9.1</jjwt.version>
-        <minio.version>8.2.2</minio.version>
-        <poi.version>4.1.2</poi.version>
-        <commons-collections.version>3.2.2</commons-collections.version>
-        <transmittable-thread-local.version>2.13.2</transmittable-thread-local.version>
-        <ulisesbocchio.version>3.0.4</ulisesbocchio.version>
-    </properties>
-
-    <profiles>
-        <profile>
-            <id>dev</id>
-            <properties>
-                <!-- 环境标识,需要与配置文件的名称相对应 -->
-                <profiles.active>dev</profiles.active>
-                <!--                <nacos.server>121.36.73.159:8848</nacos.server>-->
-                <nacos.server>10.16.4.12:8848</nacos.server>
-                <!--                <nacos.server>mz.tshe.cn:848</nacos.server>-->
-                <nacos.discovery.group>MZ</nacos.discovery.group>
-                <nacos.discovery.namespace></nacos.discovery.namespace>
-                <nacos.config.group>MZ</nacos.config.group>
-                <nacos.config.namespace></nacos.config.namespace>
-            </properties>
-            <activation>
-                <!-- 默认环境 -->
-                <activeByDefault>true</activeByDefault>
-            </activation>
-        </profile>
-        <profile>
-            <id>strong3</id>
-            <properties>
-                <profiles.active>strong3</profiles.active>
-                <nacos.server>10.16.4.12:8848</nacos.server>
-                <nacos.discovery.group>MZ</nacos.discovery.group>
-                <nacos.config.group>MZ</nacos.config.group>
-                <nacos.discovery.namespace>strong3</nacos.discovery.namespace>
-                <nacos.config.namespace>strong3</nacos.config.namespace>
-            </properties>
-        </profile>
-        <profile>
-            <id>hw</id>
-            <properties>
-                <profiles.active>hw</profiles.active>
-                <nacos.server>192.168.0.252:8848</nacos.server>
-                <nacos.discovery.group>MZ</nacos.discovery.group>
-                <nacos.config.group>MZ</nacos.config.group>
-                <nacos.discovery.namespace>hw</nacos.discovery.namespace>
-                <nacos.config.namespace>hw</nacos.config.namespace>
-            </properties>
-        </profile>
-      	<profile>
-            <id>prod</id>
-            <properties>
-                <profiles.active>prod</profiles.active>
-                <nacos.server>10.201.146.3:8848</nacos.server>
-                <nacos.discovery.group>MZ</nacos.discovery.group>
-                <nacos.config.group>MZ</nacos.config.group>
-                <nacos.discovery.namespace>prod</nacos.discovery.namespace>
-                <nacos.config.namespace>prod</nacos.config.namespace>
-            </properties>
-        </profile>
-    </profiles>
-
-    <!-- 依赖声明 -->
-    <dependencyManagement>
-        <dependencies>
-
-            <!-- SpringCloud 微服务 -->
-            <dependency>
-                <groupId>org.springframework.cloud</groupId>
-                <artifactId>spring-cloud-dependencies</artifactId>
-                <version>${spring-cloud.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-
-            <!-- SpringCloud Alibaba 微服务 -->
-            <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>
-
-            <!-- Alibaba Nacos 配置 -->
-            <dependency>
-                <groupId>com.alibaba.nacos</groupId>
-                <artifactId>nacos-client</artifactId>
-                <version>${alibaba.nacos.version}</version>
-            </dependency>
-
-            <!-- Alibaba Seata 配置 -->
-            <dependency>
-                <groupId>io.seata</groupId>
-                <artifactId>seata-spring-boot-starter</artifactId>
-                <version>${alibaba.seata.version}</version>
-            </dependency>
-
-            <!-- SpringBoot 依赖配置 -->
-            <dependency>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-dependencies</artifactId>
-                <version>${spring-boot.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-
-            <!-- FastDFS 分布式文件系统 -->
-            <dependency>
-                <groupId>com.github.tobato</groupId>
-                <artifactId>fastdfs-client</artifactId>
-                <version>${tobato.version}</version>
-            </dependency>
-
-            <!-- Mybatis 依赖配置 -->
-            <dependency>
-                <groupId>org.mybatis.spring.boot</groupId>
-                <artifactId>mybatis-spring-boot-starter</artifactId>
-                <version>${spring-boot.mybatis}</version>
-            </dependency>
-
-            <!-- Swagger 依赖配置 -->
-            <dependency>
-                <groupId>io.swagger</groupId>
-                <artifactId>swagger-models</artifactId>
-                <version>${swagger.core.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>io.swagger</groupId>
-                <artifactId>swagger-annotations</artifactId>
-                <version>${swagger.core.version}</version>
-            </dependency>
-
-            <!-- 验证码 -->
-            <dependency>
-                <groupId>com.github.penggle</groupId>
-                <artifactId>kaptcha</artifactId>
-                <version>${kaptcha.version}</version>
-            </dependency>
-
-            <!-- pagehelper 分页插件 -->
-            <dependency>
-                <groupId>com.github.pagehelper</groupId>
-                <artifactId>pagehelper-spring-boot-starter</artifactId>
-                <version>${pagehelper.boot.version}</version>
-            </dependency>
-
-            <!-- io常用工具类 -->
-            <dependency>
-                <groupId>commons-io</groupId>
-                <artifactId>commons-io</artifactId>
-                <version>${commons.io.version}</version>
-            </dependency>
-
-            <!-- excel工具 -->
-            <dependency>
-                <groupId>org.apache.poi</groupId>
-                <artifactId>poi-ooxml</artifactId>
-                <version>${poi.version}</version>
-            </dependency>
-
-            <!-- 文件上传工具类 -->
-            <dependency>
-                <groupId>commons-fileupload</groupId>
-                <artifactId>commons-fileupload</artifactId>
-                <version>${commons.fileupload.version}</version>
-            </dependency>
-
-            <!-- 代码生成使用模板 -->
-            <dependency>
-                <groupId>org.apache.velocity</groupId>
-                <artifactId>velocity-engine-core</artifactId>
-                <version>${velocity.version}</version>
-            </dependency>
-
-            <!-- Collection 增强Java集合框架 -->
-            <dependency>
-                <groupId>commons-collections</groupId>
-                <artifactId>commons-collections</artifactId>
-                <version>${commons-collections.version}</version>
-            </dependency>
-
-            <!-- JSON 解析器和生成器 -->
-            <dependency>
-                <groupId>com.alibaba.fastjson2</groupId>
-                <artifactId>fastjson2</artifactId>
-                <version>${fastjson.version}</version>
-            </dependency>
-
-            <!-- JWT -->
-            <dependency>
-                <groupId>io.jsonwebtoken</groupId>
-                <artifactId>jjwt</artifactId>
-                <version>${jjwt.version}</version>
-            </dependency>
-
-            <!-- 线程传递值 -->
-            <dependency>
-                <groupId>com.alibaba</groupId>
-                <artifactId>transmittable-thread-local</artifactId>
-                <version>${transmittable-thread-local.version}</version>
-            </dependency>
-
-            <!-- 核心模块 -->
-            <dependency>
-                <groupId>com.ruoyi</groupId>
-                <artifactId>ruoyi-common-core</artifactId>
-                <version>${ruoyi.version}</version>
-            </dependency>
-
-            <!-- 接口模块 -->
-            <dependency>
-                <groupId>com.ruoyi</groupId>
-                <artifactId>ruoyi-common-swagger</artifactId>
-                <version>${ruoyi.version}</version>
-            </dependency>
-
-            <!-- 安全模块 -->
-            <dependency>
-                <groupId>com.ruoyi</groupId>
-                <artifactId>ruoyi-common-security</artifactId>
-                <version>${ruoyi.version}</version>
-            </dependency>
-
-            <!-- 权限范围 -->
-            <dependency>
-                <groupId>com.ruoyi</groupId>
-                <artifactId>ruoyi-common-datascope</artifactId>
-                <version>${ruoyi.version}</version>
-            </dependency>
-
-            <!-- 多数据源 -->
-            <dependency>
-                <groupId>com.ruoyi</groupId>
-                <artifactId>ruoyi-common-datasource</artifactId>
-                <version>${ruoyi.version}</version>
-            </dependency>
-
-            <!-- 日志记录 -->
-            <dependency>
-                <groupId>com.ruoyi</groupId>
-                <artifactId>ruoyi-common-log</artifactId>
-                <version>${ruoyi.version}</version>
-            </dependency>
-
-            <!-- activiti模块 -->
-            <dependency>
-                <groupId>com.ruoyi</groupId>
-                <artifactId>ruoyi-common-activiti</artifactId>
-                <version>${ruoyi.version}</version>
-            </dependency>
-
-            <!-- 缓存服务 -->
-            <dependency>
-                <groupId>com.ruoyi</groupId>
-                <artifactId>ruoyi-common-redis</artifactId>
-                <version>${ruoyi.version}</version>
-            </dependency>
-
-            <!-- 系统接口 -->
-            <dependency>
-                <groupId>com.ruoyi</groupId>
-                <artifactId>ruoyi-api-system</artifactId>
-                <version>${ruoyi.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.github.ulisesbocchio</groupId>
-                <artifactId>jasypt-spring-boot-starter</artifactId>
-                <version>${ulisesbocchio.version}</version>
-            </dependency>
-
-        </dependencies>
-    </dependencyManagement>
-
-    <modules>
-        <module>ruoyi-auth</module>
-        <module>ruoyi-gateway</module>
-        <module>ruoyi-visual</module>
-        <module>ruoyi-modules</module>
-        <module>ruoyi-api</module>
-        <module>ruoyi-common</module>
-    </modules>
-    <packaging>pom</packaging>
-
-    <dependencies>
-        <!-- bootstrap 启动器 -->
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-bootstrap</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.1</version>
-                <configuration>
-                    <source>${java.version}</source>
-                    <target>${java.version}</target>
-                    <encoding>${project.build.sourceEncoding}</encoding>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <repositories>
-        <repository>
-            <id>public</id>
-            <name>aliyun nexus</name>
-            <url>https://maven.aliyun.com/repository/public</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-        </repository>
-    </repositories>
-
-    <pluginRepositories>
-        <pluginRepository>
-            <id>public</id>
-            <name>aliyun nexus</name>
-            <url>https://maven.aliyun.com/repository/public</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </pluginRepository>
-    </pluginRepositories>
-
-</project>
+<?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>
+
+    <groupId>com.ruoyi</groupId>
+    <artifactId>ruoyi</artifactId>
+    <version>3.6.0</version>
+
+    <name>ruoyi</name>
+    <url>http://www.ruoyi.vip</url>
+    <description>若依微服务系统</description>
+
+    <properties>
+        <ruoyi.version>3.6.0</ruoyi.version>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <java.version>1.8</java.version>
+        <spring-boot.version>2.7.2</spring-boot.version>
+        <spring-cloud.version>2021.0.3</spring-cloud.version>
+        <spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version>
+        <alibaba.nacos.version>2.0.4</alibaba.nacos.version>
+        <alibaba.seata.version>1.5.1</alibaba.seata.version>
+        <spring-boot-admin.version>2.7.3</spring-boot-admin.version>
+        <spring-boot.mybatis>2.2.2</spring-boot.mybatis>
+        <swagger.fox.version>3.0.0</swagger.fox.version>
+        <swagger.core.version>1.6.2</swagger.core.version>
+        <tobato.version>1.27.2</tobato.version>
+        <kaptcha.version>2.3.2</kaptcha.version>
+        <pagehelper.boot.version>1.4.3</pagehelper.boot.version>
+        <druid.version>1.2.11</druid.version>
+        <dynamic-ds.version>3.5.1</dynamic-ds.version>
+        <commons.io.version>2.11.0</commons.io.version>
+        <commons.fileupload.version>1.4</commons.fileupload.version>
+        <velocity.version>2.3</velocity.version>
+        <fastjson.version>2.0.11</fastjson.version>
+        <jjwt.version>0.9.1</jjwt.version>
+        <minio.version>8.2.2</minio.version>
+        <poi.version>4.1.2</poi.version>
+        <commons-collections.version>3.2.2</commons-collections.version>
+        <transmittable-thread-local.version>2.13.2</transmittable-thread-local.version>
+    </properties>
+
+    <profiles>
+        <profile>
+            <id>dev</id>
+            <properties>
+                <!-- 环境标识,需要与配置文件的名称相对应 -->
+                <profiles.active>dev</profiles.active>
+<!--                <nacos.server>121.36.73.159:8848</nacos.server>-->
+                <nacos.server>10.16.4.12:8848</nacos.server>
+<!--                <nacos.server>mz.tshe.cn:848</nacos.server>-->
+                <nacos.discovery.group>MZ</nacos.discovery.group>
+                <nacos.discovery.namespace></nacos.discovery.namespace>
+                <nacos.config.group>MZ</nacos.config.group>
+                <nacos.config.namespace></nacos.config.namespace>
+            </properties>
+            <activation>
+                <!-- 默认环境 -->
+                <activeByDefault>true</activeByDefault>
+            </activation>
+        </profile>
+        <profile>
+            <id>strong3</id>
+            <properties>
+                <profiles.active>strong3</profiles.active>
+                <nacos.server>10.16.4.12:8848</nacos.server>
+                <nacos.discovery.group>MZ</nacos.discovery.group>
+                <nacos.config.group>MZ</nacos.config.group>
+                <nacos.discovery.namespace>strong3</nacos.discovery.namespace>
+                <nacos.config.namespace>strong3</nacos.config.namespace>
+            </properties>
+        </profile>
+        <profile>
+            <id>hw</id>
+            <properties>
+                <profiles.active>hw</profiles.active>
+                <nacos.server>192.168.0.252:8848</nacos.server>
+                <nacos.discovery.group>MZ</nacos.discovery.group>
+                <nacos.config.group>MZ</nacos.config.group>
+                <nacos.discovery.namespace>hw</nacos.discovery.namespace>
+                <nacos.config.namespace>hw</nacos.config.namespace>
+            </properties>
+        </profile>
+    </profiles>
+
+    <!-- 依赖声明 -->
+    <dependencyManagement>
+        <dependencies>
+
+            <!-- SpringCloud 微服务 -->
+            <dependency>
+                <groupId>org.springframework.cloud</groupId>
+                <artifactId>spring-cloud-dependencies</artifactId>
+                <version>${spring-cloud.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <!-- SpringCloud Alibaba 微服务 -->
+            <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>
+
+            <!-- Alibaba Nacos 配置 -->
+            <dependency>
+                <groupId>com.alibaba.nacos</groupId>
+                <artifactId>nacos-client</artifactId>
+                <version>${alibaba.nacos.version}</version>
+            </dependency>
+
+            <!-- Alibaba Seata 配置 -->
+            <dependency>
+                <groupId>io.seata</groupId>
+                <artifactId>seata-spring-boot-starter</artifactId>
+                <version>${alibaba.seata.version}</version>
+            </dependency>
+
+            <!-- SpringBoot 依赖配置 -->
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-dependencies</artifactId>
+                <version>${spring-boot.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <!-- FastDFS 分布式文件系统 -->
+            <dependency>
+                <groupId>com.github.tobato</groupId>
+                <artifactId>fastdfs-client</artifactId>
+                <version>${tobato.version}</version>
+            </dependency>
+
+            <!-- Mybatis 依赖配置 -->
+            <dependency>
+                <groupId>org.mybatis.spring.boot</groupId>
+                <artifactId>mybatis-spring-boot-starter</artifactId>
+                <version>${spring-boot.mybatis}</version>
+            </dependency>
+
+            <!-- Swagger 依赖配置 -->
+            <dependency>
+                <groupId>io.swagger</groupId>
+                <artifactId>swagger-models</artifactId>
+                <version>${swagger.core.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>io.swagger</groupId>
+                <artifactId>swagger-annotations</artifactId>
+                <version>${swagger.core.version}</version>
+            </dependency>
+
+            <!-- 验证码 -->
+            <dependency>
+                <groupId>com.github.penggle</groupId>
+                <artifactId>kaptcha</artifactId>
+                <version>${kaptcha.version}</version>
+            </dependency>
+
+            <!-- pagehelper 分页插件 -->
+            <dependency>
+                <groupId>com.github.pagehelper</groupId>
+                <artifactId>pagehelper-spring-boot-starter</artifactId>
+                <version>${pagehelper.boot.version}</version>
+            </dependency>
+
+            <!-- io常用工具类 -->
+            <dependency>
+                <groupId>commons-io</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>${commons.io.version}</version>
+            </dependency>
+
+            <!-- excel工具 -->
+            <dependency>
+                <groupId>org.apache.poi</groupId>
+                <artifactId>poi-ooxml</artifactId>
+                <version>${poi.version}</version>
+            </dependency>
+
+            <!-- 文件上传工具类 -->
+            <dependency>
+                <groupId>commons-fileupload</groupId>
+                <artifactId>commons-fileupload</artifactId>
+                <version>${commons.fileupload.version}</version>
+            </dependency>
+
+            <!-- 代码生成使用模板 -->
+            <dependency>
+                <groupId>org.apache.velocity</groupId>
+                <artifactId>velocity-engine-core</artifactId>
+                <version>${velocity.version}</version>
+            </dependency>
+
+            <!-- Collection 增强Java集合框架 -->
+            <dependency>
+                <groupId>commons-collections</groupId>
+                <artifactId>commons-collections</artifactId>
+                <version>${commons-collections.version}</version>
+            </dependency>
+
+            <!-- JSON 解析器和生成器 -->
+            <dependency>
+                <groupId>com.alibaba.fastjson2</groupId>
+                <artifactId>fastjson2</artifactId>
+                <version>${fastjson.version}</version>
+            </dependency>
+
+            <!-- JWT -->
+            <dependency>
+                <groupId>io.jsonwebtoken</groupId>
+                <artifactId>jjwt</artifactId>
+                <version>${jjwt.version}</version>
+            </dependency>
+
+            <!-- 线程传递值 -->
+            <dependency>
+                <groupId>com.alibaba</groupId>
+                <artifactId>transmittable-thread-local</artifactId>
+                <version>${transmittable-thread-local.version}</version>
+            </dependency>
+
+            <!-- 核心模块 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-common-core</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+
+            <!-- 接口模块 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-common-swagger</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+
+            <!-- 安全模块 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-common-security</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+
+            <!-- 权限范围 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-common-datascope</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+
+            <!-- 多数据源 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-common-datasource</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+
+            <!-- 日志记录 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-common-log</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+
+            <!-- activiti模块 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-common-activiti</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+
+            <!-- 缓存服务 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-common-redis</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+
+            <!-- 系统接口 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-api-system</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+
+        </dependencies>
+    </dependencyManagement>
+
+    <modules>
+        <module>ruoyi-auth</module>
+        <module>ruoyi-gateway</module>
+        <module>ruoyi-visual</module>
+        <module>ruoyi-modules</module>
+        <module>ruoyi-api</module>
+        <module>ruoyi-common</module>
+    </modules>
+    <packaging>pom</packaging>
+
+    <dependencies>
+        <!-- bootstrap 启动器 -->
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-bootstrap</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.1</version>
+                <configuration>
+                    <source>${java.version}</source>
+                    <target>${java.version}</target>
+                    <encoding>${project.build.sourceEncoding}</encoding>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <repositories>
+        <repository>
+            <id>public</id>
+            <name>aliyun nexus</name>
+            <url>https://maven.aliyun.com/repository/public</url>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+        </repository>
+    </repositories>
+
+    <pluginRepositories>
+        <pluginRepository>
+            <id>public</id>
+            <name>aliyun nexus</name>
+            <url>https://maven.aliyun.com/repository/public</url>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+            <snapshots>
+                <enabled>false</enabled>
+            </snapshots>
+        </pluginRepository>
+    </pluginRepositories>
+
+</project>

+ 4 - 0
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java

@@ -22,6 +22,7 @@ import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
 import org.apache.poi.xssf.usermodel.XSSFDataValidation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.util.ObjectUtils;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
@@ -280,6 +281,9 @@ public class ExcelUtil<T>
             Map<String, Integer> cellMap = new HashMap<String, Integer>();
             // 获取表头
             Row heard = sheet.getRow(titleNum);
+            if (ObjectUtils.isEmpty(heard)) {
+                throw new IOException("文件表头不存在");
+            }
             for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++)
             {
                 Cell cell = heard.getCell(i);

+ 49 - 0
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/ImportUtils.java

@@ -0,0 +1,49 @@
+package com.ruoyi.common.security.utils;
+
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.util.ObjectUtils;
+
+import javax.validation.constraints.NotBlank;
+import java.lang.reflect.Field;
+
+public class ImportUtils {
+    /**
+     * 根据实体类注解进行检测,且将数据导入前将字典翻译过来
+     */
+    public static <T> String checkAndTrans(T t) {
+        StringBuilder res = new StringBuilder();
+        try {
+            Class<?> bean = t.getClass();
+            Field[] fields = bean.getDeclaredFields();
+            for (Field field : fields) {
+                field.setAccessible(true);
+                Object attObj = field.get(t);
+                if (field.isAnnotationPresent(NotBlank.class)) {
+                    if (ObjectUtils.isEmpty(attObj)) {
+                        res.append(field.getAnnotation(ApiModelProperty.class).value()).append("不能为空<br />");
+                        return res.toString();
+                    }
+                }
+//                if (field.isAnnotationPresent(DictV.class)) {
+//                    if (!ObjectUtils.isEmpty(attObj)) {
+//                        String key = field.getAnnotation(DictV.class).type();
+//                        List<SysDictData> dictDataList = DictUtils.getDictCache(key);
+//                        if (!CollectionUtils.isEmpty(dictDataList)) {
+//                            Optional<SysDictData> dictData = dictDataList.stream().filter(d ->
+//                                    StringUtils.equals(d.getDictLabel(), attObj.toString())).findFirst();
+//                            if (dictData.isPresent()) {
+//                                field.set(t, dictData.get().getDictValue());
+//                            } else {
+//                                res.append(field.getAnnotation(ApiModelProperty.class).value()).append("参数不符合规范<br />");
+//                                return res.toString();
+//                            }
+//                        }
+//                    }
+//                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return res.toString();
+    }
+}

+ 5 - 0
ruoyi-modules/mz-business-btgl/src/main/java/com/ruoyi/business/mapper/ZwywBtglLrbtglMapper.java

@@ -4,6 +4,7 @@ import com.ruoyi.business.domain.ZwywBtglLrbtgl;
 import com.ruoyi.common.datascope.handler.DataColumn;
 import com.ruoyi.common.datascope.handler.DataPermission;
 import com.ruoyi.common.datascope.utils.BaseMapperPlus;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -28,4 +29,8 @@ public interface ZwywBtglLrbtglMapper extends BaseMapperPlus<ZwywBtglLrbtgl> {
    List<ZwywBtglLrbtgl> selectSpList (ZwywBtglLrbtgl zwywBtglLrbtgl);
 
    List<ZwywBtglLrbtgl> selectHcList (ZwywBtglLrbtgl zwywBtglLrbtgl);
+
+   void saveBaths(List<ZwywBtglLrbtgl> zwywBtglLrbtglList);
+
+   ZwywBtglLrbtgl getZwywBtglLrbtgl( @Param("type")String type,@Param("number") String number, @Param("status") String status);
 }

+ 8 - 0
ruoyi-modules/mz-business-btgl/src/main/java/com/ruoyi/business/service/IZwywBtglLrbtglService.java

@@ -1,5 +1,6 @@
 package com.ruoyi.business.service;
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.business.domain.ZwywBtglLrbtgl;
 
 import java.util.List;
@@ -72,4 +73,11 @@ public interface IZwywBtglLrbtglService
      */
     public int deleteZwywBtglLrbtglByIds(String[] ids);
 
+    /**
+     * 老人补贴资金受理 导入
+     * @param zwywBtglLrbtglList
+     * @return
+     */
+    public String importZwywBtglLrbtgl(List<ZwywBtglLrbtgl> zwywBtglLrbtglList);
+
 }

+ 38 - 1
ruoyi-modules/mz-business-btgl/src/main/java/com/ruoyi/business/service/impl/ZwywBtglLrbtglServiceImpl.java

@@ -8,10 +8,14 @@ import com.ruoyi.business.mapper.ZwywBtglXmglMapper;
 import com.ruoyi.business.service.IZwywBtglLrbtglService;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.security.utils.AmountUtils;
+import com.ruoyi.common.security.utils.ImportUtils;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.system.api.enums.DataStatus;
+import com.ruoyi.system.api.enums.ExamineStatus;
 import com.ruoyi.system.utils.SubCodeUtil;
+import io.seata.common.util.CollectionUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -28,7 +32,7 @@ import java.util.Objects;
  * @date 2022-05-24
  */
 @Service
-public class ZwywBtglLrbtglServiceImpl implements IZwywBtglLrbtglService
+public class ZwywBtglLrbtglServiceImpl  implements IZwywBtglLrbtglService
 {
     @Autowired
     private ZwywBtglLrbtglMapper zwywBtglLrbtglMapper;
@@ -177,4 +181,37 @@ public class ZwywBtglLrbtglServiceImpl implements IZwywBtglLrbtglService
         return zwywBtglLrbtglMapper.deleteBatchIds(Arrays.asList(ids));
     }
 
+    @Override
+    public String importZwywBtglLrbtgl(List<ZwywBtglLrbtgl> zwywBtglLrbtglList) {
+        StringBuilder msg = new StringBuilder();
+        if (CollectionUtils.isEmpty(zwywBtglLrbtglList)) {
+            throw new ServiceException("导入数据不能为空!");
+        }
+        long count = zwywBtglLrbtglList.stream().distinct().count();
+        if (count < zwywBtglLrbtglList.size()) {
+            throw new ServiceException("导入的Excel有重复信息,请检查。");
+        }
+        for (ZwywBtglLrbtgl n: zwywBtglLrbtglList){
+            msg.append(ImportUtils.checkAndTrans(n));
+            n.setSljg(ExamineStatus.SNO.getCode());
+            if (ObjectUtils.isNotEmpty(zwywBtglLrbtglMapper.getZwywBtglLrbtgl(n.getZjlx(), n.getZjhm(),
+                    DataStatus.NORMAL.getCode()))){
+                msg.append("<").append("证件号码:").append(n.getZjhm()).append(" >已存在,请修改。");
+            }
+            if (StringUtils.isEmpty(n.getRjsr())) {
+                n.setRjsr(null);
+            }
+        }
+        if (StringUtils.isNotEmpty(msg)) {
+            msg.insert(0, "很抱歉,导入失败!错误如下:<br />");
+            throw new ServiceException(msg.toString());
+        }
+        zwywBtglLrbtglMapper.saveBaths(zwywBtglLrbtglList);
+        msg.insert(0, "恭喜您,数据已全部导入成功!共 " + zwywBtglLrbtglList.size() + " 条,数据如下:<br />");
+        for (ZwywBtglLrbtgl n: zwywBtglLrbtglList){
+            msg.append("姓名: ").append(n.getXm()).append(" 导入成功 <br />");
+        }
+        return msg.toString();
+    }
+
 }

+ 24 - 0
ruoyi-modules/mz-business-btgl/src/main/resources/mapper/business/ZwywBtglLrbtgl.xml

@@ -451,4 +451,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 <if test="ffdq != null  and ffdq != ''"> and ffdq = #{ffdq}</if>
             </where>
     </select>
+
+
+    <insert id="saveBaths" parameterType="ZwywBtglLrbtgl">
+        insert into zwyw_btgl_lrbtgl (id, xm, zjlx, zjhm, csrq, xb, gj, mz, whcd, hyzk, zzmm, rjsr, sjhm, gddh, sxsfbq, btlx,ffzq, xqpglx, hjlb, hjszd, hjdzms,
+         jg, xjd, jzdzms, cjlb, cjdj, cjzh, sfxschx, sfcjsb, sbkh, yblb, pgdj, jhrxm, jhrsjhm, jhrgx, khyh, yhzh, khmc, dbrxm, dbrdh, sljg, slyj, shjg, shyj, spjg,
+         spyj, create_time_str, create_user_id, create_by, create_user_type,create_area_code, create_unit, create_unit_name)
+        values
+        <foreach item="item" index="index" collection="list" separator=",">
+        ( #{item.id},#{item.xm},#{item.zjlx},#{item.zjhm},#{item.csrq},#{item.xb},#{item.gj},#{item.mz},#{item.whcd},#{item.hyzk},#{item.zzmm},#{item.rjsr},#{item.sjhm},#{item.gddh},#{item.sxsfbq},#{item.btlx},#{item.ffzq},
+            #{item.xqpglx},#{item.hjlb},#{item.hjszd},#{item.hjdzms},
+            #{item.jg},#{item.xjd},#{item.jzdzms},#{item.cjlb},#{item.cjdj},#{item.cjzh},#{item.sfxschx},#{item.sfcjsb},#{item.sbkh},#{item.yblb},#{item.pgdj},#{item.jhrxm},#{item.jhrsjhm},#{item.jhrgx},#{item.khyh},
+            #{item.yhzh},#{item.khmc},#{item.dbrxm},#{item.dbrdh},#{item.sljg},#{item.slyj},#{item.shjg},#{item.shyj},#{item.spjg},#{item.spyj},
+            #{item.createTimeStr},#{item.createUserId},#{item.createBy},#{item.createUserType},
+            #{item.createAreaCode},#{item.createUnit},#{item.createUnitName})
+        </foreach>
+    </insert>
+
+    <select id="getZwywBtglLrbtgl" resultType="ZwywBtglLrbtgl">
+        select * from zwyw_btgl_lrbtgl
+        where zjlx = #{type}
+        and zjhm = #{number}
+        and status = #{status}
+        limit 1
+    </select>
 </mapper>

+ 4 - 0
ruoyi-modules/mz-business-tsxdxm/src/main/java/com/ruoyi/business/mapper/ZwywTsxdSmfwMapper.java

@@ -1,5 +1,6 @@
 package com.ruoyi.business.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.ruoyi.business.domain.ZwywTsxdSmfw;
 import com.ruoyi.common.datascope.handler.DataColumn;
 import com.ruoyi.common.datascope.handler.DataPermission;
@@ -25,4 +26,7 @@ public interface ZwywTsxdSmfwMapper extends BaseMapperPlus<ZwywTsxdSmfw> {
   public int batchSmfw(List<ZwywTsxdSmfw> zwywTsxdSmfwList);
 
   List<Map<String,Object>> selectSmfwLists();
+
+  @InterceptorIgnore(tenantLine = "true")
+  ZwywTsxdSmfw getZwywTsxdSmfw(String projectName,String card);
 }

+ 17 - 12
ruoyi-modules/mz-business-tsxdxm/src/main/java/com/ruoyi/business/service/impl/ZwywTsxdSmfwServiceImpl.java

@@ -167,20 +167,25 @@ public class ZwywTsxdSmfwServiceImpl implements IZwywTsxdSmfwService
         int failureNum= 0;
         StringBuilder successMsg = new StringBuilder();
         StringBuilder failureMsg = new StringBuilder();
-        List<Map<String, Object>> list1 = zwywTsxdSmfwMapper.selectSmfwLists();
+        //List<Map<String, Object>> list1 = zwywTsxdSmfwMapper.selectSmfwLists();
         int index =0;
         for (ZwywTsxdSmfw zwywTsxdSmfw :zwywTsxdSmfwList){
-            index++;
-            Map<String,Object> map = new HashMap<>();
-            map.put("sqrsfzh",zwywTsxdSmfw.getSqrsfzh());
-            map.put("sqrxm",zwywTsxdSmfw.getSqrxm());
-            map.put("yjkzpsr",zwywTsxdSmfw.getYjkzpsr());
-            map.put("snqk",zwywTsxdSmfw.getSnqk());
-            map.put("jdshrxm",zwywTsxdSmfw.getJdshrxm());
-            map.put("jdshyj",zwywTsxdSmfw.getJdshyj());
-            map.put("mzsprxm",zwywTsxdSmfw.getMzsprxm());
-            map.put("mzspyj",zwywTsxdSmfw.getMzspyj());
-            if (list1.contains(map)){
+//            index++;
+//            Map<String,Object> map = new HashMap<>();
+//            map.put("sqrsfzh",zwywTsxdSmfw.getSqrsfzh());
+//            map.put("sqrxm",zwywTsxdSmfw.getSqrxm());
+//            map.put("yjkzpsr",zwywTsxdSmfw.getYjkzpsr());
+//            map.put("snqk",zwywTsxdSmfw.getSnqk());
+//            map.put("jdshrxm",zwywTsxdSmfw.getJdshrxm());
+//            map.put("jdshyj",zwywTsxdSmfw.getJdshyj());
+//            map.put("mzsprxm",zwywTsxdSmfw.getMzsprxm());
+//            map.put("mzspyj",zwywTsxdSmfw.getMzspyj());
+            //项目名称
+            String projectName = zwywTsxdSmfw.getMc();
+            //身份证号
+            String card = zwywTsxdSmfw.getSqrsfzh();
+            ZwywTsxdSmfw getZwywTsxdSmfw = zwywTsxdSmfwMapper.getZwywTsxdSmfw(projectName,card);
+            if (getZwywTsxdSmfw != null){
                 failureNum++;
                 failureMsg.append("<br/>" + failureNum + "<" + "项目名称:" + zwywTsxdSmfw.getMc()  + " 已存在,请修改。");
             }

+ 4 - 0
ruoyi-modules/mz-business-tsxdxm/src/main/resources/mapper/business/smfwMapper.xml

@@ -193,4 +193,8 @@
         select id,xm_id,sqrsfzh,sqrxm,yjkzpsr,snqk,jdshrxm,jdshyj,mzsprxm,mzspyj,
         create_time_str, create_user_id, create_by, create_user_type,create_area_code, create_unit, create_unit_name from zwyw_tsxd_smfw
     </select>
+
+    <select id="getZwywTsxdSmfw" resultType="ZwywTsxdSmfw">
+        select * from zwyw_tsxd_smfw where mc = #{projectName} and sqrsfzh = #{card}
+    </select>
 </mapper>

+ 11 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywBtglLrbtglController.java

@@ -16,6 +16,7 @@ import com.ruoyi.system.validate.group.AddGroup;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
@@ -172,4 +173,14 @@ public class ZwywBtglLrbtglController extends BaseController
     {
         return toAjax(zwywBtglLrbtglService.deleteZwywBtglLrbtglByIds(ids));
     }
+
+    @Log(title = "老人补贴资金受理导入",businessType = BusinessType.IMPORT)
+    @RequiresPermissions("business:lrbtgl:importData")
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file) throws Exception{
+        ExcelUtil<ZwywBtglLrbtgl> util = new ExcelUtil<>(ZwywBtglLrbtgl.class);
+        List<ZwywBtglLrbtgl> ZwywBtglLrbtglList = util.importExcel(file.getInputStream());
+        String message = zwywBtglLrbtglService.importZwywBtglLrbtgl(ZwywBtglLrbtglList);
+        return AjaxResult.success(message);
+    }
 }

+ 72 - 1
ruoyi-ui/src/views/business/btgl/lrbtgl/index.vue

@@ -19,6 +19,8 @@
           v-hasPermi="['business:lrbtgl:add']">新增</el-button>
       </el-col>
       <el-col :span="1.5">
+        <el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport"
+                   v-has-permi="['business:lrbtgl:importData']">导入</el-button>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -349,6 +351,33 @@
       </div>
     </el-dialog>
 
+    <!-- 用户导入对话框 -->
+    <el-dialog v-dialog-drag :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
+      <el-upload
+        ref="upload"
+        :limit="1"
+        accept=".xlsx, .xls"
+        :headers="upload.headers"
+        :action="upload.url"
+        :disabled="upload.isUploading"
+        :on-progress="handleFileUploadProgress"
+        :on-success="handleFileSuccess"
+        :auto-upload="false"
+        drag
+      >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
+        <div class="el-upload__tip text-center" slot="tip">
+          <span>仅允许导入xls、xlsx格式文件。</span>
+          <!--          <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>-->
+        </div>
+      </el-upload>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFileForm">确 定</el-button>
+        <el-button @click="upload.open = false">取 消</el-button>
+      </div>
+    </el-dialog>
+
     <!--老人补贴资金受理详情-->
     <el-dialog :before-close="dialogClosed" v-dialog-drag title="老人补贴资金受理详情" :visible.sync="openXQ" width="1000px"
       custom-class="custom2" :append-to-body="true">
@@ -516,7 +545,7 @@ import { addLrbtgl, delLrbtgl, getLrbtgl, listLrbtgl, updateLrbtgl } from '@/api
 import { chineseOne, idCard, Mobile, Phone } from '@/utils/regular'
 import { Constant } from '@/utils/constant'
 import { decryptData_ECB, decryptRowData_ECB } from "@/api/tool/sm4";
-
+import { getToken } from '@/utils/auth';
 export default {
   name: 'Lrbtgl',
   dicts: ['C0009', 'CZ036', 'XZ002', 'C0008', 'CZ035', 'CZ002', 'CZ004', 'C0015', 'C0007', 'XZ021', 'C0044', 'CH016', 'C0025', 'C0013', 'C0024', 'XZ074', 'XZ073', 'C0010', 'C0032', 'C0031', 'CH045', 'CH019'],
@@ -545,6 +574,21 @@ export default {
       title: '',
       // 是否显示弹出层
       open: false,
+      // 用户导入参数
+      upload: {
+        // 是否显示弹出层(用户导入)
+        open: false,
+        // 弹出层标题(用户导入)
+        title: "",
+        // 是否禁用上传
+        isUploading: false,
+        // 是否更新已经存在的用户数据
+        updateSupport: 0,
+        // 设置上传的请求头部
+        headers: { Authorization: "Bearer " + getToken() },
+        // 上传的地址
+        url: process.env.VUE_APP_BASE_API + "/business/lrbtgl/importData"
+      },
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -822,6 +866,33 @@ export default {
         }
       })
     },
+    /** 导入按钮操作 */
+    handleImport() {
+      this.upload.title = "老人补贴资金受理导入";
+      this.upload.open = true;
+    },
+    // /** 下载模板操作 */
+    // importTemplate() {
+    //   this.download('organization/ygJbxx/importTemplate', {
+    //   }, `员工基本信息_模板_${new Date().getTime()}.xlsx`)
+    // },
+// 文件上传中处理
+    handleFileUploadProgress(event, file, fileList) {
+      this.upload.isUploading = true;
+    },
+// 文件上传成功处理
+    handleFileSuccess(response, file, fileList) {
+      this.upload.open = false;
+      this.upload.isUploading = false;
+      this.$refs.upload.clearFiles();
+      this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true });
+      this.getList();
+    },
+// 提交上传文件
+    submitFileForm() {
+      this.$refs.upload.submit();
+    },
+
     /** 删除按钮操作 */
     handleDelete(row, index) {
       const ids = row.id || this.ids