优化代码

This commit is contained in:
Binary Wang 2017-10-30 10:52:54 +08:00
parent 05a680c98b
commit 5231f8c969

View File

@ -213,14 +213,13 @@ public abstract class WxPayServiceAbstractImpl implements WxPayService {
String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
String nonceStr = String.valueOf(System.currentTimeMillis());
Object payResult = null;
switch (request.getTradeType()) {
case TradeType.NATIVE: {
payResult = WxPayNativeOrderResult.builder()
return (T) WxPayNativeOrderResult.builder()
.codeUrl(unifiedOrderResult.getCodeURL())
.build();
break;
}
case TradeType.APP: {
// APP支付绑定的是微信开放平台上的账号APPID为开放平台上绑定APP后发放的参数
String appId = this.getConfig().getAppId();
@ -235,7 +234,7 @@ public abstract class WxPayServiceAbstractImpl implements WxPayService {
configMap.put("noncestr", nonceStr);
configMap.put("appid", appId);
payResult = WxPayAppOrderResult.builder()
return (T) WxPayAppOrderResult.builder()
.sign(SignUtils.createSign(configMap, null, this.getConfig().getMchKey(), false))
.prepayId(prepayId)
.partnerId(partnerId)
@ -244,26 +243,33 @@ public abstract class WxPayServiceAbstractImpl implements WxPayService {
.timeStamp(timestamp)
.nonceStr(nonceStr)
.build();
break;
}
case TradeType.JSAPI: {
payResult = WxPayMpOrderResult.builder()
String signType = SignType.MD5;
WxPayMpOrderResult payResult = WxPayMpOrderResult.builder()
.appId(unifiedOrderResult.getAppid())
.timeStamp(timestamp)
.nonceStr(nonceStr)
.packageValue("prepay_id=" + prepayId)
.signType(SignType.MD5)
.signType(signType)
.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: {
throw new WxPayException("该交易类型暂不支持");
}
}
return (T) payResult;
}
@Override