记得上下班打卡 | 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
863b85f0
Commit
863b85f0
authored
Dec 21, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户申请退款增加锁 防止重复请求
parent
7269696b
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
24 additions
and
0 deletions
+24
-0
KylinRedisConst.java
...com/liquidnet/service/kylin/constant/KylinRedisConst.java
+3
-0
KylinOrderTicketsRefundServiceImpl.java
...ylin/service/impl/KylinOrderTicketsRefundServiceImpl.java
+8
-0
DataUtils.java
...ain/java/com/liquidnet/service/kylin/utils/DataUtils.java
+13
-0
No files found.
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/constant/KylinRedisConst.java
View file @
863b85f0
package
com
.
liquidnet
.
service
.
kylin
.
constant
;
package
com
.
liquidnet
.
service
.
kylin
.
constant
;
import
rx.Completable
;
public
class
KylinRedisConst
{
public
class
KylinRedisConst
{
public
static
final
String
FIELDS
=
"kylin:fields:id"
;
public
static
final
String
FIELDS
=
"kylin:fields:id"
;
public
static
final
String
PERFORMANCES
=
"kylin:performances:id:"
;
public
static
final
String
PERFORMANCES
=
"kylin:performances:id:"
;
...
@@ -37,6 +39,7 @@ public class KylinRedisConst {
...
@@ -37,6 +39,7 @@ public class KylinRedisConst {
// 手续费
// 手续费
public
static
final
String
ORDER_REFUND_POUNDAGE
=
"kylin:order:poundage"
;
public
static
final
String
ORDER_REFUND_POUNDAGE
=
"kylin:order:poundage"
;
public
static
final
String
ORDER_REFUND_POUNDAGE_EXPLAIN
=
"kylin:order:poundageExplain"
;
public
static
final
String
ORDER_REFUND_POUNDAGE_EXPLAIN
=
"kylin:order:poundageExplain"
;
public
static
final
String
REDIS_KEY_KYLIN_REFUND_LOCK
=
"kylin:order:refund:lock:entitiesId:"
;
public
static
final
String
USERID_BUY_INFO
=
"kylin:buy:userId:"
;
public
static
final
String
USERID_BUY_INFO
=
"kylin:buy:userId:"
;
public
static
final
String
IDCARD_BUY_INFO
=
"kylin:buy:idCard:"
;
public
static
final
String
IDCARD_BUY_INFO
=
"kylin:buy:idCard:"
;
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinOrderTicketsRefundServiceImpl.java
View file @
863b85f0
...
@@ -144,6 +144,11 @@ public class KylinOrderTicketsRefundServiceImpl {
...
@@ -144,6 +144,11 @@ public class KylinOrderTicketsRefundServiceImpl {
}
}
public
ResponseDto
sendOrderRefund
(
String
orderId
,
String
orderTicketEntitiesId
,
String
reason
,
String
picList
,
String
ticketNum
,
Integer
sendExpressType
,
String
expressNumber
,
String
expressContacts
,
String
expressPhone
,
String
sendExpressAddress
,
String
appointmentTime
)
{
public
ResponseDto
sendOrderRefund
(
String
orderId
,
String
orderTicketEntitiesId
,
String
reason
,
String
picList
,
String
ticketNum
,
Integer
sendExpressType
,
String
expressNumber
,
String
expressContacts
,
String
expressPhone
,
String
sendExpressAddress
,
String
appointmentTime
)
{
boolean
isLock
=
dataUtils
.
setRefundLock
(
orderTicketEntitiesId
);
if
(!
isLock
)
{
return
ResponseDto
.
failure
(
"正在处理,请勿重复操作~"
);
}
KylinOrderTicketEntitiesVo
orderTicketEntitiesVo
=
null
;
KylinOrderTicketEntitiesVo
orderTicketEntitiesVo
=
null
;
try
{
try
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
...
@@ -234,6 +239,9 @@ public class KylinOrderTicketsRefundServiceImpl {
...
@@ -234,6 +239,9 @@ public class KylinOrderTicketsRefundServiceImpl {
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"sendOrderRefundException e:[{}]"
,
e
);
log
.
error
(
"sendOrderRefundException e:[{}]"
,
e
);
return
ResponseDto
.
failure
(
"申请失败"
);
return
ResponseDto
.
failure
(
"申请失败"
);
}
finally
{
// 执行完毕。释放锁
dataUtils
.
delRefundLock
(
orderTicketEntitiesId
);
}
}
}
}
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/utils/DataUtils.java
View file @
863b85f0
...
@@ -814,4 +814,17 @@ public class DataUtils {
...
@@ -814,4 +814,17 @@ public class DataUtils {
}
}
return
priceExpress
;
return
priceExpress
;
}
}
public
boolean
setRefundLock
(
String
orderTicketEntitiesId
)
{
String
redisKey
=
KylinRedisConst
.
REDIS_KEY_KYLIN_REFUND_LOCK
.
concat
(
orderTicketEntitiesId
);
return
redisUtil
.
lock
(
redisKey
,
1
,
60
);
}
public
void
delRefundLock
(
String
orderTicketEntitiesId
)
{
String
redisKey
=
KylinRedisConst
.
REDIS_KEY_KYLIN_REFUND_LOCK
.
concat
(
orderTicketEntitiesId
);
redisUtil
.
uLock
(
redisKey
);
}
}
}
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