手动执行订单分账

This commit is contained in:
2023-08-08 15:50:22 +08:00
parent d1b87f8993
commit ae05198fdb
2 changed files with 23 additions and 11 deletions

View File

@@ -1009,14 +1009,20 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
/**
* 手动接口执行订单分账逻辑
* 8月1号之前的交易全部结算到本商户
*/
@Override
public void tempOrderSplittingOperations(String merchantId, String tradeDate) {
logger.info("运营商:{}, 交易日期:{}, 进行分账处理start", merchantId, tradeDate);
AdapayMemberAccount adapayMemberAccount = new AdapayMemberAccount();
adapayMemberAccount.setAdapayMemberId("0");
// AdapayMemberAccount adapayMemberAccount = new AdapayMemberAccount();
// adapayMemberAccount.setAdapayMemberId("0");
// 查询运营商有没有开通结算账户
AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(merchantId);
if (adapayMemberAccount == null) {
logger.error("订单分账逻辑error, 运营商id:{}, 未配置结算账户", merchantId);
return;
}
// 根据交易日期查询运营商下面所有站点的交易日报
List<SettleOrderReport> stationReportList = settleOrderReportService.selectByMerchantIdAndDate(merchantId, tradeDate);
@@ -1035,17 +1041,23 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
// 执行分账
for (OrderBasicInfo orderBasicInfo : orderBasicInfos) {
try {
OrderSettleResult orderSettleResult = doPaymentConfirm(orderBasicInfo, adapayMemberAccount);
if (orderSettleResult != null && AdapayStatusEnum.SUCCEEDED.getValue().equals(orderSettleResult.getStatus())) {
JSONObject jsonObject = JSON.parseObject(orderSettleResult.getDescription());
String orderCode = (String) jsonObject.get("orderCode");
OrderSettleResult orderSettleResult = null;
if (PayModeEnum.PAYMENT_OF_BALANCE.getValue().equals(orderBasicInfo.getPayMode())) {
// 余额支付的订单 只用余额支付转账
orderSettleResult = doBalancePayment(orderBasicInfo, adapayMemberAccount);
logger.info("手动接口执行订单分账逻辑order:{}, result:{}", JSON.toJSONString(orderBasicInfo), JSON.toJSONString(orderSettleResult));
} else {
// 在线支付,进行支付确认分账
// orderSettleResult = doPaymentConfirm(orderBasicInfo, adapayMemberAccount);
}
// if (orderSettleResult != null && AdapayStatusEnum.SUCCEEDED.getValue().equals(orderSettleResult.getStatus())) {
// JSONObject jsonObject = JSON.parseObject(orderSettleResult.getDescription());
// String orderCode = (String) jsonObject.get("orderCode");
// }
} catch (Exception e) {
logger.error("订单交易确认失败:{}", orderBasicInfo.getOrderCode(), e);
}
}
}
logger.info("运营商:{}, 交易日期:{}, 进行分账处理end", merchantId, tradeDate);
}