记得上下班打卡 | 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
2f9bc865
Commit
2f9bc865
authored
Jun 01, 2021
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
order相关 sql 提交
parent
b9b8478b
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
10 deletions
+20
-10
KylinOrderTicketsServiceImpl.java
...vice/kylin/service/impl/KylinOrderTicketsServiceImpl.java
+9
-8
DataUtils.java
...ain/java/com/liquidnet/service/kylin/utils/DataUtils.java
+11
-2
No files found.
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinOrderTicketsServiceImpl.java
View file @
2f9bc865
...
...
@@ -80,11 +80,11 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
public
ResponseDto
<
PayResultVo
>
checkCanOrder
(
PayOrderParam
payOrderParam
)
{
boolean
isDownGeneral
=
false
;
String
uid
=
CurrentUtil
.
getCurrentUid
();
RLock
lock
=
RedisLockUtil
.
lock
(
"userId:"
+
uid
,
2
);
try
{
if
(
lock
.
isLocked
())
{
if
(!
RedisLockUtil
.
tryLock
(
"userId:"
+
uid
,
2
,
2
)){
return
ResponseDto
.
failure
(
"请求频繁"
);
//参数错误
}
RLock
lock
=
RedisLockUtil
.
lock
(
"userId:"
+
uid
,
2
);
try
{
KylinPerformanceVo
performanceData
=
dataUtils
.
getPerformanceVo
(
payOrderParam
.
getPerformanceId
());
KylinTicketTimesVo
ticketTimesData
=
dataUtils
.
getTicketTimesVo
(
payOrderParam
.
getTimeId
());
KylinTicketVo
ticketData
=
dataUtils
.
getTicketVo
(
payOrderParam
.
getTicketId
());
...
...
@@ -567,10 +567,11 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
//支付时间
LocalDateTime
now
=
LocalDateTime
.
now
();
RLock
lock
=
RedisLockUtil
.
lock
(
"order_lock:"
+
syncOrderParam
.
getOrder_code
(),
240
);
if
(
lock
.
isLocked
())
{
return
"fail"
;
if
(!
RedisLockUtil
.
tryLock
(
"order_lock:"
+
syncOrderParam
.
getOrder_code
(),
240
,
240
)){
return
"fail"
;
//参数错误
}
RLock
lock
=
RedisLockUtil
.
lock
(
"order_lock:"
+
syncOrderParam
.
getOrder_code
(),
240
);
String
timePay
=
now
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
));
KylinOrderTicketVo
orderTicketData
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"orderCode"
).
is
(
syncOrderParam
.
getOrder_code
())),
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
...
...
@@ -774,10 +775,10 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
for
(
KylinOrderTicketVo
item
:
orderTicketVo
)
{
RLock
lock
=
redisLockUtil
.
lock
(
"order_lock:"
+
item
.
getOrderCode
(),
2
);
if
(
lock
.
isLocked
())
{
if
(!
RedisLockUtil
.
tryLock
(
"order_lock:"
+
item
.
getOrderCode
(),
240
,
240
)){
continue
;
}
RLock
lock
=
redisLockUtil
.
lock
(
"order_lock:"
+
item
.
getOrderCode
(),
240
);
KylinOrderTicketVo
itemData
=
dataUtils
.
getOrderTicketVo
(
item
.
getOrderTicketsId
());
if
(
itemData
.
getStatus
()
==
0
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/utils/DataUtils.java
View file @
2f9bc865
package
com
.
liquidnet
.
service
.
kylin
.
utils
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.google.zxing.common.detector.MathUtils
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
...
...
@@ -64,7 +65,11 @@ public class DataUtils {
* @return 普通剩余库存
*/
public
int
changeSurplusGeneral
(
String
ticketId
,
int
surplusGeneral
)
{
if
(
surplusGeneral
>
0
)
{
return
(
int
)
redisUtil
.
incr
(
KylinRedisConst
.
PERFORMANCES_INVENTORY
+
ticketId
+
":"
+
KylinRedisConst
.
SURPLUS_GENERAL
,
surplusGeneral
);
}
else
{
return
(
int
)
redisUtil
.
decr
(
KylinRedisConst
.
PERFORMANCES_INVENTORY
+
ticketId
+
":"
+
KylinRedisConst
.
SURPLUS_GENERAL
,
Math
.
abs
(
surplusGeneral
));
}
}
/**
...
...
@@ -95,7 +100,11 @@ public class DataUtils {
* @return 兑换剩余库存
*/
public
int
changeSurplusExchange
(
String
ticketId
,
int
surplusExchange
)
{
return
(
int
)
redisUtil
.
incr
(
KylinRedisConst
.
PERFORMANCES_INVENTORY
+
ticketId
+
":"
+
KylinRedisConst
.
SURPLUS_GENERAL
,
surplusExchange
);
if
(
surplusExchange
>
0
)
{
return
(
int
)
redisUtil
.
incr
(
KylinRedisConst
.
PERFORMANCES_INVENTORY
+
ticketId
+
":"
+
KylinRedisConst
.
SURPLUS_EXCHANGE
,
surplusExchange
);
}
else
{
return
(
int
)
redisUtil
.
decr
(
KylinRedisConst
.
PERFORMANCES_INVENTORY
+
ticketId
+
":"
+
KylinRedisConst
.
SURPLUS_EXCHANGE
,
Math
.
abs
(
surplusExchange
));
}
}
/**
...
...
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