From f788607ff771a47bc60d6a86e00b3433c40f3d2c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 24 九月 2021 15:22:03 +0800
Subject: [PATCH] 接入视频直播

---
 src/main/java/com/yeshi/buwan/util/user/VipUtil.java |   78 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 75 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/util/user/VipUtil.java b/src/main/java/com/yeshi/buwan/util/user/VipUtil.java
index 98e71a7..3fb3fd2 100644
--- a/src/main/java/com/yeshi/buwan/util/user/VipUtil.java
+++ b/src/main/java/com/yeshi/buwan/util/user/VipUtil.java
@@ -1,9 +1,16 @@
 package com.yeshi.buwan.util.user;
 
 import com.alipay.api.AlipayApiException;
+import com.yeshi.buwan.domain.vip.OrderType;
+import com.yeshi.buwan.util.Constant;
+import org.apache.commons.io.IOUtils;
 import org.yeshi.utils.alipay.AlipayH5PayUtil;
 import org.yeshi.utils.entity.alipay.AlipayAppInfo;
+import org.yeshi.utils.entity.wx.WXAPPInfo;
+import org.yeshi.utils.entity.wx.WXPlaceOrderParams;
+import org.yeshi.utils.wx.WXPayV3Util;
 
+import java.io.FileInputStream;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.util.Properties;
@@ -28,17 +35,53 @@
     }
 
     /**
+     * 鑾峰彇寰俊app
+     *
+     * @return
+     */
+
+    public static WXAPPInfo getWXAPP() {
+        String privateKey = "";
+        try {
+            String content = IOUtils.toString(VipUtil.class.getClassLoader().getResourceAsStream("wx/apiclient_key.pem"));
+            privateKey = content.replace("-----BEGIN PRIVATE KEY-----", "")
+                    .replace("-----END PRIVATE KEY-----", "")
+                    .replaceAll("\\s+", "");
+        } catch (Exception e) {
+
+        }
+
+        Properties properties = new Properties();
+        try {
+            properties.load(VipUtil.class.getClassLoader().getResourceAsStream("wxpay.properties"));
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        String appId = properties.getProperty("app_id");
+        String mchId = properties.getProperty("mch_id");
+        String mchSerialNo = properties.getProperty("mch_serial_no");
+        String apiV3Key = properties.getProperty("api_v3_key");
+
+        WXAPPInfo app = new WXAPPInfo(appId, mchId, mchSerialNo, privateKey, apiV3Key);
+
+        return app;
+    }
+
+    /**
      * 鑾峰彇浼氬憳鍏呭�兼敮浠樺疂鏀粯琛ㄥ崟
      *
      * @param orderNo
      * @param money
      * @return
      */
-    public static String getVipChargeAlipayForm(String orderNo, BigDecimal money) {
+    public static String getVipChargeAlipayForm(String id, OrderType orderType, String orderNo, BigDecimal money) {
         try {
             String goodsTitle = "褰辫澶у叏浼氬憳鍏呭��";
-            String returnUrl = "http://vip.ysdq.yeshitv.com";
-            String notifyUrl = "http://193.112.34.40:8089/BuWan/alipay/pay";
+            if (orderType == OrderType.video) {
+                goodsTitle = "褰辫澶у叏鍗曠墖璐拱";
+            }
+            String returnUrl = getPaySuccessUrl(id);
+            String notifyUrl = Constant.HOST + "/BuWan/alipay/pay";
             AlipayAppInfo appInfo = getAlipayApp();
             String form = AlipayH5PayUtil.createOrderForm(appInfo, orderNo, money, goodsTitle, returnUrl, notifyUrl);
             return form;
@@ -49,4 +92,33 @@
     }
 
 
+    public static String getPaySuccessUrl(String id) {
+        return "http://vip.ysdq.yeshitv.com/pay_success.html?id=" + id;
+    }
+
+
+    /**
+     * 寰俊涓嬪崟
+     *
+     * @param ip
+     * @param orderNo
+     * @param money
+     * @param title
+     * @return
+     * @throws Exception
+     */
+    public static String createWXOrder(String id, String ip, String orderNo, BigDecimal money, String title) throws Exception {
+        WXPlaceOrderParams params = new WXPlaceOrderParams();
+        params.setIp(ip);
+        params.setOrderNo(orderNo);
+        params.setNotifyUrl(Constant.HOST + "/BuWan/wx/pay/vip");
+        params.setFee(money);
+        params.setBody(title);
+        params.setApp(getWXAPP());
+        String returnUrl = "http://vip.ysdq.yeshitv.com/pay_finish.html?id=" + id;
+        String payUrl = WXPayV3Util.createH5Order(params, returnUrl);
+        return payUrl;
+    }
+
+
 }

--
Gitblit v1.8.0