Bladeren bron

优化代码

master
Binary Wang 7 jaren geleden
bovenliggende
commit
5231f8c969
1 gewijzigde bestanden met toevoegingen van 17 en 11 verwijderingen
  1. +17
    -11
      weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceAbstractImpl.java

+ 17
- 11
weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceAbstractImpl.java Bestand weergeven

@@ -213,14 +213,13 @@ public abstract class WxPayServiceAbstractImpl implements WxPayService {


String timestamp = String.valueOf(System.currentTimeMillis() / 1000); String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
String nonceStr = String.valueOf(System.currentTimeMillis()); String nonceStr = String.valueOf(System.currentTimeMillis());
Object payResult = null;
switch (request.getTradeType()) { switch (request.getTradeType()) {
case TradeType.NATIVE: { case TradeType.NATIVE: {
payResult = WxPayNativeOrderResult.builder()
return (T) WxPayNativeOrderResult.builder()
.codeUrl(unifiedOrderResult.getCodeURL()) .codeUrl(unifiedOrderResult.getCodeURL())
.build(); .build();
break;
} }

case TradeType.APP: { case TradeType.APP: {
// APP支付绑定的是微信开放平台上的账号,APPID为开放平台上绑定APP后发放的参数 // APP支付绑定的是微信开放平台上的账号,APPID为开放平台上绑定APP后发放的参数
String appId = this.getConfig().getAppId(); String appId = this.getConfig().getAppId();
@@ -235,7 +234,7 @@ public abstract class WxPayServiceAbstractImpl implements WxPayService {
configMap.put("noncestr", nonceStr); configMap.put("noncestr", nonceStr);
configMap.put("appid", appId); configMap.put("appid", appId);


payResult = WxPayAppOrderResult.builder()
return (T) WxPayAppOrderResult.builder()
.sign(SignUtils.createSign(configMap, null, this.getConfig().getMchKey(), false)) .sign(SignUtils.createSign(configMap, null, this.getConfig().getMchKey(), false))
.prepayId(prepayId) .prepayId(prepayId)
.partnerId(partnerId) .partnerId(partnerId)
@@ -244,26 +243,33 @@ public abstract class WxPayServiceAbstractImpl implements WxPayService {
.timeStamp(timestamp) .timeStamp(timestamp)
.nonceStr(nonceStr) .nonceStr(nonceStr)
.build(); .build();
break;
} }

case TradeType.JSAPI: { case TradeType.JSAPI: {
payResult = WxPayMpOrderResult.builder()
String signType = SignType.MD5;
WxPayMpOrderResult payResult = WxPayMpOrderResult.builder()
.appId(unifiedOrderResult.getAppid()) .appId(unifiedOrderResult.getAppid())
.timeStamp(timestamp) .timeStamp(timestamp)
.nonceStr(nonceStr) .nonceStr(nonceStr)
.packageValue("prepay_id=" + prepayId) .packageValue("prepay_id=" + prepayId)
.signType(SignType.MD5)
.signType(signType)
.build(); .build();
((WxPayMpOrderResult) payResult)
.setPaySign(SignUtils.createSign(payResult, null, this.getConfig().getMchKey(), false));
break;

payResult.setPaySign(
SignUtils.createSign(
payResult,
signType,
this.getConfig().getMchKey(),
false)
);
return (T) payResult;
} }

default: { default: {
throw new WxPayException("该交易类型暂不支持"); throw new WxPayException("该交易类型暂不支持");
} }
} }


return (T) payResult;
} }


@Override @Override


Laden…
Annuleren
Opslaan