记得上下班打卡 | 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
bdbcf1f6
Commit
bdbcf1f6
authored
Jun 17, 2026
by
wangyifan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加用户 退款分布式锁
parent
8fc91746
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
250 additions
and
239 deletions
+250
-239
GoblinOrderAppServiceImpl.java
...ervice/goblin/service/impl/GoblinOrderAppServiceImpl.java
+250
-239
No files found.
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinOrderAppServiceImpl.java
View file @
bdbcf1f6
...
...
@@ -10,6 +10,7 @@ import com.liquidnet.service.base.constant.MQConst;
import
com.liquidnet.service.candy.constant.CandyRedisConst
;
import
com.liquidnet.service.candy.dto.CandyUserCouponBasicDto
;
import
com.liquidnet.service.dragon.constant.DragonConstant
;
import
com.liquidnet.service.goblin.constant.GoblinRedisConst
;
import
com.liquidnet.service.goblin.constant.GoblinStatusConst
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.entity.GoblinBackOrder
;
...
...
@@ -269,6 +270,13 @@ public class GoblinOrderAppServiceImpl implements IGoblinOrderAppService {
// return ResponseDto.failure("无权操作");
// }
// 分布式锁防并发重复退款
String
lockKey
=
GoblinRedisConst
.
REFUND_ORDER_LOCK
+
param
.
getOrderId
();
if
(!
redisUtils
.
redisUtil
.
lock
(
lockKey
,
1
,
30
))
{
return
ResponseDto
.
failure
(
"退款处理中,请勿重复操作"
);
}
try
{
List
<
String
>
backOrderIds
=
redisUtils
.
getBackOrderByOrderId
(
param
.
getOrderId
());
for
(
String
backOrderId
:
backOrderIds
)
{
GoblinBackOrderVo
backOrderVo
=
redisUtils
.
getBackOrderVo
(
backOrderId
);
...
...
@@ -570,6 +578,9 @@ public class GoblinOrderAppServiceImpl implements IGoblinOrderAppService {
}
}
return
ResponseDto
.
success
();
}
finally
{
redisUtils
.
redisUtil
.
uLock
(
lockKey
);
}
}
@Override
...
...
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