From f9691d544e62d6c04dbfe45d05a6c7bc5e004291 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 29 十二月 2023 11:52:29 +0800 Subject: [PATCH] 服务商 --- server/services/src/main/java/com/doumee/core/wx/WxMiniConfig.java | 81 ++++++++++++++++++++++++++-------------- 1 files changed, 52 insertions(+), 29 deletions(-) diff --git a/server/services/src/main/java/com/doumee/core/wx/WxMiniConfig.java b/server/services/src/main/java/com/doumee/core/wx/WxMiniConfig.java index 237c8fd..6c48947 100644 --- a/server/services/src/main/java/com/doumee/core/wx/WxMiniConfig.java +++ b/server/services/src/main/java/com/doumee/core/wx/WxMiniConfig.java @@ -8,25 +8,35 @@ import com.github.binarywang.wxpay.constant.WxPayConstants; import com.github.binarywang.wxpay.service.WxPayService; import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl; +import com.wechat.pay.java.core.Config; +import com.wechat.pay.java.core.RSAAutoCertificateConfig; +import com.wechat.pay.java.service.billdownload.BillDownloadService; +import com.wechat.pay.java.service.partnerpayments.jsapi.JsapiService; +import com.wechat.pay.java.service.partnerpayments.jsapi.JsapiServiceExtension; +import com.wechat.pay.java.service.refund.RefundService; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import javax.annotation.PostConstruct; + /** * 寰俊灏忕▼搴忕粍浠� */ @Configuration +@Slf4j public class WxMiniConfig { /********寰俊灏忕▼搴忔湇鍔�**********/ public static WxMaService wxMaService; /********寰俊灏忕▼搴忔敮浠�**********/ - /********寰俊APP鏀粯**********/ - public static WxPayService wxAppPayService; - - public static WxPayService wxPayService; - + public static JsapiService wxPayService; + public static WxPayService wxPayV2Service; + public static RefundService refundService; + public static JsapiServiceExtension jsapiExtService; + public static BillDownloadService billDownloadService; + public static WxPayProperties wxProperties; @Autowired private WxPayProperties wxPayProperties; @@ -38,57 +48,70 @@ void init() { this.load_WxMaService(); this.load_wxPayService(); -// this.load_wxAppPayService(); + this.load_wxPayV2Service(); + this.wxProperties = wxPayProperties; } /** * 鍒濆鍖栧井淇″皬绋嬪簭 */ public void load_WxMaService() { WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl(); - config.setAppid(StringUtils.trimToNull(wxPayProperties.getAppId())); - config.setSecret(StringUtils.trimToNull(wxPayProperties.getAppSecret())); + if(wxPayProperties.getExistsSub() ==1){ + //濡傛灉鏄湇鍔″晢鏀粯,鍙栧瓙鍟嗘埛淇℃伅 + config.setAppid(StringUtils.trimToNull(wxPayProperties.getSubAppId())); + config.setSecret(StringUtils.trimToNull(wxPayProperties.getSubAppSecret())); + }else { + config.setAppid(StringUtils.trimToNull(wxPayProperties.getAppId())); + config.setSecret(StringUtils.trimToNull(wxPayProperties.getAppSecret())); + } config.setMsgDataFormat("JSON"); //config.setToken(""); //config.setAesKey(""); WxMaService wxMaService = new WxMaServiceImpl(); wxMaService.setWxMaConfig(config); this.wxMaService = wxMaService; + + + } /** * 鍒濆鍖栧井淇″皬绋嬪簭鏀粯 */ - public void load_wxPayService() { + public void load_wxPayService() + { + Config config = + new RSAAutoCertificateConfig.Builder() + .merchantId(wxPayProperties.getMchId()) + .privateKeyFromPath(wxPayProperties.getPrivateKeyPath()) + .merchantSerialNumber(wxPayProperties.getSerialNumer()) + .apiV3Key(wxPayProperties.getApiV3Key()) + .build(); + this.wxPayService = new JsapiService.Builder().config(config).build(); + + this.jsapiExtService = new JsapiServiceExtension.Builder().config(config).build(); + this.refundService = new RefundService.Builder().config(config).build(); + this.billDownloadService = new BillDownloadService.Builder().config(config).build();; + } + /** + * 鍒濆鍖栧井淇″皬绋嬪簭鏀粯 + */ + public void load_wxPayV2Service() + { WxPayConfig payConfig = new WxPayConfig(); payConfig.setTradeType(WxPayConstants.TradeType.JSAPI); payConfig.setSignType(WxPayConstants.SignType.MD5); payConfig.setAppId(StringUtils.trimToNull(wxPayProperties.getAppId())); + payConfig.setSubAppId(StringUtils.trimToNull(wxPayProperties.getSubAppId())); payConfig.setMchId(StringUtils.trimToNull(wxPayProperties.getMchId())); + payConfig.setSubMchId(StringUtils.trimToNull(wxPayProperties.getSubMchId())); payConfig.setMchKey(StringUtils.trimToNull(wxPayProperties.getMchKey())); - payConfig.setKeyPath(StringUtils.trimToNull(wxPayProperties.getKeyPath())); +// payConfig.setKeyPath(StringUtils.trimToNull(wxPayProperties.getKeyPath())); payConfig.setNotifyUrl(StringUtils.trimToNull(wxPayProperties.getNotifyUrl())); WxPayService wxPayService = new WxPayServiceImpl(); wxPayService.setConfig(payConfig); - this.wxPayService = wxPayService; + this.wxPayV2Service = wxPayService; } - - -// /** -// * 鍒濆鍖朅pp鏀粯 -// */ -// public void load_wxAppPayService() { -// WxPayConfig payConfig = new WxPayConfig(); -// payConfig.setTradeType(WxPayConstants.TradeType.APP); -// payConfig.setSignType(WxPayConstants.SignType.MD5); -// payConfig.setAppId(""); -// payConfig.setMchId(StringUtils.trimToNull(sysDictService.getSysDictValue(SysDictEnum.WX_MINI_MchId.getCode()))); -// payConfig.setMchKey(StringUtils.trimToNull(sysDictService.getSysDictValue(SysDictEnum.WX_MINI_MchKey.getCode()))); -// payConfig.setKeyPath(StringUtils.trimToNull(sysDictService.getSysDictValue(SysDictEnum.WX_MINI_KeyPath.getCode()))); -// payConfig.setNotifyUrl(StringUtils.trimToNull(sysDictService.getSysDictValue(SysDictEnum.WX_MINI_NotifyUrl.getCode()))); -// WxPayService wxPayService = new WxPayServiceImpl(); -// wxPayService.setConfig(payConfig); -// this.wxAppPayService = wxPayService; -// } } -- Gitblit v1.9.3