update 分账逻辑

This commit is contained in:
2023-09-20 14:57:59 +08:00
parent 5953973437
commit ed9e316e53
2 changed files with 1027 additions and 233 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1317,17 +1317,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
return;
}
for (SettleOrderReport orderReport : stationReportList) {
String orderCodes = orderReport.getOrderCodes();
if (StringUtils.isBlank(orderCodes)) {
logger.info("站点:{}, 日期:{}, 没有查到订单数据", orderReport.getStationId(), orderReport.getTradeDate());
continue;
}
List<String> orderCodeList = Lists.newArrayList(StringUtils.split(orderCodes, ","));
List<OrderBasicInfo> orderBasicInfos = queryOrderList(orderCodeList);
if (CollectionUtils.isEmpty(orderBasicInfos)) {
continue;
}
String merchantId = adapayMemberAccount.getMerchantId();
String appId = pileMerchantInfoService.queryAppIdByMerchantId(merchantId);
// 清分账单信息
ClearingBillInfo clearingBillInfo = new ClearingBillInfo();
@@ -1335,11 +1326,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
String clearingBillCode = "CLE" + IdUtils.getOrderCode();
clearingBillInfo.setClearingBillCode(clearingBillCode);
clearingBillInfo.setClearingTime(DateUtils.getNowDate());
clearingBillInfo.setMerchantId(orderReport.getMerchantId());
clearingBillInfo.setMerchantId(merchantId);
clearingBillInfo.setOrderSource("1");
String appId = pileMerchantInfoService.queryAppIdByMerchantId(orderReport.getMerchantId());
// 应收金额
BigDecimal receivableAmount = BigDecimal.ZERO;
// 应清分金额
@@ -1353,6 +1342,19 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
// 清分账单详情列表
List<ClearingBillDetail> billDetailList = Lists.newArrayList();
for (SettleOrderReport orderReport : stationReportList) {
String orderCodes = orderReport.getOrderCodes();
if (StringUtils.isBlank(orderCodes)) {
logger.info("站点:{}, 日期:{}, 没有查到订单数据", orderReport.getStationId(), orderReport.getTradeDate());
continue;
}
List<String> orderCodeList = Lists.newArrayList(StringUtils.split(orderCodes, ","));
List<OrderBasicInfo> orderBasicInfos = queryOrderList(orderCodeList);
if (CollectionUtils.isEmpty(orderBasicInfos)) {
continue;
}
// 执行分账
for (OrderBasicInfo orderBasicInfo : orderBasicInfos) {
try {
@@ -1391,6 +1393,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
logger.error("订单交易确认失败:{}", orderBasicInfo.getOrderCode(), e);
}
}
}
clearingBillInfo.setReceivableAmount(receivableAmount);
clearingBillInfo.setShouldClearingAmount(shouldClearingAmount);
@@ -1400,7 +1403,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
clearingBillInfo.setCreateTime(DateUtils.getNowDate());
clearingBillInfo.setDelFlag(DelFlagEnum.NORMAL.getValue());
clearingBillInfo.setBillStatus("2");
clearingBillInfo.setTradeDate(orderReport.getTradeDate());
clearingBillInfo.setTradeDate(stationReportList.get(0).getTradeDate());
// 保存清分账单
ClearingBillTransactionDTO dto = new ClearingBillTransactionDTO();
@@ -1408,7 +1411,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
dto.setBillDetailList(billDetailList);
transactionService.createClearingBill(dto);
}
}
@Override
public void orderSplittingOperations(String merchantId, String tradeDate) {
@@ -1471,15 +1473,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
PaymentConfirmResponse paymentConfirmResponse = adapayService.createPaymentConfirmRequest(paymentId,
adapayMemberAccount, deductionAmount, orderCode, wechatAppId);
// 换新的方法,逻辑不变,参数封装了
// PaymentConfirmOperation operation = new PaymentConfirmOperation();
// operation.setPaymentId(paymentId);
// operation.setConfirmAmt(deductionAmount);
// operation.setOrderCode(orderCode);
// operation.setAdapayMemberId(adapayMemberAccount.getAdapayMemberId());
// operation.setMerchantKey(wechatAppId);
// PaymentConfirmResponse paymentConfirmResponse = adapayService.createPaymentConfirmRequest(operation);
if (paymentConfirmResponse != null && paymentConfirmResponse.isNotFailed()) {
confirmAmt = confirmAmt.add(new BigDecimal(paymentConfirmResponse.getConfirm_amt()));
feeAmt = feeAmt.add(new BigDecimal(paymentConfirmResponse.getFee_amt()));
@@ -1604,15 +1597,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
PaymentConfirmResponse paymentConfirmResponse = adapayService.createPaymentConfirmRequest(paymentId,
adapayMemberAccount, settleAmount, orderCode, wechatAppId);
// PaymentConfirmOperation operation = new PaymentConfirmOperation();
// operation.setPaymentId(paymentId);
// operation.setConfirmAmt(settleAmount);
// operation.setOrderCode(orderCode);
// operation.setAdapayMemberId(adapayMemberAccount.getAdapayMemberId());
// operation.setMerchantKey(wechatAppId);
// PaymentConfirmResponse paymentConfirmResponse = adapayService.createPaymentConfirmRequest(operation);
// 分账接口返回的信息
OrderSettleResult result = new OrderSettleResult();
result.setConfirmAmt(paymentConfirmResponse.getConfirm_amt());