Просмотр исходного кода

更新解决微信支付bug

release_toaliyun_real
xiaohanzi 6 лет назад
Родитель
Сommit
9cf6b14b33
1 измененных файлов: 16 добавлений и 8 удалений
  1. +16
    -8
      mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java

+ 16
- 8
mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java Просмотреть файл

@@ -119,32 +119,40 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
public WxPayOrder handleWxOrderQuery(WxPayOrder oldRecord,WxOrder order,WxAppinfo appInfo,WxPayAccount payAccount,IdWorker idworker) {
int wxpaystatus = WxPayOrderServiceHelper.wxOrderPayStatus(oldRecord, order, appInfo, payAccount);
if (EnumPayStatus.PAY_STATUS_SUCCESS.getCode()==wxpaystatus) {
oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());
wxPayOrderMapper.updateById(oldRecord);
if (oldRecord.getPayOrderStatus() != EnumPayStatus.PAY_STATUS_SUCCESS.getCode()) {
oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());
wxPayOrderMapper.updateById(oldRecord);
}
if (order.getOrderStatus() != EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()) {
order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode());
wxOrderMapper.updateById(order);
}
throw new MallinkException(ErrorCode.PAY_ORDER_PAYING.getCode(),"该订单已经支付,请勿重复支付!");
}else if (EnumPayStatus.PAY_STATUS_REFUND.getCode()==wxpaystatus) {
oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_REFUND.getCode());
wxPayOrderMapper.updateById(oldRecord);
if (oldRecord.getPayOrderStatus() != EnumPayStatus.PAY_STATUS_REFUND.getCode()) {
oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_REFUND.getCode());
wxPayOrderMapper.updateById(oldRecord);
}
if (order.getOrderStatus() != EnumOrderStatus.ORDER_STATUS_REFUND_SUCCESS.getCode()) {
order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_REFUND_SUCCESS.getCode());
wxOrderMapper.updateById(order);
}
throw new MallinkException(ErrorCode.PAY_ORDER_PAYING.getCode(),"该订单已经退款,无法支付!");
}else if (EnumPayStatus.PAY_STATUS_CLOSE.getCode()==wxpaystatus) {
oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_CLOSE.getCode());
wxPayOrderMapper.updateById(oldRecord);
if (oldRecord.getPayOrderStatus() != EnumPayStatus.PAY_STATUS_CLOSE.getCode()) {
oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_CLOSE.getCode());
wxPayOrderMapper.updateById(oldRecord);
}
if (order.getOrderStatus() != EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode()) {
order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode());
wxOrderMapper.updateById(order);
}
throw new MallinkException(ErrorCode.PAY_ORDER_PAYING.getCode(),"该订单已经关闭,无法支付!");
}else if (EnumPayStatus.PAY_STATUS_REVERSE.getCode()==wxpaystatus) {
oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_REVERSE.getCode());
wxPayOrderMapper.updateById(oldRecord);
if (oldRecord.getPayOrderStatus() != EnumPayStatus.PAY_STATUS_REVERSE.getCode()) {
oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_REVERSE.getCode());
wxPayOrderMapper.updateById(oldRecord);
}
if (order.getOrderStatus() != EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode()) {
order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode());
wxOrderMapper.updateById(order);


Загрузка…
Отмена
Сохранить