交易分账 重构

This commit is contained in:
2023-08-28 15:05:24 +08:00
parent 7a9361af9d
commit 517b88f6a2
2 changed files with 25 additions and 11 deletions

View File

@@ -980,16 +980,30 @@ public class OrderService {
ObjectMapper mapper = new ObjectMapper();
mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);
AdapayCallbackRecord adapayCallbackRecord = mapper.readValue(jsonObject.toJSONString(), AdapayCallbackRecord.class);
adapayCallbackRecord.setExpend(jsonObject.getString("expend"));
adapayCallbackRecord.setPaymentId(jsonObject.getString("id"));
// 支付扩展域
adapayCallbackRecord.setExpend(jsonObject.getString("expend"));
// 支付id
String paymentId = jsonObject.getString("id");
adapayCallbackRecord.setPaymentId(paymentId);
// 订单附加说明
JSONObject descJson = JSON.parseObject(adapayCallbackRecord.getDescription());
String type = descJson.getString("type");
adapayCallbackRecord.setPayScenario(type);
// 支付回调中包含的场景类型
String scenarioType = descJson.getString("type");
adapayCallbackRecord.setPayScenario(scenarioType);
// 支付回调中包含的会员id
String memberId = descJson.getString("memberId");
adapayCallbackRecord.setMemberId(memberId);
// 支付回调中包含的订单编号
String orderCode = descJson.getString("orderCode");
adapayCallbackRecord.setOrderCode(orderCode);
// 支付金额
BigDecimal amount = adapayCallbackRecord.getPayAmt();
// 保存到数据库
@@ -998,7 +1012,7 @@ public class OrderService {
// 微信支付订单 记录会员交易流水
MemberTransactionRecord record = MemberTransactionRecord.builder()
.orderCode(orderCode)
.scenarioType(type)
.scenarioType(scenarioType)
.memberId(memberId)
.actionType(ActionTypeEnum.FORWARD.getValue())
.payMode(PayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
@@ -1009,9 +1023,7 @@ public class OrderService {
.build();
memberTransactionRecordService.insertSelective(record);
String scenarioType = null;
if (StringUtils.equals(type, ScenarioEnum.ORDER.getValue())) { // 1-订单支付
scenarioType = ScenarioEnum.ORDER.getValue();
if (StringUtils.equals(scenarioType, ScenarioEnum.ORDER.getValue())) { // 1-订单支付
// 支付订单成功
PayOrderSuccessCallbackDTO callbackDTO = PayOrderSuccessCallbackDTO.builder()
.orderCode(orderCode)
@@ -1031,8 +1043,7 @@ public class OrderService {
// .createBy(null)
// .build();
// orderPayRecordService.batchInsert(Lists.newArrayList(orderPayRecord));
} else if (StringUtils.equals(type, ScenarioEnum.BALANCE.getValue())) { // 2-充值余额
scenarioType = ScenarioEnum.BALANCE.getValue();
} else if (StringUtils.equals(scenarioType, ScenarioEnum.BALANCE.getValue())) { // 2-充值余额
// 充值余额成功
UpdateMemberBalanceDTO dto = new UpdateMemberBalanceDTO();
dto.setMemberId(memberId);
@@ -1051,6 +1062,7 @@ public class OrderService {
memberAdapayRecord.setPayAmt(amount);
memberAdapayRecord.setRefundAmt(BigDecimal.ZERO);
memberAdapayRecord.setSpendAmt(BigDecimal.ZERO);
memberAdapayRecord.setFreezeAmt(BigDecimal.ZERO);
memberAdapayRecord.setBalanceAmt(amount);
memberAdapayRecordService.insertSelective(memberAdapayRecord);
}