Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xyqb-user2
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
head_group
xyqb-user2
Commits
0722baf4
Commit
0722baf4
authored
Dec 06, 2022
by
王亮
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update v2.
parent
d5f001a8
Changes
27
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
206 additions
and
341 deletions
+206
-341
pom.xml
pom.xml
+50
-106
Bootstrap.java
src/main/java/cn/quantgroup/xyqb/Bootstrap.java
+4
-0
JpaConfig.java
src/main/java/cn/quantgroup/xyqb/config/data/JpaConfig.java
+0
-1
LoginRiskJpaConfig.java
...va/cn/quantgroup/xyqb/config/data/LoginRiskJpaConfig.java
+1
-1
RedisConfig.java
...main/java/cn/quantgroup/xyqb/config/data/RedisConfig.java
+12
-52
EventConfig.java
...ain/java/cn/quantgroup/xyqb/config/event/EventConfig.java
+4
-21
HttpConfig.java
src/main/java/cn/quantgroup/xyqb/config/http/HttpConfig.java
+2
-2
CustomSentryExceptionResolver.java
...oup/xyqb/config/sentry/CustomSentryExceptionResolver.java
+0
-47
SentryConfig.java
...n/java/cn/quantgroup/xyqb/config/sentry/SentryConfig.java
+30
-15
SwaggerConfig.java
...java/cn/quantgroup/xyqb/config/swagger/SwaggerConfig.java
+0
-42
SmsController.java
...uantgroup/xyqb/controller/external/sms/SmsController.java
+1
-1
ContactRegisteredEventListener.java
...quantgroup/xyqb/event/ContactRegisteredEventListener.java
+1
-2
NotifyWechatBindEventListener.java
.../quantgroup/xyqb/event/NotifyWechatBindEventListener.java
+1
-1
IUserRepository.java
...n/java/cn/quantgroup/xyqb/repository/IUserRepository.java
+0
-1
HttpServiceImpl.java
...cn/quantgroup/xyqb/service/http/impl/HttpServiceImpl.java
+2
-2
SmsServiceImpl.java
...a/cn/quantgroup/xyqb/service/sms/impl/SmsServiceImpl.java
+1
-1
ContactServiceImpl.java
...quantgroup/xyqb/service/user/impl/ContactServiceImpl.java
+3
-3
ModifyPhoneNoServiceImpl.java
...roup/xyqb/service/user/impl/ModifyPhoneNoServiceImpl.java
+9
-6
UserBtRegisterServiceImpl.java
...oup/xyqb/service/user/impl/UserBtRegisterServiceImpl.java
+5
-1
UserDetailServiceImpl.java
...ntgroup/xyqb/service/user/impl/UserDetailServiceImpl.java
+9
-4
UserServiceImpl.java
...cn/quantgroup/xyqb/service/user/impl/UserServiceImpl.java
+6
-6
IpUtil.java
src/main/java/cn/quantgroup/xyqb/util/IpUtil.java
+1
-1
XxlJobSpringExecutor.java
...in/java/cn/quantgroup/xyqb/util/XxlJobSpringExecutor.java
+54
-0
XxlJobConfig.java
src/main/java/cn/quantgroup/xyqb/xxlJob/XxlJobConfig.java
+6
-21
app.properties
src/main/resources/META-INF/app.properties
+1
-1
logback-dev.xml
src/main/resources/logback-dev.xml
+1
-1
UserLoginTest.java
src/test/java/login/UserLoginTest.java
+2
-2
No files found.
pom.xml
View file @
0722baf4
...
...
@@ -4,11 +4,11 @@
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>
cn.quantgroup
</groupId>
<artifactId>
commons-parent
</artifactId>
<version>
0.5.4
</version>
<groupId>
cn.quantgroup.boot
</groupId>
<artifactId>
qg-boot-parent
</artifactId>
<version>
2.6.3.18
</version>
<relativePath/>
</parent>
<artifactId>
xyqb-user2
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
<packaging>
jar
</packaging>
...
...
@@ -16,25 +16,10 @@
<name>
xyqb-user2
</name>
<description>
xyqb web application
</description>
<profiles>
<profile>
<id>
dev
</id>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-devtools
</artifactId>
<version>
1.5.8.RELEASE
</version>
<optional>
true
</optional>
<scope>
true
</scope>
</dependency>
</dependencies>
</profile>
</profiles>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<java.version>
1.8
</java.version>
<junit.version>
4.12
</junit.version>
<junit.jupiter.version>
5.0.2
</junit.jupiter.version>
<maven.test.skip>
true
</maven.test.skip>
<org.springframework.security.version>
3.2.7.RELEASE
</org.springframework.security.version>
...
...
@@ -42,35 +27,39 @@
<dependencies>
<dependency>
<groupId>
com.sensorsdata.analytics.javasdk
</groupId>
<artifactId>
SensorsAnalyticsSDK
</artifactId>
<version>
3.2.0
</version>
<groupId>
cn.quantgroup.boot
</groupId>
<artifactId>
qg-apollo-starter
</artifactId>
</dependency>
<dependency>
<groupId>
cn.quantgroup.boot
</groupId>
<artifactId>
qg-web-starter
</artifactId>
</dependency>
<dependency>
<groupId>
io.swagger
</groupId>
<artifactId>
swagger-core
</artifactId>
<version>
RELEASE
</version>
<groupId>
cn.quantgroup.boot
</groupId>
<artifactId>
qg-discovery-starter
</artifactId>
</dependency>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger-ui
</artifactId>
<version>
RELEASE
</version>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-sleuth
</artifactId>
</dependency>
<!-- swagger2 end -->
<dependency>
<groupId>
com.google.code.gson
</groupId>
<artifactId>
gson
</artifactId>
<version>
2.3.1
</version>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-sleuth-zipkin
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.amqp
</groupId>
<artifactId>
spring-rabbit
</artifactId>
<groupId>
com.sensorsdata.analytics.javasdk
</groupId>
<artifactId>
SensorsAnalyticsSDK
</artifactId>
<version>
3.2.0
</version>
</dependency>
<dependency>
<groupId>
org.springframework.integration
</groupId>
<artifactId>
spring-integration-amqp
</artifactId>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
fastjson
</artifactId>
<version>
1.2.61
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
...
...
@@ -99,18 +88,26 @@
<artifactId>
spring-boot-starter-data-redis
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
<exclusions>
<exclusion>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-tomcat
</artifactId>
</exclusion>
</exclusions>
<groupId>
cn.quantgroup.boot
</groupId>
<artifactId>
qg-micrometer-register-kafka-starter
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-undertow
</artifactId>
<groupId>
com.alibaba.csp
</groupId>
<artifactId>
sentinel-web-servlet
</artifactId>
</dependency>
<dependency>
<groupId>
com.alibaba.cloud
</groupId>
<artifactId>
spring-cloud-starter-alibaba-sentinel
</artifactId>
</dependency>
<dependency>
<groupId>
org.hibernate.validator
</groupId>
<artifactId>
hibernate-validator
</artifactId>
<version>
6.2.0.Final
</version>
</dependency>
<dependency>
<groupId>
com.alibaba.csp
</groupId>
<artifactId>
sentinel-datasource-apollo
</artifactId>
<version>
1.8.3
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
...
...
@@ -121,45 +118,32 @@
<dependency>
<groupId>
org.junit.jupiter
</groupId>
<artifactId>
junit-jupiter-api
</artifactId>
<version>
${junit.jupiter.version}
</version>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.junit.jupiter
</groupId>
<artifactId>
junit-jupiter-params
</artifactId>
<version>
${junit.jupiter.version}
</version>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
junit
</groupId>
<artifactId>
junit
</artifactId>
<version>
${junit.version}
</version>
<scope>
test
</scope>
</dependency>
<!-- hibernate -->
<dependency>
<groupId>
org.hibernate
</groupId>
<artifactId>
hibernate-validator
</artifactId>
<version>
5.0.3.Final
</version>
<type>
jar
</type>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
org.hibernate
</groupId>
<artifactId>
hibernate-core
</artifactId>
<version>
5.
0.
4.Final
</version>
<version>
5.
6.1
4.Final
</version>
</dependency>
<dependency>
<groupId>
org.hibernate
</groupId>
<artifactId>
hibernate-ehcache
</artifactId>
<version>
5.0.4.Final
</version>
</dependency>
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
<version>
5.1.47
</version>
<version>
5.6.14.Final
</version>
</dependency>
<dependency>
<groupId>
org.apache.httpcomponents
</groupId>
<artifactId>
httpcore
</artifactId>
...
...
@@ -198,19 +182,16 @@
<dependency>
<groupId>
com.fasterxml.jackson.core
</groupId>
<artifactId>
jackson-core
</artifactId>
<version>
2.5.3
</version>
</dependency>
<dependency>
<groupId>
com.fasterxml.jackson.core
</groupId>
<artifactId>
jackson-databind
</artifactId>
<version>
2.5.3
</version>
</dependency>
<dependency>
<groupId>
com.fasterxml.jackson.core
</groupId>
<artifactId>
jackson-annotations
</artifactId>
<version>
2.5.3
</version>
</dependency>
<dependency>
...
...
@@ -231,11 +212,7 @@
<artifactId>
commons-codec
</artifactId>
<version>
1.10
</version>
</dependency>
<dependency>
<groupId>
com.rabbitmq
</groupId>
<artifactId>
amqp-client
</artifactId>
<version>
4.0.3
</version>
</dependency>
<dependency>
<groupId>
com.zaxxer
</groupId>
<artifactId>
HikariCP
</artifactId>
...
...
@@ -266,20 +243,6 @@
<artifactId>
poi
</artifactId>
<version>
3.10-FINAL
</version>
</dependency>
<dependency>
<groupId>
com.ctrip.framework.apollo
</groupId>
<artifactId>
apollo-client
</artifactId>
<version>
0.10.2
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
cn.quantgroup
</groupId>
<artifactId>
commons-spring
</artifactId>
</dependency>
<dependency>
<groupId>
cn.quantgroup
</groupId>
<artifactId>
shutdown-spring-boot-starter
</artifactId>
</dependency>
<dependency>
<groupId>
ch.qos.logback
</groupId>
<artifactId>
logback-classic
</artifactId>
...
...
@@ -314,11 +277,6 @@
<artifactId>
quantgroup-sms-sdk
</artifactId>
<version>
3.0
</version>
</dependency>
<dependency>
<groupId>
io.sentry
</groupId>
<artifactId>
sentry-spring
</artifactId>
<version>
1.7.30
</version>
</dependency>
<dependency>
<groupId>
com.vaadin.external.google
</groupId>
<artifactId>
android-json
</artifactId>
...
...
@@ -340,8 +298,8 @@
<version>
2.1.0
</version>
<exclusions>
<exclusion>
<groupId>
io.nett
y
</groupId>
<artifactId>
netty-all
</artifactId>
<groupId>
org.codehaus.groov
y
</groupId>
<artifactId>
groovy
</artifactId>
</exclusion>
</exclusions>
</dependency>
...
...
@@ -353,7 +311,6 @@
<dependency>
<groupId>
io.netty
</groupId>
<artifactId>
netty-all
</artifactId>
<version>
4.1.77.Final
</version>
</dependency>
</dependencies>
...
...
@@ -374,19 +331,6 @@
<fork>
true
</fork>
</configuration>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<version>
3.8.1
</version>
<configuration>
<source>
1.8
</source>
<target>
1.8
</target>
<encoding>
UTF-8
</encoding>
<compilerArgs>
<arg>
-Xlint:unchecked
</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
...
...
src/main/java/cn/quantgroup/xyqb/Bootstrap.java
View file @
0722baf4
package
cn
.
quantgroup
.
xyqb
;
import
cn.quantgroup.xyqb.config.SequencerProperties
;
import
com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.cache.annotation.EnableCaching
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.context.annotation.EnableAspectJAutoProxy
;
import
org.springframework.scheduling.annotation.EnableAsync
;
...
...
@@ -18,6 +20,8 @@ import org.springframework.scheduling.annotation.EnableAsync;
* -Denv=dev -Didc=k8s -Dlogging.config=classpath:logback-dev.xml -DNAMESPACE=xxx -Dserver.port=8099
*/
@Slf4j
@EnableApolloConfig
@EnableDiscoveryClient
@ComponentScan
(
basePackages
=
{
"cn.quantgroup"
})
@EnableCaching
@EnableAsync
...
...
src/main/java/cn/quantgroup/xyqb/config/data/JpaConfig.java
View file @
0722baf4
...
...
@@ -11,7 +11,6 @@ import javax.persistence.EntityManagerFactory;
import
javax.sql.DataSource
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.DependsOn
;
...
...
src/main/java/cn/quantgroup/xyqb/config/data/LoginRiskJpaConfig.java
View file @
0722baf4
...
...
@@ -7,7 +7,7 @@ import javax.persistence.EntityManagerFactory;
import
javax.sql.DataSource
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.
autoconfigure.
jdbc.DataSourceBuilder
;
import
org.springframework.boot.jdbc.DataSourceBuilder
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.DependsOn
;
...
...
src/main/java/cn/quantgroup/xyqb/config/data/RedisConfig.java
View file @
0722baf4
package
cn
.
quantgroup
.
xyqb
.
config
.
data
;
import
cn.quantgroup.xyqb.session.XyqbSessionContextHolder
;
import
java.util.HashSet
;
import
java.util.Set
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.cache.CacheManager
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.cache.RedisCacheManager
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.connection.RedisNode
;
import
org.springframework.data.redis.connection.RedisSentinelConfiguration
;
import
org.springframework.data.redis.connection.RedisStandaloneConfiguration
;
import
org.springframework.data.redis.connection.jedis.JedisConnectionFactory
;
import
org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
;
import
org.springframework.data.redis.serializer.StringRedisSerializer
;
import
redis.clients.jedis.JedisPoolConfig
;
/**
* Created by Miraculous on 15/7/4.
...
...
@@ -46,48 +42,19 @@ public class RedisConfig {
private
int
sentinel3port
;
private
RedisConnectionFactory
generateDevConnectionFactory
()
{
JedisConnectionFactory
factory
=
new
JedisConnectionFactory
();
factory
.
setHostName
(
masterHost
);
factory
.
setPort
(
masterPort
);
factory
.
setUsePool
(
true
);
factory
.
setConvertPipelineAndTxResults
(
true
);
JedisPoolConfig
poolConfig
=
generatePoolConfig
();
factory
.
setPoolConfig
(
poolConfig
);
factory
.
afterPropertiesSet
();
return
factory
;
}
RedisStandaloneConfiguration
config
=
new
RedisStandaloneConfiguration
(
masterHost
,
masterPort
);
private
RedisConnectionFactory
generateReleaseConnectionFactory
()
{
RedisSentinelConfiguration
sentinelConfiguration
=
new
RedisSentinelConfiguration
();
RedisNode
master
=
new
RedisNode
(
masterHost
,
masterPort
);
master
.
setName
(
masterName
);
Set
<
RedisNode
>
sentinels
=
new
HashSet
<>();
RedisNode
sentinel1
=
new
RedisNode
(
sentinel1Host
,
sentinel1port
);
RedisNode
sentinel2
=
new
RedisNode
(
sentinel2Host
,
sentinel2port
);
RedisNode
sentinel3
=
new
RedisNode
(
sentinel3Host
,
sentinel3port
);
sentinels
.
add
(
sentinel1
);
sentinels
.
add
(
sentinel2
);
sentinels
.
add
(
sentinel3
);
sentinelConfiguration
.
setMaster
(
master
);
sentinelConfiguration
.
setSentinels
(
sentinels
);
JedisPoolConfig
poolConfig
=
generatePoolConfig
();
JedisConnectionFactory
factory
=
new
JedisConnectionFactory
(
sentinelConfiguration
,
poolConfig
);
factory
.
setHostName
(
masterHost
);
factory
.
setPort
(
masterPort
);
factory
.
setTimeout
(
5000
);
factory
.
setUsePool
(
true
);
factory
.
setConvertPipelineAndTxResults
(
true
);
factory
.
afterPropertiesSet
();
return
factory
;
return
new
LettuceConnectionFactory
(
config
);
}
private
JedisPoolConfig
generatePoolConfig
()
{
JedisPoolConfig
poolConfig
=
new
JedisPoolConfig
();
poolConfig
.
setMinIdle
(
20
);
poolConfig
.
setMaxTotal
(
300
);
poolConfig
.
setMaxWaitMillis
(
5000
);
poolConfig
.
setTestOnBorrow
(
true
);
return
poolConfig
;
private
RedisConnectionFactory
generateReleaseConnectionFactory
()
{
RedisSentinelConfiguration
sentinelConfig
=
new
RedisSentinelConfiguration
()
.
master
(
masterName
)
.
sentinel
(
sentinel1Host
,
sentinel1port
)
.
sentinel
(
sentinel2Host
,
sentinel2port
)
.
sentinel
(
sentinel3Host
,
sentinel3port
);
return
new
LettuceConnectionFactory
(
sentinelConfig
)
;
}
@Bean
(
name
=
"redisConnectionFactory"
)
...
...
@@ -131,11 +98,4 @@ public class RedisConfig {
return
template
;
}
@Bean
(
name
=
"cacheManager"
)
public
CacheManager
cacheManager
(
RedisTemplate
<
String
,
Object
>
redisTemplate
)
{
RedisCacheManager
cacheManager
=
new
RedisCacheManager
(
redisTemplate
);
cacheManager
.
setDefaultExpiration
(
defaultExpiration
);
cacheManager
.
setUsePrefix
(
true
);
return
cacheManager
;
}
}
src/main/java/cn/quantgroup/xyqb/config/event/EventConfig.java
View file @
0722baf4
package
cn
.
quantgroup
.
xyqb
.
config
.
event
;
import
cn.quantgroup.tool.monitor.metric.api.ExecutorUtils
;
import
com.rabbitmq.client.impl.VariableLinkedBlockingQueue
;
import
java.util.concurrent.Executor
;
import
java.util.concurrent.RejectedExecutionHandler
;
import
java.util.concurrent.ThreadPoolExecutor
;
import
java.util.concurrent.TimeUnit
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
...
...
@@ -9,11 +12,6 @@ import org.springframework.context.event.ApplicationEventMulticaster;
import
org.springframework.context.event.SimpleApplicationEventMulticaster
;
import
org.springframework.scheduling.support.TaskUtils
;
import
java.util.concurrent.Executor
;
import
java.util.concurrent.RejectedExecutionHandler
;
import
java.util.concurrent.ThreadPoolExecutor
;
import
java.util.concurrent.TimeUnit
;
@Slf4j
@Configuration
public
class
EventConfig
{
...
...
@@ -25,19 +23,4 @@ public class EventConfig {
simpleApplicationEventMulticaster
.
setErrorHandler
(
TaskUtils
.
LOG_AND_PROPAGATE_ERROR_HANDLER
);
return
simpleApplicationEventMulticaster
;
}
@Bean
public
Executor
taskExecutor
()
{
return
ExecutorUtils
.
newExecutor
(
10
,
50
,
60
,
TimeUnit
.
SECONDS
,
new
VariableLinkedBlockingQueue
(
1024
),
"Spring-UserLogin-Event"
);
}
public
static
class
RejectedHandler
implements
RejectedExecutionHandler
{
@Override
public
void
rejectedExecution
(
Runnable
r
,
ThreadPoolExecutor
executor
)
{
log
.
error
(
"rejected : {}"
,
r
);
}
}
}
src/main/java/cn/quantgroup/xyqb/config/http/HttpConfig.java
View file @
0722baf4
package
cn
.
quantgroup
.
xyqb
.
config
.
http
;
import
cn.quantgroup.tool.monitor.metric.api.TechHttpClient
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.fasterxml.jackson.databind.DeserializationFeature
;
import
com.fasterxml.jackson.databind.SerializationFeature
;
...
...
@@ -25,6 +24,7 @@ import org.apache.http.cookie.CookieOrigin;
import
org.apache.http.cookie.CookieSpecProvider
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy
;
import
org.apache.http.impl.client.HttpClientBuilder
;
import
org.apache.http.impl.client.StandardHttpRequestRetryHandler
;
import
org.apache.http.impl.conn.PoolingHttpClientConnectionManager
;
import
org.apache.http.impl.cookie.BestMatchSpecFactory
;
...
...
@@ -138,7 +138,7 @@ public class HttpConfig {
ConnectionKeepAliveStrategy
keepAliveStrategy
=
new
DefaultConnectionKeepAliveStrategy
();
// httpclient
return
TechHttpClient
.
createHttpClientBuilder
()
return
HttpClientBuilder
.
create
()
.
setConnectionManager
(
connectionManager
)
.
setRetryHandler
(
retryHandler
)
.
setKeepAliveStrategy
(
keepAliveStrategy
)
...
...
src/main/java/cn/quantgroup/xyqb/config/sentry/CustomSentryExceptionResolver.java
deleted
100644 → 0
View file @
d5f001a8
package
cn
.
quantgroup
.
xyqb
.
config
.
sentry
;
import
cn.quantgroup.xyqb.exception.AccessForbiddenException
;
import
cn.quantgroup.xyqb.exception.AppletException
;
import
cn.quantgroup.xyqb.exception.DataException
;
import
cn.quantgroup.xyqb.exception.PasswordErrorLimitException
;
import
cn.quantgroup.xyqb.exception.UserRegisterLoginException
;
import
cn.quantgroup.xyqb.exception.VerificationCodeErrorException
;
import
io.sentry.Sentry
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.springframework.core.Ordered
;
import
org.springframework.security.authentication.BadCredentialsException
;
import
org.springframework.web.servlet.HandlerExceptionResolver
;
import
org.springframework.web.servlet.ModelAndView
;
/**
* {@link HandlerExceptionResolver} implementation that will record any exception that a
* Spring {@link org.springframework.web.servlet.mvc.Controller} throws to Sentry. It then
* returns null, which will let the other (default or custom) exception resolvers handle
* the actual error.
*/
public
class
CustomSentryExceptionResolver
implements
HandlerExceptionResolver
,
Ordered
{
@Override
public
ModelAndView
resolveException
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
ex
)
{
// TODO: 2020/2/4 临时测试,后期修改成通用。
if
(
ex
instanceof
VerificationCodeErrorException
||
ex
instanceof
DataException
||
ex
instanceof
UserRegisterLoginException
||
ex
instanceof
AppletException
||
ex
instanceof
AccessForbiddenException
||
ex
instanceof
PasswordErrorLimitException
||
ex
instanceof
BadCredentialsException
)
{
return
null
;
}
Sentry
.
capture
(
ex
);
// null = run other HandlerExceptionResolvers to actually handle the exception
return
null
;
}
@Override
public
int
getOrder
()
{
// ensure this resolver runs first so that all exceptions are reported
return
Integer
.
MIN_VALUE
;
}
}
\ No newline at end of file
src/main/java/cn/quantgroup/xyqb/config/sentry/SentryConfig.java
View file @
0722baf4
package
cn
.
quantgroup
.
xyqb
.
config
.
sentry
;
import
cn.quantgroup.tech.util.TechEnvironment
;
import
brave.Tracing
;
import
brave.propagation.TraceContext
;
import
cn.quantgroup.boot.web.util.TechEnvironment
;
import
io.sentry.Sentry
;
import
javax.annotation.PostConstruct
;
import
javax.annotation.Resource
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.web.servlet.ServletContextInitializer
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.
web.servlet.HandlerExceptionResolver
;
import
org.springframework.
core.env.Environment
;
/**
* 初始化Sentry配置
...
...
@@ -20,20 +22,33 @@ public class SentryConfig {
@Value
(
"${dsn}"
)
private
String
dsn
;
@Bean
public
HandlerExceptionResolver
sentryExceptionResolver
()
{
return
new
CustomSentryExceptionResolver
();
}
@Bean
public
ServletContextInitializer
sentryServletContextInitializer
()
{
return
new
io
.
sentry
.
spring
.
SentryServletContextInitializer
();
}
@Resource
private
Tracing
tracing
;
@Autowired
private
Environment
environment
;
@PostConstruct
public
void
initSentry
(){
public
void
initSentry
()
{
environment
.
getActiveProfiles
();
if
(
TechEnvironment
.
isPro
())
{
Sentry
.
init
(
dsn
);
Sentry
.
init
(
options
->
{
options
.
setDsn
(
dsn
);
options
.
setBeforeSend
((
event
,
hint
)
->
{
if
(
tracing
.
currentTraceContext
()
!=
null
)
{
TraceContext
traceContext
=
tracing
.
currentTraceContext
().
get
();
if
(
traceContext
!=
null
)
{
event
.
setTag
(
"tracingId"
,
traceContext
.
traceIdString
());
event
.
setTag
(
"spanId"
,
Long
.
toHexString
(
traceContext
.
spanId
()));
event
.
setTag
(
"parentId"
,
traceContext
.
parentId
()
==
null
?
null
:
Long
.
toHexString
(
traceContext
.
parentId
()));
}
}
return
event
;
});
});
}
}
}
src/main/java/cn/quantgroup/xyqb/config/swagger/SwaggerConfig.java
deleted
100644 → 0
View file @
d5f001a8
package
cn
.
quantgroup
.
xyqb
.
config
.
swagger
;
/**
* Swagger文档框架
* 这个第三方新版本竟然不兼容旧的服气啊 没有再用了直接干掉
*
*/
@Deprecated
//@EnableSwagger2
//@Configuration
public
class
SwaggerConfig
{
// @Value("${openapi.swagger.on:false}")
//// private Boolean swaggerOn;
////
//// @Bean
//// public Docket createRestApi() {
//// return new Docket(DocumentationType.SWAGGER_2)
//// .useDefaultResponseMessages(false)
//// .enable(swaggerOn)
//// .apiInfo(apiInfo())
//// .select()
//// .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
//// .paths(PathSelectors.any())
//// .paths(Predicates.not(PathSelectors.regex("/error.*")))
//// .build();
//// }
////
//// private ApiInfo apiInfo() {
//// return new ApiInfoBuilder()
//// .title("xyqb-user api")
//// .description("用户中心接口文档")
//// .contact(new Contact("wenchao.ren", "", "wenchao.ren@quantgroup.cn"))
//// .license("Apache License Version 2.0")
//// .licenseUrl("https://github.com/springfox/springfox/blob/master/LICENSE")
//// .version("2.0")
//// .build();
//// }
}
src/main/java/cn/quantgroup/xyqb/controller/external/sms/SmsController.java
View file @
0722baf4
package
cn
.
quantgroup
.
xyqb
.
controller
.
external
.
sms
;
import
cn.quantgroup.boot.web.util.TechEnvironment
;
import
cn.quantgroup.sms.MsgParams
;
import
cn.quantgroup.tech.util.TechEnvironment
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.aspect.captcha.CaptchaNewValidator
;
import
cn.quantgroup.xyqb.controller.IBaseController
;
...
...
src/main/java/cn/quantgroup/xyqb/event/ContactRegisteredEventListener.java
View file @
0722baf4
...
...
@@ -30,7 +30,6 @@ public class ContactRegisteredEventListener implements ApplicationListener<Regis
}
contactList
.
forEach
(
contact
->
contact
.
setUserId
(
user
.
getId
()));
contactRepository
.
save
(
contactList
);
contactRepository
.
saveAll
(
contactList
);
}
}
src/main/java/cn/quantgroup/xyqb/event/NotifyWechatBindEventListener.java
View file @
0722baf4
...
...
@@ -30,7 +30,7 @@ public class NotifyWechatBindEventListener implements ApplicationListener<Wechat
log
.
info
(
"微信绑定数据,没有用户 ID 信息,openId:{}"
,
wechatEventMsg
.
getOpenId
());
return
;
}
User
user
=
userRepository
.
find
ById
(
wechatEventMsg
.
getUserId
());
User
user
=
userRepository
.
get
ById
(
wechatEventMsg
.
getUserId
());
if
(
user
==
null
)
{
log
.
info
(
"微信绑定数据,没有用户信息,openId:{},userId:{}"
,
wechatEventMsg
.
getOpenId
(),
wechatEventMsg
.
getUserId
());
return
;
...
...
src/main/java/cn/quantgroup/xyqb/repository/IUserRepository.java
View file @
0722baf4
...
...
@@ -40,7 +40,6 @@ public interface IUserRepository extends JpaRepository<User, Long>, JpaSpecifica
List
<
User
>
findByIdIn
(
List
<
Long
>
ids
);
User
findById
(
Long
id
);
@Query
(
value
=
"select * from user where created_at>=?1 and created_at<?2 "
,
nativeQuery
=
true
)
List
<
User
>
findRegisterUserByTime
(
String
beginTime
,
String
endTime
);
...
...
src/main/java/cn/quantgroup/xyqb/service/http/impl/HttpServiceImpl.java
View file @
0722baf4
package
cn
.
quantgroup
.
xyqb
.
service
.
http
.
impl
;
import
cn.quantgroup.tool.monitor.metric.api.TechHttpClient
;
import
cn.quantgroup.xyqb.service.http.BodyType
;
import
cn.quantgroup.xyqb.service.http.IHttpService
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
...
...
@@ -44,6 +43,7 @@ import org.apache.http.entity.ContentType;
import
org.apache.http.entity.StringEntity
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy
;
import
org.apache.http.impl.client.HttpClientBuilder
;
import
org.apache.http.impl.client.StandardHttpRequestRetryHandler
;
import
org.apache.http.impl.conn.PoolingHttpClientConnectionManager
;
import
org.apache.http.impl.cookie.BestMatchSpecFactory
;
...
...
@@ -198,7 +198,7 @@ public class HttpServiceImpl implements IHttpService {
ConnectionKeepAliveStrategy
keepAliveStrategy
=
new
DefaultConnectionKeepAliveStrategy
();
// httpclient
return
TechHttpClient
.
createHttpClientBuilder
()
return
HttpClientBuilder
.
create
()
.
setConnectionManager
(
connectionManager
)
.
setRetryHandler
(
retryHandler
)
.
setKeepAliveStrategy
(
keepAliveStrategy
)
...
...
src/main/java/cn/quantgroup/xyqb/service/sms/impl/SmsServiceImpl.java
View file @
0722baf4
package
cn
.
quantgroup
.
xyqb
.
service
.
sms
.
impl
;
import
cn.quantgroup.boot.web.util.TechEnvironment
;
import
cn.quantgroup.sms.MsgParams
;
import
cn.quantgroup.sms.SmsSender
;
import
cn.quantgroup.tech.util.TechEnvironment
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.service.sms.ISmsService
;
import
java.util.Collections
;
...
...
src/main/java/cn/quantgroup/xyqb/service/user/impl/ContactServiceImpl.java
View file @
0722baf4
...
...
@@ -46,7 +46,7 @@ public class ContactServiceImpl implements IContactService {
@Override
public
Contact
findById
(
Long
id
)
{
return
contactRepository
.
findOne
(
id
);
return
contactRepository
.
getById
(
id
);
}
@Override
...
...
@@ -59,7 +59,7 @@ public class ContactServiceImpl implements IContactService {
}
// 合并当前用户列表到更新列表
mergeContacts
(
userId
,
contacts
);
return
contactRepository
.
save
(
contacts
);
return
contactRepository
.
save
All
(
contacts
);
}
@Override
...
...
@@ -93,7 +93,7 @@ public class ContactServiceImpl implements IContactService {
@Override
public
void
save
(
List
<
Contact
>
contactList
)
{
contactRepository
.
save
(
contactList
);
contactRepository
.
save
All
(
contactList
);
}
@Override
...
...
src/main/java/cn/quantgroup/xyqb/service/user/impl/ModifyPhoneNoServiceImpl.java
View file @
0722baf4
...
...
@@ -37,6 +37,7 @@ import org.springframework.data.domain.Page;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.domain.Sort.Direction
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -94,7 +95,7 @@ public class ModifyPhoneNoServiceImpl implements IModifyPhoneNoService {
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
saveStep2
(
Step2Req
step2Req
)
{
ModifyPhoneNo
modifyPhoneNo
=
modifyPhoneNoRepository
.
findOne
(
step2Req
.
getId
());
ModifyPhoneNo
modifyPhoneNo
=
modifyPhoneNoRepository
.
getById
(
step2Req
.
getId
());
if
(
modifyPhoneNo
==
null
)
{
throw
new
DataException
(
"数据不存在。"
);
}
...
...
@@ -134,9 +135,11 @@ public class ModifyPhoneNoServiceImpl implements IModifyPhoneNoService {
@Override
public
Page
<
ModifyPhoneNo
>
list
(
ModifyPhoneNoQueryReq
modifyPhoneNoQueryReq
)
{
Sort
.
Order
order
=
new
Sort
.
Order
(
Sort
.
Direction
.
DESC
,
"id"
);
Sort
sort
=
new
Sort
(
order
);
Pageable
pageable
=
new
PageRequest
(
modifyPhoneNoQueryReq
.
getPage
()
-
1
,
modifyPhoneNoQueryReq
.
getSize
(),
sort
);
Sort
.
Order
sort
=
new
Sort
.
Order
(
Direction
.
DESC
,
"id"
);
PageRequest
pageable
=
PageRequest
.
of
(
modifyPhoneNoQueryReq
.
getPage
()
-
1
,
modifyPhoneNoQueryReq
.
getSize
(),
sort
.
getDirection
());
Specification
<
ModifyPhoneNo
>
specification
=
new
Specification
<
ModifyPhoneNo
>()
{
@Override
...
...
@@ -187,7 +190,7 @@ public class ModifyPhoneNoServiceImpl implements IModifyPhoneNoService {
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
feedback
(
Long
id
)
{
ModifyPhoneNo
modifyPhoneNo
=
modifyPhoneNoRepository
.
findOne
(
id
);
ModifyPhoneNo
modifyPhoneNo
=
modifyPhoneNoRepository
.
getById
(
id
);
if
(
modifyPhoneNo
==
null
)
{
throw
new
DataException
(
"数据不存在。"
);
}
...
...
@@ -197,7 +200,7 @@ public class ModifyPhoneNoServiceImpl implements IModifyPhoneNoService {
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
audit
(
AuditReq
auditReq
)
{
ModifyPhoneNo
modifyPhoneNo
=
modifyPhoneNoRepository
.
findOne
(
auditReq
.
getId
());
ModifyPhoneNo
modifyPhoneNo
=
modifyPhoneNoRepository
.
getById
(
auditReq
.
getId
());
if
(
modifyPhoneNo
==
null
)
{
throw
new
DataException
(
"数据不存在。"
);
}
...
...
src/main/java/cn/quantgroup/xyqb/service/user/impl/UserBtRegisterServiceImpl.java
View file @
0722baf4
...
...
@@ -5,6 +5,7 @@ import cn.quantgroup.xyqb.repository.IUserBtRegisterRepository;
import
cn.quantgroup.xyqb.service.user.IUserBtRegisterService
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Optional
;
import
javax.persistence.criteria.Predicate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -21,7 +22,7 @@ public class UserBtRegisterServiceImpl implements IUserBtRegisterService {
// @Cacheable(value = "btRegisterCache", key = "'userId' + #userId", unless = "#result == null", cacheManager = "cacheManager")
public
UserBtRegister
findByUserId
(
Long
userId
)
{
if
(
null
!=
userId
)
{
return
userBtRegisterRepository
.
findOne
((
root
,
query
,
cb
)
->
{
Optional
<
UserBtRegister
>
result
=
userBtRegisterRepository
.
findOne
((
root
,
query
,
cb
)
->
{
List
<
Predicate
>
list
=
new
ArrayList
<>();
list
.
add
(
cb
.
equal
(
root
.
get
(
"isActive"
).
as
(
Boolean
.
class
),
Boolean
.
TRUE
));
list
.
add
(
cb
.
equal
(
root
.
get
(
"userId"
).
as
(
Long
.
class
),
userId
));
...
...
@@ -29,6 +30,9 @@ public class UserBtRegisterServiceImpl implements IUserBtRegisterService {
query
.
where
(
cb
.
and
(
list
.
toArray
(
p
)));
return
query
.
getRestriction
();
});
if
(
result
.
isPresent
()){
return
result
.
get
();
}
}
return
null
;
}
...
...
src/main/java/cn/quantgroup/xyqb/service/user/impl/UserDetailServiceImpl.java
View file @
0722baf4
...
...
@@ -27,6 +27,7 @@ import org.springframework.dao.DataIntegrityViolationException;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.domain.Sort.Direction
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.stereotype.Service
;
...
...
@@ -57,7 +58,7 @@ public class UserDetailServiceImpl implements IUserDetailService {
userDetail
.
setEmail
(
AddressFilter
.
getEmail
(
userDetail
.
getPhoneNo
(),
userDetail
.
getEmail
()));
return
userDetail
;
}
@Override
public
UserDetail
findSlaveByUserId
(
Long
userId
)
{
UserDetail
userDetail
=
userDetailRepository
.
findByUserId
(
userId
);
...
...
@@ -222,12 +223,16 @@ public class UserDetailServiceImpl implements IUserDetailService {
}
private
PageRequest
buildPageRequest
(
int
pageNumber
,
int
pagzSize
,
String
sortType
)
{
Sort
sort
=
null
;
Sort
.
Order
sort
=
null
;
if
(
Constants
.
AUTO_SORT_TYPE
.
equals
(
sortType
))
{
sort
=
new
Sort
(
Sort
.
Direction
.
ASC
,
"userId"
);
sort
=
new
Sort
.
Order
(
Sort
.
Direction
.
ASC
,
"userId"
);
}
return
new
PageRequest
(
pageNumber
-
1
,
pagzSize
,
sort
);
if
(
sort
!=
null
)
{
return
PageRequest
.
of
(
pageNumber
-
1
,
pagzSize
,
sort
.
getDirection
());
}
else
{
return
PageRequest
.
of
(
pageNumber
-
1
,
pagzSize
);
}
}
@Override
...
...
src/main/java/cn/quantgroup/xyqb/service/user/impl/UserServiceImpl.java
View file @
0722baf4
...
...
@@ -184,12 +184,12 @@ public class UserServiceImpl implements IUserService, IBaseController {
@Override
public
User
findById
(
Long
userId
)
{
return
userRepository
.
find
ById
(
userId
);
return
userRepository
.
get
ById
(
userId
);
}
@Override
public
List
<
User
>
findByPhones
(
List
<
String
>
phones
)
{
Pageable
pageable
=
new
PageRequest
(
0
,
500
,
new
Sort
(
Sort
.
Direction
.
DESC
,
"id"
));
Pageable
pageable
=
PageRequest
.
of
(
0
,
500
,
new
Sort
.
Order
(
Sort
.
Direction
.
DESC
,
"id"
).
getDirection
(
));
Page
<
User
>
userPageList
=
userRepository
.
findAll
((
root
,
query
,
cb
)
->
{
query
.
where
(
root
.
get
(
Constants
.
ENCRYPTED_PHONE_NO
).
as
(
String
.
class
).
in
(
phones
));
return
query
.
getRestriction
();
...
...
@@ -311,7 +311,7 @@ public class UserServiceImpl implements IUserService, IBaseController {
return
null
;
}
Long
userId
=
userHashMapping
.
getUserId
();
return
userRepository
.
find
ById
(
userId
);
return
userRepository
.
get
ById
(
userId
);
}
@Override
...
...
@@ -333,7 +333,7 @@ public class UserServiceImpl implements IUserService, IBaseController {
return
null
;
}
Long
userId
=
userHashMapping
.
getUserId
();
return
userRepository
.
find
ById
(
userId
);
return
userRepository
.
get
ById
(
userId
);
}
@Override
...
...
@@ -491,7 +491,7 @@ public class UserServiceImpl implements IUserService, IBaseController {
*/
@Override
public
UserFullResp
findUserFullSearchByUserId
(
Long
userId
)
{
User
user
=
userRepository
.
find
ById
(
userId
);
User
user
=
userRepository
.
get
ById
(
userId
);
UserDetail
userDetail
=
userDetailService
.
findByUserId
(
userId
);
UserExtInfo
userExtInfo
=
userExtInfoService
.
findByUserId
(
userId
);
Address
address
=
addressService
.
findByUserId
(
userId
);
...
...
@@ -595,7 +595,7 @@ public class UserServiceImpl implements IUserService, IBaseController {
@Override
public
void
deregister
(
Long
userId
)
{
User
user
=
userRepository
.
find
ById
(
userId
);
User
user
=
userRepository
.
get
ById
(
userId
);
if
(
Objects
.
isNull
(
user
))
{
throw
new
UserRegisterLoginException
(
"用户不存在"
);
...
...
src/main/java/cn/quantgroup/xyqb/util/IpUtil.java
View file @
0722baf4
package
cn
.
quantgroup
.
xyqb
.
util
;
import
cn.quantgroup.
tech
.util.TechEnvironment
;
import
cn.quantgroup.
boot.web
.util.TechEnvironment
;
import
com.google.common.collect.Sets
;
import
java.util.Arrays
;
import
java.util.Objects
;
...
...
src/main/java/cn/quantgroup/xyqb/util/XxlJobSpringExecutor.java
0 → 100644
View file @
0722baf4
package
cn
.
quantgroup
.
xyqb
.
util
;
import
com.xxl.job.core.executor.XxlJobExecutor
;
import
com.xxl.job.core.handler.IJobHandler
;
import
com.xxl.job.core.handler.annotation.JobHandler
;
import
java.util.Iterator
;
import
java.util.Map
;
import
org.springframework.beans.BeansException
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
public
class
XxlJobSpringExecutor
extends
XxlJobExecutor
implements
ApplicationContextAware
{
private
static
ApplicationContext
applicationContext
;
public
void
start
()
throws
Exception
{
this
.
initJobHandlerRepository
(
applicationContext
);
super
.
start
();
}
private
void
initJobHandlerRepository
(
ApplicationContext
applicationContext
)
{
if
(
applicationContext
!=
null
)
{
Map
<
String
,
Object
>
serviceBeanMap
=
applicationContext
.
getBeansWithAnnotation
(
JobHandler
.
class
);
if
(
serviceBeanMap
!=
null
&&
serviceBeanMap
.
size
()
>
0
)
{
Iterator
var3
=
serviceBeanMap
.
values
().
iterator
();
while
(
var3
.
hasNext
())
{
Object
serviceBean
=
var3
.
next
();
if
(
serviceBean
instanceof
IJobHandler
)
{
String
name
=
((
JobHandler
)
serviceBean
.
getClass
().
getAnnotation
(
JobHandler
.
class
))
.
value
();
IJobHandler
handler
=
(
IJobHandler
)
serviceBean
;
if
(
loadJobHandler
(
name
)
!=
null
)
{
throw
new
RuntimeException
(
"xxl-job jobhandler naming conflicts."
);
}
registJobHandler
(
name
,
handler
);
}
}
}
}
}
public
void
setApplicationContext
(
ApplicationContext
applicationContext
)
throws
BeansException
{
XxlJobSpringExecutor
.
applicationContext
=
applicationContext
;
}
public
static
ApplicationContext
getApplicationContext
()
{
return
applicationContext
;
}
}
src/main/java/cn/quantgroup/xyqb/xxlJob/XxlJobConfig.java
View file @
0722baf4
package
cn
.
quantgroup
.
xyqb
.
xxlJob
;
import
c
om.xxl.job.core.executor.imp
l.XxlJobSpringExecutor
;
import
c
n.quantgroup.xyqb.uti
l.XxlJobSpringExecutor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Bean
;
...
...
@@ -32,35 +32,20 @@ public class XxlJobConfig {
@Bean
(
initMethod
=
"start"
,
destroyMethod
=
"destroy"
)
public
XxlJobSpringExecutor
xxlJobExecutor
()
{
public
XxlJobSpringExecutor
xxlJobSpringExecutor
()
{
//如果是预发环境,不启动xxljob
if
(
appName
.
equalsIgnoreCase
(
"keystone-pre"
)){
return
null
;
}
log
.
info
(
">>>>>>>>>>> xxl-job config init."
);
XxlJobSpringExecutor
xxlJobSpringExecutor
=
new
XxlJobSpringExecutor
();
// 调度中心部署跟地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;
xxlJobSpringExecutor
.
setAdminAddresses
(
adminAddresses
);
// 执行器AppName [选填]:执行器心跳注册分组依据;为空则关闭自动注册
xxlJobSpringExecutor
.
setAppName
(
appName
);
//xxlJobSpringExecutor.setAppName("xxl-job-executor-vcc-analysis");
// 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册" 和 "调度中心请求并触发任务";
xxlJobSpringExecutor
.
setIp
(
ip
);
// 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
xxlJobSpringExecutor
.
setPort
(
port
);
// 执行器通讯TOKEN [选填]:非空时启用;调度中心和执行器进行安全性校验,双方AccessToken匹配才允许通讯
xxlJobSpringExecutor
.
setAccessToken
(
accessToken
);
// 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;
xxlJobSpringExecutor
.
setLogPath
(
logPath
);
// 执行器日志保存天数 [选填] :值大于3时生效,启用执行器Log文件定期清理功能,否则不生效;
xxlJobSpringExecutor
.
setLogRetentionDays
(
logRetentionDays
);
return
xxlJobSpringExecutor
;
}
}
src/main/resources/META-INF/app.properties
View file @
0722baf4
app.id
=
xyqb-user2
namespace
=
application,cash.common,tech.common,tech.sleuth,tech.service.urls,tech.msg.sdk,tech.acolyte
\ No newline at end of file
namespace
=
application,cash.common,tech.common,tech.sleuth,tech.service.urls,tech.msg.sdk,tech.acolyte,tech.supply
\ No newline at end of file
src/main/resources/logback-dev.xml
View file @
0722baf4
...
...
@@ -75,7 +75,7 @@
<!--<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="${logging.hibernate.level}"/>-->
<!--<logger name="org.hibernate.engine.QueryParameters" level="DEBUG"/>-->
<!--<logger name="org.hibernate.SQL" level="DEBUG" />-->
<root
level=
"
DEBUG
"
>
<root
level=
"
INFO
"
>
<appender-ref
ref=
"STDOUT"
/>
<appender-ref
ref=
"ROLLINGFILE"
/>
</root>
...
...
src/test/java/login/UserLoginTest.java
View file @
0722baf4
package
login
;
import
cn.quantgroup.tool.monitor.metric.api.TechHttpClient
;
import
cn.quantgroup.xyqb.Bootstrap
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.controller.external.UserController
;
...
...
@@ -21,6 +20,7 @@ import org.apache.http.client.entity.UrlEncodedFormEntity;
import
org.apache.http.client.methods.CloseableHttpResponse
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.HttpClientBuilder
;
import
org.apache.http.message.BasicNameValuePair
;
import
org.apache.http.util.EntityUtils
;
import
org.junit.Test
;
...
...
@@ -93,7 +93,7 @@ public class UserLoginTest {
String
token
=
authBean
.
getToken
();
System
.
out
.
println
(
"user token:"
+
token
);
//用获取到的token请求xyqb的receive_token
CloseableHttpClient
httpClient
=
TechHttpClient
.
createHttpClientBuilder
().
build
();
CloseableHttpClient
httpClient
=
HttpClientBuilder
.
create
().
build
();
HttpPost
post
=
new
HttpPost
(
"http://localhost:9004/ex/login/receive_token"
);
List
<
NameValuePair
>
pairList
=
new
ArrayList
<>();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment