Skip to content

Commit

Permalink
合并
Browse files Browse the repository at this point in the history
  • Loading branch information
admin committed May 20, 2021
0 parents commit 212bd20
Show file tree
Hide file tree
Showing 332 changed files with 28,874 additions and 0 deletions.
65 changes: 65 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@

# saas-util 简介
`saas-util`[saas-cloud]的核心工具包,开发宗旨是兼顾 SpringBoot 和 SpringCloud 项目的公共工具类。

# saas-util 结构
- saas-annotation
- 通用注解
- saas-boot
- SpringBoot通用配置:序列化规则, 全局异常
- 通用Controller/Service/Mapper父类
- saas-cache-starter
- redis和caffeine二次封装
- saas-cloud-starter
- spring cloud通用配置
- 自定义负载均衡
- 全局Fallback处理器
- 远程调用请求头和上下文传递
- saas-core
- 核心基础工具类
- saas-databases
- 数据源配置
- 通用字段:id,createTime,createBy,updateTime,updateBy 自动填充
- 数据源动态切换, SCHEMA动态修改, Sql动态添加租户字段
- 数据权限拦截器
- saas-dependencies
- 自定义pom, 管理所有项目依赖版本
- saas-dozer-starter
- bean转换配置
- saas-echo-starter
- 远程数据自动注入
- saas-jwt-starter
- Jwt自动生成
- 解析工具类
- saas-log-starter
- 操作日志记录
- logBack日志模板
- MDC传递参数
- saas-mq-starter
- 消息队列
- saas-security-starter
- 全局认证拦截器,将请求头中的用户信息封装到LocalThread
- 当前用户身份自动注入
- URI权限拦截
- saas-swagger2-starter
- swagger2自动配置
- saas-uid
- 全局唯一标识
- saas-validator-starter
- 后端表单验证规则自动获取
- saas-xss-starter
- 过滤器,序列化规则双重过滤参数
- saas-zipkin-client-starter

## saas-util 功能
- Mvc封装: 通用的 Controller、Service、Mapper、全局异常、全局序列化、反序列化规则
- SpringCloud封装:请求头传递、调用日志、灰度、统一配置编码解码规则等
- 数据回显:优雅解决 跨库表关联字段回显、跨服务字段回显
- 持久层增强:增强MybatisPlus Wrapper操作类、数据权限、自定义类型处理器
- 枚举、字典等字段统一传参、回显格式: 解决前端即要使用编码,有要回显中文名的场景。
- 在线文档:对swagger、knife4j二次封装,实现配置即文档。
- 前后端表单统一校验:还在为前端写一次校验规则,后端写一次校验规则而痛苦不堪? 本组件将后端配置的jsr校验规则返回给前端,前端通过全局js,实现统一的校验规则。
- 缓存:封装redis缓存、二级缓存等,实现动态启用/禁用redis
- XSS: 对表单参数、json参数进行xss处理
- 统一的操作日志: AOP方式优雅记录操作日志
- 轻量级接口权限
301 changes: 301 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,301 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
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.dwi.basic</groupId>
<artifactId>dwi-saas-util</artifactId>
<version>1.0.0-Common-SNAPSHOT</version>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<description>saas项目公共模块</description>
<url></url>

<modules>
<module>saas-dependencies</module>
<module>saas-annotation</module>
<module>saas-core</module>
<module>saas-boot</module>
<module>saas-databases</module>
<module>saas-postgis</module>
<module>saas-log-starter</module>
<module>saas-swagger2-starter</module>
<module>saas-validator-starter</module>
<module>saas-security-starter</module>
<module>saas-jwt-starter</module>
<module>saas-dozer-starter</module>
<module>saas-xss-starter</module>
<module>saas-cloud-starter</module>
<module>saas-cache-starter</module>
<module>saas-mq-starter</module>
<module>saas-msg-starter</module>
<module>saas-datasource-plugin</module>
<module>saas-zipkin-client-starter</module>
<module>saas-echo-starter</module>
<module>saas-uid</module>
</modules>
<properties>
<saas-dependencies.version>1.0.0-Common-SNAPSHOT</saas-dependencies.version>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
<maven-resources-plugin.version>3.1.0</maven-resources-plugin.version>
<maven-javadoc-plugin.version>3.2.0</maven-javadoc-plugin.version>
<dockerfile-maven-plugin.version>1.4.12</dockerfile-maven-plugin.version>
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
<versions-maven-plugin.version>2.7</versions-maven-plugin.version>
</properties>

<licenses>
<license>
<name>Apache 2</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
<comments>A business-friendly OSS license</comments>
</license>
</licenses>

<developers>
<developer>
<id>dwi</id>
<name>dwi</name>
<email></email>
<roles>
<role>Java Development Engineer</role>
</roles>
<timezone>2020-03-12 17:50:10</timezone>
</developer>
</developers>
<scm>
<connection>scm:[email protected]:dwi/saas-util.git</connection>
<developerConnection>scm:[email protected]:dwi/saas-util.git</developerConnection>
<url>[email protected]:dwi/saas-util.git</url>
</scm>

<distributionManagement>
<snapshotRepository>
<id>oss</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</snapshotRepository>
<repository>
<id>oss</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.dwi.basic</groupId>
<artifactId>saas-dependencies</artifactId>
<version>${saas-dependencies.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>

<dependency>
<groupId>com.dwi.basic</groupId>
<artifactId>saas-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.dwi.basic</groupId>
<artifactId>saas-annotation</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.dwi.basic</groupId>
<artifactId>saas-uid</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.dwi.basic</groupId>
<artifactId>saas-boot</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.dwi.basic</groupId>
<artifactId>saas-echo-starter</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.dwi.basic</groupId>
<artifactId>saas-databases</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.dwi.basic</groupId>
<artifactId>saas-postgis</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.dwi.basic</groupId>
<artifactId>saas-cache-starter</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.dwi.basic</groupId>
<artifactId>saas-mq-starter</artifactId>
<version>${project.version}</version>
</dependency>

</dependencies>
</dependencyManagement>
<dependencies>
<!--Lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
</dependencies>


<build>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>

<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
<!-- <compilerArgs>-Xlint:deprecation</compilerArgs>-->
<!-- <compilerArgs>-Xlint:unchecked</compilerArgs>-->
</configuration>
</plugin>
<!-- resources资源插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources-plugin.version}</version>
<configuration>
<encoding>UTF-8</encoding>
<!-- 后缀为pem、pfx的证书文件 -->
<nonFilteredFileExtensions>
<nonFilteredFileExtension>pem</nonFilteredFileExtension>
<nonFilteredFileExtension>pfx</nonFilteredFileExtension>
<nonFilteredFileExtension>p12</nonFilteredFileExtension>
<nonFilteredFileExtension>key</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
<!-- java文档插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<configuration>
<encoding>UTF-8</encoding>
<!-- <aggregate>true</aggregate>-->
<charset>UTF-8</charset>
<docencoding>UTF-8</docencoding>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<additionalJOption>-Xdoclint:none</additionalJOption>
</configuration>
</execution>
</executions>
</plugin>
<!--配置生成源码包 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- 一键更新子模块版本号 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${versions-maven-plugin.version}</version>
<configuration>
<generateBackupPoms>false</generateBackupPoms>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- 编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<!-- 资源插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
</plugin>
<!-- java文档插件 -->
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin> -->
<!--配置生成源码包 -->
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
</plugin> -->
<!-- 一键更新子模块版本号 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<configuration>
<generateBackupPoms>false</generateBackupPoms>
</configuration>
</plugin>
</plugins>
</build>

</project>
Loading

0 comments on commit 212bd20

Please sign in to comment.