Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
order-group-application
order-group
Commits
c45aeed3
Commit
c45aeed3
authored
Aug 02, 2021
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
支付成功回掉多次触发锁问题状态码修改
parent
80f56208
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
42 additions
and
41 deletions
+42
-41
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+11
-1
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
+3
-3
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+28
-37
No files found.
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
c45aeed3
...
@@ -3897,7 +3897,7 @@ public class OrderAdapter {
...
@@ -3897,7 +3897,7 @@ public class OrderAdapter {
/**
/**
* 支付后通知失败返回信息
* 支付后通知失败返回信息
*/
*/
public
String
newSendPayFaileMessage
()
{
public
String
newSendPayFaile
d
Message
()
{
Map
<
String
,
Object
>
map
=
Maps
.
newTreeMap
();
Map
<
String
,
Object
>
map
=
Maps
.
newTreeMap
();
map
.
put
(
"code"
,
500
);
map
.
put
(
"code"
,
500
);
map
.
put
(
"message"
,
"failed"
);
map
.
put
(
"message"
,
"failed"
);
...
@@ -3905,6 +3905,16 @@ public class OrderAdapter {
...
@@ -3905,6 +3905,16 @@ public class OrderAdapter {
}
}
/**
/**
* 支付后触发锁返回信息
*/
public
String
paySuccessLockedMessage
()
{
Map
<
String
,
Object
>
map
=
Maps
.
newTreeMap
();
map
.
put
(
"code"
,
101
);
map
.
put
(
"message"
,
"paySuccessLocked"
);
return
gson
.
toJson
(
map
);
}
/**
* 支付后通知确认返回信息
* 支付后通知确认返回信息
*/
*/
public
String
sendPaySuccessNoticeMessage
()
{
public
String
sendPaySuccessNoticeMessage
()
{
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
View file @
c45aeed3
...
@@ -296,12 +296,12 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -296,12 +296,12 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
@Override
@Override
public
String
paySuccessCallback
(
PaysuccessNoticeMessage
message
)
{
public
String
paySuccessCallback
(
PaysuccessNoticeMessage
message
)
{
if
(
StringUtils
.
isEmpty
(
message
.
getTrans_id
()))
{
if
(
StringUtils
.
isEmpty
(
message
.
getTrans_id
()))
{
return
orderAdapter
.
newSendPayFaileMessage
();
return
orderAdapter
.
newSendPayFaile
d
Message
();
}
}
//添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
//添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
String
paySuccessKey
=
PAY_SUCCESS_KEY
+
message
.
getTrans_id
();
String
paySuccessKey
=
PAY_SUCCESS_KEY
+
message
.
getTrans_id
();
if
(!
LockUtils
.
lockAfter
(
redisCache
.
getRedisTemplate
(),
paySuccessKey
))
{
if
(!
LockUtils
.
lockAfter
(
redisCache
.
getRedisTemplate
(),
paySuccessKey
))
{
return
orderAdapter
.
newSendPayFaile
Message
();
return
orderAdapter
.
paySuccessLocked
Message
();
}
}
try
{
try
{
ConfirmOrderDto
confirmOrderDto
=
orderAdapter
.
convent2ConfirmOrderDto
(
message
);
ConfirmOrderDto
confirmOrderDto
=
orderAdapter
.
convent2ConfirmOrderDto
(
message
);
...
@@ -373,7 +373,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -373,7 +373,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
//添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
//添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
String
paySuccessKey
=
PAY_SUCCESS_KEY
+
message
.
getTrans_id
();
String
paySuccessKey
=
PAY_SUCCESS_KEY
+
message
.
getTrans_id
();
if
(!
LockUtils
.
lockAfter
(
redisCache
.
getRedisTemplate
(),
paySuccessKey
))
{
if
(!
LockUtils
.
lockAfter
(
redisCache
.
getRedisTemplate
(),
paySuccessKey
))
{
return
orderAdapter
.
newSendPayFaile
Message
();
return
orderAdapter
.
paySuccessLocked
Message
();
}
}
try
{
try
{
ConfirmOrderDto
confirmOrderDto
=
orderAdapter
.
convent2ConfirmOrderDto
(
message
);
ConfirmOrderDto
confirmOrderDto
=
orderAdapter
.
convent2ConfirmOrderDto
(
message
);
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
c45aeed3
...
@@ -699,10 +699,10 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -699,10 +699,10 @@ public class OrderServiceImpl implements Orderservice {
if
(
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_0
,
code
)
||
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
,
code
))
{
if
(
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_0
,
code
)
||
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
,
code
))
{
return
newSendPaySuccessNoticeMessage
();
return
newSendPaySuccessNoticeMessage
();
}
else
{
}
else
{
return
newSendPayFaileMessage
()
;
return
res
;
}
}
}
}
return
newSendPayFaile
Message
();
return
orderAdapter
.
newSendPayFailed
Message
();
}
}
private
String
verificationCoupon
(
String
transId
)
{
private
String
verificationCoupon
(
String
transId
)
{
...
@@ -2279,15 +2279,6 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -2279,15 +2279,6 @@ public class OrderServiceImpl implements Orderservice {
return
gson
.
toJson
(
map
);
return
gson
.
toJson
(
map
);
}
}
/**
* 支付后通知失败返回信息
*/
public
String
newSendPayFaileMessage
()
{
Map
<
String
,
Object
>
map
=
Maps
.
newTreeMap
();
map
.
put
(
"code"
,
500
);
map
.
put
(
"message"
,
"failed"
);
return
gson
.
toJson
(
map
);
}
/**
/**
* 退款中回调失败返回信息
* 退款中回调失败返回信息
...
@@ -3637,32 +3628,32 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -3637,32 +3628,32 @@ public class OrderServiceImpl implements Orderservice {
return
""
;
return
""
;
}
}
public
String
cannelComPayOrder
(
ConfirmOrderDto
confirmOrderDto
,
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
)
{
//
public String cannelComPayOrder(ConfirmOrderDto confirmOrderDto, QueryOrdersResponseDto.DataBean.OrderBean orderBean) {
//失败冲正库存,冲正活动库存,取消订单
//
//失败冲正库存,冲正活动库存,取消订单
CancelOrderRequest
cancelOrderRequest
=
orderAdapter
.
convent2CancelOrderRequest
(
confirmOrderDto
.
getOrderId
(),
orderBean
.
getCompanyId
(),
//
CancelOrderRequest cancelOrderRequest = orderAdapter.convent2CancelOrderRequest(confirmOrderDto.getOrderId(), orderBean.getCompanyId(),
AfterSalesType
.
SYSTEM_CANCEL
,
"混合支付SVC卡支付失败"
,
LogThreadLocal
.
getTrackingNo
(),
null
);
//
AfterSalesType.SYSTEM_CANCEL, "混合支付SVC卡支付失败", LogThreadLocal.getTrackingNo(), null);
//BaseOrderResponse request = orderCenterSdkService.orderCancel(cancelOrderRequest);
//
//BaseOrderResponse request = orderCenterSdkService.orderCancel(cancelOrderRequest);
BaseOrderResponse
request
=
null
;
//
BaseOrderResponse request = null;
int
i
=
1
;
//
int i = 1;
do
{
//
do {
try
{
//
try {
request
=
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
//
request = orderCenterSdkService.orderCancel(cancelOrderRequest);
if
(
request
!=
request
)
{
//
if (request != request) {
break
;
//
break;
}
//
}
}
catch
(
Exception
e
)
{
//
} catch (Exception e) {
}
//
}
i
++;
//
i++;
}
while
(
i
<
4
);
//
} while (i < 4);
//
backOrdersStatusChange
(
orderBean
.
getOid
(),
orderBean
.
getStatus
());
//
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
if
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
request
.
getErrcode
()))
{
//
if (ResponseCodeConstant.RESPONSE_SUCCESS.equals(request.getErrcode())) {
backOrdersStatusChange
(
orderBean
.
getOid
(),
orderBean
.
getStatus
());
//
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
return
this
.
newSendPaySuccessNoticeMessage
();
//
return this.newSendPaySuccessNoticeMessage();
}
else
{
//
} else {
return
this
.
newSendPayFaileMessage
();
//
return this.newSendPayFaileMessage();
}
//
}
}
//
}
/**
/**
* 获取混合支付是否开启
* 获取混合支付是否开启
...
...
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