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(); |   String getAppId(); | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * 服务商模式下的子商户公众账号ID | ||||||
|  |    */ | ||||||
|  |   String getSubAppId(); | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * 服务商模式下的子商户号 | ||||||
|  |    */ | ||||||
|  |   String getSubMchId(); | ||||||
|  |  | ||||||
|   String getSecret(); |   String getSecret(); | ||||||
|  |  | ||||||
|   String getPartnerId(); |   String getPartnerId(); | ||||||
|  | |||||||
| @ -20,6 +20,8 @@ import java.util.concurrent.locks.ReentrantLock; | |||||||
| public class WxMpInMemoryConfigStorage implements WxMpConfigStorage { | public class WxMpInMemoryConfigStorage implements WxMpConfigStorage { | ||||||
|  |  | ||||||
|   protected volatile String appId; |   protected volatile String appId; | ||||||
|  |   protected volatile String subAppId; | ||||||
|  |   protected volatile String subMchId; | ||||||
|   protected volatile String secret; |   protected volatile String secret; | ||||||
|   protected volatile String partnerId; |   protected volatile String partnerId; | ||||||
|   protected volatile String partnerKey; |   protected volatile String partnerKey; | ||||||
| @ -349,4 +351,22 @@ public class WxMpInMemoryConfigStorage implements WxMpConfigStorage { | |||||||
|   public boolean useSandboxForWxPay() { |   public boolean useSandboxForWxPay() { | ||||||
|     return false; |     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())) { |     if (StringUtils.isBlank(request.getAppid())) { | ||||||
|       request.setAppid(getConfig().getAppId()); |       request.setAppid(getConfig().getAppId()); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     if (StringUtils.isBlank(request.getMchId())) { |     if (StringUtils.isBlank(request.getMchId())) { | ||||||
|       request.setMchId(getConfig().getPartnerId()); |       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())) { |     if (StringUtils.isBlank(request.getNonceStr())) { | ||||||
|       request.setNonceStr(String.valueOf(System.currentTimeMillis())); |       request.setNonceStr(String.valueOf(System.currentTimeMillis())); | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -47,6 +47,32 @@ public abstract class WxPayBaseRequest { | |||||||
|    */ |    */ | ||||||
|   @XStreamAlias("mch_id") |   @XStreamAlias("mch_id") | ||||||
|   protected String mchId; |   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> |    * <pre> | ||||||
|    * 随机字符串 |    * 随机字符串 | ||||||
| @ -128,6 +154,22 @@ public abstract class WxPayBaseRequest { | |||||||
|     this.sign = sign; |     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 |   @Override | ||||||
|   public String toString() { |   public String toString() { | ||||||
|     return ToStringUtils.toSimpleString(this); |     return ToStringUtils.toSimpleString(this); | ||||||
|  | |||||||
| @ -61,6 +61,16 @@ public abstract class WxPayBaseResult { | |||||||
|    */ |    */ | ||||||
|   @XStreamAlias("mch_id") |   @XStreamAlias("mch_id") | ||||||
|   private String mchId; |   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; |     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 |    * 将bean通过保存的xml字符串转换成map | ||||||
|    */ |    */ | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Binary Wang
					Binary Wang