mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-10-28 04:29:07 +08:00
🎨 优化代码,修复过期方法引用
This commit is contained in:
@ -8,11 +8,13 @@ import com.github.binarywang.wxpay.service.WxEntrustPapService;
|
|||||||
import com.github.binarywang.wxpay.service.WxPayService;
|
import com.github.binarywang.wxpay.service.WxPayService;
|
||||||
import com.github.binarywang.wxpay.util.SignUtils;
|
import com.github.binarywang.wxpay.util.SignUtils;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author chenliang
|
* @author chenliang
|
||||||
@ -26,32 +28,40 @@ public class WxEntrustPapServiceImpl implements WxEntrustPapService {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@SneakyThrows
|
||||||
public String mpSign(WxMpEntrustRequest wxMpEntrustRequest) throws WxPayException {
|
public String mpSign(WxMpEntrustRequest wxMpEntrustRequest) throws WxPayException {
|
||||||
wxMpEntrustRequest.checkAndSign(payService.getConfig());
|
wxMpEntrustRequest.checkAndSign(payService.getConfig());
|
||||||
StringBuilder signStrTemp = new StringBuilder(payService.getPayBaseUrl() + "/papay/entrustweb");
|
StringBuilder signStrTemp = new StringBuilder(payService.getPayBaseUrl() + "/papay/entrustweb");
|
||||||
signStrTemp.append("?appid=").append(wxMpEntrustRequest.getAppid());
|
signStrTemp.append("?appid=").append(wxMpEntrustRequest.getAppid());
|
||||||
signStrTemp.append("&contract_code=").append(wxMpEntrustRequest.getContractCode());
|
signStrTemp.append("&contract_code=").append(wxMpEntrustRequest.getContractCode());
|
||||||
signStrTemp.append("&contract_display_account=").append(URLEncoder.encode(wxMpEntrustRequest.getContractDisplayAccount()));
|
signStrTemp.append("&contract_display_account=")
|
||||||
signStrTemp.append("&mch_id=").append(wxMpEntrustRequest.getMchId()).append("¬ify_url=").append(URLEncoder.encode(wxMpEntrustRequest.getNotifyUrl()));
|
.append(URLEncoder.encode(wxMpEntrustRequest.getContractDisplayAccount(), StandardCharsets.UTF_8.name()));
|
||||||
|
signStrTemp.append("&mch_id=").append(wxMpEntrustRequest.getMchId()).append("¬ify_url=")
|
||||||
|
.append(URLEncoder.encode(wxMpEntrustRequest.getNotifyUrl(), StandardCharsets.UTF_8.name()));
|
||||||
signStrTemp.append("&plan_id=").append(wxMpEntrustRequest.getPlanId());
|
signStrTemp.append("&plan_id=").append(wxMpEntrustRequest.getPlanId());
|
||||||
signStrTemp.append("&request_serial=").append(wxMpEntrustRequest.getRequestSerial()).append("×tamp=").append(wxMpEntrustRequest.getTimestamp());
|
signStrTemp.append("&request_serial=").append(wxMpEntrustRequest.getRequestSerial()).append("×tamp=")
|
||||||
if (StringUtils.isNotEmpty(wxMpEntrustRequest.getReturnWeb())) {
|
.append(wxMpEntrustRequest.getTimestamp());
|
||||||
|
// 根据微信支付文档,returnWeb字段只在值为1时需要添加到URL参数中,表示返回签约页面的referrer url
|
||||||
|
if (wxMpEntrustRequest.getReturnWeb() != null && wxMpEntrustRequest.getReturnWeb() == 1) {
|
||||||
signStrTemp.append("&return_web=").append(wxMpEntrustRequest.getReturnWeb());
|
signStrTemp.append("&return_web=").append(wxMpEntrustRequest.getReturnWeb());
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotEmpty(wxMpEntrustRequest.getOuterId())) {
|
if (StringUtils.isNotEmpty(wxMpEntrustRequest.getOuterId())) {
|
||||||
signStrTemp.append("&outerid=").append(URLEncoder.encode(wxMpEntrustRequest.getOuterId()));
|
signStrTemp.append("&outerid=").append(URLEncoder.encode(wxMpEntrustRequest.getOuterId(), StandardCharsets.UTF_8.name()));
|
||||||
}
|
}
|
||||||
signStrTemp.append("&version=").append(wxMpEntrustRequest.getVersion()).append("&sign=").append(wxMpEntrustRequest.getSign());
|
signStrTemp.append("&version=").append(wxMpEntrustRequest.getVersion()).append("&sign=")
|
||||||
|
.append(wxMpEntrustRequest.getSign());
|
||||||
return signStrTemp.toString();
|
return signStrTemp.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@SneakyThrows
|
||||||
public String maSign(WxMaEntrustRequest wxMaEntrustRequest) throws WxPayException {
|
public String maSign(WxMaEntrustRequest wxMaEntrustRequest) throws WxPayException {
|
||||||
wxMaEntrustRequest.checkAndSign(payService.getConfig());
|
wxMaEntrustRequest.checkAndSign(payService.getConfig());
|
||||||
wxMaEntrustRequest.setNotifyUrl(URLEncoder.encode(wxMaEntrustRequest.getNotifyUrl()));
|
wxMaEntrustRequest.setNotifyUrl(URLEncoder.encode(wxMaEntrustRequest.getNotifyUrl(), StandardCharsets.UTF_8.name()));
|
||||||
return wxMaEntrustRequest.toString();
|
return wxMaEntrustRequest.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SneakyThrows
|
||||||
@Override
|
@Override
|
||||||
public WxH5EntrustResult h5Sign(WxH5EntrustRequest wxH5EntrustRequest) throws WxPayException {
|
public WxH5EntrustResult h5Sign(WxH5EntrustRequest wxH5EntrustRequest) throws WxPayException {
|
||||||
wxH5EntrustRequest.checkAndSign(payService.getConfig());
|
wxH5EntrustRequest.checkAndSign(payService.getConfig());
|
||||||
@ -70,11 +80,11 @@ public class WxEntrustPapServiceImpl implements WxEntrustPapService {
|
|||||||
StringBuilder strBuilder = new StringBuilder(url);
|
StringBuilder strBuilder = new StringBuilder(url);
|
||||||
strBuilder.append("?appid=").append(wxH5EntrustRequest.getAppid());
|
strBuilder.append("?appid=").append(wxH5EntrustRequest.getAppid());
|
||||||
strBuilder.append("&contract_code=").append(wxH5EntrustRequest.getContractCode());
|
strBuilder.append("&contract_code=").append(wxH5EntrustRequest.getContractCode());
|
||||||
strBuilder.append("&contract_display_account=").append(URLEncoder.encode(wxH5EntrustRequest.getContractDisplayAccount()));
|
strBuilder.append("&contract_display_account=").append(URLEncoder.encode(wxH5EntrustRequest.getContractDisplayAccount(), StandardCharsets.UTF_8.name()));
|
||||||
strBuilder.append("&mch_id=").append(wxH5EntrustRequest.getMchId()).append("¬ify_url=").append(URLEncoder.encode(wxH5EntrustRequest.getNotifyUrl()));
|
strBuilder.append("&mch_id=").append(wxH5EntrustRequest.getMchId()).append("¬ify_url=").append(URLEncoder.encode(wxH5EntrustRequest.getNotifyUrl(), StandardCharsets.UTF_8.name()));
|
||||||
strBuilder.append("&plan_id=").append(wxH5EntrustRequest.getPlanId());
|
strBuilder.append("&plan_id=").append(wxH5EntrustRequest.getPlanId());
|
||||||
if (StringUtils.isNotEmpty(wxH5EntrustRequest.getOuterId())) {
|
if (StringUtils.isNotEmpty(wxH5EntrustRequest.getOuterId())) {
|
||||||
strBuilder.append("&outerid=").append(URLEncoder.encode(wxH5EntrustRequest.getOuterId()));
|
strBuilder.append("&outerid=").append(URLEncoder.encode(wxH5EntrustRequest.getOuterId(), StandardCharsets.UTF_8.name()));
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotEmpty(wxH5EntrustRequest.getReturnAppid())) {
|
if (StringUtils.isNotEmpty(wxH5EntrustRequest.getReturnAppid())) {
|
||||||
strBuilder.append("&return_appid=").append(wxH5EntrustRequest.getReturnAppid());
|
strBuilder.append("&return_appid=").append(wxH5EntrustRequest.getReturnAppid());
|
||||||
|
|||||||
Reference in New Issue
Block a user