记得上下班打卡 | 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
f36883d9
Commit
f36883d9
authored
Jun 24, 2021
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改 订单回调
parent
397e1aa9
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
591 additions
and
95 deletions
+591
-95
IDGenerator.java
...ain/java/com/liquidnet/commons/lang/util/IDGenerator.java
+1
-1
UserPathDto.java
...src/main/java/com/liquidnet/service/base/UserPathDto.java
+1
-2
KylinUtils.java
.../liquidnet/service/consumer/service/Utils/KylinUtils.java
+174
-0
ConsumerProcessor.java
...service/consumer/service/processor/ConsumerProcessor.java
+35
-22
KylinOrderListVo.java
...quidnet/service/consumer/service/vo/KylinOrderListVo.java
+30
-0
KylinOrderTicketEntitiesVo.java
...rvice/consumer/service/vo/KylinOrderTicketEntitiesVo.java
+57
-0
KylinOrderTicketVo.java
...idnet/service/consumer/service/vo/KylinOrderTicketVo.java
+69
-0
KylinPerformanceVo.java
...idnet/service/consumer/service/vo/KylinPerformanceVo.java
+50
-0
KylinTicketTimesVo.java
...idnet/service/consumer/service/vo/KylinTicketTimesVo.java
+19
-0
KylinTicketVo.java
.../liquidnet/service/consumer/service/vo/KylinTicketVo.java
+49
-0
KylinOrderTicketsServiceImpl.java
...vice/kylin/service/impl/KylinOrderTicketsServiceImpl.java
+106
-70
No files found.
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/IDGenerator.java
View file @
f36883d9
...
@@ -37,7 +37,7 @@ public class IDGenerator {
...
@@ -37,7 +37,7 @@ public class IDGenerator {
String
number
=
orderTicketId
;
String
number
=
orderTicketId
;
int
len
=
orderTicketId
.
length
();
int
len
=
orderTicketId
.
length
();
String
time
=
System
.
currentTimeMillis
()
/
1000
+
""
;
String
time
=
System
.
currentTimeMillis
()
/
1000
+
""
;
String
orderCode
=
"T"
+
number
.
substring
(
0
,
len
-
4
);
String
orderCode
=
number
.
substring
(
0
,
len
-
4
);
orderCode
+=
time
.
substring
(
7
,
8
);
orderCode
+=
time
.
substring
(
7
,
8
);
orderCode
+=
number
.
substring
(
len
-
2
);
orderCode
+=
number
.
substring
(
len
-
2
);
orderCode
+=
time
.
substring
(
8
,
9
);
orderCode
+=
time
.
substring
(
8
,
9
);
...
...
liquidnet-bus-common/liquidnet-common-service-base/src/main/java/com/liquidnet/service/base/UserPathDto.java
View file @
f36883d9
...
@@ -32,7 +32,7 @@ public class UserPathDto implements Serializable {
...
@@ -32,7 +32,7 @@ public class UserPathDto implements Serializable {
}
}
public
static
String
setData
(
String
interfaceName
,
Object
params
,
Object
result
)
{
public
static
String
setData
(
String
interfaceName
,
Object
params
,
Object
result
)
{
instance
.
tag
=
"
ANJIABIN
"
;
instance
.
tag
=
"
MDSKY.NOW.ELK
"
;
instance
.
uid
=
CurrentUtil
.
getCurrentUid
()
==
null
?
"UID"
:
CurrentUtil
.
getCurrentUid
();
instance
.
uid
=
CurrentUtil
.
getCurrentUid
()
==
null
?
"UID"
:
CurrentUtil
.
getCurrentUid
();
instance
.
token
=
CurrentUtil
.
getToken
()
==
null
?
"TOKEN"
:
CurrentUtil
.
getToken
();
instance
.
token
=
CurrentUtil
.
getToken
()
==
null
?
"TOKEN"
:
CurrentUtil
.
getToken
();
instance
.
time
=
DateUtil
.
Formatter
.
yyyyMMddHHmmssSSSUnTrim
.
format
(
LocalDateTime
.
now
());
instance
.
time
=
DateUtil
.
Formatter
.
yyyyMMddHHmmssSSSUnTrim
.
format
(
LocalDateTime
.
now
());
...
@@ -42,6 +42,5 @@ public class UserPathDto implements Serializable {
...
@@ -42,6 +42,5 @@ public class UserPathDto implements Serializable {
instance
.
ip
=
CurrentUtil
.
getCliIpAddr
();
instance
.
ip
=
CurrentUtil
.
getCliIpAddr
();
instance
.
userAgent
=
ServletUtils
.
getRequest
().
getHeader
(
"User-Agent"
);
instance
.
userAgent
=
ServletUtils
.
getRequest
().
getHeader
(
"User-Agent"
);
return
JsonUtils
.
toJson
(
instance
);
return
JsonUtils
.
toJson
(
instance
);
}
}
}
}
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/consumer/service/Utils/KylinUtils.java
0 → 100644
View file @
f36883d9
package
com
.
liquidnet
.
service
.
consumer
.
service
.
Utils
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.service.consumer.service.vo.*
;
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
;
public
static
final
String
USERID_BUY_INFO
=
"kylin:buy:userId:"
;
public
static
final
String
IDCARD_BUY_INFO
=
"kylin:buy:idCard:"
;
public
static
final
String
PERFORMANCE_ID
=
"performanceId"
;
public
static
final
String
TICKET_ID
=
"ticketId"
;
public
static
final
String
USE_TIME
=
"useTime"
;
public
static
final
String
PERFORMANCES
=
"kylin:performances:id:"
;
/**
* @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
(
"kylin:order:id:"
+
orderId
);
}
else
{
data
=
dataSingle
;
}
BeanUtils
.
copyProperties
(
data
,
voItem
);
List
<
KylinOrderListVo
>
redisData
=
(
List
<
KylinOrderListVo
>)
redisUtil
.
get
(
"kylin:order:list:userId:"
+
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
(
"kylin:order:list:userId:"
+
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
(
"kylin:order:list:userId:"
+
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
(
PERFORMANCES
+
performanceId
);
int
isTrueName
=
vo
.
getIsTrueName
();
int
ticketType
=
0
;
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
();
ticketType
=
ticketItem
.
getType
();
}
}
allTicketId
.
put
(
timeItem
.
getUseStart
(),
ticketList
);
}
if
(
0
==
isTrueName
)
{
redisKey
=
USERID_BUY_INFO
+
userId
;
}
else
{
redisKey
=
IDCARD_BUY_INFO
+
idCard
;
}
String
performanceIdKey
=
redisKey
+
":"
+
PERFORMANCE_ID
+
":"
+
performanceId
;
String
ticketIdKey
=
redisKey
+
":"
+
TICKET_ID
+
":"
+
ticketId
;
String
ticketUseTimeKey
=
ticketIdKey
+
":"
+
USE_TIME
;
redisUtil
.
set
(
ticketUseTimeKey
,
useTime
);
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
+
":"
+
TICKET_ID
+
":"
+
item
))
{
redisUtil
.
set
(
redisKey
+
":"
+
TICKET_ID
+
":"
+
item
,
0
);
}
if
(
i
==
0
)
{
count
=
(
int
)
redisUtil
.
get
(
redisKey
+
":"
+
TICKET_ID
+
":"
+
item
);
}
else
{
if
(
count
!=
(
int
)
redisUtil
.
get
(
redisKey
+
":"
+
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
+
":"
+
TICKET_ID
+
":"
+
item
))
{
redisUtil
.
set
(
redisKey
+
":"
+
TICKET_ID
+
":"
+
item
,
0
);
}
if
(
i
==
0
)
{
count
=
(
int
)
redisUtil
.
get
(
redisKey
+
":"
+
TICKET_ID
+
":"
+
item
);
}
else
{
if
(
count
!=
(
int
)
redisUtil
.
get
(
redisKey
+
":"
+
TICKET_ID
+
":"
+
item
))
{
redisUtil
.
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
break
;
}
}
}
}
else
{
redisUtil
.
decr
(
performanceIdKey
,
Math
.
abs
(
buyCount
));
}
}
}
}
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/consumer/service/processor/ConsumerProcessor.java
View file @
f36883d9
...
@@ -5,6 +5,9 @@ import com.liquidnet.common.mq.constant.MQConst;
...
@@ -5,6 +5,9 @@ import com.liquidnet.common.mq.constant.MQConst;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.consumer.service.IBaseDao
;
import
com.liquidnet.service.consumer.service.IBaseDao
;
import
com.liquidnet.service.consumer.service.Utils.KylinUtils
;
import
com.liquidnet.service.consumer.service.vo.KylinOrderTicketEntitiesVo
;
import
com.liquidnet.service.consumer.service.vo.KylinOrderTicketVo
;
import
com.rabbitmq.client.Channel
;
import
com.rabbitmq.client.Channel
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.rabbit.annotation.Exchange
;
import
org.springframework.amqp.rabbit.annotation.Exchange
;
...
@@ -17,7 +20,9 @@ import org.springframework.amqp.core.Message;
...
@@ -17,7 +20,9 @@ import org.springframework.amqp.core.Message;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.lang.reflect.Array
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.LinkedList
;
import
java.util.LinkedList
;
/**
/**
...
@@ -33,6 +38,8 @@ public class ConsumerProcessor {
...
@@ -33,6 +38,8 @@ public class ConsumerProcessor {
IBaseDao
baseDao
;
IBaseDao
baseDao
;
@Autowired
@Autowired
private
RedisUtil
redisUtil
;
private
RedisUtil
redisUtil
;
@Autowired
private
KylinUtils
kylinUtils
;
// @RabbitListener(bindings = @QueueBinding(
// @RabbitListener(bindings = @QueueBinding(
// exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL), key = MQConst.ROUTING_KEY_SQL,
// exchange = @Exchange(MQConst.EXCHANGES_LIQUIDNET_SQL), key = MQConst.ROUTING_KEY_SQL,
...
@@ -80,19 +87,25 @@ public class ConsumerProcessor {
...
@@ -80,19 +87,25 @@ public class ConsumerProcessor {
}
}
// 处理长sql语句
// 处理长sql语句
private
void
consumerSqlDaoHandlerLongSql
(
Message
msg
,
Channel
channel
)
{
private
void
consumerOperationOrderClose
(
Message
msg
,
Channel
channel
)
{
String
redisKey
=
new
String
(
msg
.
getBody
()).
replaceAll
(
"\""
,
""
);
ArrayList
<
String
>
mqMessage
=
JsonUtils
.
fromJson
(
new
String
(
msg
.
getBody
()),
ArrayList
.
class
);
log
.
debug
(
"consumer ==> mqMessage:{}"
,
mqMessage
);
log
.
debug
(
"consumer ==> redisKey:{}"
,
redisKey
);
try
{
try
{
LinkedList
<
String
>
sqlList
=
(
LinkedList
<
String
>)
redisUtil
.
get
(
redisKey
);
mqMessage
.
forEach
(
t
->
{
Boolean
rstBatchSqls
=
baseDao
.
batchSqlNoArgs
(
sqlList
);
String
orderTicketId
=
t
.
split
(
","
)[
0
];
log
.
debug
(
"consumer sql result of execution:{}"
,
rstBatchSqls
);
String
uid
=
t
.
split
(
","
)[
1
];
if
(
rstBatchSqls
)
{
KylinOrderTicketVo
vo
=
(
KylinOrderTicketVo
)
redisUtil
.
get
(
"kylin:order:id:"
+
orderTicketId
);
channel
.
basicAck
(
msg
.
getMessageProperties
().
getDeliveryTag
(),
false
);
vo
.
setStatus
(
2
);
}
else
{
redisUtil
.
set
(
"kylin:order:id:"
+
orderTicketId
,
vo
);
channel
.
basicReject
(
msg
.
getMessageProperties
().
getDeliveryTag
(),
true
);
}
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
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
log
.
error
(
"error:consumer sql:Channel.msg.tag:{}"
,
msg
.
getMessageProperties
().
getDeliveryTag
(),
e
);
log
.
error
(
"error:consumer sql:Channel.msg.tag:{}"
,
msg
.
getMessageProperties
().
getDeliveryTag
(),
e
);
}
}
...
@@ -242,7 +255,7 @@ public class ConsumerProcessor {
...
@@ -242,7 +255,7 @@ public class ConsumerProcessor {
))
))
public
void
consumerOrderClose
(
Message
msg
,
Channel
channel
)
{
public
void
consumerOrderClose
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumer
SqlDaoHandlerLongSql
(
msg
,
channel
);
this
.
consumer
OperationOrderClose
(
msg
,
channel
);
}
}
@RabbitListener
(
bindings
=
@QueueBinding
(
@RabbitListener
(
bindings
=
@QueueBinding
(
...
@@ -251,7 +264,7 @@ public class ConsumerProcessor {
...
@@ -251,7 +264,7 @@ public class ConsumerProcessor {
))
))
public
void
consumerOrderClose1
(
Message
msg
,
Channel
channel
)
{
public
void
consumerOrderClose1
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumer
SqlDaoHandlerLongSql
(
msg
,
channel
);
this
.
consumer
OperationOrderClose
(
msg
,
channel
);
}
}
@RabbitListener
(
bindings
=
@QueueBinding
(
@RabbitListener
(
bindings
=
@QueueBinding
(
...
@@ -260,7 +273,7 @@ public class ConsumerProcessor {
...
@@ -260,7 +273,7 @@ public class ConsumerProcessor {
))
))
public
void
consumerOrderClose2
(
Message
msg
,
Channel
channel
)
{
public
void
consumerOrderClose2
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumer
SqlDaoHandlerLongSql
(
msg
,
channel
);
this
.
consumer
OperationOrderClose
(
msg
,
channel
);
}
}
@RabbitListener
(
bindings
=
@QueueBinding
(
@RabbitListener
(
bindings
=
@QueueBinding
(
...
@@ -269,7 +282,7 @@ public class ConsumerProcessor {
...
@@ -269,7 +282,7 @@ public class ConsumerProcessor {
))
))
public
void
consumerOrderClose3
(
Message
msg
,
Channel
channel
)
{
public
void
consumerOrderClose3
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumer
SqlDaoHandlerLongSql
(
msg
,
channel
);
this
.
consumer
OperationOrderClose
(
msg
,
channel
);
}
}
@RabbitListener
(
bindings
=
@QueueBinding
(
@RabbitListener
(
bindings
=
@QueueBinding
(
...
@@ -278,7 +291,7 @@ public class ConsumerProcessor {
...
@@ -278,7 +291,7 @@ public class ConsumerProcessor {
))
))
public
void
consumerOrderClose4
(
Message
msg
,
Channel
channel
)
{
public
void
consumerOrderClose4
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumer
SqlDaoHandlerLongSql
(
msg
,
channel
);
this
.
consumer
OperationOrderClose
(
msg
,
channel
);
}
}
@RabbitListener
(
bindings
=
@QueueBinding
(
@RabbitListener
(
bindings
=
@QueueBinding
(
...
@@ -287,7 +300,7 @@ public class ConsumerProcessor {
...
@@ -287,7 +300,7 @@ public class ConsumerProcessor {
))
))
public
void
consumerOrderClose5
(
Message
msg
,
Channel
channel
)
{
public
void
consumerOrderClose5
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumer
SqlDaoHandlerLongSql
(
msg
,
channel
);
this
.
consumer
OperationOrderClose
(
msg
,
channel
);
}
}
@RabbitListener
(
bindings
=
@QueueBinding
(
@RabbitListener
(
bindings
=
@QueueBinding
(
...
@@ -296,7 +309,7 @@ public class ConsumerProcessor {
...
@@ -296,7 +309,7 @@ public class ConsumerProcessor {
))
))
public
void
consumerOrderClose6
(
Message
msg
,
Channel
channel
)
{
public
void
consumerOrderClose6
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumer
SqlDaoHandlerLongSql
(
msg
,
channel
);
this
.
consumer
OperationOrderClose
(
msg
,
channel
);
}
}
@RabbitListener
(
bindings
=
@QueueBinding
(
@RabbitListener
(
bindings
=
@QueueBinding
(
...
@@ -305,7 +318,7 @@ public class ConsumerProcessor {
...
@@ -305,7 +318,7 @@ public class ConsumerProcessor {
))
))
public
void
consumerOrderClose7
(
Message
msg
,
Channel
channel
)
{
public
void
consumerOrderClose7
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumer
SqlDaoHandlerLongSql
(
msg
,
channel
);
this
.
consumer
OperationOrderClose
(
msg
,
channel
);
}
}
@RabbitListener
(
bindings
=
@QueueBinding
(
@RabbitListener
(
bindings
=
@QueueBinding
(
...
@@ -314,7 +327,7 @@ public class ConsumerProcessor {
...
@@ -314,7 +327,7 @@ public class ConsumerProcessor {
))
))
public
void
consumerOrderClose8
(
Message
msg
,
Channel
channel
)
{
public
void
consumerOrderClose8
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumer
SqlDaoHandlerLongSql
(
msg
,
channel
);
this
.
consumer
OperationOrderClose
(
msg
,
channel
);
}
}
@RabbitListener
(
bindings
=
@QueueBinding
(
@RabbitListener
(
bindings
=
@QueueBinding
(
...
@@ -323,7 +336,7 @@ public class ConsumerProcessor {
...
@@ -323,7 +336,7 @@ public class ConsumerProcessor {
))
))
public
void
consumerOrderClose9
(
Message
msg
,
Channel
channel
)
{
public
void
consumerOrderClose9
(
Message
msg
,
Channel
channel
)
{
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
log
.
info
(
"=== CONSUMER_ORDER_CLOSE ==="
);
this
.
consumer
SqlDaoHandlerLongSql
(
msg
,
channel
);
this
.
consumer
OperationOrderClose
(
msg
,
channel
);
}
}
...
...
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/consumer/service/vo/KylinOrderListVo.java
0 → 100644
View file @
f36883d9
package
com
.
liquidnet
.
service
.
consumer
.
service
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
@Data
public
class
KylinOrderListVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
6554829077875538374L
;
private
String
orderTicketsId
;
private
String
performanceId
;
private
String
ticketId
;
private
String
performanceTitle
;
private
String
performanceImg
;
private
String
orderCode
;
private
String
timeStart
;
private
String
ticketTitle
;
private
String
useStart
;
private
String
overdueAt
;
private
Long
restTime
;
private
BigDecimal
priceActual
;
private
Integer
number
;
private
Integer
status
;
private
String
express_number
;
private
String
express_company
;
private
Integer
kuaidi_status
;
private
String
getTicketType
;
private
String
createdAt
;
}
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/consumer/service/vo/KylinOrderTicketEntitiesVo.java
0 → 100644
View file @
f36883d9
package
com
.
liquidnet
.
service
.
consumer
.
service
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
@Data
public
class
KylinOrderTicketEntitiesVo
implements
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
1207664465164005975L
;
private
Integer
mid
;
private
String
orderTicketEntitiesId
;
private
String
orderId
;
private
String
ticketId
;
private
String
userId
;
private
String
performanceId
;
private
String
timeId
;
private
Integer
enterType
;
private
String
enterName
;
private
String
enterMobile
;
private
String
enterIdCode
;
private
Integer
status
;
private
Integer
sysDamai
;
private
String
checkClient
;
private
Integer
isPayment
;
private
String
performanceTitle
;
private
String
ticketTitle
;
private
String
useStart
;
private
String
useEnd
;
private
String
createdAt
;
private
String
updatedAt
;
private
Integer
ticketsmId
;
private
Integer
timemId
;
private
BigDecimal
refundPrice
;
private
String
checkType
;
private
String
checkedAt
;
private
String
checkUserId
;
private
LocalDateTime
changeDate
;
private
static
final
KylinOrderTicketEntitiesVo
obj
=
new
KylinOrderTicketEntitiesVo
();
public
static
KylinOrderTicketEntitiesVo
getNew
()
{
try
{
return
(
KylinOrderTicketEntitiesVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
return
new
KylinOrderTicketEntitiesVo
();
}
}
}
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/consumer/service/vo/KylinOrderTicketVo.java
0 → 100644
View file @
f36883d9
package
com
.
liquidnet
.
service
.
consumer
.
service
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.List
;
@Data
public
class
KylinOrderTicketVo
implements
Serializable
{
private
Integer
mid
;
private
static
final
long
serialVersionUID
=
5325511589667456213L
;
private
String
orderTicketsId
;
private
String
userId
;
private
String
userName
;
private
String
userMobile
;
private
String
performanceTitle
;
private
String
ticketTitle
;
private
String
timeStart
;
private
String
useStart
;
private
String
performanceImg
;
private
String
orderCode
;
private
String
payCode
;
private
String
qrCode
;
private
String
orderType
;
private
String
orderVersion
;
private
Integer
number
;
private
BigDecimal
price
;
private
BigDecimal
priceMember
;
private
BigDecimal
priceTotal
;
private
BigDecimal
priceVoucher
;
private
BigDecimal
priceActual
;
private
BigDecimal
priceExpress
;
private
BigDecimal
priceRefund
;
private
Integer
refundNumber
;
private
String
payType
;
private
String
paymentType
;
private
String
timePay
;
private
String
expressContacts
;
private
String
expressAddress
;
private
String
expressPhone
;
private
String
couponType
;
private
String
getTicketType
;
private
String
getTicketDescribe
;
private
Integer
payCountdownMinute
;
private
Integer
expressType
;
private
Integer
isStudent
;
private
Integer
transferStatus
;
private
Integer
status
;
private
Integer
payStatus
;
private
String
transferId
;
private
String
liveId
;
private
String
performanceId
;
private
String
timeId
;
private
String
ticketId
;
private
String
agentId
;
private
Integer
isMember
;
private
String
overdueAt
;
private
String
createdAt
;
private
String
updatedAt
;
private
LocalDateTime
changeDate
;
private
Integer
isTrueName
;
private
String
noticeImage
;
private
String
notice
;
private
Integer
ticketType
;
private
String
fieldName
;
private
List
<
KylinOrderTicketEntitiesVo
>
entitiesVoList
;
}
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/consumer/service/vo/KylinPerformanceVo.java
0 → 100644
View file @
f36883d9
package
com
.
liquidnet
.
service
.
consumer
.
service
.
vo
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
KylinPerformanceVo
{
private
Integer
mid
;
private
String
performancesId
;
private
String
title
;
private
String
imgPoster
;
private
Integer
payCountdownMinute
;
private
String
approvalUrl
;
private
int
type
;
private
String
timeStart
;
private
String
timeEnd
;
private
String
stopSellTime
;
private
String
price
;
private
String
sellTime
;
private
String
sellMemberTime
;
private
Integer
cityId
;
private
String
cityName
;
private
String
fieldId
;
private
String
fieldName
;
private
String
longitude
;
private
String
latitude
;
private
String
diffDistance
;
private
String
projectId
;
private
String
roadShowId
;
private
String
details
;
private
String
noticeImage
;
private
Integer
isRecommend
;
private
Integer
appStatus
;
private
Integer
statusSell
;
private
Integer
isMember
;
private
Integer
isLackRegister
;
private
Integer
isTrueName
;
private
Integer
limitCount
;
private
Integer
limitCountMember
;
private
Integer
isExclusive
;
private
Integer
isDiscount
;
private
Integer
isAdvance
;
private
Integer
sysDamai
;
private
String
message
;
private
String
notice
;
private
Integer
isShow
;
private
List
<
KylinTicketTimesVo
>
ticketTimeList
;
}
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/consumer/service/vo/KylinTicketTimesVo.java
0 → 100644
View file @
f36883d9
package
com
.
liquidnet
.
service
.
consumer
.
service
.
vo
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
KylinTicketTimesVo
{
private
Integer
mid
;
private
String
ticketTimesId
;
private
String
title
;
private
Integer
type
;
private
String
performanceId
;
private
String
timeId
;
private
String
useStart
;
private
String
useEnd
;
private
List
<
KylinTicketVo
>
ticketList
;
}
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/consumer/service/vo/KylinTicketVo.java
0 → 100644
View file @
f36883d9
package
com
.
liquidnet
.
service
.
consumer
.
service
.
vo
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
KylinTicketVo
{
private
Integer
mid
;
private
String
ticketsId
;
private
String
timeId
;
private
String
title
;
private
Integer
type
;
private
BigDecimal
price
;
private
BigDecimal
priceExpress
;
private
BigDecimal
memberPrice
;
private
BigDecimal
discountPrice
;
private
String
describes
;
private
String
describeExpress
;
private
String
describeElectronic
;
private
String
timeStart
;
private
String
timeEnd
;
private
String
memberTimeStart
;
private
String
timeEndExpress
;
private
String
useStart
;
private
String
useEnd
;
private
Integer
saleRemindMinute
;
private
Integer
isStudent
;
private
Integer
isElectronic
;
private
Integer
isExpress
;
private
Integer
sysDamai
;
private
Integer
counts
;
private
Integer
status
;
private
Integer
statusExchange
;
private
Integer
isLackRegister
;
private
Integer
expressType
;
private
Integer
isTrueName
;
private
Integer
limitCount
;
private
Integer
limitCountMember
;
private
Integer
isExclusive
;
private
Integer
isMember
;
private
Integer
isMemberStatus
;
private
Integer
isAgent
;
private
Integer
isShowCode
;
private
String
qrCodeShowTime
;
private
Integer
advanceMinuteMember
;
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinOrderTicketsServiceImpl.java
View file @
f36883d9
package
com
.
liquidnet
.
service
.
kylin
.
service
.
impl
;
package
com
.
liquidnet
.
service
.
kylin
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.github.pagehelper.PageInfo
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redisson.util.RedisLockUtil
;
import
com.liquidnet.common.cache.redisson.util.RedisLockUtil
;
...
@@ -26,6 +27,8 @@ import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
...
@@ -26,6 +27,8 @@ import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import
com.liquidnet.service.kylin.dto.vo.returns.OrderDetailsVo
;
import
com.liquidnet.service.kylin.dto.vo.returns.OrderDetailsVo
;
import
com.liquidnet.service.kylin.dto.vo.returns.PayResultVo
;
import
com.liquidnet.service.kylin.dto.vo.returns.PayResultVo
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.mapper.KylinOrderTicketRelationsMapper
;
import
com.liquidnet.service.kylin.mapper.KylinOrderTicketStatusMapper
;
import
com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper
;
import
com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper
;
import
com.liquidnet.service.kylin.service.IKylinOrderTicketsService
;
import
com.liquidnet.service.kylin.service.IKylinOrderTicketsService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
...
@@ -102,8 +105,13 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -102,8 +105,13 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
@Autowired
@Autowired
private
KylinOrderTicketsMapper
orderTicketsMapper
;
private
KylinOrderTicketsMapper
orderTicketsMapper
;
@Autowired
@Autowired
private
KylinOrderTicketStatusMapper
orderTicketStatusMapper
;
@Autowired
private
KylinOrderTicketRelationsMapper
orderTicketRelationsMapper
;
@Autowired
private
OrderRefundsCallbackServiceImpl
orderRefundsCallbackService
;
private
OrderRefundsCallbackServiceImpl
orderRefundsCallbackService
;
ArrayList
<
Integer
>
canBuyStatus
=
new
ArrayList
()
{{
ArrayList
<
Integer
>
canBuyStatus
=
new
ArrayList
()
{{
add
(
6
);
add
(
6
);
add
(
8
);
add
(
8
);
...
@@ -621,7 +629,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -621,7 +629,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
sqlData
);
sqlData
);
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"MQ 发送 -> time:"
+
(
currentTime
)
+
"毫秒"
);
log
.
debug
(
"MQ 发送 -> time:"
+
(
currentTime
)
+
"毫秒"
);
log
.
info
(
UserPathDto
.
setData
(
"下单(唤起支付)"
,
payOrderParam
,
payResultVo
));
log
.
info
(
UserPathDto
.
setData
(
"下单(唤起支付)"
,
payOrderParam
,
payResultVo
));
return
ResponseDto
.
success
(
payResultVo
);
return
ResponseDto
.
success
(
payResultVo
);
}
}
...
@@ -629,7 +637,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -629,7 +637,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
public
ResponseDto
<
PayResultVo
>
payAgain
(
PayAgainParam
payAgainParam
)
{
public
ResponseDto
<
PayResultVo
>
payAgain
(
PayAgainParam
payAgainParam
)
{
try
{
try
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
checkOrderTime
(
uid
);
//
checkOrderTime(uid);
//检查订单时间 是否关闭
//检查订单时间 是否关闭
KylinOrderTicketVo
orderTicketData
=
dataUtils
.
getOrderTicketVo
(
payAgainParam
.
getOrderId
());
KylinOrderTicketVo
orderTicketData
=
dataUtils
.
getOrderTicketVo
(
payAgainParam
.
getOrderId
());
if
(!
orderTicketData
.
getUserId
().
equals
(
uid
))
{
if
(!
orderTicketData
.
getUserId
().
equals
(
uid
))
{
...
@@ -723,7 +731,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -723,7 +731,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
String
sqlData
=
SqlMapping
.
gets
(
sqls
,
sqlsDataA
,
sqlsDataB
,
sqlsDataC
);
String
sqlData
=
SqlMapping
.
gets
(
sqls
,
sqlsDataA
,
sqlsDataB
,
sqlsDataC
);
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_AGAIN
,
MQConst
.
ROUTING_KEY_SQL_ORDER_AGAIN
,
sqlData
);
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_AGAIN
,
MQConst
.
ROUTING_KEY_SQL_ORDER_AGAIN
,
sqlData
);
log
.
info
(
UserPathDto
.
setData
(
"再次支付"
,
payAgainParam
,
payResultVo
));
log
.
info
(
UserPathDto
.
setData
(
"再次支付"
,
payAgainParam
,
payResultVo
));
return
ResponseDto
.
success
(
payResultVo
);
return
ResponseDto
.
success
(
payResultVo
);
}
}
return
ResponseDto
.
failure
(
"未选择支付方式"
);
return
ResponseDto
.
failure
(
"未选择支付方式"
);
...
@@ -879,7 +887,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -879,7 +887,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
sycDamaiOrder
(
orderTickets
.
getOrderTicketsId
());
sycDamaiOrder
(
orderTickets
.
getOrderTicketsId
());
}
}
redisLockUtil
.
unlock
(
lock
);
redisLockUtil
.
unlock
(
lock
);
log
.
info
(
UserPathDto
.
setData
(
"订单支付成功回调"
,
syncOrderParam
,
""
));
log
.
info
(
UserPathDto
.
setData
(
"订单支付成功回调"
,
syncOrderParam
,
""
));
return
"success"
;
return
"success"
;
}
}
...
@@ -888,7 +896,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -888,7 +896,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
//TODO 缺快递
//TODO 缺快递
PageInfo
<
List
<
KylinOrderListVo
>>
mPageInfo
=
null
;
PageInfo
<
List
<
KylinOrderListVo
>>
mPageInfo
=
null
;
String
uid
=
CurrentUtil
.
getCurrentUid
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
checkOrderTime
(
uid
);
//
checkOrderTime(uid);
try
{
try
{
List
<
KylinOrderListVo
>
voList
=
dataUtils
.
getOrderList
(
uid
);
List
<
KylinOrderListVo
>
voList
=
dataUtils
.
getOrderList
(
uid
);
for
(
int
i
=
0
;
i
<
voList
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
voList
.
size
();
i
++)
{
...
@@ -921,7 +929,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -921,7 +929,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
mPageInfo
=
new
PageInfo
(
voList
);
mPageInfo
=
new
PageInfo
(
voList
);
mPageInfo
.
setTotal
(
voList
.
size
());
mPageInfo
.
setTotal
(
voList
.
size
());
log
.
info
(
UserPathDto
.
setData
(
"订单列表"
,
""
,
voList
));
log
.
info
(
UserPathDto
.
setData
(
"订单列表"
,
""
,
voList
));
return
mPageInfo
;
return
mPageInfo
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
...
@@ -934,11 +942,11 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -934,11 +942,11 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
OrderDetailsVo
vo
=
new
OrderDetailsVo
();
OrderDetailsVo
vo
=
new
OrderDetailsVo
();
try
{
try
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
checkOrderTime
(
uid
);
//
checkOrderTime(uid);
KylinOrderTicketVo
orderTicketVo
=
dataUtils
.
getOrderTicketVo
(
orderId
);
KylinOrderTicketVo
orderTicketVo
=
dataUtils
.
getOrderTicketVo
(
orderId
);
if
(!
orderTicketVo
.
getUserId
().
equals
(
uid
))
{
if
(!
orderTicketVo
.
getUserId
().
equals
(
uid
))
{
log
.
error
(
"ORDER_TICKET_USER_ID : {}"
,
orderTicketVo
.
getUserId
());
log
.
error
(
"ORDER_TICKET_USER_ID : {}"
,
orderTicketVo
.
getUserId
());
log
.
error
(
"TOKEN UID : {}"
,
uid
);
log
.
error
(
"TOKEN UID : {}"
,
uid
);
return
null
;
return
null
;
}
}
if
(
null
!=
orderTicketVo
)
{
if
(
null
!=
orderTicketVo
)
{
...
@@ -970,7 +978,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -970,7 +978,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
Date
date
=
DateUtil
.
parse
(
ticketVo
.
getQrCodeShowTime
(),
DateUtil
.
Formatter
.
yyyyMMddHHmm
.
toString
());
Date
date
=
DateUtil
.
parse
(
ticketVo
.
getQrCodeShowTime
(),
DateUtil
.
Formatter
.
yyyyMMddHHmm
.
toString
());
if
(
DateUtil
.
compareDay
(
date
,
DateUtil
.
now
())
<=
0
)
{
if
(
DateUtil
.
compareDay
(
date
,
DateUtil
.
now
())
<=
0
)
{
orderTicketVo
.
setQrCode
(
""
);
orderTicketVo
.
setQrCode
(
""
);
}
else
{
}
else
{
orderTicketVo
.
setQrCode
(
orderTicketVo
.
getQrCode
());
orderTicketVo
.
setQrCode
(
orderTicketVo
.
getQrCode
());
}
}
}
else
{
}
else
{
...
@@ -1009,7 +1017,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -1009,7 +1017,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
vo
.
setOrderTicketVo
(
orderTicketVo
);
vo
.
setOrderTicketVo
(
orderTicketVo
);
vo
.
setEnterDescribe
(
dataUtils
.
getEnterInfo
(
"1"
));
vo
.
setEnterDescribe
(
dataUtils
.
getEnterInfo
(
"1"
));
}
}
log
.
info
(
UserPathDto
.
setData
(
"订单列表"
,
orderId
,
vo
));
log
.
info
(
UserPathDto
.
setData
(
"订单列表"
,
orderId
,
vo
));
return
vo
;
return
vo
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
return
vo
;
return
vo
;
...
@@ -1020,62 +1028,74 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -1020,62 +1028,74 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
public
boolean
checkOrderTime
(
String
userId
)
{
public
boolean
checkOrderTime
(
String
userId
)
{
String
lock
=
"order_lock:checkOrderTime:"
+
userId
;
String
lock
=
"order_lock:checkOrderTime:"
+
userId
;
if
(
redisLockUtil
.
tryLock
(
lock
,
1
,
3600
))
{
if
(
redisLockUtil
.
tryLock
(
lock
,
1
,
3600
))
{
try
{
List
<
OrderScriptDto
>
dtoData
=
orderTicketsMapper
.
orderScriptDto
(
userId
);
List
<
OrderScriptDto
>
dtoData
=
orderTicketsMapper
.
orderScriptDto
(
userId
);
LocalDateTime
now
=
LocalDateTime
.
now
();
LocalDateTime
now
=
LocalDateTime
.
now
();
Long
currentTime
=
System
.
currentTimeMillis
();
Long
currentTime
=
System
.
currentTimeMillis
();
HashMap
<
String
,
Integer
>
mapSurplusGeneral
=
new
HashMap
<>();
HashMap
<
String
,
Integer
>
mapSurplusGeneral
=
new
HashMap
<>();
ArrayList
<
String
>
orderDataList
=
new
ArrayList
<>();
ArrayList
<
String
>
orderDataList
=
new
ArrayList
<>();
ArrayList
<
String
>
orderIdList
=
new
ArrayList
<>();
ArrayList
<
String
>
orderIdList
=
new
ArrayList
<>();
HashMap
<
String
,
Object
>
mapMongo
=
new
HashMap
<>();
HashMap
<
String
,
Object
>
mapMongo
=
new
HashMap
<>();
for
(
OrderScriptDto
item
:
dtoData
)
{
for
(
OrderScriptDto
item
:
dtoData
)
{
if
(
item
.
getStatus
().
equals
(
KylinTableStatusConst
.
ORDER_STATUS0
))
{
if
(
item
.
getStatus
().
equals
(
KylinTableStatusConst
.
ORDER_STATUS0
))
{
try
{
try
{
//vo
//vo
mapMongo
.
put
(
"status"
,
KylinTableStatusConst
.
ORDER_STATUS2
);
mapMongo
.
put
(
"status"
,
KylinTableStatusConst
.
ORDER_STATUS2
);
mapMongo
.
put
(
"updatedAt"
,
DateUtil
.
Formatter
.
yyyyMMddHHmmssSSS
.
format
(
now
));
mapMongo
.
put
(
"updatedAt"
,
DateUtil
.
Formatter
.
yyyyMMddHHmmssSSS
.
format
(
now
));
mapMongo
.
put
(
"changeDate"
,
now
);
mapMongo
.
put
(
"changeDate"
,
now
);
orderDataList
.
add
(
item
.
getOrderTicketsId
()
+
","
+
item
.
getUserId
());
orderDataList
.
add
(
item
.
getOrderTicketsId
()
+
","
+
item
.
getUserId
());
orderIdList
.
add
(
item
.
getOrderTicketsId
());
orderIdList
.
add
(
item
.
getOrderTicketsId
());
mapSurplusGeneral
.
put
(
item
.
getTicketId
(),
mapSurplusGeneral
.
get
(
item
.
getTicketId
())
==
null
?
item
.
getNumber
()
:
mapSurplusGeneral
.
get
(
item
.
getTicketId
())
+
item
.
getNumber
());
mapSurplusGeneral
.
put
(
item
.
getTicketId
(),
mapSurplusGeneral
.
get
(
item
.
getTicketId
())
==
null
?
item
.
getNumber
()
:
mapSurplusGeneral
.
get
(
item
.
getTicketId
())
+
item
.
getNumber
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
debug
(
"CHECK TIME SYNC = "
+
e
.
getMessage
());
log
.
debug
(
"CHECK TIME SYNC = "
+
e
.
getMessage
());
e
.
printStackTrace
();
e
.
printStackTrace
();
return
false
;
return
false
;
}
}
else
{
}
}
}
else
{
}
}
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
}
log
.
debug
(
"FOR 循环 -> time:"
+
(
currentTime
)
+
"毫秒"
);
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
if
(
orderDataList
.
size
()
>
0
)
{
log
.
debug
(
"FOR 循环 -> time:"
+
(
currentTime
)
+
"毫秒"
);
//库存
for
(
Map
.
Entry
<
String
,
Integer
>
entry
:
mapSurplusGeneral
.
entrySet
())
{
if
(
orderDataList
.
size
()
>
0
)
{
dataUtils
.
changeSurplusGeneral
(
entry
.
getKey
(),
entry
.
getValue
());
//mysql
}
String
orderStr
=
""
;
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
for
(
int
i
=
0
;
i
<
orderIdList
.
size
();
i
++)
{
log
.
debug
(
"redis 库存 -> time:"
+
(
currentTime
)
+
"毫秒"
);
String
orderTicketId
=
orderIdList
.
get
(
i
);
orderStr
+=
"'"
+
orderTicketId
+
"',"
;
//mysql
}
String
orderStr
=
""
;
orderStr
=
orderStr
.
substring
(
0
,
orderStr
.
length
()
-
1
);
for
(
int
i
=
0
;
i
<
orderIdList
.
size
();
i
++)
{
String
orderTicketId
=
orderIdList
.
get
(
i
);
orderStr
+=
"'"
+
orderTicketId
+
"',"
;
}
orderStr
=
orderStr
.
substring
(
0
,
orderStr
.
length
()
-
1
);
KylinOrderTickets
orderTickets
=
new
KylinOrderTickets
();
LinkedList
<
String
>
sqls
=
new
LinkedList
();
orderTickets
.
setUpdatedAt
(
now
);
sqls
.
add
(
"UPDATE kylin_order_tickets SET updated_at = '"
+
now
+
"' WHERE order_tickets_id in ("
+
orderStr
+
") "
);
orderTicketsMapper
.
update
(
orderTickets
,
new
UpdateWrapper
<
KylinOrderTickets
>().
in
(
"order_tickets_id"
,
orderStr
));
sqls
.
add
(
"UPDATE kylin_order_ticket_status SET `status` = 2,updated_at = '"
+
now
+
"' WHERE order_id in ("
+
orderStr
+
") "
);
KylinOrderTicketStatus
orderTicketStatus
=
new
KylinOrderTicketStatus
();
sqls
.
add
(
"UPDATE kylin_order_ticket_relations SET updated_at = '"
+
now
+
"' WHERE order_id in ("
+
orderStr
+
")"
);
orderTicketStatus
.
setStatus
(
2
);
String
redisKey
=
"kylin:ORDER_CLOSE:"
+
IDGenerator
.
nextMilliId
();
orderTicketStatus
.
setUpdatedAt
(
now
);
redisUtil
.
set
(
redisKey
,
sqls
);
orderTicketStatusMapper
.
update
(
orderTicketStatus
,
new
UpdateWrapper
<
KylinOrderTicketStatus
>().
in
(
"order_id"
,
orderStr
));
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE
,
MQConst
.
ROUTING_KEY_SQL_ORDER_CLOSE
,
redisKey
);
;
KylinOrderTicketRelations
orderTicketRelations
=
new
KylinOrderTicketRelations
();
orderTicketRelations
.
setUpdatedAt
(
now
);
orderTicketRelationsMapper
.
update
(
orderTicketRelations
,
new
UpdateWrapper
<
KylinOrderTicketRelations
>().
in
(
"order_id"
,
orderStr
));
;
// LinkedList<String> sqls = new LinkedList();
// sqls.add("UPDATE kylin_order_tickets SET updated_at = '" + now + "' WHERE order_tickets_id in (" + orderStr + ") ");
// sqls.add("UPDATE kylin_order_ticket_status SET `status` = 2,updated_at = '" + now + "' WHERE order_id in (" + orderStr + ") ");
// sqls.add("UPDATE kylin_order_ticket_relations SET updated_at = '" + now + "' WHERE order_id in (" + orderStr + ")");
// String redisKey = "kylin:ORDER_CLOSE:" + IDGenerator.nextMilliId();
// redisUtil.set(redisKey, sqls);
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE, MQConst.ROUTING_KEY_SQL_ORDER_CLOSE, redisKey);
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"mysql -> time:"
+
(
currentTime
)
+
"毫秒"
);
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
//库存
log
.
debug
(
"mysql -> time:"
+
(
currentTime
)
+
"毫秒"
);
for
(
Map
.
Entry
<
String
,
Integer
>
entry
:
mapSurplusGeneral
.
entrySet
())
{
dataUtils
.
changeSurplusGeneral
(
entry
.
getKey
(),
entry
.
getValue
());
}
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"redis 库存 -> time:"
+
(
currentTime
)
+
"毫秒"
);
try
{
//mongo
//mongo
mongoTemplate
.
getCollection
(
KylinOrderTicketVo
.
class
.
getSimpleName
()).
updateMany
(
mongoTemplate
.
getCollection
(
KylinOrderTicketVo
.
class
.
getSimpleName
()).
updateMany
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
in
(
orderIdList
)).
getQueryObject
(),
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
in
(
orderIdList
)).
getQueryObject
(),
...
@@ -1083,9 +1103,28 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -1083,9 +1103,28 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
);
);
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"mongo -> time:"
+
(
currentTime
)
+
"毫秒"
);
log
.
debug
(
"mongo -> time:"
+
(
currentTime
)
+
"毫秒"
);
}
catch
(
Exception
e
)
{
}
Thread
thread
=
new
Thread
(()
->
{
int
forSize
=
500
;
//redis 列表
int
forCount
=
orderDataList
.
size
()
%
forSize
==
0
?
orderDataList
.
size
()
%
forSize
:
(
orderDataList
.
size
()
%
forSize
)
+
1
;
for
(
int
i
=
0
;
i
<
forCount
;
i
++)
{
ArrayList
<
String
>
mqList
=
new
ArrayList
<>();
for
(
int
y
=
0
;
y
<
forSize
;
y
++)
{
try
{
String
t
=
orderDataList
.
get
(
i
*
500
+
y
);
mqList
.
add
(
t
);
}
catch
(
Exception
e
)
{
break
;
}
}
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE
,
MQConst
.
ROUTING_KEY_SQL_ORDER_CLOSE
,
JsonUtils
.
toJson
(
mqList
));
}
// 线程循环更改限购
// kylinThreadService.checkOrderTimeThread(orderDataList);
// Thread thread = new Thread(() -> {
// //redis 列表
orderDataList
.
forEach
(
t
->
{
orderDataList
.
forEach
(
t
->
{
String
orderTicketId
=
t
.
split
(
","
)[
0
];
String
orderTicketId
=
t
.
split
(
","
)[
0
];
String
uid
=
t
.
split
(
","
)[
1
];
String
uid
=
t
.
split
(
","
)[
1
];
...
@@ -1099,13 +1138,10 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
...
@@ -1099,13 +1138,10 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
dataUtils
.
changeBuyInfo
(
items
.
getUserId
(),
items
.
getEnterIdCode
(),
items
.
getPerformanceId
(),
items
.
getTicketId
(),
-
1
);
dataUtils
.
changeBuyInfo
(
items
.
getUserId
(),
items
.
getEnterIdCode
(),
items
.
getPerformanceId
(),
items
.
getTicketId
(),
-
1
);
}
}
});
});
});
// });
thread
.
start
();
// thread.start();
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
}
}
redisLockUtil
.
unlock
(
lock
);
redisLockUtil
.
unlock
(
lock
);
}
else
{
}
else
{
log
.
debug
(
"WARNING LOCKING"
);
log
.
debug
(
"WARNING LOCKING"
);
...
...
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