浏览代码

微信支付对象注入

liweifan 3 年之前
父节点
当前提交
d75f0d13bf

+ 2 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VipCardRecordServiceImpl.java

@@ -100,8 +100,7 @@ public class VipCardRecordServiceImpl extends ServiceImpl<VipCardRecordDao, VipC
         try {
         try {
             String url = sysMessageService.selectConfigUrl(MessageTypeEnum.SMS_VIP_EXPIRE_THIRTY_DAY.getCode());
             String url = sysMessageService.selectConfigUrl(MessageTypeEnum.SMS_VIP_EXPIRE_THIRTY_DAY.getCode());
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_VIP_EXPIRE_THIRTY_DAY,
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_VIP_EXPIRE_THIRTY_DAY,
-                    receivers, null, 0, url, ClientEnum.STUDENT.getCode() );
-                    receivers, null, 0, null, ClientEnum.TEACHER.getCode() ,url);
+                    receivers, null, 0, null, ClientEnum.STUDENT.getCode() ,url);
         } catch (Exception e) {
         } catch (Exception e) {
             log.error("会员到期3天短信消息推送异常,userId={}", userId);
             log.error("会员到期3天短信消息推送异常,userId={}", userId);
         }
         }
@@ -122,8 +121,7 @@ public class VipCardRecordServiceImpl extends ServiceImpl<VipCardRecordDao, VipC
         try {
         try {
             String url = sysMessageService.selectConfigUrl(MessageTypeEnum.SMS_VIP_EXPIRE.getCode());
             String url = sysMessageService.selectConfigUrl(MessageTypeEnum.SMS_VIP_EXPIRE.getCode());
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_VIP_EXPIRE,
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_VIP_EXPIRE,
-                    receivers, null, 0, url, ClientEnum.STUDENT.getCode());
-                    receivers, null, 0, null, ClientEnum.TEACHER.getCode(),url);
+                    receivers, null, 0, null, ClientEnum.STUDENT.getCode(),url);
         } catch (Exception e) {
         } catch (Exception e) {
             log.error("会员到期3天短信消息推送异常,userId={}", userId);
             log.error("会员到期3天短信消息推送异常,userId={}", userId);
         }
         }

+ 1 - 1
toolset/toolset-payment/src/main/java/com/yonge/toolset/payment/original/wx/OriginalWxAppTemplate.java

@@ -40,7 +40,7 @@ public class OriginalWxAppTemplate implements PaymentTemplate {
     @Autowired
     @Autowired
     private SysConfigPaymentService configPaymentService;
     private SysConfigPaymentService configPaymentService;
 
 
-    //@Autowired
+    @Autowired
     private CloseableHttpClient httpClient;
     private CloseableHttpClient httpClient;
 
 
     @Override
     @Override

+ 26 - 14
toolset/toolset-payment/src/main/java/com/yonge/toolset/payment/original/wx/config/WxpayConfiguration.java

@@ -1,10 +1,7 @@
 package com.yonge.toolset.payment.original.wx.config;
 package com.yonge.toolset.payment.original.wx.config;
 
 
 import com.wechat.pay.contrib.apache.httpclient.WechatPayHttpClientBuilder;
 import com.wechat.pay.contrib.apache.httpclient.WechatPayHttpClientBuilder;
-import com.wechat.pay.contrib.apache.httpclient.auth.PrivateKeySigner;
-import com.wechat.pay.contrib.apache.httpclient.auth.Verifier;
-import com.wechat.pay.contrib.apache.httpclient.auth.WechatPay2Credentials;
-import com.wechat.pay.contrib.apache.httpclient.auth.WechatPay2Validator;
+import com.wechat.pay.contrib.apache.httpclient.auth.*;
 import com.wechat.pay.contrib.apache.httpclient.cert.CertificatesManager;
 import com.wechat.pay.contrib.apache.httpclient.cert.CertificatesManager;
 import com.wechat.pay.contrib.apache.httpclient.util.PemUtil;
 import com.wechat.pay.contrib.apache.httpclient.util.PemUtil;
 import com.yonge.toolset.payment.base.enums.OpenEnum;
 import com.yonge.toolset.payment.base.enums.OpenEnum;
@@ -34,35 +31,50 @@ public class WxpayConfiguration {
      * @updateTime 2022/5/12 14:16
      * @updateTime 2022/5/12 14:16
      * @return: com.alipay.api.AlipayClient
      * @return: com.alipay.api.AlipayClient
      */
      */
-    //@Bean
+    @Bean
     public CloseableHttpClient closeableHttpClient() throws Exception{
     public CloseableHttpClient closeableHttpClient() throws Exception{
         String merchantId = configPaymentService.getPaymentConfig(OpenEnum.ORIGINAL, WxpayConstant.WX_MERCHANT_ID).getParamValue();
         String merchantId = configPaymentService.getPaymentConfig(OpenEnum.ORIGINAL, WxpayConstant.WX_MERCHANT_ID).getParamValue();
         String merchantSerialNumber = configPaymentService.getPaymentConfig(OpenEnum.ORIGINAL, WxpayConstant.WX_MERCHANT_SERIAL_NUMBER).getParamValue();
         String merchantSerialNumber = configPaymentService.getPaymentConfig(OpenEnum.ORIGINAL, WxpayConstant.WX_MERCHANT_SERIAL_NUMBER).getParamValue();
-        String merchantPrivateKey = configPaymentService.getPaymentConfig(OpenEnum.ORIGINAL, WxpayConstant.WX_MERCHANT_PRIVATE_KEY).getParamValue();
+        String privateKey = configPaymentService.getPaymentConfig(OpenEnum.ORIGINAL, WxpayConstant.WX_MERCHANT_PRIVATE_KEY).getParamValue();
         String apiV3Key = configPaymentService.getPaymentConfig(OpenEnum.ORIGINAL, WxpayConstant.WX_API_V3_KEY).getParamValue();
         String apiV3Key = configPaymentService.getPaymentConfig(OpenEnum.ORIGINAL, WxpayConstant.WX_API_V3_KEY).getParamValue();
 
 
-        PrivateKey privateKey = PemUtil
-                .loadPrivateKey(new ByteArrayInputStream(merchantPrivateKey.getBytes("utf-8")));
+
+        PrivateKey merchantPrivateKey = PemUtil
+                .loadPrivateKey(new ByteArrayInputStream(privateKey.getBytes(StandardCharsets.UTF_8)));
 
 
         // 获取证书管理器实例
         // 获取证书管理器实例
         CertificatesManager certificatesManager = CertificatesManager.getInstance();
         CertificatesManager certificatesManager = CertificatesManager.getInstance();
+
+        WechatPay2Credentials wechatPay2Credentials = new WechatPay2Credentials(merchantId, new PrivateKeySigner(merchantSerialNumber, merchantPrivateKey));
         // 向证书管理器增加需要自动更新平台证书的商户信息
         // 向证书管理器增加需要自动更新平台证书的商户信息
         certificatesManager.putMerchant(merchantId,
         certificatesManager.putMerchant(merchantId,
-                new WechatPay2Credentials(merchantId,
-                    new PrivateKeySigner(merchantSerialNumber, privateKey)),
-                    apiV3Key.getBytes(StandardCharsets.UTF_8)
+                wechatPay2Credentials,
+                apiV3Key.getBytes(StandardCharsets.UTF_8)
         );
         );
 
 
-        //e4128409c23499cf24976233c8327696
-
         // 从证书管理器中获取verifier
         // 从证书管理器中获取verifier
         Verifier verifier = certificatesManager.getVerifier(merchantId);
         Verifier verifier = certificatesManager.getVerifier(merchantId);
 
 
         WechatPayHttpClientBuilder builder = WechatPayHttpClientBuilder.create()
         WechatPayHttpClientBuilder builder = WechatPayHttpClientBuilder.create()
-                .withMerchant(merchantId, merchantSerialNumber, privateKey)
+                .withMerchant(merchantId, merchantSerialNumber, merchantPrivateKey)
                 .withValidator(new WechatPay2Validator(verifier));
                 .withValidator(new WechatPay2Validator(verifier));
 
 
         return builder.build();
         return builder.build();
+        /**
+        // 加载商户私钥(privateKey:私钥字符串)
+        PrivateKey merchantPrivateKey = PemUtil
+                .loadPrivateKey(new ByteArrayInputStream(privateKey.getBytes("utf-8")));
+
+        // 加载平台证书(mchId:商户号,mchSerialNo:商户证书序列号,apiV3Key:V3密钥)
+        AutoUpdateCertificatesVerifier verifier = new AutoUpdateCertificatesVerifier(
+                new WechatPay2Credentials(merchantId, new PrivateKeySigner(merchantSerialNumber, merchantPrivateKey)),apiV3Key.getBytes("utf-8"));
+
+        // 初始化httpClient
+        CloseableHttpClient build = WechatPayHttpClientBuilder.create()
+                .withMerchant(merchantId, merchantSerialNumber, merchantPrivateKey)
+                .withValidator(new WechatPay2Validator(verifier)).build();
+        return build;
+        **/
     }
     }
 
 
 }
 }