mirror of
				https://gitee.com/binary/weixin-java-tools.git
				synced 2025-10-31 02:28:25 +08:00 
			
		
		
		
	#123 支持微信支付的服务商功能
This commit is contained in:
		| @ -80,6 +80,16 @@ public interface WxMpConfigStorage { | ||||
|  | ||||
|   String getAppId(); | ||||
|  | ||||
|   /** | ||||
|    * 服务商模式下的子商户公众账号ID | ||||
|    */ | ||||
|   String getSubAppId(); | ||||
|  | ||||
|   /** | ||||
|    * 服务商模式下的子商户号 | ||||
|    */ | ||||
|   String getSubMchId(); | ||||
|  | ||||
|   String getSecret(); | ||||
|  | ||||
|   String getPartnerId(); | ||||
|  | ||||
| @ -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; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -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())); | ||||
|     } | ||||
|  | ||||
| @ -47,6 +47,32 @@ public abstract class WxPayBaseRequest { | ||||
|    */ | ||||
|   @XStreamAlias("mch_id") | ||||
|   protected String mchId; | ||||
|  | ||||
|   /** | ||||
|    * <pre> | ||||
|    * 服务商模式下的子商户公众账号ID | ||||
|    * sub_appid | ||||
|    * 是 | ||||
|    * String(32) | ||||
|    * wxd678efh567hg6787 | ||||
|    * 微信分配的子商户公众账号ID | ||||
|    * </pre> | ||||
|    */ | ||||
|   @XStreamAlias("sub_appid") | ||||
|   protected String subAppId; | ||||
|  | ||||
|   /** | ||||
|    * <pre> | ||||
|    * 服务商模式下的子商户号 | ||||
|    * sub_mch_id | ||||
|    * 是 | ||||
|    * String(32) | ||||
|    * 1230000109 | ||||
|    * 微信支付分配的子商户号,开发者模式下必填 | ||||
|    * </pre> | ||||
|    */ | ||||
|   @XStreamAlias("sub_mch_id") | ||||
|   protected String subMchId; | ||||
|   /** | ||||
|    * <pre> | ||||
|    * 随机字符串 | ||||
| @ -128,6 +154,22 @@ public abstract class WxPayBaseRequest { | ||||
|     this.sign = sign; | ||||
|   } | ||||
|  | ||||
|   public String getSubAppId() { | ||||
|     return subAppId; | ||||
|   } | ||||
|  | ||||
|   public void setSubAppId(String subAppId) { | ||||
|     this.subAppId = subAppId; | ||||
|   } | ||||
|  | ||||
|   public String getSubMchId() { | ||||
|     return subMchId; | ||||
|   } | ||||
|  | ||||
|   public void setSubMchId(String subMchId) { | ||||
|     this.subMchId = subMchId; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public String toString() { | ||||
|     return ToStringUtils.toSimpleString(this); | ||||
|  | ||||
| @ -61,6 +61,16 @@ public abstract class WxPayBaseResult { | ||||
|    */ | ||||
|   @XStreamAlias("mch_id") | ||||
|   private String mchId; | ||||
|   /** | ||||
|    * 服务商模式下的子公众账号ID | ||||
|    */ | ||||
|   @XStreamAlias("appid") | ||||
|   private String subAppId; | ||||
|   /** | ||||
|    * 服务商模式下的子商户号 | ||||
|    */ | ||||
|   @XStreamAlias("sub_mch_id") | ||||
|   private String subMchId; | ||||
|   /** | ||||
|    * 随机字符串 | ||||
|    */ | ||||
| @ -181,6 +191,22 @@ public abstract class WxPayBaseResult { | ||||
|     this.sign = sign; | ||||
|   } | ||||
|  | ||||
|   public String getSubAppId() { | ||||
|     return subAppId; | ||||
|   } | ||||
|  | ||||
|   public void setSubAppId(String subAppId) { | ||||
|     this.subAppId = subAppId; | ||||
|   } | ||||
|  | ||||
|   public String getSubMchId() { | ||||
|     return subMchId; | ||||
|   } | ||||
|  | ||||
|   public void setSubMchId(String subMchId) { | ||||
|     this.subMchId = subMchId; | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * 将bean通过保存的xml字符串转换成map | ||||
|    */ | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Binary Wang
					Binary Wang