[fix]修改回调

This commit is contained in:
wangqx 2025-09-20 18:31:59 +08:00
parent 251fb9b0dc
commit 321584d5b1
3 changed files with 31 additions and 35 deletions

View File

@ -1,25 +1,14 @@
package org.dromara.app;
import com.wzj.soopin.transaction.business.IChargeBusiness;
import com.wzj.soopin.transaction.convert.ChargeConvert;
import com.wzj.soopin.transaction.domain.bo.ChargeBO;
import com.wzj.soopin.transaction.domain.bo.PaymentBO;
import com.wzj.soopin.transaction.domain.po.Charge;
import com.wzj.soopin.transaction.domain.po.PayOrder;
import com.wzj.soopin.transaction.enums.PaymentClientEnum;
import com.wzj.soopin.transaction.enums.PaymentMethodEnum;
import com.wzj.soopin.transaction.enums.TransState;
import com.wzj.soopin.transaction.enums.easypay.PayType;
import com.wzj.soopin.transaction.kit.CashierSupport;
import com.wzj.soopin.transaction.kit.dto.PayParam;
import com.wzj.soopin.transaction.kit.params.dto.CashierParam;
import com.wzj.soopin.transaction.service.IChargeService;
import com.wzj.soopin.transaction.service.PayOrderService;
import com.wzj.soopin.transaction.util.SnowFlake;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
@ -34,8 +23,6 @@ import org.dromara.common.satoken.utils.LoginHelper;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
/**
* 买家端,收银台接口

View File

@ -6,6 +6,7 @@ import com.wzj.soopin.transaction.enums.ClientTypeEnum;
import com.wzj.soopin.transaction.enums.PaymentClientEnum;
import com.wzj.soopin.transaction.enums.PaymentMethodEnum;
import com.wzj.soopin.transaction.kit.dto.PayParam;
import com.wzj.soopin.transaction.kit.dto.PaymentSuccessParams;
import com.wzj.soopin.transaction.kit.params.CashierExecute;
import com.wzj.soopin.transaction.kit.params.dto.CashierParam;
import jakarta.servlet.http.HttpServletRequest;
@ -197,4 +198,12 @@ public class CashierSupport {
}
return false;
}
public boolean paymentSuccess(PaymentSuccessParams payParam) {
for (CashierExecute paramInterface : cashierExecuteList) {
paramInterface.paymentSuccess(payParam);
log.info("订单编号{}支付成功", payParam.getReceivableNo());
}
return true;
}
}

View File

@ -493,30 +493,30 @@ public class WechatPlugin implements Payment {
log.info("微信支付通知密文 {}", result);
//校验服务器端响应¬7
// String plainText = WxPayKit.verifyNotify(serialNo, result, signature, nonce, timestamp,
// setting.getApiKey3(), Objects.requireNonNull(getPlatformCert()));
//
// log.info("微信支付通知明文 {}", plainText);
//
// JSONObject jsonObject = JSONUtil.parseObj(plainText);
//
// String payParamStr = jsonObject.getStr("attach");
// String payParamJson = URLDecoder.decode(payParamStr, StandardCharsets.UTF_8);
// PayParam payParam = JSONUtil.toBean(payParamJson, PayParam.class);
String plainText = WxPayKit.verifyNotify(serialNo, result, signature, nonce, timestamp,
setting.getApiV3Key(), Objects.requireNonNull(getPlatformCert()));
log.info("微信支付通知明文 {}", plainText);
JSONObject jsonObject = JSONUtil.parseObj(plainText);
String payParamStr = jsonObject.getStr("attach");
String payParamJson = URLDecoder.decode(payParamStr, StandardCharsets.UTF_8);
PayParam payParam = JSONUtil.toBean(payParamJson, PayParam.class);
// String tradeNo = jsonObject.getStr("transaction_id");
// Double totalAmount = CurrencyUtil.reversalFen(jsonObject.getJSONObject("amount").getDouble("total"));
//
// PaymentSuccessParams paymentSuccessParams = new PaymentSuccessParams(
// PaymentMethodEnum.WECHAT.name(),
// tradeNo,
// totalAmount,
// payParam
// );
//
// paymentService.success(paymentSuccessParams);
// log.info("微信支付回调:支付成功{}", plainText);
String tradeNo = jsonObject.getStr("transaction_id");
Double totalAmount = CurrencyUtil.reversalFen(jsonObject.getJSONObject("amount").getDouble("total"));
PaymentSuccessParams paymentSuccessParams = new PaymentSuccessParams(
PaymentMethodEnum.WECHAT.name(),
tradeNo,
totalAmount,
payParam
);
cashierSupport.paymentSuccess(paymentSuccessParams);
log.info("微信支付回调:支付成功{}", plainText);
}
@Override