记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
董敬伟
liquidnet-bus-v1
Commits
bec22bda
Commit
bec22bda
authored
May 07, 2021
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix adam sql to mq;
parent
e9802ac9
Changes
28
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
864 additions
and
369 deletions
+864
-369
pom.xml
liquidnet-bus-common/liquidnet-common-base/pom.xml
+4
-0
BsonUtil.java
...c/main/java/com/liquidnet/commons/lang/util/BsonUtil.java
+29
-0
SqlMapping.java
...main/java/com/liquidnet/commons/lang/util/SqlMapping.java
+82
-0
SqlMessage.java
...main/java/com/liquidnet/commons/lang/util/SqlMessage.java
+55
-0
pom.xml
liquidnet-bus-common/liquidnet-common-mq/pom.xml
+8
-0
MQProperties.java
...ain/java/com/liquidnet/common/mq/config/MQProperties.java
+3
-3
RabbitMQConfigration.java
.../com/liquidnet/common/mq/config/RabbitMQConfigration.java
+149
-138
MQConst.java
...c/main/java/com/liquidnet/common/mq/constant/MQConst.java
+11
-0
liquidnet-service-consumer-dev.yml
...onfig/liquidnet-config/liquidnet-service-consumer-dev.yml
+22
-0
liquidnet-service-consumer.yml
...us-config/liquidnet-config/liquidnet-service-consumer.yml
+86
-0
AdamEntersVo.java
.../java/com/liquidnet/service/adam/dto/vo/AdamEntersVo.java
+8
-5
pom.xml
...iquidnet-service-adam/liquidnet-service-adam-impl/pom.xml
+7
-2
AdamSwagger2Config.java
...com/liquidnet/service/adam/config/AdamSwagger2Config.java
+0
-156
AdamSwaggerApiTags.java
...idnet/service/adam/config/swagger/AdamSwaggerApiTags.java
+0
-1
AdamSwaggerApiVersionConstant.java
...ce/adam/config/swagger/AdamSwaggerApiVersionConstant.java
+0
-14
AdamEntersController.java
...quidnet/service/adam/controller/AdamEntersController.java
+1
-18
AdamEntersServiceImpl.java
...dnet/service/adam/service/impl/AdamEntersServiceImpl.java
+103
-22
enters.properties
...ice-adam-impl/src/main/resources/sqlmap/enters.properties
+4
-0
pom.xml
liquidnet-bus-service/liquidnet-service-consumer/pom.xml
+28
-0
ServiceConsumerApplication.java
...ava/com/liquidnet/service/ServiceConsumerApplication.java
+8
-0
IBaseDao.java
...java/com/liquidnet/service/consumer/service/IBaseDao.java
+32
-0
BaseDao.java
.../com/liquidnet/service/consumer/service/impl/BaseDao.java
+114
-0
ConsumerProcessor.java
...service/consumer/service/processor/ConsumerProcessor.java
+46
-10
bootstrap-dev.yml
...net-service-consumer/src/main/resources/bootstrap-dev.yml
+14
-0
bootstrap-prod.yml
...et-service-consumer/src/main/resources/bootstrap-prod.yml
+14
-0
bootstrap-service-consumer.yml
...onsumer/src/main/resources/bootstrap-service-consumer.yml
+17
-0
bootstrap-test.yml
...et-service-consumer/src/main/resources/bootstrap-test.yml
+14
-0
bootstrap.yml
...quidnet-service-consumer/src/main/resources/bootstrap.yml
+5
-0
No files found.
liquidnet-bus-common/liquidnet-common-base/pom.xml
View file @
bec22bda
...
@@ -35,6 +35,10 @@
...
@@ -35,6 +35,10 @@
<groupId>
com.fasterxml.jackson.datatype
</groupId>
<groupId>
com.fasterxml.jackson.datatype
</groupId>
<artifactId>
jackson-datatype-jsr310
</artifactId>
<artifactId>
jackson-datatype-jsr310
</artifactId>
</dependency>
</dependency>
<dependency>
<groupId>
org.mongodb
</groupId>
<artifactId>
bson
</artifactId>
</dependency>
</dependencies>
</dependencies>
...
...
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/BsonUtil.java
0 → 100644
View file @
bec22bda
package
com
.
liquidnet
.
commons
.
lang
.
util
;
import
org.bson.Document
;
import
org.bson.json.Converter
;
import
org.bson.json.JsonWriterSettings
;
import
org.bson.json.StrictJsonWriter
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.TimeZone
;
public
class
BsonUtil
{
private
static
final
JsonWriterSettings
build
=
JsonWriterSettings
.
builder
().
dateTimeConverter
(
new
Converter
<
Long
>()
{
@Override
public
void
convert
(
Long
aLong
,
StrictJsonWriter
strictJsonWriter
)
{
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
);
dateFormat
.
setTimeZone
(
TimeZone
.
getTimeZone
(
"UTC"
));
if
(
aLong
>=
-
59014396800000L
&&
aLong
<=
253399536000000L
)
{
strictJsonWriter
.
writeRaw
(
String
.
format
(
"\"%s\""
,
dateFormat
.
format
(
new
Date
(
aLong
))));
}
else
{
strictJsonWriter
.
writeRaw
(
String
.
format
(
"new Date(%d)"
,
aLong
));
}
}
}).
build
();
public
static
<
T
>
T
toBean
(
Document
document
,
Class
<
T
>
clzss
){
return
JsonUtils
.
fromJson
(
document
.
toJson
(
build
),
clzss
);
}
}
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/SqlMapping.java
0 → 100644
View file @
bec22bda
package
com
.
liquidnet
.
commons
.
lang
.
util
;
import
org.apache.logging.log4j.util.PropertiesUtil
;
import
org.springframework.core.io.support.PropertiesLoaderUtils
;
import
java.io.File
;
import
java.io.IOException
;
import
java.net.URL
;
import
java.util.HashMap
;
import
java.util.LinkedList
;
import
java.util.Map
;
import
java.util.Properties
;
public
class
SqlMapping
{
private
static
final
String
sqlMapDir
=
"sqlmap"
;
private
static
Map
<
String
,
Object
>
sqlPropertiesMap
=
new
HashMap
<>();
static
{
try
{
URL
url
=
PropertiesUtil
.
class
.
getClassLoader
().
getResource
(
sqlMapDir
);
if
(
null
!=
url
)
{
File
file
=
new
File
(
url
.
getFile
());
if
(
file
.
exists
()
&&
file
.
isDirectory
())
{
File
[]
files
=
file
.
listFiles
();
for
(
File
f
:
files
)
{
if
(
f
.
isFile
()
&&
f
.
getName
().
endsWith
(
"properties"
))
{
Properties
props
=
PropertiesLoaderUtils
.
loadAllProperties
(
sqlMapDir
.
concat
(
"/"
)
+
f
.
getName
());
for
(
Object
key
:
props
.
keySet
())
{
String
keyStr
=
key
.
toString
();
String
value
=
props
.
getProperty
(
keyStr
);
sqlPropertiesMap
.
put
(
keyStr
,
value
);
}
}
}
}
}
System
.
out
.
printf
(
"sqlPropertiesMap init count: %s\n"
,
sqlPropertiesMap
.
size
());
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
public
static
Object
get
(
String
sql
)
{
return
sqlPropertiesMap
.
get
(
sql
);
}
public
static
String
get
(
String
sql
,
Object
...
params
)
{
LinkedList
<
String
>
sqls
=
new
LinkedList
<>();
sqls
.
add
(
sqlPropertiesMap
.
get
(
sql
).
toString
());
LinkedList
<
Object
[]>
paramsList
=
new
LinkedList
<>();
paramsList
.
add
(
params
);
LinkedList
<
Object
[]>[]
args
=
new
LinkedList
[]{
paramsList
};
SqlMessage
sqlMessage
=
SqlMessage
.
getInstance
();
sqlMessage
.
setExecType
(
1
);
sqlMessage
.
setSqls
(
sqls
);
sqlMessage
.
setArgs
(
args
);
return
JsonUtils
.
toJson
(
sqlMessage
);
}
public
static
String
get
(
String
sql
,
LinkedList
<
Object
[]>
paramsList
)
{
LinkedList
<
String
>
sqls
=
new
LinkedList
<>();
sqls
.
add
(
sqlPropertiesMap
.
get
(
sql
).
toString
());
LinkedList
<
Object
[]>[]
args
=
new
LinkedList
[]{
paramsList
};
SqlMessage
sqlMessage
=
SqlMessage
.
getInstance
();
sqlMessage
.
setExecType
(
2
);
sqlMessage
.
setSqls
(
sqls
);
sqlMessage
.
setArgs
(
args
);
return
JsonUtils
.
toJson
(
sqlMessage
);
}
public
static
String
get
(
LinkedList
<
String
>
sqls
,
LinkedList
<
Object
[]>
paramsList
)
{
LinkedList
<
Object
[]>[]
args
=
new
LinkedList
[]{
paramsList
};
SqlMessage
sqlMessage
=
SqlMessage
.
getInstance
();
sqlMessage
.
setExecType
(
3
);
sqlMessage
.
setSqls
(
sqls
);
sqlMessage
.
setArgs
(
args
);
return
JsonUtils
.
toJson
(
sqlMessage
);
}
}
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/SqlMessage.java
0 → 100644
View file @
bec22bda
package
com
.
liquidnet
.
commons
.
lang
.
util
;
import
java.io.Serializable
;
import
java.util.LinkedList
;
public
class
SqlMessage
implements
Cloneable
,
Serializable
{
private
static
final
long
serialVersionUID
=
2208924091512163151L
;
private
int
execType
;
private
LinkedList
<
String
>
sqls
;
private
LinkedList
<
Object
[]>[]
args
;
public
SqlMessage
()
{
}
public
SqlMessage
(
String
json
)
{
SqlMessage
sqlMessage
=
JsonUtils
.
fromJson
(
json
,
SqlMessage
.
class
);
this
.
sqls
=
sqlMessage
.
getSqls
();
this
.
args
=
sqlMessage
.
getArgs
();
}
public
int
getExecType
()
{
return
execType
;
}
public
void
setExecType
(
int
execType
)
{
this
.
execType
=
execType
;
}
public
LinkedList
<
String
>
getSqls
()
{
return
sqls
;
}
public
void
setSqls
(
LinkedList
<
String
>
sqls
)
{
this
.
sqls
=
sqls
;
}
public
LinkedList
<
Object
[]>[]
getArgs
()
{
return
args
;
}
public
void
setArgs
(
LinkedList
<
Object
[]>[]
args
)
{
this
.
args
=
args
;
}
private
final
static
SqlMessage
instance
=
new
SqlMessage
();
public
static
SqlMessage
getInstance
()
{
try
{
return
(
SqlMessage
)
instance
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
e
.
printStackTrace
();
}
return
new
SqlMessage
();
}
}
\ No newline at end of file
liquidnet-bus-common/liquidnet-common-mq/pom.xml
View file @
bec22bda
...
@@ -18,5 +18,13 @@
...
@@ -18,5 +18,13 @@
<groupId>
org.apache.httpcomponents
</groupId>
<groupId>
org.apache.httpcomponents
</groupId>
<artifactId>
httpclient
</artifactId>
<artifactId>
httpclient
</artifactId>
</dependency>
</dependency>
<dependency>
<groupId>
com.fasterxml.jackson.core
</groupId>
<artifactId>
jackson-databind
</artifactId>
</dependency>
<dependency>
<groupId>
com.fasterxml.jackson.datatype
</groupId>
<artifactId>
jackson-datatype-jsr310
</artifactId>
</dependency>
</dependencies>
</dependencies>
</project>
</project>
liquidnet-bus-common/liquidnet-common-mq/src/main/java/com/liquidnet/common/mq/config/MQProperties.java
View file @
bec22bda
...
@@ -11,9 +11,9 @@ import org.springframework.stereotype.Component;
...
@@ -11,9 +11,9 @@ import org.springframework.stereotype.Component;
* @packname com.liquidnet.service.config.mq
* @packname com.liquidnet.service.config.mq
*/
*/
@Data
//
@Data
@ConfigurationProperties
(
prefix
=
MQProperties
.
MQCONFIG_PREFIX
)
//
@ConfigurationProperties(prefix = MQProperties.MQCONFIG_PREFIX)
@Component
//
@Component
public
class
MQProperties
{
public
class
MQProperties
{
public
static
final
String
MQCONFIG_PREFIX
=
"mq.config"
;
public
static
final
String
MQCONFIG_PREFIX
=
"mq.config"
;
...
...
liquidnet-bus-common/liquidnet-common-mq/src/main/java/com/liquidnet/common/mq/config/RabbitMQConfigration.java
View file @
bec22bda
This diff is collapsed.
Click to expand it.
liquidnet-bus-common/liquidnet-common-mq/src/main/java/com/liquidnet/common/mq/constant/MQConst.java
0 → 100644
View file @
bec22bda
package
com
.
liquidnet
.
common
.
mq
.
constant
;
public
class
MQConst
{
public
static
final
String
EXCHANGES_LIQUIDNET_SQL
=
"liquidnet.sql"
;
public
static
final
String
ROUTING_KEY_SQL
=
"sql"
;
public
static
final
String
QUEUES_SQL_MAIN
=
"queue.sql.main"
;
}
liquidnet-bus-config/liquidnet-config/liquidnet-service-consumer-dev.yml
0 → 100644
View file @
bec22bda
liquidnet
:
system
:
updating
:
switch
:
false
info
:
port
:
9999
context
:
# context: /service-consumer
name
:
liquidnet-service-consumer
logfile
:
path
:
./logs
name
:
service-consumer
config
:
classpath:logback-spring.xml
file-max-size
:
200MB
pattern-file
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{96}:%line]
-
%msg%n'
pattern-console
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{96}:%line]
-
%msg%n'
pattern-rolling-file-name
:
${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log
level-root
:
info
mysql
:
database-name
:
ln_adam
#以下为spring各环境个性配置
\ No newline at end of file
liquidnet-bus-config/liquidnet-config/liquidnet-service-consumer.yml
0 → 100644
View file @
bec22bda
server
:
port
:
${liquidnet.info.port}
tomcat
:
uri-encoding
:
UTF-8
servlet
:
context-path
:
${liquidnet.info.context}
# -----------------------------------------------------------
knife4j
:
production
:
${liquidnet.knife4j.disable}
basic
:
enable
:
true
username
:
${liquidnet.security.username}
password
:
${liquidnet.security.password}
# -----------------------------------------------------------
logging
:
# config: ${liquidnet.logfile.config}
file
:
name
:
${liquidnet.logfile.path}/${liquidnet.logfile.name}.log
max-size
:
200MB
pattern
:
file
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{96}:%line]
-
%msg%n'
console
:
'
%d{yyyy-MM-dd
HH:mm:ss.SSS}
[
%-5level]
%thread
[%logger{96}:%line]
-
%msg%n'
rolling-file-name
:
${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log
level
:
root
:
info
#以下是为指定包设置日志级别
com
:
liquidnet
:
info
# -----------------------------------------------------------
eureka
:
# client:
# register-with-eureka: true
# fetch-registry: true
# serviceUrl:
# defaultZone: http://${liquidnet.security.username}:${liquidnet.security.password}@${liquidnet.eureka.host}/eureka-server/eureka
instance
:
hostname
:
${spring.cloud.client.ip-address}
lease-expiration-duration-in-seconds
:
15
#服务过期时间配置,超过这个时间没有接收到心跳EurekaServer就会将这个实例剔除
lease-renewal-interval-in-seconds
:
5
#服务刷新时间配置,每隔这个时间会主动心跳一次
prefer-ip-address
:
true
instance-id
:
${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${server.port}}
# -----------------------------------------------------------
#actuator/info
info
:
app
:
name
:
${liquidnet.info.name}
company
:
name
:
lightnet.io
build
:
groupId
:
'
@project.groupId@'
artifactId
:
'
@project.artifactId@'
version
:
'
@project.version@'
# -----------------------------------------------------------
spring
:
application
:
name
:
${liquidnet.info.name}
profiles
:
include
:
common-service
#这里加载management相关公共配置
rabbitmq
:
addresses
:
${liquidnet.rabbitmq.host}
port
:
${liquidnet.rabbitmq.port}
username
:
${liquidnet.rabbitmq.username}
password
:
${liquidnet.rabbitmq.password}
datasource
:
name
:
${liquidnet.mysql.database-name}
url
:
jdbc:mysql://${liquidnet.mysql.urlHostAndPort}/${liquidnet.mysql.database-name}?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false
username
:
${liquidnet.mysql.username}
password
:
${liquidnet.mysql.password}
# type: org.apache.tomcat.jdbc.pool.DataSource
driver-class-name
:
com.mysql.cj.jdbc.Driver
filters
:
stat
maxActive
:
20
initialSize
:
1
maxWait
:
60000
minIdle
:
1
timeBetweenEvictionRunsMillis
:
60000
minEvictableIdleTimeMillis
:
300000
validationQuery
:
select 'x'
testWhileIdle
:
true
testOnBorrow
:
false
testOnReturn
:
false
poolPreparedStatements
:
true
maxOpenPreparedStatements
:
20
# -----------------------------------------------------------
# -----------------------------------------------------------
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamEntersVo.java
View file @
bec22bda
...
@@ -9,15 +9,17 @@ import lombok.Data;
...
@@ -9,15 +9,17 @@ import lombok.Data;
@Data
@Data
public
class
AdamEntersVo
implements
java
.
io
.
Serializable
,
Cloneable
{
public
class
AdamEntersVo
implements
java
.
io
.
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
5258094625450569125L
;
private
static
final
long
serialVersionUID
=
5258094625450569125L
;
@ApiModelProperty
(
position
=
10
,
value
=
"入场人名称[50]"
)
@ApiModelProperty
(
position
=
10
,
value
=
"入场人ID[64]"
)
private
String
entersId
;
@ApiModelProperty
(
position
=
11
,
value
=
"入场人名称[50]"
)
private
String
name
;
private
String
name
;
@ApiModelProperty
(
position
=
1
1
,
value
=
"入场人手机号[11]"
)
@ApiModelProperty
(
position
=
1
2
,
value
=
"入场人手机号[11]"
)
private
String
mobile
;
private
String
mobile
;
@ApiModelProperty
(
position
=
1
2
,
value
=
"证件类型:1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证"
)
@ApiModelProperty
(
position
=
1
3
,
value
=
"证件类型:1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证"
)
private
Integer
type
;
private
Integer
type
;
@ApiModelProperty
(
position
=
1
3
,
value
=
"入场人证件号[11]"
)
@ApiModelProperty
(
position
=
1
4
,
value
=
"入场人证件号[11]"
)
private
String
idCard
;
private
String
idCard
;
@ApiModelProperty
(
position
=
1
4
,
value
=
"是否是默认入场人:0-否,1-是"
)
@ApiModelProperty
(
position
=
1
5
,
value
=
"是否是默认入场人:0-否,1-是"
)
private
Boolean
isDefault
;
private
Boolean
isDefault
;
private
static
final
AdamEntersVo
obj
=
new
AdamEntersVo
();
private
static
final
AdamEntersVo
obj
=
new
AdamEntersVo
();
...
@@ -32,6 +34,7 @@ public class AdamEntersVo implements java.io.Serializable, Cloneable {
...
@@ -32,6 +34,7 @@ public class AdamEntersVo implements java.io.Serializable, Cloneable {
}
}
public
AdamEntersVo
copy
(
AdamEnters
source
)
{
public
AdamEntersVo
copy
(
AdamEnters
source
)
{
this
.
setEntersId
(
source
.
getEntersId
());
this
.
setName
(
source
.
getName
());
this
.
setName
(
source
.
getName
());
this
.
setIdCard
(
source
.
getIdCard
());
this
.
setIdCard
(
source
.
getIdCard
());
this
.
setMobile
(
source
.
getMobile
());
this
.
setMobile
(
source
.
getMobile
());
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/pom.xml
View file @
bec22bda
...
@@ -26,8 +26,9 @@
...
@@ -26,8 +26,9 @@
<version>
1.0-SNAPSHOT
</version>
<version>
1.0-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
com.liquidnet
</groupId>
<artifactId>
spring-boot-starter-data-mongodb
</artifactId>
<artifactId>
liquidnet-common-mq
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
...
@@ -37,6 +38,10 @@
...
@@ -37,6 +38,10 @@
<scope>
compile
</scope>
<scope>
compile
</scope>
</dependency>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-mongodb
</artifactId>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/config/AdamSwagger2Config.java
View file @
bec22bda
package
com
.
liquidnet
.
service
.
adam
.
config
;
package
com
.
liquidnet
.
service
.
adam
.
config
;
import
com.liquidnet.common.swagger.config.Swagger2Config
;
import
com.liquidnet.common.swagger.config.Swagger2Config
;
import
com.liquidnet.common.swagger.config.SwaggerApiVersion
;
import
com.liquidnet.service.adam.config.swagger.AdamSwaggerApiVersionConstant
;
import
io.swagger.annotations.Api
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
springfox.documentation.builders.ParameterBuilder
;
import
springfox.documentation.builders.PathSelectors
;
import
springfox.documentation.builders.RequestHandlerSelectors
;
import
springfox.documentation.schema.ModelRef
;
import
springfox.documentation.service.Parameter
;
import
springfox.documentation.spi.DocumentationType
;
import
springfox.documentation.spring.web.plugins.Docket
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
/**
/**
* @author AnJiabin <jiabin.an@lightnet.io>
* @author AnJiabin <jiabin.an@lightnet.io>
...
@@ -30,145 +15,4 @@ import java.util.List;
...
@@ -30,145 +15,4 @@ import java.util.List;
@Configuration
@Configuration
class
AdamSwagger2Config
extends
Swagger2Config
{
class
AdamSwagger2Config
extends
Swagger2Config
{
@Override
public
Docket
createRestApi
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
apiInfo
(
this
.
apiInfo
())
.
forCodeGeneration
(
true
).
select
()
.
apis
(
RequestHandlerSelectors
.
withClassAnnotation
(
Api
.
class
))
.
paths
(
PathSelectors
.
any
())
.
build
();
// return new Docket(DocumentationType.SWAGGER_2)
// .apiInfo(this.apiInfo())
// .groupName(AdamSwaggerApiVersionConstant.WEB_1_1)
// .select()
// .apis(input -> {
// SwaggerApiVersion apiVersion = input.getHandlerMethod().getMethodAnnotation(SwaggerApiVersion.class);
// return apiVersion != null && Arrays.asList(apiVersion.group()).contains(AdamSwaggerApiVersionConstant.WEB_1_1);
// })
// .paths(PathSelectors.any())
// .build();
}
@Bean
public
Docket
api_admin
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
apiInfo
(
this
.
apiInfo
())
.
groupName
(
AdamSwaggerApiVersionConstant
.
ADMIN
)
.
select
()
.
apis
(
input
->
{
SwaggerApiVersion
apiVersion
=
input
.
getHandlerMethod
().
getMethodAnnotation
(
SwaggerApiVersion
.
class
);
return
apiVersion
!=
null
&&
Arrays
.
asList
(
apiVersion
.
group
()).
contains
(
AdamSwaggerApiVersionConstant
.
ADMIN
);
})
.
paths
(
PathSelectors
.
any
())
.
build
();
}
@Bean
public
Docket
api_feign
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
apiInfo
(
this
.
apiInfo
())
.
groupName
(
AdamSwaggerApiVersionConstant
.
FEIGN
)
.
select
()
.
apis
(
input
->
{
SwaggerApiVersion
apiVersion
=
input
.
getHandlerMethod
().
getMethodAnnotation
(
SwaggerApiVersion
.
class
);
return
apiVersion
!=
null
&&
Arrays
.
asList
(
apiVersion
.
group
()).
contains
(
AdamSwaggerApiVersionConstant
.
FEIGN
);
})
.
paths
(
PathSelectors
.
any
())
.
build
();
}
@Bean
public
Docket
api_task
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
apiInfo
(
this
.
apiInfo
())
.
groupName
(
AdamSwaggerApiVersionConstant
.
TASK
)
.
select
()
.
apis
(
input
->
{
SwaggerApiVersion
apiVersion
=
input
.
getHandlerMethod
().
getMethodAnnotation
(
SwaggerApiVersion
.
class
);
return
apiVersion
!=
null
&&
Arrays
.
asList
(
apiVersion
.
group
()).
contains
(
AdamSwaggerApiVersionConstant
.
TASK
);
})
.
paths
(
PathSelectors
.
any
())
.
build
();
}
@Bean
public
Docket
web_sys
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
apiInfo
(
this
.
apiInfo
())
.
groupName
(
AdamSwaggerApiVersionConstant
.
WEB_SYS
)
.
select
()
.
apis
(
input
->
{
SwaggerApiVersion
apiVersion
=
input
.
getHandlerMethod
().
getMethodAnnotation
(
SwaggerApiVersion
.
class
);
return
apiVersion
!=
null
&&
Arrays
.
asList
(
apiVersion
.
group
()).
contains
(
AdamSwaggerApiVersionConstant
.
WEB_SYS
);
})
.
paths
(
PathSelectors
.
any
())
.
build
();
}
@Bean
public
Docket
web_1_0
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
apiInfo
(
this
.
apiInfo
())
// .globalOperationParameters(headParamDefault())
.
groupName
(
AdamSwaggerApiVersionConstant
.
WEB_1_0
)
.
select
()
.
apis
(
input
->
{
SwaggerApiVersion
apiVersion
=
input
.
getHandlerMethod
().
getMethodAnnotation
(
SwaggerApiVersion
.
class
);
return
apiVersion
!=
null
&&
Arrays
.
asList
(
apiVersion
.
group
()).
contains
(
AdamSwaggerApiVersionConstant
.
WEB_1_0
);
})
.
paths
(
PathSelectors
.
any
())
.
build
();
}
@Bean
public
Docket
web_1_1
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
apiInfo
(
this
.
apiInfo
())
// .globalOperationParameters(headParamDefault())
.
groupName
(
AdamSwaggerApiVersionConstant
.
WEB_1_1
)
.
select
()
.
apis
(
input
->
{
SwaggerApiVersion
apiVersion
=
input
.
getHandlerMethod
().
getMethodAnnotation
(
SwaggerApiVersion
.
class
);
return
apiVersion
!=
null
&&
Arrays
.
asList
(
apiVersion
.
group
()).
contains
(
AdamSwaggerApiVersionConstant
.
WEB_1_1
);
})
.
paths
(
PathSelectors
.
any
())
.
build
();
}
@Bean
public
Docket
web_1_2
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
apiInfo
(
this
.
apiInfo
())
// .globalOperationParameters(headParamDefault())
.
groupName
(
AdamSwaggerApiVersionConstant
.
WEB_1_2
)
.
select
()
.
apis
(
input
->
{
SwaggerApiVersion
apiVersion
=
input
.
getHandlerMethod
().
getMethodAnnotation
(
SwaggerApiVersion
.
class
);
return
apiVersion
!=
null
&&
Arrays
.
asList
(
apiVersion
.
group
()).
contains
(
AdamSwaggerApiVersionConstant
.
WEB_1_2
);
})
.
paths
(
PathSelectors
.
any
())
.
build
();
}
/**
* 设置默认请求头部 参数
* sid
*/
private
List
<
Parameter
>
headParamDefault
()
{
List
<
Parameter
>
pars
=
new
ArrayList
<>();
// ParameterBuilder ticketPar = new ParameterBuilder();
// ticketPar.name("token").description("user token")
// .modelRef(new ModelRef("string")).parameterType("header")
// .required(true).build(); //header中的ticket参数非必填,传空也可以
// pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数
return
pars
;
}
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/config/swagger/AdamSwaggerApiTags.java
View file @
bec22bda
...
@@ -7,6 +7,5 @@ import com.liquidnet.common.swagger.config.SwaggerApiTags;
...
@@ -7,6 +7,5 @@ import com.liquidnet.common.swagger.config.SwaggerApiTags;
* @author Li Chen
* @author Li Chen
*/
*/
public
interface
AdamSwaggerApiTags
extends
SwaggerApiTags
{
public
interface
AdamSwaggerApiTags
extends
SwaggerApiTags
{
String
COM
=
"com"
;
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/config/swagger/AdamSwaggerApiVersionConstant.java
View file @
bec22bda
...
@@ -9,18 +9,4 @@ import com.liquidnet.common.swagger.config.SwaggerApiVersionConstant;
...
@@ -9,18 +9,4 @@ import com.liquidnet.common.swagger.config.SwaggerApiVersionConstant;
*/
*/
public
interface
AdamSwaggerApiVersionConstant
extends
SwaggerApiVersionConstant
{
public
interface
AdamSwaggerApiVersionConstant
extends
SwaggerApiVersionConstant
{
String
ADMIN
=
"admin"
;
String
FEIGN
=
"fegin"
;
String
TASK
=
"task"
;
String
WEB_SYS
=
"web sys"
;
String
WEB_1_0
=
"web 1.0"
;
String
WEB_1_1
=
"web 1.1"
;
String
WEB_1_2
=
"web 1.2"
;
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamEntersController.java
View file @
bec22bda
...
@@ -10,8 +10,6 @@ import com.liquidnet.service.adam.service.IAdamEntersService;
...
@@ -10,8 +10,6 @@ import com.liquidnet.service.adam.service.IAdamEntersService;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.AmqpException
;
import
org.springframework.amqp.core.AmqpTemplate
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -32,23 +30,9 @@ import java.util.List;
...
@@ -32,23 +30,9 @@ import java.util.List;
@Slf4j
@Slf4j
@RestController
@RestController
@RequestMapping
(
"/enters"
)
@RequestMapping
(
"/enters"
)
public
class
AdamEntersController
{
public
class
AdamEntersController
{
@Autowired
@Autowired
IAdamEntersService
adamEntersService
;
IAdamEntersService
adamEntersService
;
@Autowired
AmqpTemplate
amqpTemplate
;
@ApiOperationSupport
(
order
=
0
)
@ApiOperation
(
value
=
"Producer"
)
@PostMapping
(
"producer"
)
public
ResponseDto
<
Object
>
producer
()
{
try
{
amqpTemplate
.
convertAndSend
(
"queue_test"
,
"queue_key"
,
"select * from x "
+
System
.
currentTimeMillis
());
}
catch
(
AmqpException
e
)
{
e
.
printStackTrace
();
}
return
ResponseDto
.
success
();
}
@ApiOperationSupport
(
order
=
1
)
@ApiOperationSupport
(
order
=
1
)
@ApiOperation
(
value
=
"入场人列表"
)
@ApiOperation
(
value
=
"入场人列表"
)
...
@@ -58,7 +42,6 @@ public class AdamEntersController {
...
@@ -58,7 +42,6 @@ public class AdamEntersController {
String
uid
=
"1"
;
String
uid
=
"1"
;
List
<
AdamEntersVo
>
voList
=
new
ArrayList
<>();
List
<
AdamEntersVo
>
voList
=
new
ArrayList
<>();
adamEntersService
.
list
(
uid
).
forEach
(
i
->
{
adamEntersService
.
list
(
uid
).
forEach
(
i
->
{
voList
.
add
(
AdamEntersVo
.
getNew
().
copy
(
i
));
voList
.
add
(
AdamEntersVo
.
getNew
().
copy
(
i
));
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamEntersServiceImpl.java
View file @
bec22bda
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.common.mq.constant.MQConst
;
import
com.liquidnet.commons.lang.util.BsonUtil
;
import
com.liquidnet.commons.lang.util.SqlMapping
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.entity.AdamEnters
;
import
com.liquidnet.service.adam.entity.AdamEnters
;
import
com.liquidnet.service.adam.mapper.AdamEntersMapper
;
import
com.liquidnet.service.adam.mapper.AdamEntersMapper
;
import
com.liquidnet.service.adam.service.IAdamEntersService
;
import
com.liquidnet.service.adam.service.IAdamEntersService
;
import
com.mongodb.BasicDBObject
;
import
com.mongodb.BasicDBObject
;
import
com.mongodb.client.model.FindOneAndUpdateOptions
;
import
com.mongodb.client.model.ReturnDocument
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.bson.Document
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.convert.MongoConverter
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* <p>
* <p>
...
@@ -36,13 +41,17 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
...
@@ -36,13 +41,17 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
@Autowired
@Autowired
AdamEntersMapper
adamEntersMapper
;
AdamEntersMapper
adamEntersMapper
;
@Autowired
@Autowired
MongoConverter
mongoConverter
;
@Autowired
MongoTemplate
mongoTemplate
;
MongoTemplate
mongoTemplate
;
@Autowired
@Autowired
RabbitTemplate
rabbitTemplate
;
@Autowired
RedisUtil
redisUtil
;
RedisUtil
redisUtil
;
@Override
@Override
public
List
<
AdamEnters
>
list
(
String
uid
)
{
public
List
<
AdamEnters
>
list
(
String
uid
)
{
ç
List
<
AdamEnters
>
infoList
=
new
ArrayList
<>();
Map
<
Object
,
Object
>
map
=
redisUtil
.
hmget
(
AdamRedisConst
.
INFO_ENTERS
.
concat
(
uid
));
Map
<
Object
,
Object
>
map
=
redisUtil
.
hmget
(
AdamRedisConst
.
INFO_ENTERS
.
concat
(
uid
));
...
@@ -58,22 +67,58 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
...
@@ -58,22 +67,58 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
}
}
@Override
@Override
@Transactional
(
propagation
=
Propagation
.
REQUIRED
,
rollbackFor
=
Exception
.
class
)
public
void
add
(
AdamEnters
info
)
{
public
void
add
(
AdamEnters
info
)
{
mongoTemplate
.
insert
(
Collections
.
singletonList
(
info
),
AdamEnters
.
class
.
getSimpleName
());
if
(
info
.
getIsDefault
())
{
Set
<
Object
>
keys
=
(
Set
<
Object
>)
redisUtil
.
hkeys
(
AdamRedisConst
.
INFO_ENTERS
.
concat
(
info
.
getUid
()));
if
(!
CollectionUtils
.
isEmpty
(
keys
))
{
AdamEnters
deaultEnters
=
new
AdamEnters
();
deaultEnters
.
setUid
(
info
.
getUid
());
deaultEnters
.
setIsDefault
(
false
);
BasicDBObject
object
=
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
deaultEnters
));
Document
doc
=
mongoTemplate
.
getCollection
(
AdamEnters
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
deaultEnters
.
getUid
()).
and
(
"isDefault"
).
is
(
true
)).
getQueryObject
(),
object
,
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
if
(
null
!=
doc
)
{
List
<
Object
>
paramList
=
new
ArrayList
<>();
paramList
.
add
(
info
.
getIsDefault
());
paramList
.
add
(
info
.
getUpdatedAt
());
paramList
.
add
(
info
.
getEntersId
());
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
SqlMapping
.
get
(
"adam_enters.update.is_default"
,
paramList
.
toArray
()));
AdamEnters
enters
=
BsonUtil
.
toBean
(
doc
,
AdamEnters
.
class
);
redisUtil
.
hset
(
AdamRedisConst
.
INFO_ENTERS
.
concat
(
enters
.
getUid
()),
enters
.
getEntersId
(),
enters
);
}
}
}
// TODO: 2021/4/28 放入MQ
mongoTemplate
.
insert
(
Collections
.
singletonList
(
info
),
AdamEnters
.
class
.
getSimpleName
());
List
<
Object
>
paramList
=
new
ArrayList
<>();
paramList
.
add
(
info
.
getEntersId
());
paramList
.
add
(
info
.
getUid
());
paramList
.
add
(
info
.
getType
());
paramList
.
add
(
info
.
getName
());
paramList
.
add
(
info
.
getMobile
());
paramList
.
add
(
info
.
getIdCard
());
paramList
.
add
(
info
.
getIsDefault
());
paramList
.
add
(
info
.
getState
());
paramList
.
add
(
info
.
getCreatedAt
());
paramList
.
add
(
info
.
getUpdatedAt
());
paramList
.
add
(
info
.
getDeletedAt
());
paramList
.
add
(
info
.
getComment
());
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
SqlMapping
.
get
(
"adam_enters.add"
,
paramList
.
toArray
()));
// TODO: 2021/4/28 同步REDIS
redisUtil
.
hset
(
AdamRedisConst
.
INFO_ENTERS
.
concat
(
info
.
getUid
()),
info
.
getEntersId
(),
info
);
redisUtil
.
hset
(
AdamRedisConst
.
INFO_ENTERS
.
concat
(
info
.
getUid
()),
info
.
getEntersId
(),
info
);
}
}
@Override
@Override
public
AdamEnters
query
(
String
uid
,
String
entersId
)
{
public
AdamEnters
query
(
String
uid
,
String
entersId
)
{
AdamEnters
info
=
null
;
AdamEnters
info
=
(
AdamEnters
)
redisUtil
.
hget
(
AdamRedisConst
.
INFO_ENTERS
.
concat
(
uid
),
entersId
);
// TODO: 2021/4/28 REDIS:QUERY
info
=
(
AdamEnters
)
redisUtil
.
hget
(
AdamRedisConst
.
INFO_ENTERS
.
concat
(
uid
),
entersId
);
if
(
null
==
info
)
{
if
(
null
==
info
)
{
info
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"entersId"
).
is
(
entersId
)),
AdamEnters
.
class
,
AdamEnters
.
class
.
getSimpleName
());
info
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"entersId"
).
is
(
entersId
)),
AdamEnters
.
class
,
AdamEnters
.
class
.
getSimpleName
());
...
@@ -83,15 +128,51 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
...
@@ -83,15 +128,51 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
}
}
@Override
@Override
@Transactional
(
propagation
=
Propagation
.
REQUIRED
,
rollbackFor
=
Exception
.
class
)
public
void
edit
(
AdamEnters
info
)
{
public
void
edit
(
AdamEnters
info
)
{
BasicDBObject
object
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
info
)));
AdamEnters
oldEnters
=
(
AdamEnters
)
redisUtil
.
hget
(
AdamRedisConst
.
INFO_ENTERS
.
concat
(
info
.
getUid
()),
info
.
getEntersId
());
mongoTemplate
.
getCollection
(
AdamEnters
.
class
.
getSimpleName
())
if
(
info
.
getIsDefault
()
&&
!
oldEnters
.
getIsDefault
())
{
.
updateOne
(
Query
.
query
(
Criteria
.
where
(
"entersId"
).
is
(
info
.
getEntersId
())).
getQueryObject
(),
object
);
AdamEnters
deaultEnters
=
new
AdamEnters
();
deaultEnters
.
setUid
(
info
.
getUid
());
// TODO: 2021/4/28 放入MQ
deaultEnters
.
setIsDefault
(
false
);
BasicDBObject
object
=
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
deaultEnters
));
Document
doc
=
mongoTemplate
.
getCollection
(
AdamEnters
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
deaultEnters
.
getUid
()).
and
(
"isDefault"
).
is
(
true
)).
getQueryObject
(),
object
,
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
if
(
null
!=
doc
)
{
List
<
Object
>
paramList
=
new
ArrayList
<>();
paramList
.
add
(
info
.
getIsDefault
());
paramList
.
add
(
info
.
getUpdatedAt
());
paramList
.
add
(
info
.
getEntersId
());
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
SqlMapping
.
get
(
"adam_enters.update.is_default"
,
paramList
.
toArray
()));
AdamEnters
enters
=
BsonUtil
.
toBean
(
doc
,
AdamEnters
.
class
);
redisUtil
.
hset
(
AdamRedisConst
.
INFO_ENTERS
.
concat
(
enters
.
getUid
()),
enters
.
getEntersId
(),
enters
);
}
}
// TODO: 2021/4/28 同步REDIS
BasicDBObject
object
=
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
info
));
redisUtil
.
hset
(
AdamRedisConst
.
INFO_ENTERS
.
concat
(
info
.
getUid
()),
info
.
getEntersId
(),
info
);
Document
doc
=
mongoTemplate
.
getCollection
(
AdamEnters
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"entersId"
).
is
(
info
.
getEntersId
())).
getQueryObject
(),
object
,
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
List
<
Object
>
paramList
=
new
ArrayList
<>();
paramList
.
add
(
info
.
getType
());
paramList
.
add
(
info
.
getName
());
paramList
.
add
(
info
.
getMobile
());
paramList
.
add
(
info
.
getIdCard
());
paramList
.
add
(
info
.
getIsDefault
());
paramList
.
add
(
info
.
getState
());
paramList
.
add
(
info
.
getUpdatedAt
());
paramList
.
add
(
info
.
getDeletedAt
());
paramList
.
add
(
info
.
getEntersId
());
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
SqlMapping
.
get
(
"adam_enters.edit"
,
paramList
.
toArray
()));
redisUtil
.
hset
(
AdamRedisConst
.
INFO_ENTERS
.
concat
(
info
.
getUid
()),
info
.
getEntersId
(),
BsonUtil
.
toBean
(
doc
,
AdamEnters
.
class
));
}
}
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/sqlmap/enters.properties
0 → 100644
View file @
bec22bda
adam_enters.add
=
INSERT INTO adam_enters (enters_id, `uid`, `type`,`name`, mobile, id_card,is_default, `state`, created_at,updated_at, deleted_at, `comment`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
adam_enters.edit
=
UPDATE adam_enters `type` = ?, `name` = ?, mobile = ?, id_card = ?, is_default = ?, `state` = ?, updated_at = ? where enters_id = ?
adam_enters.update.is_default
=
UPDATE adam_enters is_default = ?, updated_at = ? where enters_id = ?
adam_enters.remove
=
UPDATE adam_enters `state` = ?, updated_at = ?, deleted_at = ? where enters_id = ?
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-consumer/pom.xml
View file @
bec22bda
...
@@ -16,4 +16,32 @@
...
@@ -16,4 +16,32 @@
<maven.compiler.target>
8
</maven.compiler.target>
<maven.compiler.target>
8
</maven.compiler.target>
</properties>
</properties>
<dependencies>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-common-service-base
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-common-mq
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
</plugins>
<resources>
<resource>
<directory>
src/main/resources
</directory>
<filtering>
true
</filtering>
</resource>
</resources>
</build>
</project>
</project>
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/ServiceConsumerApplication.java
View file @
bec22bda
...
@@ -4,7 +4,12 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -4,7 +4,12 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
import
org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration
;
import
org.springframework.cloud.bus.BusAutoConfiguration
;
import
org.springframework.core.env.Environment
;
import
org.springframework.core.env.Environment
;
import
org.springframework.jdbc.datasource.DataSourceTransactionManager
;
import
org.springframework.jdbc.datasource.DataSourceTransactionManager
;
import
org.springframework.transaction.PlatformTransactionManager
;
import
org.springframework.transaction.PlatformTransactionManager
;
...
@@ -15,6 +20,9 @@ import java.net.UnknownHostException;
...
@@ -15,6 +20,9 @@ import java.net.UnknownHostException;
import
java.util.Arrays
;
import
java.util.Arrays
;
@Slf4j
@Slf4j
@EnableAutoConfiguration
(
exclude
=
{
BusAutoConfiguration
.
class
,
MongoAutoConfiguration
.
class
,
RedisAutoConfiguration
.
class
}
)
@SpringBootApplication
(
scanBasePackages
=
{
"com.liquidnet"
})
@SpringBootApplication
(
scanBasePackages
=
{
"com.liquidnet"
})
public
class
ServiceConsumerApplication
implements
CommandLineRunner
{
public
class
ServiceConsumerApplication
implements
CommandLineRunner
{
@Autowired
@Autowired
...
...
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/consumer/service/IBaseDao.java
0 → 100644
View file @
bec22bda
package
com
.
liquidnet
.
service
.
consumer
.
service
;
import
java.util.LinkedList
;
public
interface
IBaseDao
{
/**
* 批量执行sql
*
* @param sql
* @param values
* @return
*/
Boolean
batchSql
(
String
sql
,
LinkedList
<
Object
[]>
values
);
/**
* 批量执行不定量sql
*
* @param sql
* @param values
* @return
*/
Boolean
batchSqls
(
LinkedList
<
String
>
sql
,
LinkedList
<
Object
[]>...
values
);
/**
* xs 新增一条记录且返回主键Id
*
* @param sql 新增待执行sql
* @param param 参数
* @return 主键ID
*/
int
insertSqlAndReturnKeyId
(
final
String
sql
,
final
Object
[]
param
);
}
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/consumer/service/impl/BaseDao.java
0 → 100644
View file @
bec22bda
package
com
.
liquidnet
.
service
.
consumer
.
service
.
impl
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.consumer.service.IBaseDao
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.dao.DataAccessException
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.jdbc.core.PreparedStatementCreator
;
import
org.springframework.jdbc.datasource.DataSourceTransactionManager
;
import
org.springframework.jdbc.support.GeneratedKeyHolder
;
import
org.springframework.jdbc.support.KeyHolder
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.TransactionStatus
;
import
org.springframework.transaction.support.TransactionCallback
;
import
org.springframework.transaction.support.TransactionTemplate
;
import
javax.annotation.Resource
;
import
java.sql.Connection
;
import
java.sql.PreparedStatement
;
import
java.sql.SQLException
;
import
java.sql.Statement
;
import
java.util.LinkedList
;
import
java.util.List
;
@Service
public
class
BaseDao
implements
IBaseDao
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
BaseDao
.
class
);
@Resource
public
JdbcTemplate
jdbcTemplate
;
@Resource
(
name
=
"transactionManager"
)
public
DataSourceTransactionManager
transactionManager
;
@Override
public
Boolean
batchSql
(
final
String
sql
,
final
LinkedList
<
Object
[]>
values
)
{
TransactionCallback
<
Boolean
>
callback
=
new
TransactionCallback
<
Boolean
>()
{
@Override
public
Boolean
doInTransaction
(
final
TransactionStatus
transactionStatus
)
{
if
(
values
.
size
()
>
0
)
{
jdbcTemplate
.
batchUpdate
(
sql
,
values
);
}
return
true
;
}
};
try
{
TransactionTemplate
tt
=
new
TransactionTemplate
(
transactionManager
);
return
tt
.
execute
(
callback
);
}
catch
(
Exception
ex
)
{
log
.
error
(
"###SQL.Preparing:{}\nParameters:{}"
,
JsonUtils
.
toJson
(
sql
),
JsonUtils
.
toJson
(
values
),
ex
);
return
false
;
}
}
@Override
public
Boolean
batchSqls
(
final
LinkedList
<
String
>
sql
,
final
LinkedList
<
Object
[]>...
values
)
{
TransactionCallback
<
Boolean
>
callback
=
new
TransactionCallback
<
Boolean
>()
{
@Override
public
Boolean
doInTransaction
(
final
TransactionStatus
transactionStatus
)
{
int
i
=
0
;
for
(
LinkedList
<
Object
[]>
o
:
values
)
{
if
(
sql
.
size
()
<
i
+
1
)
{
break
;
}
if
(!
o
.
isEmpty
())
{
jdbcTemplate
.
batchUpdate
(
sql
.
get
(
i
),
o
);
}
i
++;
}
return
true
;
}
};
try
{
TransactionTemplate
tt
=
new
TransactionTemplate
(
transactionManager
);
return
tt
.
execute
(
callback
);
}
catch
(
Exception
ex
)
{
log
.
error
(
"###SQL.Preparing:{}\nParameters:{}"
,
JsonUtils
.
toJson
(
sql
),
JsonUtils
.
toJson
(
values
),
ex
);
return
false
;
}
}
/**
* xs 新增一条记录且返回主键Id
*
* @param sql 新增待执行sql
* @param param 参数
* @return 主键ID
*/
public
int
insertSqlAndReturnKeyId
(
final
String
sql
,
final
Object
[]
param
)
{
final
String
innersql
=
sql
;
final
Object
[]
innerO
=
param
;
KeyHolder
keyHolder
=
new
GeneratedKeyHolder
();
try
{
jdbcTemplate
.
update
(
new
PreparedStatementCreator
()
{
@Override
public
PreparedStatement
createPreparedStatement
(
final
Connection
con
)
throws
SQLException
{
PreparedStatement
ps
=
con
.
prepareStatement
(
innersql
,
Statement
.
RETURN_GENERATED_KEYS
);
for
(
int
i
=
0
;
i
<
innerO
.
length
;
i
++)
{
ps
.
setObject
(
i
+
1
,
innerO
[
i
]);
}
return
ps
;
}
},
keyHolder
);
}
catch
(
Exception
e
)
{
log
.
error
(
"###SQL.Preparing:{}\nParameters:{}"
,
sql
,
JsonUtils
.
toJson
(
param
),
e
);
}
return
keyHolder
.
getKey
().
intValue
();
}
}
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/consumer/service/processor/ConsumerProcessor.java
View file @
bec22bda
package
com
.
liquidnet
.
service
.
consumer
.
service
.
processor
;
package
com
.
liquidnet
.
service
.
consumer
.
service
.
processor
;
import
com.liquidnet.common.mq.constant.MQConst
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.SqlMessage
;
import
com.liquidnet.service.consumer.service.IBaseDao
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.amqp.rabbit.annotation.*
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
/**
/**
* ConsumerProcessor.class
* ConsumerProcessor.class
*
*
...
@@ -14,13 +19,44 @@ import org.springframework.stereotype.Component;
...
@@ -14,13 +19,44 @@ import org.springframework.stereotype.Component;
@Slf4j
@Slf4j
@Component
@Component
public
class
ConsumerProcessor
{
public
class
ConsumerProcessor
{
@RabbitListener
(
bindings
=
@QueueBinding
(
@Resource
exchange
=
@Exchange
(
"queue_test"
),
IBaseDao
baseDao
;
key
=
"queue_key"
,
value
=
@Queue
(
"queue_adam"
)
// @RabbitListener(bindings = @QueueBinding(
))
// exchange = @Exchange("queue.sql"),
@RabbitHandler
// key = "rk",
public
void
consumerSql
(
Message
message
)
{
// value = @Queue("queue.sql.main")
log
.
info
(
"consumer sql:{}"
,
message
);
// ))
// @RabbitHandler
// public void consumerSql(Message message) {
// log.info("consumer sql:{}", message);
// }
@RabbitListener
(
queues
=
MQConst
.
QUEUES_SQL_MAIN
)
public
void
consumerSql
(
String
msg
)
{
SqlMessage
sqlMessage
=
JsonUtils
.
fromJson
(
msg
,
SqlMessage
.
class
);
log
.
debug
(
"consumer sql ==> Preparing:{}"
,
JsonUtils
.
toJson
(
sqlMessage
.
getSqls
()));
log
.
debug
(
"consumer sql ==> Parameters:{}"
,
JsonUtils
.
toJson
(
sqlMessage
.
getArgs
()));
try
{
switch
(
sqlMessage
.
getExecType
())
{
case
1
:
int
i
=
baseDao
.
insertSqlAndReturnKeyId
(
sqlMessage
.
getSqls
().
get
(
0
),
sqlMessage
.
getArgs
()[
0
].
get
(
0
));
log
.
debug
(
"insertSqlAndReturnKeyId result of execution:{}"
,
i
);
break
;
case
2
:
Boolean
rstBatchSql
=
baseDao
.
batchSql
(
sqlMessage
.
getSqls
().
get
(
0
),
sqlMessage
.
getArgs
()[
0
]);
log
.
debug
(
"batchSql result of execution:{}"
,
rstBatchSql
);
break
;
case
3
:
Boolean
rstBatchSqls
=
baseDao
.
batchSqls
(
sqlMessage
.
getSqls
(),
sqlMessage
.
getArgs
());
log
.
debug
(
"batchSqls result of execution:{}"
,
rstBatchSqls
);
break
;
default
:
break
;
}
}
catch
(
Exception
e
)
{
log
.
error
(
"error"
,
e
);
}
}
}
}
}
liquidnet-bus-service/liquidnet-service-consumer/src/main/resources/bootstrap-dev.yml
0 → 100644
View file @
bec22bda
# begin-dev-这里是配置信息基本值
liquidnet
:
cloudConfig
:
profile
:
dev
security
:
username
:
user
password
:
user123
eureka
:
host
:
127.0.0.1:7001
# end-dev-这里是配置信息基本值
spring
:
profiles
:
include
:
service-consumer
liquidnet-bus-service/liquidnet-service-consumer/src/main/resources/bootstrap-prod.yml
0 → 100644
View file @
bec22bda
# begin-dev-这里是配置信息基本值
liquidnet
:
cloudConfig
:
profile
:
prod
security
:
username
:
user
password
:
user123
eureka
:
host
:
127.0.0.1:7001
# end-dev-这里是配置信息基本值
spring
:
profiles
:
include
:
service-consumer
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-consumer/src/main/resources/bootstrap-service-consumer.yml
0 → 100644
View file @
bec22bda
#eurekaServer配置
eureka
:
client
:
register-with-eureka
:
true
fetch-registry
:
true
serviceUrl
:
defaultZone
:
http://${liquidnet.security.username}:${liquidnet.security.password}@${liquidnet.eureka.host}/eureka-server/eureka
#configServer配置
spring
:
cloud
:
config
:
# uri: http://127.0.0.1:7002/support-config
profile
:
${liquidnet.cloudConfig.profile}
name
:
${spring.application.name}
#默认为spring.application.name
discovery
:
enabled
:
true
service-id
:
liquidnet-support-config
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-consumer/src/main/resources/bootstrap-test.yml
0 → 100644
View file @
bec22bda
# begin-dev-这里是配置信息基本值
liquidnet
:
cloudConfig
:
profile
:
test
security
:
username
:
user
password
:
user123
eureka
:
host
:
172.18.0.2:7001
# end-dev-这里是配置信息基本值
spring
:
profiles
:
include
:
service-consumer
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-consumer/src/main/resources/bootstrap.yml
0 → 100644
View file @
bec22bda
spring
:
application
:
name
:
liquidnet-service-consumer
profiles
:
active
:
dev
\ No newline at end of file
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