This commit is contained in:
2025-05-30 10:31:21 +08:00
parent 115edc19fa
commit 80f4491836
73 changed files with 310 additions and 485 deletions

View File

@@ -8,6 +8,7 @@ import com.ycwl.basic.pay.exceptions.PayUnsupportedException;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
public class PayFactory {
@@ -22,12 +23,10 @@ public class PayFactory {
}
public static IPayAdapter getAdapter(PayAdapterType type) {
switch (type) {
case WX_MP_PAY:
return new WxMpPayAdapter();
default:
throw new PayUnsupportedException("不支持的Adapter类型");
if (Objects.requireNonNull(type) == PayAdapterType.WX_MP_PAY) {
return new WxMpPayAdapter();
}
throw new PayUnsupportedException("不支持的Adapter类型");
}
protected static Map<String, IPayAdapter> namedAdapter = new HashMap<>();

View File

@@ -1,5 +1,6 @@
package com.ycwl.basic.pay.adapter;
import cn.hutool.core.codec.Base64;
import com.wechat.pay.java.core.Config;
import com.wechat.pay.java.core.RSAAutoCertificateConfig;
import com.wechat.pay.java.core.RSAPublicKeyConfig;
@@ -32,7 +33,6 @@ import com.ycwl.basic.pay.entity.RefundOrderResponse;
import com.ycwl.basic.pay.entity.WxMpPayConfig;
import com.ycwl.basic.pay.exceptions.PayWrongConfigException;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.Base64Utils;
import jakarta.servlet.ServletInputStream;
import jakarta.servlet.http.HttpServletRequest;
@@ -161,7 +161,7 @@ public class WxMpPayAdapter implements IPayAdapter {
@Override
public PayResponse handleCallback(HttpServletRequest request) throws IOException {
ServletInputStream inputStream = request.getInputStream();
StringBuffer body = new StringBuffer();
StringBuilder body = new StringBuilder();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String s;
// 读取回调请求体
@@ -277,7 +277,7 @@ public class WxMpPayAdapter implements IPayAdapter {
@Override
public RefundResponse handleRefundCallback(HttpServletRequest request) throws IOException {
ServletInputStream inputStream = request.getInputStream();
StringBuffer body = new StringBuffer();
StringBuilder body = new StringBuilder();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String s;
// 读取回调请求体
@@ -363,6 +363,6 @@ public class WxMpPayAdapter implements IPayAdapter {
Signature sign = Signature.getInstance("SHA256withRSA");
sign.initSign(merchantPrivateKey);
sign.update(signatureStr.getBytes(StandardCharsets.UTF_8));
return Base64Utils.encodeToString(sign.sign());
return Base64.encode(sign.sign());
}
}

View File

@@ -1,20 +1,16 @@
package com.ycwl.basic.pay.enums;
import lombok.Getter;
@Getter
public enum PayAdapterType {
WX_MP_PAY("WX_MP_PAY"),
;
private String type;
private final String type;
PayAdapterType(String type) {
this.type = type;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}