|
|
|
@@ -11,6 +11,7 @@ import com.iformall.common.IdWorker; |
|
|
|
import com.iformall.common.Result; |
|
|
|
import com.iformall.common.ResultData; |
|
|
|
import com.iformall.domain.po.*; |
|
|
|
import com.iformall.domain.po.base.TenantEntity; |
|
|
|
import com.iformall.enums.*; |
|
|
|
import com.iformall.exception.MallinkException; |
|
|
|
import com.iformall.mapper.*; |
|
|
|
@@ -698,6 +699,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { |
|
|
|
WxPayOrder payOrder = wxPayOrderMapper.selectById(record.getId()); |
|
|
|
if (payOrder != null) { |
|
|
|
record.setPayOrderStatus(payOrder.getPayOrderStatus()); |
|
|
|
record.setShare(payOrder.getShare()); |
|
|
|
} else { |
|
|
|
return new ResultData(ErrorCode.PAY_ORDER_ERROR.getCode(), "payOrder not found"); |
|
|
|
} |
|
|
|
@@ -1426,9 +1428,10 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { |
|
|
|
} else { |
|
|
|
// 延迟10秒后分账 |
|
|
|
new Thread(() -> { |
|
|
|
String tenantId = record.getTenantId(); |
|
|
|
TenantEntity tenantEntity = record; |
|
|
|
Long orderId = record.getOrderId(); |
|
|
|
Long payOrderId = record.getId(); |
|
|
|
logger.info("收银台订单分账休眠10s: orderId: {}, payOrderId: {}, {}", orderId, payOrderId, tenantEntity); |
|
|
|
try { |
|
|
|
Thread.currentThread().sleep(10000); |
|
|
|
} catch (Exception e) { |
|
|
|
@@ -1436,14 +1439,14 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { |
|
|
|
} |
|
|
|
|
|
|
|
// 支付分账 |
|
|
|
logger.info("订单分账开始: orderId: {}, payOrderId: {}", orderId, payOrderId); |
|
|
|
logger.info("收银台订单分账开始: orderId: {}, payOrderId: {}", orderId, payOrderId); |
|
|
|
try { |
|
|
|
wxOrderService.shareForMicroPay(order, orderId, payOrderId); |
|
|
|
wxOrderService.shareForMicroPay(tenantEntity, orderId, payOrderId); |
|
|
|
} catch (MallinkException e) { |
|
|
|
logger.error("订单分账失败: orderId: {}, payOrderId: {}", orderId, payOrderId); |
|
|
|
logger.error("订单分账失败: " + e.getMessage()); |
|
|
|
logger.error("收银台订单分账失败: orderId: {}, payOrderId: {}", orderId, payOrderId); |
|
|
|
logger.error("收银台订单分账失败: " + e.getMessage()); |
|
|
|
} |
|
|
|
logger.info("订单分账结束: orderId: {}, payOrderId: {}", orderId, payOrderId); |
|
|
|
logger.info("收银台订单分账结束: orderId: {}, payOrderId: {}", orderId, payOrderId); |
|
|
|
}).start(); |
|
|
|
} |
|
|
|
} |
|
|
|
@@ -1522,7 +1525,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { |
|
|
|
merchantSubsidy.setId(idWorker.nextId()); |
|
|
|
merchantSubsidy.updateTenantInfo(order); |
|
|
|
merchantSubsidy.setOrderId(record.getOrderId()); |
|
|
|
merchantSubsidy.setOrderType(EnumOrderType.NATIVEPAY.getCode()); |
|
|
|
merchantSubsidy.setOrderType(EnumOrderType.MICROPAY.getCode()); |
|
|
|
WxMerchantBUser wxMerchantBUser = wxMerchantBUserMapper.selectById(order.getProductId()); |
|
|
|
merchantSubsidy.setMerchantId(wxMerchantBUser.getMerchantId()); |
|
|
|
merchantSubsidy.setCouponOrderId(0L); |
|
|
|
|