Skip to content

Commit 351cc8a

Browse files
committed
sync with smartoffice
1 parent c382be3 commit 351cc8a

32 files changed

+120
-154
lines changed

.editorconfig

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ root = true
44
end_of_line = lf
55
insert_final_newline = true
66
charset = utf-8
7+
max_line_length=140
78

89
[*.md]
910
max_line_length = off

build.gradle

+20-26
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,24 @@
88
// 在这个区块中你可以声明你的 build 脚本需要的依赖和解析下载该依赖所使用的仓储位置
99
buildscript {
1010
ext {
11-
springBootVersion = '2.0.2.RELEASE'
12-
springCloudVersion = 'Finchley.BUILD-SNAPSHOT'
11+
springBootVersion = '2.0.3.RELEASE'
12+
springCloudVersion = 'Finchley.RELEASE'
1313
propDepsVersion = '0.0.9.RELEASE'
1414
springFoxVersion = '2.9.0'
1515
redissonVersion = '3.6.5'
16+
javerVersion = '3.10.0'
17+
jwtVersion = '0.9.0'
18+
mongobeeVersion = '0.13'
19+
problemVersion = '0.23.0'
20+
javaTuplesVersion = '1.2'
21+
jacksonDataTypeJsr310Version = '2.9.5'
22+
jpushVersion = '3.3.6'
23+
awsVersion = '1.11.136'
24+
javassistVersion = '3.18.2-GA'
25+
springbootAdminVersion = '2.0.0'
26+
jPinyinVersion = '1.1.8'
1627
}
28+
ext['spring.data.elasticsearch.version'] = '3.0.8.RELEASE'
1729
repositories {
1830
maven { setUrl('http://maven.aliyun.com/nexus/content/groups/public/') }
1931
maven { setUrl('http://maven.aliyun.com/nexus/content/repositories/jcenter') }
@@ -28,18 +40,7 @@ buildscript {
2840

2941
allprojects {
3042
group = 'dev.local.gtm'
31-
repositories {
32-
maven { setUrl('http://maven.aliyun.com/nexus/content/groups/public/') }
33-
maven { setUrl('http://maven.aliyun.com/nexus/content/repositories/jcenter') }
34-
}
3543
apply plugin: 'idea'
36-
idea {
37-
module {
38-
inheritOutputDirs = true
39-
outputDir file("$buildDir/classes/main")
40-
testOutputDir file("$buildDir/classes/test")
41-
}
42-
}
4344
}
4445

4546
subprojects {
@@ -52,31 +53,24 @@ subprojects {
5253
apply plugin: 'propdeps'
5354
apply plugin: 'propdeps-idea'
5455
apply plugin: 'io.spring.dependency-management'
55-
apply plugin: 'org.springframework.boot'
5656
sourceCompatibility = 1.8
5757
targetCompatibility = 1.8
58-
sourceSets.main.output.classesDir = new File(buildDir, "classes/main")
5958
repositories {
60-
maven { url "https://repo.spring.io/libs-snapshot" }
59+
maven { setUrl('http://maven.aliyun.com/nexus/content/groups/public/') }
60+
maven { setUrl('http://maven.aliyun.com/nexus/content/repositories/jcenter') }
61+
maven { setUrl('https://repo.spring.io/libs-milestone') }
6162
jcenter()
6263
}
6364
dependencies {
6465
runtime('org.springframework.boot:spring-boot-devtools')
65-
compileOnly('org.projectlombok:lombok')
66-
annotationProcessor("org.projectlombok:lombok")
67-
testImplementation("org.projectlombok:lombok")
68-
// optional('org.springframework.boot:spring-boot-configuration-processor')
69-
annotationProcessor("org.springframework.boot:spring-boot-configuration-processor")
66+
compileOnly("org.projectlombok:lombok")
67+
compileOnly("org.springframework.boot:spring-boot-configuration-processor")
7068
testImplementation("org.springframework.boot:spring-boot-starter-test")
69+
testImplementation("org.projectlombok:lombok")
7170
}
7271
dependencyManagement {
7372
imports {
74-
// could have been
75-
// mavenBom org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES
76-
// but, as per source, that constant is a string containing the exact value below, and I think the one below is clearer
77-
// details: https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/gradle-plugin/reference/html/#managing-dependencies-using-in-isolation
7873
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
7974
}
8075
}
81-
compileJava.dependsOn(processResources)
8276
}

gradle/docker.gradle

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@ apply plugin: com.bmuschko.gradle.docker.DockerRemoteApiPlugin
1313
task createDockerfile(type: com.bmuschko.gradle.docker.tasks.image.Dockerfile, dependsOn: ['bootJar']) {
1414
description = "自动创建 Dockerfile"
1515
destFile = project.file('src/main/docker/Dockerfile')
16-
from 'registry.cn-beijing.aliyuncs.com/twigcodes/openjdk:8-jdk-alpine'
16+
from 'openjdk:8-jdk-alpine'
1717
volume '/tmp'
1818
addFile "${project.name}-${project.version}.jar", "app.jar"
1919
instruction { 'ENTRYPOINT [' +
2020
'"java", ' +
2121
'"-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n", ' +
22+
'"-Dspring.profiles.active=prod", ' +
2223
'"-Djava.security.egd=file:/dev/./urandom", ' +
2324
'"-jar","/app.jar"]'}
2425
maintainer 'Peng Wang "[email protected]"'

gtm-api/build.gradle

+33-15
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,57 @@
11
apply plugin: 'org.springframework.boot'
2+
repositories {
3+
maven {
4+
url 'https://repo.spring.io/libs-milestone'
5+
}
6+
maven { url 'https://jitpack.io' }
7+
}
28
configurations {
39
springLoaded
410
// 如果使用 undertow 或 jetty 需要把默认包含的 tomcat 排除在外
511
compile.exclude module: 'spring-boot-starter-tomcat'
612
}
7-
sourceSets {
8-
main {
9-
java.srcDirs = ['src/main/java', 'src/main/resources']
10-
resources.srcDir 'src/main/resources'
11-
}
12-
test { java.srcDir 'src/test/java' }
13-
}
1413
test {
1514
systemProperties['spring.profiles.active'] = 'test'
1615
}
1716
dependencies {
17+
implementation("com.github.stuxuhai:jpinyin:${jPinyinVersion}")
18+
// implementation("org.springframework.cloud:spring-cloud-starter-netflix-eureka-client")
19+
implementation("de.codecentric:spring-boot-admin-starter-client:${springbootAdminVersion}")
20+
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${jacksonDataTypeJsr310Version}")
21+
implementation("cn.jpush.api:jpush-client:${jpushVersion}") {
22+
exclude group: "org.apache.httpcomponents", module: "httpclient"
23+
exclude group: "commons-logging", module: "commons-logging"
24+
}
25+
implementation("com.amazonaws:aws-java-sdk:${awsVersion}") {
26+
exclude group: "org.apache.httpcomponents", module: "httpclient"
27+
exclude group: "commons-logging", module: "commons-logging"
28+
}
29+
implementation("org.javatuples:javatuples:${javaTuplesVersion}")
1830
implementation("io.springfox:springfox-swagger2:${springFoxVersion}")
1931
implementation("io.springfox:springfox-bean-validators:${springFoxVersion}")
20-
implementation("io.springfox:springfox-data-rest:${springFoxVersion}")
32+
// implementation("io.springfox:springfox-data-rest:${springFoxVersion}")
2133
implementation("io.springfox:springfox-swagger-ui:${springFoxVersion}")
34+
implementation("org.javers:javers-spring-boot-starter-mongo:${javerVersion}") {
35+
exclude group: "org.mongodb", module: "mongo-java-driver"
36+
}
37+
implementation("io.jsonwebtoken:jjwt:${jwtVersion}")
38+
implementation("org.zalando:problem-spring-web:${problemVersion}")
39+
implementation("org.redisson:redisson:${redissonVersion}")
40+
implementation("com.fasterxml.jackson.module:jackson-module-afterburner")
41+
implementation("org.javassist:javassist:${javassistVersion}")
42+
implementation("com.github.mongobee:mongobee:${mongobeeVersion}") {
43+
exclude group: "org.mongodb", module: "mongo-java-driver"
44+
}
45+
implementation("org.springframework.boot:spring-boot-starter-websocket")
2246
implementation("org.springframework.boot:spring-boot-starter-undertow")
23-
implementation("org.javers:javers-spring-boot-starter-mongo:3.9.7")
2447
implementation("org.springframework.boot:spring-boot-starter-actuator")
2548
implementation("org.springframework.boot:spring-boot-starter-web")
26-
implementation("io.jsonwebtoken:jjwt:0.9.0")
2749
implementation("org.springframework.boot:spring-boot-starter-security")
2850
implementation("org.springframework.boot:spring-boot-starter-aop")
29-
implementation("org.zalando:problem-spring-web:0.20.1")
30-
implementation("org.redisson:redisson:${redissonVersion}")
31-
implementation("com.fasterxml.jackson.module:jackson-module-afterburner")
32-
implementation("org.javassist:javassist:3.18.2-GA")
33-
implementation("com.github.mongobee:mongobee:0.13")
3451
implementation("org.springframework.boot:spring-boot-starter-data-mongodb")
3552
implementation("org.springframework.boot:spring-boot-starter-data-redis")
3653
implementation("org.springframework.data:spring-data-elasticsearch")
54+
implementation("org.springframework.security:spring-security-messaging")
3755
implementation("net.java.dev.jna:jna")
3856
testImplementation("org.springframework.security:spring-security-test")
3957
}

gtm-api/src/main/java/dev/local/gtm/api/aop/logging/LoggingAspect.java

-2
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@
22

33
import dev.local.gtm.api.config.Constants;
44
import lombok.extern.slf4j.Slf4j;
5-
65
import org.aspectj.lang.JoinPoint;
76
import org.aspectj.lang.ProceedingJoinPoint;
87
import org.aspectj.lang.annotation.AfterThrowing;
98
import org.aspectj.lang.annotation.Around;
109
import org.aspectj.lang.annotation.Aspect;
1110
import org.aspectj.lang.annotation.Pointcut;
12-
1311
import org.springframework.core.env.Environment;
1412

1513
import java.util.Arrays;

gtm-api/src/main/java/dev/local/gtm/api/async/ExceptionHandlingAsyncTaskExecutor.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package dev.local.gtm.api.async;
22

3-
import java.util.concurrent.Callable;
4-
import java.util.concurrent.Future;
5-
3+
import lombok.extern.slf4j.Slf4j;
64
import org.springframework.beans.factory.DisposableBean;
75
import org.springframework.beans.factory.InitializingBean;
86
import org.springframework.core.task.AsyncTaskExecutor;
97

10-
import lombok.extern.slf4j.Slf4j;
8+
import java.util.concurrent.Callable;
9+
import java.util.concurrent.Future;
1110

1211
@Slf4j
1312
public class ExceptionHandlingAsyncTaskExecutor implements AsyncTaskExecutor, InitializingBean, DisposableBean {

gtm-api/src/main/java/dev/local/gtm/api/changelogs/InitialSetup.java

+7-9
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
11
package dev.local.gtm.api.changelogs;
22

3-
import java.util.Arrays;
4-
53
import com.github.mongobee.changeset.ChangeLog;
64
import com.github.mongobee.changeset.ChangeSet;
7-
8-
import org.springframework.data.mongodb.core.MongoTemplate;
9-
import org.springframework.data.mongodb.core.query.Criteria;
10-
import org.springframework.data.mongodb.core.query.Query;
11-
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
12-
135
import dev.local.gtm.api.domain.Authority;
146
import dev.local.gtm.api.domain.User;
157
import dev.local.gtm.api.security.AuthoritiesConstants;
168
import dev.local.gtm.api.web.exception.InternalServerErrorException;
179
import lombok.RequiredArgsConstructor;
18-
import lombok.val;
1910
import lombok.extern.slf4j.Slf4j;
11+
import lombok.val;
12+
import org.springframework.data.mongodb.core.MongoTemplate;
13+
import org.springframework.data.mongodb.core.query.Criteria;
14+
import org.springframework.data.mongodb.core.query.Query;
15+
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
16+
17+
import java.util.Arrays;
2018

2119
/**
2220
* 进行数据库的 migration

gtm-api/src/main/java/dev/local/gtm/api/config/AsyncConfig.java

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package dev.local.gtm.api.config;
22

3-
import java.util.concurrent.Executor;
4-
3+
import dev.local.gtm.api.async.ExceptionHandlingAsyncTaskExecutor;
4+
import lombok.RequiredArgsConstructor;
5+
import lombok.extern.slf4j.Slf4j;
56
import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
67
import org.springframework.aop.interceptor.SimpleAsyncUncaughtExceptionHandler;
78
import org.springframework.context.annotation.Bean;
@@ -13,9 +14,7 @@
1314
import org.springframework.scheduling.concurrent.ConcurrentTaskScheduler;
1415
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
1516

16-
import dev.local.gtm.api.async.ExceptionHandlingAsyncTaskExecutor;
17-
import lombok.RequiredArgsConstructor;
18-
import lombok.extern.slf4j.Slf4j;
17+
import java.util.concurrent.Executor;
1918

2019
@Slf4j
2120
@RequiredArgsConstructor

gtm-api/src/main/java/dev/local/gtm/api/config/DatabaseConfig.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package dev.local.gtm.api.config;
22

3+
import com.github.mongobee.Mongobee;
4+
import com.mongodb.MongoClient;
35
import dev.local.gtm.api.util.DateTimeUtil;
46
import lombok.RequiredArgsConstructor;
57
import lombok.extern.slf4j.Slf4j;
6-
78
import org.springframework.boot.autoconfigure.mongo.MongoProperties;
89
import org.springframework.context.annotation.Bean;
910
import org.springframework.context.annotation.Configuration;
@@ -19,9 +20,6 @@
1920
import java.util.ArrayList;
2021
import java.util.List;
2122

22-
import com.github.mongobee.Mongobee;
23-
import com.mongodb.MongoClient;
24-
2523
@Slf4j
2624
@RequiredArgsConstructor
2725
@Configuration

gtm-api/src/main/java/dev/local/gtm/api/config/ElasticConfig.java

-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import com.fasterxml.jackson.databind.DeserializationFeature;
44
import com.fasterxml.jackson.databind.ObjectMapper;
55
import lombok.RequiredArgsConstructor;
6-
76
import org.elasticsearch.client.Client;
87
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
98
import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchProperties;
@@ -15,7 +14,6 @@
1514
import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;
1615
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
1716

18-
1917
import java.io.IOException;
2018

2119
@RequiredArgsConstructor

gtm-api/src/main/java/dev/local/gtm/api/config/OutgoingRestTemplateConfig.java

-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22

33
import dev.local.gtm.api.config.resttemplate.LeanCloudAuthHeaderInterceptor;
44
import dev.local.gtm.api.config.resttemplate.LeanCloudRequestErrorHandler;
5-
65
import lombok.RequiredArgsConstructor;
7-
86
import org.springframework.boot.web.client.RestTemplateBuilder;
97
import org.springframework.context.annotation.Bean;
108
import org.springframework.context.annotation.Configuration;

gtm-api/src/main/java/dev/local/gtm/api/config/SwaggerConfig.java

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package dev.local.gtm.api.config;
22

3+
import com.fasterxml.classmate.TypeResolver;
34
import io.swagger.models.auth.In;
4-
55
import org.springframework.context.annotation.Bean;
66
import org.springframework.context.annotation.ComponentScan;
77
import org.springframework.context.annotation.Configuration;
@@ -10,7 +10,6 @@
1010
import org.springframework.data.domain.Pageable;
1111
import org.springframework.http.HttpHeaders;
1212
import org.springframework.http.ResponseEntity;
13-
1413
import springfox.documentation.builders.AlternateTypeBuilder;
1514
import springfox.documentation.builders.AlternateTypePropertyBuilder;
1615
import springfox.documentation.builders.PathSelectors;
@@ -28,8 +27,6 @@
2827
import java.util.Collections;
2928
import java.util.List;
3029

31-
import com.fasterxml.classmate.TypeResolver;
32-
3330
import static com.google.common.collect.Lists.newArrayList;
3431
import static springfox.documentation.schema.AlternateTypeRules.newRule;
3532

gtm-api/src/main/java/dev/local/gtm/api/config/audit/JaversAuthorProvider.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package dev.local.gtm.api.config.audit;
22

3-
import org.javers.spring.auditable.AuthorProvider;
4-
import org.springframework.stereotype.Component;
5-
63
import dev.local.gtm.api.config.Constants;
74
import dev.local.gtm.api.security.SecurityUtils;
5+
import org.javers.spring.auditable.AuthorProvider;
6+
import org.springframework.stereotype.Component;
87

98
@Component
109
public class JaversAuthorProvider implements AuthorProvider {

gtm-api/src/main/java/dev/local/gtm/api/config/resttemplate/LeanCloudAuthHeaderInterceptor.java

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
package dev.local.gtm.api.config.resttemplate;
22

3-
import java.io.IOException;
4-
3+
import dev.local.gtm.api.config.AppProperties;
4+
import lombok.RequiredArgsConstructor;
5+
import lombok.val;
56
import org.springframework.http.HttpRequest;
67
import org.springframework.http.MediaType;
78
import org.springframework.http.client.ClientHttpRequestExecution;
89
import org.springframework.http.client.ClientHttpRequestInterceptor;
910
import org.springframework.http.client.ClientHttpResponse;
1011

11-
import dev.local.gtm.api.config.AppProperties;
12-
import lombok.RequiredArgsConstructor;
13-
import lombok.val;
12+
import java.io.IOException;
1413

1514
/**
1615
* 为 LeanCloud 云服务配置在 Request Header 中写入鉴权信息 关于 LeanCloud 短信服务的鉴权信息可以参考

0 commit comments

Comments
 (0)