This commit is contained in:
张良(004796)
2024-05-08 13:47:22 +08:00
parent 454a0df288
commit 63e12f290b
4 changed files with 52 additions and 13 deletions

View File

@@ -76,6 +76,45 @@ public class PayConfigManager {
return using.get(payIds.get(0));
}
public boolean initAliPayConfig(PayConfig payConfig) {
if(payConfig == null){
return false;
}
AliPayApiConfig aliPayApiConfig;
try {
aliPayApiConfig = AliPayApiConfigKit.getApiConfig(payConfig.getAppid());
} catch (Exception e) {
log.error("实例化AliPayApiConfig...");
// 如果Map中没有当前支付宝的实例就初始化并添加到Map中
if(caiProperties.isOpenPayProxy()){
aliPayApiConfig = AliPayApiConfig.builder()
.setAppId(payConfig.getAppid())
.setAliPayPublicKey(payConfig.getPublicKey())
.setCharset("UTF-8")
.setPrivateKey(payConfig.getPrivateKey())
.setServiceUrl(null)
.setDomain(payConfig.getNotifyUrl())
.setSignType("RSA2")
.setProxyIp(caiProperties.getProxyIp())
.setProxyPort(caiProperties.getProxyHost())
.buildProxy();
}else{
aliPayApiConfig = AliPayApiConfig.builder()
.setAppId(payConfig.getAppid())
.setAliPayPublicKey(payConfig.getPublicKey())
.setCharset("UTF-8")
.setPrivateKey(payConfig.getPrivateKey())
.setServiceUrl(null)
.setDomain(payConfig.getNotifyUrl())
.setSignType("RSA2")
.build();
}
}
AliPayApiConfigKit.setThreadLocalAliPayApiConfig(aliPayApiConfig);
return true;
}
public boolean initAliPay() {
PayConfig payConfig = this.getAliConfig();
@@ -94,7 +133,8 @@ public class PayConfigManager {
.setAliPayPublicKey(payConfig.getPublicKey())
.setCharset("UTF-8")
.setPrivateKey(payConfig.getPrivateKey())
.setServiceUrl(payConfig.getNotifyUrl())
.setServiceUrl(null)
.setDomain(payConfig.getNotifyUrl())
.setSignType("RSA2")
.setProxyIp(caiProperties.getProxyIp())
.setProxyPort(caiProperties.getProxyHost())
@@ -105,7 +145,8 @@ public class PayConfigManager {
.setAliPayPublicKey(payConfig.getPublicKey())
.setCharset("UTF-8")
.setPrivateKey(payConfig.getPrivateKey())
.setServiceUrl(payConfig.getNotifyUrl())
.setServiceUrl(null)
.setDomain(payConfig.getNotifyUrl())
.setSignType("RSA2")
.build();
}

View File

@@ -48,18 +48,16 @@ public class PayManager {
private PayTotalService payTotalService;
@Autowired
private PayConfigService payConfigService;
@Autowired
private PayConfigManager payConfigManager;
public PayQueryModel queryOrder(PayConfig payConfig,String orderNo,String appid) throws AlipayApiException {
if(PayTypeEnum.ALI.getCode().equals(payConfig.getPayType())){
AliPayApiConfig aliPayApiConfig = AliPayApiConfig.builder()
.setAppId(payConfig.getAppid())
.setAliPayPublicKey(payConfig.getPublicKey())
.setCharset("UTF-8")
.setPrivateKey(payConfig.getPrivateKey())
.setServiceUrl(null)
.setSignType("RSA2")
.build();
AliPayApiConfigKit.setThreadLocalAliPayApiConfig(aliPayApiConfig);
boolean bool = payConfigManager.initAliPayConfig(payConfig);
if(!bool){
log.error("订单查询 初始化支付宝失败 payConfig={}",JSON.toJSONString(payConfig));
return PayQueryModel.fail();
}
AlipayTradeQueryModel model = new AlipayTradeQueryModel();
model.setOutTradeNo(orderNo);
String body = AliPayApi.tradeQueryToResponse(model).getBody();