#123 支持微信支付的服务商功能

This commit is contained in:
Binary Wang
2017-03-01 23:35:48 +08:00
parent df59fa4906
commit 70a4512030
5 changed files with 108 additions and 0 deletions

View File

@@ -80,6 +80,16 @@ public interface WxMpConfigStorage {
String getAppId();
/**
* 服务商模式下的子商户公众账号ID
*/
String getSubAppId();
/**
* 服务商模式下的子商户号
*/
String getSubMchId();
String getSecret();
String getPartnerId();

View File

@@ -20,6 +20,8 @@ import java.util.concurrent.locks.ReentrantLock;
public class WxMpInMemoryConfigStorage implements WxMpConfigStorage {
protected volatile String appId;
protected volatile String subAppId;
protected volatile String subMchId;
protected volatile String secret;
protected volatile String partnerId;
protected volatile String partnerKey;
@@ -349,4 +351,22 @@ public class WxMpInMemoryConfigStorage implements WxMpConfigStorage {
public boolean useSandboxForWxPay() {
return false;
}
@Override
public String getSubAppId() {
return subAppId;
}
public void setSubAppId(String subAppId) {
this.subAppId = subAppId;
}
@Override
public String getSubMchId() {
return subMchId;
}
public void setSubMchId(String subMchId) {
this.subMchId = subMchId;
}
}

View File

@@ -268,9 +268,19 @@ public class WxMpPayServiceImpl implements WxMpPayService {
if (StringUtils.isBlank(request.getAppid())) {
request.setAppid(getConfig().getAppId());
}
if (StringUtils.isBlank(request.getMchId())) {
request.setMchId(getConfig().getPartnerId());
}
if (StringUtils.isBlank(request.getSubAppId())) {
request.setAppid(getConfig().getSubAppId());
}
if (StringUtils.isBlank(request.getSubMchId())) {
request.setMchId(getConfig().getSubMchId());
}
if (StringUtils.isBlank(request.getNonceStr())) {
request.setNonceStr(String.valueOf(System.currentTimeMillis()));
}