Commit c45aeed3 by ping.wu

支付成功回掉多次触发锁问题状态码修改

parent 80f56208
......@@ -3897,7 +3897,7 @@ public class OrderAdapter {
/**
* 支付后通知失败返回信息
*/
public String newSendPayFaileMessage() {
public String newSendPayFailedMessage() {
Map<String, Object> map = Maps.newTreeMap();
map.put("code", 500);
map.put("message", "failed");
......@@ -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() {
......
......@@ -296,12 +296,12 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
@Override
public String paySuccessCallback(PaysuccessNoticeMessage message) {
if (StringUtils.isEmpty(message.getTrans_id())) {
return orderAdapter.newSendPayFaileMessage();
return orderAdapter.newSendPayFailedMessage();
}
//添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
String paySuccessKey = PAY_SUCCESS_KEY + message.getTrans_id();
if (!LockUtils.lockAfter(redisCache.getRedisTemplate(), paySuccessKey)) {
return orderAdapter.newSendPayFaileMessage();
return orderAdapter.paySuccessLockedMessage();
}
try {
ConfirmOrderDto confirmOrderDto = orderAdapter.convent2ConfirmOrderDto(message);
......@@ -373,7 +373,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
//添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
String paySuccessKey = PAY_SUCCESS_KEY + message.getTrans_id();
if (!LockUtils.lockAfter(redisCache.getRedisTemplate(), paySuccessKey)) {
return orderAdapter.newSendPayFaileMessage();
return orderAdapter.paySuccessLockedMessage();
}
try {
ConfirmOrderDto confirmOrderDto = orderAdapter.convent2ConfirmOrderDto(message);
......
......@@ -699,10 +699,10 @@ public class OrderServiceImpl implements Orderservice {
if (Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_0, code) || Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS, code)) {
return newSendPaySuccessNoticeMessage();
} else {
return newSendPayFaileMessage();
return res;
}
}
return newSendPayFaileMessage();
return orderAdapter.newSendPayFailedMessage();
}
private String verificationCoupon(String transId) {
......@@ -2279,15 +2279,6 @@ public class OrderServiceImpl implements Orderservice {
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 {
return "";
}
public String cannelComPayOrder(ConfirmOrderDto confirmOrderDto, QueryOrdersResponseDto.DataBean.OrderBean orderBean) {
//失败冲正库存,冲正活动库存,取消订单
CancelOrderRequest cancelOrderRequest = orderAdapter.convent2CancelOrderRequest(confirmOrderDto.getOrderId(), orderBean.getCompanyId(),
AfterSalesType.SYSTEM_CANCEL, "混合支付SVC卡支付失败", LogThreadLocal.getTrackingNo(), null);
//BaseOrderResponse request = orderCenterSdkService.orderCancel(cancelOrderRequest);
BaseOrderResponse request = null;
int i = 1;
do {
try {
request = orderCenterSdkService.orderCancel(cancelOrderRequest);
if (request != request) {
break;
}
} catch (Exception e) {
}
i++;
} while (i < 4);
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
if (ResponseCodeConstant.RESPONSE_SUCCESS.equals(request.getErrcode())) {
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
return this.newSendPaySuccessNoticeMessage();
} else {
return this.newSendPayFaileMessage();
}
}
// public String cannelComPayOrder(ConfirmOrderDto confirmOrderDto, QueryOrdersResponseDto.DataBean.OrderBean orderBean) {
// //失败冲正库存,冲正活动库存,取消订单
// CancelOrderRequest cancelOrderRequest = orderAdapter.convent2CancelOrderRequest(confirmOrderDto.getOrderId(), orderBean.getCompanyId(),
// AfterSalesType.SYSTEM_CANCEL, "混合支付SVC卡支付失败", LogThreadLocal.getTrackingNo(), null);
// //BaseOrderResponse request = orderCenterSdkService.orderCancel(cancelOrderRequest);
// BaseOrderResponse request = null;
// int i = 1;
// do {
// try {
// request = orderCenterSdkService.orderCancel(cancelOrderRequest);
// if (request != request) {
// break;
// }
// } catch (Exception e) {
// }
// i++;
// } while (i < 4);
//
// backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
// if (ResponseCodeConstant.RESPONSE_SUCCESS.equals(request.getErrcode())) {
// backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
// return this.newSendPaySuccessNoticeMessage();
// } else {
// return this.newSendPayFaileMessage();
// }
// }
/**
* 获取混合支付是否开启
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment