Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
a0601766
Commit
a0601766
authored
Oct 25, 2024
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
藏家订单加锁避免重复创建订单
parent
9a04e972
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
129 additions
and
121 deletions
+129
-121
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/DistributionOrderServiceImpl.java
...ch/wx/impl/distribution/DistributionOrderServiceImpl.java
+129
-121
No files found.
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/DistributionOrderServiceImpl.java
View file @
a0601766
...
...
@@ -384,8 +384,11 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
@Override
@Transactional
public
Result
createCollectionOrder
(
DistributionOrderRequestDto
dto
)
{
try
{
Long
itemId
=
dto
.
getItemId
();
String
itemIdKey
=
"COLLECTION:ORDER:CREATE:"
+
dto
.
getItemId
();
RLock
lock
=
redissonClient
.
getLock
(
itemIdKey
);
try
{
if
(
lock
.
tryLock
(
3
,
3
,
TimeUnit
.
SECONDS
))
{
String
shareRecordId
=
dto
.
getShareRecordId
();
if
(
StringUtils
.
hasLength
(
shareRecordId
))
{
//查询分享记录详细信息
...
...
@@ -494,8 +497,6 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
//平台佣金还要减去微信的服务手续费1%,实际上平台佣金就是订单金额* (平台佣金比例(默认0.15)- 微信手续费(0.01))
//暂时先不考虑
double
channelServiceCost
=
distributionOrder
.
getAmount
().
doubleValue
()
*
channelCostRebate
;
double
introduceCost
=
distributionOrder
.
getAmount
().
doubleValue
()
*
rebate
;
distributorProfit
.
setDistributionOrderId
(
distributionOrderId
);
distributorProfit
.
setDistributorId
(
distributionOrder
.
getSellerId
());
...
...
@@ -513,9 +514,16 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
distributorProfit
.
setType
(
DistributionEnum
.
DistributionTypeEnum
.
COLLECT
.
getCode
());
distributorProfitDao
.
insert
(
distributorProfit
);
return
Result
.
success
(
map
);
}
else
{
return
Result
.
failed
(
"请勿重复提交"
);
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"创建藏品一口价订单失败 error : {}"
,
e
);
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
}
finally
{
if
(
lock
!=
null
&&
lock
.
isHeldByCurrentThread
())
{
lock
.
unlock
();
}
}
return
Result
.
failed
(
"藏品一口价订单下单失败"
);
}
...
...
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