交易分账 重构

This commit is contained in:
2023-08-28 17:27:57 +08:00
parent 38dbafa116
commit d1b0d40e24
2 changed files with 31 additions and 36 deletions

View File

@@ -1011,6 +1011,19 @@ public class OrderService {
// 保存到数据库
adapayCallbackRecordService.saveAdapayCallbackRecord(adapayCallbackRecord);
// 保存MemberAdapayRecord
MemberAdapayRecord memberAdapayRecord = new MemberAdapayRecord();
memberAdapayRecord.setMemberId(memberId);
memberAdapayRecord.setPaymentId(paymentId);
memberAdapayRecord.setPaymentOrderNo(adapayCallbackRecord.getOutTransId());
memberAdapayRecord.setScenarioType(scenarioType);
memberAdapayRecord.setPayAmt(amount);
memberAdapayRecord.setRefundAmt(BigDecimal.ZERO);
memberAdapayRecord.setSpendAmt(BigDecimal.ZERO);
memberAdapayRecord.setFreezeAmt(BigDecimal.ZERO);
memberAdapayRecord.setBalanceAmt(amount);
memberAdapayRecordService.insertSelective(memberAdapayRecord);
// 微信支付订单 记录会员交易流水
MemberTransactionRecord record = MemberTransactionRecord.builder()
.orderCode(orderCode)
@@ -1026,6 +1039,21 @@ public class OrderService {
memberTransactionRecordService.insertSelective(record);
if (StringUtils.equals(scenarioType, ScenarioEnum.ORDER.getValue())) { // 1-订单支付
JSONObject json = new JSONObject();
json.put("paymentId", paymentId);
json.put("amount", amount);
// 记录订单支付流水
OrderPayRecord orderPayRecord = OrderPayRecord.builder()
.orderCode(orderCode)
.payMode(OrderPayRecordEnum.WECHATPAY_PAYMENT.getValue())
.payAmount(amount)
.acquirer(AcquirerEnum.ADAPAY.getValue())
.deductionRecord(json.toJSONString())
.createBy(null)
.build();
orderPayRecordService.batchInsert(Lists.newArrayList(orderPayRecord));
// 支付订单成功
PayOrderSuccessCallbackDTO callbackDTO = PayOrderSuccessCallbackDTO.builder()
.orderCode(orderCode)
@@ -1035,16 +1063,6 @@ public class OrderService {
.build();
// 订单支付成功 支付回调
orderBasicInfoService.payOrderSuccessCallback(callbackDTO);
// 记录订单支付流水
// OrderPayRecord orderPayRecord = OrderPayRecord.builder()
// .orderCode(orderCode)
// .payMode(OrderPayRecordEnum.WECHATPAY_PAYMENT.getValue())
// .payAmount(amount)
// .acquirer(AcquirerEnum.ADAPAY.getValue())
// .createBy(null)
// .build();
// orderPayRecordService.batchInsert(Lists.newArrayList(orderPayRecord));
} else if (StringUtils.equals(scenarioType, ScenarioEnum.BALANCE.getValue())) { // 2-充值余额
// 充值余额成功
UpdateMemberBalanceDTO dto = new UpdateMemberBalanceDTO();
@@ -1055,18 +1073,7 @@ public class OrderService {
memberBasicInfoService.updateMemberBalance(dto);
}
// 保存MemberAdapayRecord
MemberAdapayRecord memberAdapayRecord = new MemberAdapayRecord();
memberAdapayRecord.setMemberId(memberId);
memberAdapayRecord.setPaymentId(adapayCallbackRecord.getPaymentId());
memberAdapayRecord.setPaymentOrderNo(adapayCallbackRecord.getOutTransId());
memberAdapayRecord.setScenarioType(scenarioType);
memberAdapayRecord.setPayAmt(amount);
memberAdapayRecord.setRefundAmt(BigDecimal.ZERO);
memberAdapayRecord.setSpendAmt(BigDecimal.ZERO);
memberAdapayRecord.setFreezeAmt(BigDecimal.ZERO);
memberAdapayRecord.setBalanceAmt(amount);
memberAdapayRecordService.insertSelective(memberAdapayRecord);
}
/**