mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 11:05:18 +08:00
交易分账 重构
This commit is contained in:
@@ -177,7 +177,7 @@ public class PayController extends BaseController {
|
||||
logger.info("1----------->微信支付回调开始 body:{}", JSONObject.toJSONString(body));
|
||||
RestApiResponse<?> response;
|
||||
try {
|
||||
orderService.wechatPayCallback(request, body);
|
||||
// orderService.wechatPayCallback(request, body);
|
||||
response = new RestApiResponse<>();
|
||||
} catch (BusinessException e) {
|
||||
logger.warn("微信支付回调接口warn", e);
|
||||
|
||||
@@ -261,61 +261,61 @@ public class OrderService {
|
||||
* @param body
|
||||
* @throws Exception
|
||||
*/
|
||||
public void wechatPayCallback(HttpServletRequest request, WechatPayNotifyParameter body) throws Exception {
|
||||
// 获取微信支付成功返回的信息
|
||||
Map<String, Object> map = wechatPayService.wechatPayCallbackInfo(request, body);
|
||||
String type = (String) map.get("type");
|
||||
BigDecimal amount = (BigDecimal) map.get("amount"); // 微信给的amount单位是分
|
||||
amount = amount.divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP); // 转换为元
|
||||
|
||||
String orderCode = (String) map.get("orderCode");
|
||||
String memberId = (String) map.get("memberId");
|
||||
if (StringUtils.equals(type, ScenarioEnum.ORDER.getValue())) { // 1-订单支付
|
||||
// 支付订单成功
|
||||
// orderCode = (String) map.get("orderCode");
|
||||
PayOrderSuccessCallbackDTO callbackDTO = PayOrderSuccessCallbackDTO.builder()
|
||||
.orderCode(orderCode)
|
||||
.payAmount(amount)
|
||||
.payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
|
||||
.acquirer(AcquirerEnum.WECHAT_PAY.getValue())
|
||||
.build();
|
||||
// 订单支付成功 支付回调
|
||||
orderBasicInfoService.payOrderSuccessCallback(callbackDTO);
|
||||
|
||||
// 记录订单支付流水
|
||||
// OrderPayRecord orderPayRecord = OrderPayRecord.builder()
|
||||
// .orderCode(orderCode)
|
||||
// .payMode(OrderPayRecordEnum.WECHATPAY_PAYMENT.getValue())
|
||||
// .payAmount(amount)
|
||||
// .acquirer(AcquirerEnum.WECHAT_PAY.getValue())
|
||||
// .createBy(null)
|
||||
// .build();
|
||||
// orderPayRecordService.batchInsert(Lists.newArrayList(orderPayRecord));
|
||||
} else if (StringUtils.equals(type, ScenarioEnum.BALANCE.getValue())) { // 2-充值余额
|
||||
// 充值余额成功
|
||||
// memberId = (String) map.get("memberId");
|
||||
UpdateMemberBalanceDTO dto = new UpdateMemberBalanceDTO();
|
||||
dto.setMemberId(memberId);
|
||||
dto.setType(MemberWalletEnum.TYPE_IN.getValue());
|
||||
dto.setSubType(MemberWalletEnum.SUBTYPE_TOP_UP.getValue());
|
||||
dto.setUpdatePrincipalBalance(amount);
|
||||
memberBasicInfoService.updateMemberBalance(dto);
|
||||
}
|
||||
|
||||
// 微信支付订单 记录会员交易流水
|
||||
MemberTransactionRecord record = MemberTransactionRecord.builder()
|
||||
.orderCode(orderCode)
|
||||
.scenarioType(type)
|
||||
.memberId(memberId)
|
||||
.actionType(ActionTypeEnum.FORWARD.getValue())
|
||||
.payMode(PayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
|
||||
.paymentInstitutions(PaymentInstitutionsEnum.WECHAT_PAY.getValue())
|
||||
.amount(amount) // 单位元
|
||||
.outTradeNo(String.valueOf(map.get("out_trade_no")))
|
||||
.transactionId(String.valueOf(map.get("transaction_id")))
|
||||
.build();
|
||||
memberTransactionRecordService.insertSelective(record);
|
||||
}
|
||||
// public void wechatPayCallback(HttpServletRequest request, WechatPayNotifyParameter body) throws Exception {
|
||||
// // 获取微信支付成功返回的信息
|
||||
// Map<String, Object> map = wechatPayService.wechatPayCallbackInfo(request, body);
|
||||
// String type = (String) map.get("type");
|
||||
// BigDecimal amount = (BigDecimal) map.get("amount"); // 微信给的amount单位是分
|
||||
// amount = amount.divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP); // 转换为元
|
||||
//
|
||||
// String orderCode = (String) map.get("orderCode");
|
||||
// String memberId = (String) map.get("memberId");
|
||||
// if (StringUtils.equals(type, ScenarioEnum.ORDER.getValue())) { // 1-订单支付
|
||||
// // 支付订单成功
|
||||
// // orderCode = (String) map.get("orderCode");
|
||||
// PayOrderSuccessCallbackDTO callbackDTO = PayOrderSuccessCallbackDTO.builder()
|
||||
// .orderCode(orderCode)
|
||||
// .payAmount(amount)
|
||||
// .payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
|
||||
// .acquirer(AcquirerEnum.WECHAT_PAY.getValue())
|
||||
// .build();
|
||||
// // 订单支付成功 支付回调
|
||||
// orderBasicInfoService.payOrderSuccessCallback(callbackDTO);
|
||||
//
|
||||
// // 记录订单支付流水
|
||||
// // OrderPayRecord orderPayRecord = OrderPayRecord.builder()
|
||||
// // .orderCode(orderCode)
|
||||
// // .payMode(OrderPayRecordEnum.WECHATPAY_PAYMENT.getValue())
|
||||
// // .payAmount(amount)
|
||||
// // .acquirer(AcquirerEnum.WECHAT_PAY.getValue())
|
||||
// // .createBy(null)
|
||||
// // .build();
|
||||
// // orderPayRecordService.batchInsert(Lists.newArrayList(orderPayRecord));
|
||||
// } else if (StringUtils.equals(type, ScenarioEnum.BALANCE.getValue())) { // 2-充值余额
|
||||
// // 充值余额成功
|
||||
// // memberId = (String) map.get("memberId");
|
||||
// UpdateMemberBalanceDTO dto = new UpdateMemberBalanceDTO();
|
||||
// dto.setMemberId(memberId);
|
||||
// dto.setType(MemberWalletEnum.TYPE_IN.getValue());
|
||||
// dto.setSubType(MemberWalletEnum.SUBTYPE_TOP_UP.getValue());
|
||||
// dto.setUpdatePrincipalBalance(amount);
|
||||
// memberBasicInfoService.updateMemberBalance(dto);
|
||||
// }
|
||||
//
|
||||
// // 微信支付订单 记录会员交易流水
|
||||
// MemberTransactionRecord record = MemberTransactionRecord.builder()
|
||||
// .orderCode(orderCode)
|
||||
// .scenarioType(type)
|
||||
// .memberId(memberId)
|
||||
// .actionType(ActionTypeEnum.FORWARD.getValue())
|
||||
// .payMode(PayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
|
||||
// .paymentInstitutions(PaymentInstitutionsEnum.WECHAT_PAY.getValue())
|
||||
// .amount(amount) // 单位元
|
||||
// .outTradeNo(String.valueOf(map.get("out_trade_no")))
|
||||
// .transactionId(String.valueOf(map.get("transaction_id")))
|
||||
// .build();
|
||||
// memberTransactionRecordService.insertSelective(record);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 微信退款
|
||||
|
||||
Reference in New Issue
Block a user