payment_id没有保存到financial_master表的问题

This commit is contained in:
HH 2022-07-21 13:33:42 +08:00
parent cfbc5aee58
commit fbf122b9b2
3 changed files with 9 additions and 7 deletions

View File

@ -3,6 +3,7 @@ package com.ghy.common.enums;
public enum AdapayOrderType {
PAY("PAY", "支付"),
REFUND("REFUND", "退款"),
DRAW_CASH("DRAW_CASH", "提现"),
PAYMENT_CONFIRM("PAYMENT_CONFIRM", "确认支付");

View File

@ -78,7 +78,7 @@ public class OrderMasterServiceImpl implements OrderMasterService {
@Override
public int updateOrderMaster(OrderMaster orderMaster) throws BaseAdaPayException {
if (orderMaster.getOrderStatus().equals(OrderStatus.FINISH.code())) {
logger.info("订单[{}]完成,进入确认分账", orderMaster.getCode());
logger.info("订单[ID={}]完成,进入确认分账", orderMaster.getId());
confirm(orderMaster.getId());
}
return orderMasterMapper.updateOrderMaster(orderMaster);
@ -138,7 +138,7 @@ public class OrderMasterServiceImpl implements OrderMasterService {
Assert.notNull(payment, "找不到支付记录");
if (BigDecimal.ZERO.compareTo(financialMaster.getPayMoney()) < 0) {
logger.info("订单[{}]支付金额<=0不需要分账", orderMaster.getCode());
logger.info("订单[code={}]支付金额<=0不需要分账", orderMaster.getCode());
// 支付金额<=0的话 不需要走下面的流程了
return;
}
@ -194,13 +194,13 @@ public class OrderMasterServiceImpl implements OrderMasterService {
JSONObject response = adapayService.paymentConfirm(orderMaster.getDeptId(), payment.getId(), payment.getOrderNo(),
AdapayUtils.bigDecimalToString(confirmAmt), divMembers, null, null);
logger.info("订单[{}]分账结果: {}", orderMaster.getCode(), response.toJSONString());
logger.info("订单[code={}]分账结果: {}", orderMaster.getCode(), response.toJSONString());
boolean status = AdapayStatusEnum.succeeded.code.equals(response.getString("status"));
// 如果确认支付失败 这里抛出异常
Assert.isTrue(status, response.getString("error_msg"));
// 走到这里确认支付和分账都成功了 异步进入自动提现流程
logger.info("订单[{}]开始自动提现", orderMaster.getCode());
logger.info("订单[code={}]开始自动提现", orderMaster.getCode());
autoDrawCashMembers.forEach(member -> executor.execute(() -> {
String memberId = member.getMemberId();
String amount = member.getAmount();

View File

@ -69,13 +69,14 @@ public class PayCallbackService implements CallBackService {
public void onResponse(JSONObject response) {
// 保存一条支付记录
PaymentDTO payment = response.toJavaObject(PaymentDTO.class);
String status = payment.getStatus();
payment.setStatus("pending");
financialMasterService.insertPayment(payment);
if (AdapayStatusEnum.succeeded.code.equals(response.getString("status"))) {
if (AdapayStatusEnum.succeeded.code.equals(status)) {
FinancialMaster update = new FinancialMaster();
update.setOrderMasterCode(response.getString("order_no"));
update.setPaymentId(response.getString("id"));
update.setOrderMasterCode(payment.getOrderNo());
update.setPaymentId(payment.getId());
financialMasterService.updateFinancialMaster(update);
} else {
logger.warn("请求支付失败 : {}", response.toJSONString());