记得上下班打卡 | 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
dde82749
Commit
dde82749
authored
Jul 02, 2021
by
胡佳晨
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
98ff5df9
23759d50
Changes
20
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1283 additions
and
8 deletions
+1283
-8
application-dev.yml
liquidnet-bus-config/liquidnet-config/application-dev.yml
+6
-0
application-test.yml
liquidnet-bus-config/liquidnet-config/application-test.yml
+6
-0
liquidnet-service-adam-dev.yml
...us-config/liquidnet-config/liquidnet-service-adam-dev.yml
+2
-1
liquidnet-service-adam-test.yml
...s-config/liquidnet-config/liquidnet-service-adam-test.yml
+2
-1
liquidnet-service-adam.yml
...et-bus-config/liquidnet-config/liquidnet-service-adam.yml
+6
-6
liquidnet-service-consumer-adam-dev.yml
.../liquidnet-config/liquidnet-service-consumer-adam-dev.yml
+25
-0
liquidnet-service-consumer-adam-test.yml
...liquidnet-config/liquidnet-service-consumer-adam-test.yml
+25
-0
liquidnet-service-consumer-adam.yml
...nfig/liquidnet-config/liquidnet-service-consumer-adam.yml
+126
-0
pom.xml
...idnet-bus-service/liquidnet-service-consumer-adam/pom.xml
+60
-0
ServiceConsumerApplication.java
...ava/com/liquidnet/service/ServiceConsumerApplication.java
+53
-0
IBaseDao.java
...java/com/liquidnet/service/consumer/service/IBaseDao.java
+40
-0
KylinUtils.java
.../liquidnet/service/consumer/service/Utils/KylinUtils.java
+179
-0
BaseDao.java
.../com/liquidnet/service/consumer/service/impl/BaseDao.java
+137
-0
ConsumerProcessor.java
...service/consumer/service/processor/ConsumerProcessor.java
+551
-0
bootstrap-dev.yml
...ervice-consumer-adam/src/main/resources/bootstrap-dev.yml
+14
-0
bootstrap-prod.yml
...rvice-consumer-adam/src/main/resources/bootstrap-prod.yml
+14
-0
bootstrap-service-consumer-adam.yml
...am/src/main/resources/bootstrap-service-consumer-adam.yml
+17
-0
bootstrap-test.yml
...rvice-consumer-adam/src/main/resources/bootstrap-test.yml
+14
-0
bootstrap.yml
...et-service-consumer-adam/src/main/resources/bootstrap.yml
+5
-0
pom.xml
liquidnet-bus-service/pom.xml
+1
-0
No files found.
liquidnet-bus-config/liquidnet-config/application-dev.yml
View file @
dde82749
...
@@ -20,6 +20,12 @@ liquidnet:
...
@@ -20,6 +20,12 @@ liquidnet:
username
:
admin
username
:
admin
password
:
admin
password
:
admin
virtual-host
:
liquidnet
virtual-host
:
liquidnet
adam
:
host
:
rabbitmq.zhengzai.tv
port
:
5672
username
:
admin
password
:
admin
virtual-host
:
liquidnet
knife4j
:
knife4j
:
disable
:
false
disable
:
false
redis
:
redis
:
...
...
liquidnet-bus-config/liquidnet-config/application-test.yml
View file @
dde82749
...
@@ -20,6 +20,12 @@ liquidnet:
...
@@ -20,6 +20,12 @@ liquidnet:
username
:
admin
username
:
admin
password
:
admin
password
:
admin
virtual-host
:
liquidnet
virtual-host
:
liquidnet
adam
:
host
:
rabbitmq.zhengzai.tv
port
:
5672
username
:
admin
password
:
admin
virtual-host
:
liquidnet
knife4j
:
knife4j
:
disable
:
false
disable
:
false
redis
:
redis
:
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-service-adam-dev.yml
View file @
dde82749
...
@@ -13,7 +13,8 @@ liquidnet:
...
@@ -13,7 +13,8 @@ liquidnet:
file-max-size
:
200MB
file-max-size
:
200MB
level
:
info
level
:
info
rabbitmq
:
rabbitmq
:
connection-timeout
:
5000
adam
:
connection-timeout
:
5000
mysql
:
mysql
:
database-name
:
dev_ln_scene
database-name
:
dev_ln_scene
mongodb
:
mongodb
:
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-service-adam-test.yml
View file @
dde82749
...
@@ -13,7 +13,8 @@ liquidnet:
...
@@ -13,7 +13,8 @@ liquidnet:
file-max-size
:
200MB
file-max-size
:
200MB
level
:
debug
level
:
debug
rabbitmq
:
rabbitmq
:
connection-timeout
:
3000
adam
:
connection-timeout
:
5000
mysql
:
mysql
:
database-name
:
test_ln_scene
database-name
:
test_ln_scene
mongodb
:
mongodb
:
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-service-adam.yml
View file @
dde82749
...
@@ -71,12 +71,12 @@ spring:
...
@@ -71,12 +71,12 @@ spring:
autoconfigure
:
autoconfigure
:
exclude
:
org.springframework.cloud.bus.BusAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
exclude
:
org.springframework.cloud.bus.BusAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
rabbitmq
:
rabbitmq
:
addresses
:
${liquidnet.rabbitmq.host}
addresses
:
${liquidnet.rabbitmq.
adam.
host}
port
:
${liquidnet.rabbitmq.port}
port
:
${liquidnet.rabbitmq.
adam.
port}
username
:
${liquidnet.rabbitmq.username}
username
:
${liquidnet.rabbitmq.
adam.
username}
password
:
${liquidnet.rabbitmq.password}
password
:
${liquidnet.rabbitmq.
adam.
password}
virtual-host
:
${liquidnet.rabbitmq.virtual-host}
virtual-host
:
${liquidnet.rabbitmq.
adam.
virtual-host}
connection-timeout
:
${liquidnet.rabbitmq.connection-timeout}
connection-timeout
:
${liquidnet.rabbitmq.
adam.
connection-timeout}
redis
:
redis
:
database
:
15
database
:
15
port
:
${liquidnet.redis.port}
port
:
${liquidnet.redis.port}
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-service-consumer-adam-dev.yml
0 → 100644
View file @
dde82749
liquidnet
:
system
:
updating
:
switch
:
false
info
:
port
:
9999
context
:
# context: /service-consumer
name
:
liquidnet-service-consumer-adam
logfile
:
path
:
/data/logs
name
:
service-consumer-adam
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
:
debug
rabbitmq
:
adam
:
connection-timeout
:
5000
mysql
:
database-name
:
dev_ln_scene
#以下为spring各环境个性配置
\ No newline at end of file
liquidnet-bus-config/liquidnet-config/liquidnet-service-consumer-adam-test.yml
0 → 100644
View file @
dde82749
liquidnet
:
system
:
updating
:
switch
:
false
info
:
port
:
9999
context
:
# context: /service-consumer
name
:
liquidnet-service-consumer-adam
logfile
:
path
:
/data/logs
name
:
service-consumer-adam
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
:
debug
rabbitmq
:
adam
:
connection-timeout
:
5000
mysql
:
database-name
:
test_ln_scene
#以下为spring各环境个性配置
liquidnet-bus-config/liquidnet-config/liquidnet-service-consumer-adam.yml
0 → 100644
View file @
dde82749
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
:
${liquidnet.logfile.level-root}
# -----------------------------------------------------------
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.adam.host}
port
:
${liquidnet.rabbitmq.adam.port}
username
:
${liquidnet.rabbitmq.adam.username}
password
:
${liquidnet.rabbitmq.adam.password}
virtual-host
:
${liquidnet.rabbitmq.adam.virtual-host}
connection-timeout
:
${liquidnet.rabbitmq.adam.connection-timeout}
publisher-confirms
:
true
publisher-returns
:
true
listener
:
simple
:
acknowledge-mode
:
manual
redis
:
database
:
15
port
:
${liquidnet.redis.port}
host
:
${liquidnet.redis.host}
password
:
${liquidnet.redis.password}
lettuce
:
pool
:
max-active
:
8
max-wait
:
-1
max-idle
:
8
min-idle
:
0
redisson
:
singleServerConfig
:
address
:
redis://${liquidnet.redis.host}:${liquidnet.redis.port}
password
:
${liquidnet.redis.password}
clientName
:
null
database
:
7
#选择使用哪个数据库0~15
idleConnectionTimeout
:
10000
connectTimeout
:
10000
timeout
:
3000
retryAttempts
:
3
retryInterval
:
1500
subscriptionsPerConnection
:
5
subscriptionConnectionMinimumIdleSize
:
1
subscriptionConnectionPoolSize
:
50
connectionMinimumIdleSize
:
32
connectionPoolSize
:
64
dnsMonitoringInterval
:
5000
threads
:
16
nettyThreads
:
32
codec
:
class
:
"
org.redisson.codec.JsonJacksonCodec"
transportMode
:
"
NIO"
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-consumer-adam/pom.xml
0 → 100644
View file @
dde82749
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
liquidnet-bus-service
</artifactId>
<groupId>
com.liquidnet
</groupId>
<version>
1.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
liquidnet-service-consumer-adam
</artifactId>
<properties>
<maven.compiler.source>
8
</maven.compiler.source>
<maven.compiler.target>
8
</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-common-mq
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-common-web
</artifactId>
</dependency>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-common-cache-redisson
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-common-cache-redis
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-service-kylin-api
</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>
liquidnet-bus-service/liquidnet-service-consumer-adam/src/main/java/com/liquidnet/service/ServiceConsumerApplication.java
0 → 100644
View file @
dde82749
package
com
.
liquidnet
.
service
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
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.jdbc.datasource.DataSourceTransactionManager
;
import
org.springframework.transaction.PlatformTransactionManager
;
import
javax.sql.DataSource
;
import
java.net.InetAddress
;
import
java.net.UnknownHostException
;
import
java.util.Arrays
;
@Slf4j
@EnableAutoConfiguration
(
exclude
=
{
BusAutoConfiguration
.
class
,
MongoAutoConfiguration
.
class
}
)
@SpringBootApplication
(
scanBasePackages
=
{
"com.liquidnet"
})
public
class
ServiceConsumerApplication
implements
CommandLineRunner
{
@Autowired
private
Environment
environment
;
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
ServiceConsumerApplication
.
class
,
args
);
}
@Override
public
void
run
(
String
...
strings
)
throws
Exception
{
try
{
log
.
info
(
"\n----------------------------------------------------------\n\t"
+
"Application '{}' is running! Access URLs:\n\t"
+
"Local: \t\thttp://127.0.0.1:{}\n\t"
+
"External: \thttp://{}:{}{}/doc.html\n\t"
+
"Profile(s): \t{}\n----------------------------------------------------------"
,
environment
.
getProperty
(
"spring.application.name"
),
environment
.
getProperty
(
"server.port"
),
InetAddress
.
getLocalHost
().
getHostAddress
(),
environment
.
getProperty
(
"server.port"
),
environment
.
getProperty
(
"server.servlet.context-path"
),
Arrays
.
toString
(
environment
.
getActiveProfiles
()));
}
catch
(
UnknownHostException
e
)
{
e
.
printStackTrace
();
}
}
}
liquidnet-bus-service/liquidnet-service-consumer-adam/src/main/java/com/liquidnet/service/consumer/service/IBaseDao.java
0 → 100644
View file @
dde82749
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
);
/**
* 执行sql语句 无 参数
*
* @param sql
* @return
*/
Boolean
batchSqlNoArgs
(
LinkedList
<
String
>
sql
);
/**
* xs 新增一条记录且返回主键Id
*
* @param sql 新增待执行sql
* @param param 参数
* @return 主键ID
*/
int
insertSqlAndReturnKeyId
(
final
String
sql
,
final
Object
[]
param
);
}
liquidnet-bus-service/liquidnet-service-consumer-adam/src/main/java/com/liquidnet/service/consumer/service/Utils/KylinUtils.java
0 → 100644
View file @
dde82749
package
com
.
liquidnet
.
service
.
consumer
.
service
.
Utils
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo
;
import
com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo
;
import
com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
@Component
public
class
KylinUtils
{
@Autowired
private
RedisUtil
redisUtil
;
/**
* @param userId 用户id
* @param type 1新增 2修改
* @param orderId 订单id [需要新增或者修改的订单id]
*/
public
Boolean
resetOrderListVo
(
String
userId
,
Integer
type
,
String
orderId
,
KylinOrderTicketVo
dataSingle
)
{
List
<
KylinOrderListVo
>
vo
=
new
ArrayList
<>();
List
<
KylinOrderListVo
>
redisVo
=
new
ArrayList
();
KylinOrderListVo
voItem
=
new
KylinOrderListVo
();
KylinOrderTicketVo
data
;
if
(
dataSingle
==
null
)
{
data
=
(
KylinOrderTicketVo
)
redisUtil
.
get
(
KylinRedisConst
.
ORDER
+
orderId
);
}
else
{
data
=
dataSingle
;
}
BeanUtils
.
copyProperties
(
data
,
voItem
);
List
<
KylinOrderListVo
>
redisData
=
(
List
<
KylinOrderListVo
>)
redisUtil
.
get
(
KylinRedisConst
.
ORDER_LIST
+
userId
);
if
(
type
==
1
)
{
redisVo
.
add
(
voItem
);
if
(
redisData
.
size
()
>
0
)
{
if
(
redisData
.
get
(
0
).
getOrderTicketsId
().
equals
(
orderId
))
{
redisData
.
remove
(
0
);
}
}
}
redisVo
.
addAll
(
redisData
);
switch
(
type
)
{
case
1
:
for
(
int
i
=
0
;
i
<
redisVo
.
size
();
i
++)
{
if
(
i
==
40
)
{
break
;
}
if
(
i
==
0
)
{
vo
.
add
(
voItem
);
}
else
{
vo
.
add
(
redisVo
.
get
(
i
));
}
}
if
(
redisVo
.
size
()
==
0
)
{
vo
.
add
(
voItem
);
}
redisUtil
.
set
(
KylinRedisConst
.
ORDER_LIST
+
userId
,
vo
);
return
true
;
case
2
:
for
(
int
i
=
0
;
i
<
redisVo
.
size
();
i
++)
{
if
(
i
==
40
)
{
break
;
}
if
(
redisVo
.
get
(
i
).
getOrderTicketsId
().
equals
(
orderId
))
{
vo
.
add
(
voItem
);
}
else
{
vo
.
add
(
redisVo
.
get
(
i
));
}
}
redisUtil
.
set
(
KylinRedisConst
.
ORDER_LIST
+
userId
,
vo
);
return
true
;
default
:
return
false
;
}
}
public
void
changeBuyInfo
(
String
userId
,
String
idCard
,
String
performanceId
,
String
ticketId
,
int
buyCount
)
{
String
redisKey
;
KylinPerformanceVo
vo
=
(
KylinPerformanceVo
)
redisUtil
.
get
(
KylinRedisConst
.
PERFORMANCES
+
performanceId
);
int
isTrueName
=
vo
.
getIsTrueName
();
String
useTime
=
""
;
HashMap
<
String
,
ArrayList
<
String
>>
allTicketId
=
new
HashMap
<>();
for
(
int
x
=
0
;
x
<
vo
.
getTicketTimeList
().
size
();
x
++)
{
KylinTicketTimesVo
timeItem
=
vo
.
getTicketTimeList
().
get
(
x
);
ArrayList
<
String
>
ticketList
=
new
ArrayList
<>();
for
(
int
y
=
0
;
y
<
timeItem
.
getTicketList
().
size
();
y
++)
{
KylinTicketVo
ticketItem
=
timeItem
.
getTicketList
().
get
(
y
);
if
(
ticketItem
.
getType
()
==
1
)
{
ticketList
.
add
(
ticketItem
.
getTicketsId
());
}
if
(
ticketItem
.
getTicketsId
().
equals
(
ticketId
))
{
useTime
=
ticketItem
.
getUseStart
();
}
}
allTicketId
.
put
(
timeItem
.
getUseStart
(),
ticketList
);
}
if
(
0
==
isTrueName
)
{
redisKey
=
KylinRedisConst
.
USERID_BUY_INFO
+
userId
;
}
else
{
redisKey
=
KylinRedisConst
.
IDCARD_BUY_INFO
+
idCard
;
}
String
performanceIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
PERFORMANCE_ID
+
":"
+
performanceId
;
String
ticketIdKey
=
redisKey
+
":"
+
KylinRedisConst
.
TICKET_ID
+
":"
+
ticketId
;
String
ticketUseTimeKey
=
ticketIdKey
+
":"
+
KylinRedisConst
.
USE_TIME
;
redisUtil
.
set
(
ticketUseTimeKey
,
useTime
);
if
(
buyCount
>
0
)
{
redisUtil
.
incr
(
ticketIdKey
,
buyCount
);
redisUtil
.
incr
(
performanceIdKey
,
buyCount
);
}
else
{
redisUtil
.
decr
(
ticketIdKey
,
Math
.
abs
(
buyCount
));
redisUtil
.
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
}
// if (buyCount > 0) {
// redisUtil.incr(ticketIdKey, buyCount);
// if (1 == ticketType) {
// int count = 0;
// for (int i = 0; i < allTicketId.get(useTime).size(); i++) {
// String item = allTicketId.get(useTime).get(i);
// if (allTicketId.get(useTime).size() == 1) {
// redisUtil.incr(performanceIdKey, buyCount);
// break;
// }
// if (null == redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
// redisUtil.set(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item, 0);
// }
// if (i == 0) {
// count = (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item);
// } else {
// if (count != (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
// redisUtil.incr(performanceIdKey, buyCount);
// break;
// }
// }
// }
// } else {
// redisUtil.incr(performanceIdKey, buyCount);
// }
// } else {
// redisUtil.decr(ticketIdKey, Math.abs(buyCount));
// if (1 == ticketType) {
// int count = 0;
// for (int i = 0; i < allTicketId.get(useTime).size(); i++) {
// String item = allTicketId.get(useTime).get(i);
// if (allTicketId.get(useTime).size() == 1) {
// redisUtil.decr(performanceIdKey, Math.abs(buyCount));
// break;
// }
// if (null == redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
// redisUtil.set(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item, 0);
// }
// if (i == 0) {
// count = (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item);
// } else {
// if (count != (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
// redisUtil.decr(performanceIdKey, Math.abs(buyCount));
// break;
// }
// }
// }
// } else {
// redisUtil.decr(performanceIdKey, Math.abs(buyCount));
// }
// }
}
}
liquidnet-bus-service/liquidnet-service-consumer-adam/src/main/java/com/liquidnet/service/consumer/service/impl/BaseDao.java
0 → 100644
View file @
dde82749
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.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
;
@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
)
{
int
[]
ints
=
jdbcTemplate
.
batchUpdate
(
sql
,
values
);
}
return
true
;
}
};
try
{
TransactionTemplate
tt
=
new
TransactionTemplate
(
transactionManager
);
return
tt
.
execute
(
callback
);
}
catch
(
Exception
ex
)
{
log
.
error
(
"###\nSQL.Preparing:{}\nParameters:{}"
,
JsonUtils
.
toJson
(
sql
),
JsonUtils
.
toJson
(
values
),
ex
);
return
false
;
}
}
@Override
public
Boolean
batchSqls
(
final
LinkedList
<
String
>
sql
,
final
LinkedList
<
Object
[]>...
values
)
{
try
{
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
;
}
};
TransactionTemplate
tt
=
new
TransactionTemplate
(
transactionManager
);
return
tt
.
execute
(
callback
);
}
catch
(
Exception
ex
)
{
// if (ex instanceof LiquidnetServiceException) {
// log.error("###Error.Code:{} - {}", ((LiquidnetServiceException) ex).getCode(), ex.getMessage());
// } else {
log
.
error
(
"###Error.Sqls:{}\nParameters:{},Ex:{}"
,
JsonUtils
.
toJson
(
sql
),
JsonUtils
.
toJson
(
values
),
ex
.
getMessage
());
// }
return
false
;
}
}
@Override
public
Boolean
batchSqlNoArgs
(
final
LinkedList
<
String
>
sql
)
{
try
{
TransactionCallback
<
Boolean
>
callback
=
new
TransactionCallback
<
Boolean
>()
{
@Override
public
Boolean
doInTransaction
(
final
TransactionStatus
transactionStatus
)
{
for
(
String
o
:
sql
)
{
jdbcTemplate
.
execute
(
o
);
}
return
true
;
}
};
TransactionTemplate
tt
=
new
TransactionTemplate
(
transactionManager
);
return
tt
.
execute
(
callback
);
}
catch
(
Exception
ex
)
{
log
.
error
(
"###Error.Sqls:{}\nParameters:{},Ex:{}"
,
sql
);
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
(
"###\nSQL.Preparing:{}\nParameters:{}"
,
sql
,
JsonUtils
.
toJson
(
param
),
e
);
}
return
keyHolder
.
getKey
().
intValue
();
}
}
liquidnet-bus-service/liquidnet-service-consumer-adam/src/main/java/com/liquidnet/service/consumer/service/processor/ConsumerProcessor.java
0 → 100644
View file @
dde82749
package
com
.
liquidnet
.
service
.
consumer
.
service
.
processor
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.mq.constant.MQConst
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.OrderCloseMapping
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.consumer.service.IBaseDao
;
import
com.liquidnet.service.consumer.service.Utils.KylinUtils
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo
;
import
com.rabbitmq.client.Channel
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringEscapeUtils
;
import
org.springframework.amqp.rabbit.annotation.Exchange
;
import
org.springframework.amqp.rabbit.annotation.Queue
;
import
org.springframework.amqp.rabbit.annotation.QueueBinding
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.amqp.core.Message
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
/**
* ConsumerProcessor.class
*
* @author zhanggb
* Created by IntelliJ IDEA at 2021/4/29
*/
@Slf4j
@Component
public
class
ConsumerProcessor
{
@Resource
IBaseDao
baseDao
;
@Autowired
private
RedisUtil
redisUtil
;
@Autowired
private
KylinUtils
kylinUtils
;
// @RabbitListener(bindings = @QueueBinding(
// exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL), key = MQConst.ROUTING_KEY_SQL,
// value = @Queue(MQConst.QUEUES_SQL_MAIN)
// ))
//// @RabbitListener(queues = MQConst.QUEUES_SQL_MAIN)
// public void consumerSql(Message msg, Channel channel) {
// SqlMapping.SqlMessage sqlMessage = JsonUtils.fromJson(new String(msg.getBody()), SqlMapping.SqlMessage.class);
// log.debug("consumer sql ==> Preparing:{}", JsonUtils.toJson(sqlMessage.getSqls()));
// log.debug("consumer sql ==> Parameters:{}", JsonUtils.toJson(sqlMessage.getArgs()));
//
// try {
// Boolean rstBatchSqls = baseDao.batchSqls(sqlMessage.getSqls(), sqlMessage.getArgs());
// log.debug("consumer sql result of execution:{}", rstBatchSqls);
// if (rstBatchSqls) {
// channel.basicAck(msg.getMessageProperties().getDeliveryTag(), false);
// } else {
// channel.basicReject(msg.getMessageProperties().getDeliveryTag(), true);
// }
// } catch (Exception e) {
// log.error("error:consumer sql:{}", JsonUtils.toJson(sqlMessage), e);
// try {
// channel.basicReject(msg.getMessageProperties().getDeliveryTag(), true);
// } catch (IOException ioException) {
// log.error("error:consumer sql:basicReject.msg.tag:{}", msg.getMessageProperties().getDeliveryTag(), ioException);
// }
// }
// }
private
void
consumerSqlDaoHandler
(
Message
msg
,
Channel
channel
)
{
SqlMapping
.
SqlMessage
sqlMessage
=
JsonUtils
.
fromJson
(
new
String
(
msg
.
getBody
()),
SqlMapping
.
SqlMessage
.
class
);
log
.
debug
(
"consumer sql ==> Preparing:{}"
,
JsonUtils
.
toJson
(
sqlMessage
.
getSqls
()));
log
.
debug
(
"consumer sql ==> Parameters:{}"
,
JsonUtils
.
toJson
(
sqlMessage
.
getArgs
()));
try
{
Boolean
rstBatchSqls
=
baseDao
.
batchSqls
(
sqlMessage
.
getSqls
(),
sqlMessage
.
getArgs
());
log
.
debug
(
"consumer sql result of execution:{}"
,
rstBatchSqls
);
if
(
rstBatchSqls
)
{
channel
.
basicAck
(
msg
.
getMessageProperties
().
getDeliveryTag
(),
false
);
}
else
{
channel
.
basicReject
(
msg
.
getMessageProperties
().
getDeliveryTag
(),
true
);
}
}
catch
(
IOException
e
)
{
log
.
error
(
"error:consumer sql:Channel.msg.tag:{}"
,
msg
.
getMessageProperties
().
getDeliveryTag
(),
e
);
}
}
// 处理长sql语句
private
void
consumerOperationOrderClose
(
Message
msg
,
Channel
channel
)
{
String
jsonStr
=
StringEscapeUtils
.
unescapeJava
(
new
String
(
msg
.
getBody
()));
OrderCloseMapping
.
orderCloseMessage
mqMessage
=
JsonUtils
.
fromJson
(
jsonStr
.
substring
(
1
,
jsonStr
.
length
()
-
1
),
OrderCloseMapping
.
orderCloseMessage
.
class
);
log
.
debug
(
"consumer ==> mqMessage:{}"
,
mqMessage
.
getOrderTicketIds
());
try
{
for
(
int
x
=
0
;
x
<
mqMessage
.
getOrderTicketIds
().
size
();
x
++)
{
String
t
=
mqMessage
.
getOrderTicketIds
().
get
(
x
);
String
orderTicketId
=
t
.
split
(
","
)[
0
];
String
uid
=
t
.
split
(
","
)[
1
];
KylinOrderTicketVo
vo
=
(
KylinOrderTicketVo
)
redisUtil
.
get
(
"kylin:order:id:"
+
orderTicketId
);
vo
.
setStatus
(
2
);
redisUtil
.
set
(
"kylin:order:id:"
+
orderTicketId
,
vo
);
kylinUtils
.
resetOrderListVo
(
uid
,
2
,
orderTicketId
,
vo
);
// redis 限购
for
(
int
i
=
0
;
i
<
vo
.
getEntitiesVoList
().
size
();
i
++)
{
KylinOrderTicketEntitiesVo
items
=
vo
.
getEntitiesVoList
().
get
(
i
);
kylinUtils
.
changeBuyInfo
(
items
.
getUserId
(),
items
.
getEnterIdCode
(),
items
.
getPerformanceId
(),
items
.
getTicketId
(),
-
1
);
}
}
channel
.
basicAck
(
msg
.
getMessageProperties
().
getDeliveryTag
(),
false
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
log
.
error
(
"error:consumer sql:Channel.msg.tag:{}"
,
msg
.
getMessageProperties
().
getDeliveryTag
(),
e
);
}
}
// 用户注册
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UREGISTER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UREGISTER
)
))
public
void
consumerSqlForURegister
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
// 用户信息
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UCENTER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UCENTER
)
))
public
void
consumerSqlForUCenter
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
// 会员购买
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_UCENTER
),
key
=
MQConst
.
RK_SQL_UMEMBER
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_UMEMBER
)
))
public
void
consumerSqlForUMember
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
// 验票更新
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SQL_STATION
),
key
=
MQConst
.
RK_SQL_STATION
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_STATION
)
))
public
void
consumerSqlForStation
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
// 订单创建
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CREATE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CREATE
)
))
public
void
consumerOrderCreate
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CREATE ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CREATE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CREATE
)
))
public
void
consumerOrderCreate1
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CREATE ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CREATE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CREATE
)
))
public
void
consumerOrderCreate2
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CREATE ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CREATE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CREATE
)
))
public
void
consumerOrderCreate3
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CREATE ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CREATE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CREATE
)
))
public
void
consumerOrderCreate4
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CREATE ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CREATE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CREATE
)
))
public
void
consumerOrderCreate5
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CREATE ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CREATE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CREATE
)
))
public
void
consumerOrderCreate6
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CREATE ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CREATE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CREATE
)
))
public
void
consumerOrderCreate7
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CREATE ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CREATE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CREATE
)
))
public
void
consumerOrderCreate8
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CREATE ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CREADE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CREATE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CREATE
)
))
public
void
consumerOrderCreate9
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CREATE ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
// 订单再次支付
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_AGAIN
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_AGAIN
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_AGAIN
)
))
public
void
consumerOrderPayAgain
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_PAY_AGAIN ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
// 订单关闭
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CLOSE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CLOSE
)
))
public
void
consumerOrderClose
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumerOperationOrderClose
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CLOSE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CLOSE
)
))
public
void
consumerOrderClose1
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumerOperationOrderClose
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CLOSE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CLOSE
)
))
public
void
consumerOrderClose2
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumerOperationOrderClose
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CLOSE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CLOSE
)
))
public
void
consumerOrderClose3
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumerOperationOrderClose
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CLOSE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CLOSE
)
))
public
void
consumerOrderClose4
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumerOperationOrderClose
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CLOSE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CLOSE
)
))
public
void
consumerOrderClose5
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumerOperationOrderClose
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CLOSE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CLOSE
)
))
public
void
consumerOrderClose6
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumerOperationOrderClose
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CLOSE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CLOSE
)
))
public
void
consumerOrderClose7
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumerOperationOrderClose
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CLOSE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CLOSE
)
))
public
void
consumerOrderClose8
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumerOperationOrderClose
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_CLOSE
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_CLOSE
)
))
public
void
consumerOrderClose9
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumerOperationOrderClose
(
msg
,
channel
);
}
// 订单支付
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_PAY
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_PAY
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_PAY
)
))
public
void
consumerOrderPay
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_PAY ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_PAY
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_PAY
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_PAY
)
))
public
void
consumerOrderPay1
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_PAY ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_PAY
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_PAY
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_PAY
)
))
public
void
consumerOrderPay2
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_PAY ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_PAY
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_PAY
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_PAY
)
))
public
void
consumerOrderPay3
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_PAY ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_PAY
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_PAY
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_PAY
)
))
public
void
consumerOrderPay4
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_PAY ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_PAY
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_PAY
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_PAY
)
))
public
void
consumerOrderPay5
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_PAY ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_PAY
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_PAY
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_PAY
)
))
public
void
consumerOrderPay6
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_PAY ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_PAY
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_PAY
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_PAY
)
))
public
void
consumerOrderPay7
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_PAY ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_PAY
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_PAY
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_PAY
)
))
public
void
consumerOrderPay8
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_PAY ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_PAY
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_PAY
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_PAY
)
))
public
void
consumerOrderPay9
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_PAY ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_PAY
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_PAY
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_PAY
)
))
// 缺票登记
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_PERFORMANCE_LACK
),
key
=
MQConst
.
ROUTING_KEY_SQL_PERFORMANCE_LACK
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_PERFORMANCE_LACK
)
))
public
void
consumerPerformanceLack
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_PERFORMANCE_LACK ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
// 申请退款
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_REFUND
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_REFUND
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_REFUND
)
))
public
void
consumerOrderRefund
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_REFUND ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_REFUND
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_REFUND
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_REFUND
)
))
public
void
consumerOrderRefund1
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_REFUND ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_REFUND
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_REFUND
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_REFUND
)
))
public
void
consumerOrderRefund2
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_REFUND ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_REFUND
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_REFUND
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_REFUND
)
))
public
void
consumerOrderRefund3
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_REFUND ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_REFUND
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_REFUND
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_REFUND
)
))
public
void
consumerOrderRefund4
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_REFUND ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
// 申请退款撤回
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_WITHDRAW
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_WITHDRAW
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_WITHDRAW
)
))
public
void
consumerOrderRefundWithDraw
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_WITHDRAW ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_WITHDRAW
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_WITHDRAW
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_WITHDRAW
)
))
public
void
consumerOrderRefundWithDraw1
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_WITHDRAW ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_WITHDRAW
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_WITHDRAW
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_WITHDRAW
)
))
public
void
consumerOrderRefundWithDraw2
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_WITHDRAW ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_WITHDRAW
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_WITHDRAW
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_WITHDRAW
)
))
public
void
consumerOrderRefundWithDraw3
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_WITHDRAW ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_WITHDRAW
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_WITHDRAW
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_WITHDRAW
)
))
public
void
consumerOrderRefundWithDraw4
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_WITHDRAW ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
// 超时支付申请退款
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_OVERTIME_REFUND
),
key
=
MQConst
.
ROUTING_KEY_SQL_ORDER_OVERTIME_REFUND
,
value
=
@Queue
(
MQConst
.
QUEUES_SQL_ORDER_OVERTIME_REFUND
)
))
public
void
consumerOrderOvertimeRefund
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_OVERTIME_REFUND ==="
);
this
.
consumerSqlDaoHandler
(
msg
,
channel
);
}
}
liquidnet-bus-service/liquidnet-service-consumer-adam/src/main/resources/bootstrap-dev.yml
0 → 100644
View file @
dde82749
# 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-adam
liquidnet-bus-service/liquidnet-service-consumer-adam/src/main/resources/bootstrap-prod.yml
0 → 100644
View file @
dde82749
# begin-prod-这里是配置信息基本值
liquidnet
:
cloudConfig
:
profile
:
prod
security
:
username
:
user
password
:
user123
eureka
:
host
:
172.17.207.189:7001
# end-prod-这里是配置信息基本值
spring
:
profiles
:
include
:
service-consumer-adam
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-consumer-adam/src/main/resources/bootstrap-service-consumer-adam.yml
0 → 100644
View file @
dde82749
#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://39.106.122.201:7002/support-config
profile
:
${liquidnet.cloudConfig.profile}
name
:
${spring.application.name}
#默认为spring.application.name
discovery
:
enabled
:
true
service-id
:
liquidnet-support-config
liquidnet-bus-service/liquidnet-service-consumer-adam/src/main/resources/bootstrap-test.yml
0 → 100644
View file @
dde82749
# begin-test-这里是配置信息基本值
liquidnet
:
cloudConfig
:
profile
:
test
security
:
username
:
user
password
:
user123
eureka
:
host
:
172.17.207.177:7001
# end-test-这里是配置信息基本值
spring
:
profiles
:
include
:
service-consumer-adam
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-consumer-adam/src/main/resources/bootstrap.yml
0 → 100644
View file @
dde82749
spring
:
application
:
name
:
liquidnet-service-consumer-adam
profiles
:
active
:
dev
\ No newline at end of file
liquidnet-bus-service/pom.xml
View file @
dde82749
...
@@ -35,6 +35,7 @@
...
@@ -35,6 +35,7 @@
<module>
liquidnet-service-platform
</module>
<module>
liquidnet-service-platform
</module>
<module>
liquidnet-service-consumer
</module>
<module>
liquidnet-service-consumer
</module>
<module>
liquidnet-service-executor-all
</module>
<module>
liquidnet-service-executor-all
</module>
<module>
liquidnet-service-consumer-adam
</module>
<!-- <module>liquidnet-service-example</module>-->
<!-- <module>liquidnet-service-example</module>-->
<!-- <module>liquidnet-service-sequence</module>-->
<!-- <module>liquidnet-service-sequence</module>-->
<!-- <module>liquidnet-service-account</module>-->
<!-- <module>liquidnet-service-account</module>-->
...
...
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