张延森 2 лет назад
Родитель
Сommit
3fc8336b03

+ 8
- 5
src/main/java/com/yunzhi/nanyang/common/WxPayUtils.java Просмотреть файл

@@ -1,12 +1,10 @@
1 1
 package com.yunzhi.nanyang.common;
2 2
 
3
-import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
4 3
 import com.github.binarywang.wxpay.bean.request.WxPayRefundV3Request;
5 4
 import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderV3Request;
6 5
 import com.github.binarywang.wxpay.bean.result.WxPayRefundV3Result;
7 6
 import com.github.binarywang.wxpay.bean.result.WxPayUnifiedOrderV3Result;
8 7
 import com.github.binarywang.wxpay.bean.result.enums.TradeTypeEnum;
9
-import com.github.binarywang.wxpay.constant.WxPayConstants;
10 8
 import com.github.binarywang.wxpay.exception.WxPayException;
11 9
 import com.github.binarywang.wxpay.service.WxPayService;
12 10
 import com.yunzhi.nanyang.config.WeixinConfig;
@@ -34,15 +32,20 @@ public class WxPayUtils {
34 32
      * @return
35 33
      * @throws Exception
36 34
      */
37
-    public WxPayUnifiedOrderV3Result.JsapiResult createOrder(WxPayUnifiedOrderV3Request request) throws WxPayException {
35
+    public WxPayUnifiedOrderV3Result.JsapiResult createOrder(WxPayUnifiedOrderV3Request request, String client) throws WxPayException {
38 36
         // 北京时间
39 37
         LocalDateTime now = LocalDateTime.now(ZoneOffset.ofHours(8));
40 38
         WxPayService payService = wxUtils.getPayService();
41 39
 
42 40
         request.setNotifyUrl(servBase + "/wxpay/notify/order");
43 41
 
44
-        WxPayUnifiedOrderV3Result wxPayUnifiedOrderV3Result = payService.unifiedOrderV3(TradeTypeEnum.JSAPI, request);
45
-        return wxPayUnifiedOrderV3Result.getPayInfo(TradeTypeEnum.JSAPI, request.getAppid(), request.getMchid(), payService.getConfig().getPrivateKey());
42
+        TradeTypeEnum tradeType = TradeTypeEnum.JSAPI;
43
+        if ("ios".equals(client) || "android".equals(client)) {
44
+            tradeType = TradeTypeEnum.APP;
45
+        }
46
+
47
+        WxPayUnifiedOrderV3Result wxPayUnifiedOrderV3Result = payService.unifiedOrderV3(tradeType, request);
48
+        return wxPayUnifiedOrderV3Result.getPayInfo(tradeType, request.getAppid(), request.getMchid(), payService.getConfig().getPrivateKey());
46 49
     }
47 50
 
48 51
     /**

+ 1
- 1
src/main/java/com/yunzhi/nanyang/service/ITaPayService.java Просмотреть файл

@@ -10,7 +10,7 @@ public interface ITaPayService extends IBaseService<TaPay> {
10 10
 
11 11
     WxPayUnifiedOrderV3Result.JsapiResult createPay(String client, String clientId, TaOrder taOrder) throws Exception;
12 12
 
13
-    WxPayUnifiedOrderV3Result.JsapiResult prePay(TaPay taPay) throws Exception;
13
+    WxPayUnifiedOrderV3Result.JsapiResult prePay(TaPay taPay, String client) throws Exception;
14 14
 
15 15
     TaPay getByOrderNo(String orderNo);
16 16
 

+ 3
- 3
src/main/java/com/yunzhi/nanyang/service/impl/TaPayServiceImpl.java Просмотреть файл

@@ -70,7 +70,7 @@ public class TaPayServiceImpl extends BaseServiceImpl<TaPayMapper, TaPay> implem
70 70
         }
71 71
 
72 72
         try {
73
-            WxPayUnifiedOrderV3Result.JsapiResult jsapiResult = prePay(taPay);
73
+            WxPayUnifiedOrderV3Result.JsapiResult jsapiResult = prePay(taPay, client);
74 74
             if (StringUtils.isEmpty(taPay.getPayId())) {
75 75
                 taPay.setPayId(StringUtils.uuid());
76 76
                 if (!save(taPay)) {
@@ -104,7 +104,7 @@ public class TaPayServiceImpl extends BaseServiceImpl<TaPayMapper, TaPay> implem
104 104
     }
105 105
 
106 106
     @Override
107
-    public WxPayUnifiedOrderV3Result.JsapiResult prePay(TaPay taPay) throws WxPayException {
107
+    public WxPayUnifiedOrderV3Result.JsapiResult prePay(TaPay taPay, String client) throws WxPayException {
108 108
         // 生成订单
109 109
         if ("wx".equals(taPay.getPayType())) {
110 110
             WxPayUnifiedOrderV3Request.Amount amount = new  WxPayUnifiedOrderV3Request.Amount();
@@ -119,7 +119,7 @@ public class TaPayServiceImpl extends BaseServiceImpl<TaPayMapper, TaPay> implem
119 119
             req.setAmount(amount);
120 120
             req.setPayer(payer);
121 121
 
122
-            return wxPayUtils.createOrder(req);
122
+            return wxPayUtils.createOrder(req, client);
123 123
         }
124 124
 
125 125
         return null;

+ 1
- 1
src/main/resources/application.yml Просмотреть файл

@@ -38,7 +38,7 @@ sms:
38 38
 
39 39
 ###
40 40
 hatc:
41
-  ### 海康接口服务, 自己写的
41
+  ### 海康接口服务
42 42
   apiServer: http://localhost:7081
43 43
 
44 44
 ###