|
@@ -65,8 +65,13 @@ public class PayCallBackController {
|
|
|
int payMoney = Integer.parseInt(request.getParameter("payMoney"));
|
|
|
logger.info("data: orderNo:"+orderNo +" orderStatus:"+orderStatus +" shopOrderNo:"+shopOrderNo+ "channelNo:"+channelNo+" payType:"+payType);
|
|
|
|
|
|
- //回调金额与订单金额一致性校验
|
|
|
+
|
|
|
PayOrder order = payOrderService.getById(shopOrderNo);
|
|
|
+ if (order.getOrderStatus() == PayOrderStatusEnum.SUCCESS.getValue()) {
|
|
|
+ logger.info("支付订单已成功,消息忽略,shopOrderNo:" + shopOrderNo);
|
|
|
+ responseWrite(response,"true");
|
|
|
+ }
|
|
|
+ //回调金额与订单金额一致性校验
|
|
|
if(order.getTransactionAmount() != payMoney){
|
|
|
logger.error("回调金额与订单金额不一致");
|
|
|
responseWrite(response,"error");
|
|
@@ -80,6 +85,10 @@ public class PayCallBackController {
|
|
|
payOrder.setOrderStatus(orderStatus);
|
|
|
|
|
|
try {
|
|
|
+ // 更新订单,单个事务处理
|
|
|
+ logger.info("支付回调消息更新成功 shopOrderNo:"+shopOrderNo);
|
|
|
+ walletService.payOrderStatusHandle(payOrder);
|
|
|
+
|
|
|
// 订单支付状态单独保存
|
|
|
LambdaUpdateWrapper<PayOrder> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
updateWrapper.eq(PayOrder::getOrderStatus, PayOrderStatusEnum.WAIT.getValue());
|
|
@@ -88,10 +97,6 @@ public class PayCallBackController {
|
|
|
if (!ret) {
|
|
|
throw new ServiceException("支付订单更新失败,orderId:" + shopOrderNo);
|
|
|
}
|
|
|
-
|
|
|
- // 更新订单,单个事务处理
|
|
|
- logger.info("支付回调消息更新成功 shopOrderNo:"+shopOrderNo);
|
|
|
- walletService.payOrderStatusHandle(payOrder);
|
|
|
responseWrite(response,"success");
|
|
|
} catch (Exception e){
|
|
|
LogUtil.error(logger, e, "支付回调消息更新失败 shopOrderNo:"+shopOrderNo);
|