交易分账 重构

This commit is contained in:
2023-08-28 15:30:24 +08:00
parent b89e3dca20
commit e4d3d481da
2 changed files with 56 additions and 56 deletions

View File

@@ -177,7 +177,7 @@ public class PayController extends BaseController {
logger.info("1----------->微信支付回调开始 body:{}", JSONObject.toJSONString(body)); logger.info("1----------->微信支付回调开始 body:{}", JSONObject.toJSONString(body));
RestApiResponse<?> response; RestApiResponse<?> response;
try { try {
orderService.wechatPayCallback(request, body); // orderService.wechatPayCallback(request, body);
response = new RestApiResponse<>(); response = new RestApiResponse<>();
} catch (BusinessException e) { } catch (BusinessException e) {
logger.warn("微信支付回调接口warn", e); logger.warn("微信支付回调接口warn", e);

View File

@@ -261,61 +261,61 @@ public class OrderService {
* @param body * @param body
* @throws Exception * @throws Exception
*/ */
public void wechatPayCallback(HttpServletRequest request, WechatPayNotifyParameter body) throws Exception { // public void wechatPayCallback(HttpServletRequest request, WechatPayNotifyParameter body) throws Exception {
// 获取微信支付成功返回的信息 // // 获取微信支付成功返回的信息
Map<String, Object> map = wechatPayService.wechatPayCallbackInfo(request, body); // Map<String, Object> map = wechatPayService.wechatPayCallbackInfo(request, body);
String type = (String) map.get("type"); // String type = (String) map.get("type");
BigDecimal amount = (BigDecimal) map.get("amount"); // 微信给的amount单位是分 // BigDecimal amount = (BigDecimal) map.get("amount"); // 微信给的amount单位是分
amount = amount.divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP); // 转换为元 // amount = amount.divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP); // 转换为元
//
String orderCode = (String) map.get("orderCode"); // String orderCode = (String) map.get("orderCode");
String memberId = (String) map.get("memberId"); // String memberId = (String) map.get("memberId");
if (StringUtils.equals(type, ScenarioEnum.ORDER.getValue())) { // 1-订单支付 // if (StringUtils.equals(type, ScenarioEnum.ORDER.getValue())) { // 1-订单支付
// 支付订单成功 // // 支付订单成功
// orderCode = (String) map.get("orderCode"); // // orderCode = (String) map.get("orderCode");
PayOrderSuccessCallbackDTO callbackDTO = PayOrderSuccessCallbackDTO.builder() // PayOrderSuccessCallbackDTO callbackDTO = PayOrderSuccessCallbackDTO.builder()
.orderCode(orderCode) // .orderCode(orderCode)
.payAmount(amount) // .payAmount(amount)
.payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue()) // .payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
.acquirer(AcquirerEnum.WECHAT_PAY.getValue()) // .acquirer(AcquirerEnum.WECHAT_PAY.getValue())
.build(); // .build();
// 订单支付成功 支付回调 // // 订单支付成功 支付回调
orderBasicInfoService.payOrderSuccessCallback(callbackDTO); // orderBasicInfoService.payOrderSuccessCallback(callbackDTO);
//
// 记录订单支付流水 // // 记录订单支付流水
// OrderPayRecord orderPayRecord = OrderPayRecord.builder() // // OrderPayRecord orderPayRecord = OrderPayRecord.builder()
// .orderCode(orderCode) // // .orderCode(orderCode)
// .payMode(OrderPayRecordEnum.WECHATPAY_PAYMENT.getValue()) // // .payMode(OrderPayRecordEnum.WECHATPAY_PAYMENT.getValue())
// .payAmount(amount) // // .payAmount(amount)
// .acquirer(AcquirerEnum.WECHAT_PAY.getValue()) // // .acquirer(AcquirerEnum.WECHAT_PAY.getValue())
// .createBy(null) // // .createBy(null)
// .build(); // // .build();
// orderPayRecordService.batchInsert(Lists.newArrayList(orderPayRecord)); // // orderPayRecordService.batchInsert(Lists.newArrayList(orderPayRecord));
} else if (StringUtils.equals(type, ScenarioEnum.BALANCE.getValue())) { // 2-充值余额 // } else if (StringUtils.equals(type, ScenarioEnum.BALANCE.getValue())) { // 2-充值余额
// 充值余额成功 // // 充值余额成功
// memberId = (String) map.get("memberId"); // // memberId = (String) map.get("memberId");
UpdateMemberBalanceDTO dto = new UpdateMemberBalanceDTO(); // UpdateMemberBalanceDTO dto = new UpdateMemberBalanceDTO();
dto.setMemberId(memberId); // dto.setMemberId(memberId);
dto.setType(MemberWalletEnum.TYPE_IN.getValue()); // dto.setType(MemberWalletEnum.TYPE_IN.getValue());
dto.setSubType(MemberWalletEnum.SUBTYPE_TOP_UP.getValue()); // dto.setSubType(MemberWalletEnum.SUBTYPE_TOP_UP.getValue());
dto.setUpdatePrincipalBalance(amount); // dto.setUpdatePrincipalBalance(amount);
memberBasicInfoService.updateMemberBalance(dto); // memberBasicInfoService.updateMemberBalance(dto);
} // }
//
// 微信支付订单 记录会员交易流水 // // 微信支付订单 记录会员交易流水
MemberTransactionRecord record = MemberTransactionRecord.builder() // MemberTransactionRecord record = MemberTransactionRecord.builder()
.orderCode(orderCode) // .orderCode(orderCode)
.scenarioType(type) // .scenarioType(type)
.memberId(memberId) // .memberId(memberId)
.actionType(ActionTypeEnum.FORWARD.getValue()) // .actionType(ActionTypeEnum.FORWARD.getValue())
.payMode(PayModeEnum.PAYMENT_OF_WECHATPAY.getValue()) // .payMode(PayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
.paymentInstitutions(PaymentInstitutionsEnum.WECHAT_PAY.getValue()) // .paymentInstitutions(PaymentInstitutionsEnum.WECHAT_PAY.getValue())
.amount(amount) // 单位元 // .amount(amount) // 单位元
.outTradeNo(String.valueOf(map.get("out_trade_no"))) // .outTradeNo(String.valueOf(map.get("out_trade_no")))
.transactionId(String.valueOf(map.get("transaction_id"))) // .transactionId(String.valueOf(map.get("transaction_id")))
.build(); // .build();
memberTransactionRecordService.insertSelective(record); // memberTransactionRecordService.insertSelective(record);
} // }
/** /**
* 微信退款 * 微信退款