张延森 2 年之前
父節點
當前提交
3fc8336b03

+ 8
- 5
src/main/java/com/yunzhi/nanyang/common/WxPayUtils.java 查看文件

1
 package com.yunzhi.nanyang.common;
1
 package com.yunzhi.nanyang.common;
2
 
2
 
3
-import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
4
 import com.github.binarywang.wxpay.bean.request.WxPayRefundV3Request;
3
 import com.github.binarywang.wxpay.bean.request.WxPayRefundV3Request;
5
 import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderV3Request;
4
 import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderV3Request;
6
 import com.github.binarywang.wxpay.bean.result.WxPayRefundV3Result;
5
 import com.github.binarywang.wxpay.bean.result.WxPayRefundV3Result;
7
 import com.github.binarywang.wxpay.bean.result.WxPayUnifiedOrderV3Result;
6
 import com.github.binarywang.wxpay.bean.result.WxPayUnifiedOrderV3Result;
8
 import com.github.binarywang.wxpay.bean.result.enums.TradeTypeEnum;
7
 import com.github.binarywang.wxpay.bean.result.enums.TradeTypeEnum;
9
-import com.github.binarywang.wxpay.constant.WxPayConstants;
10
 import com.github.binarywang.wxpay.exception.WxPayException;
8
 import com.github.binarywang.wxpay.exception.WxPayException;
11
 import com.github.binarywang.wxpay.service.WxPayService;
9
 import com.github.binarywang.wxpay.service.WxPayService;
12
 import com.yunzhi.nanyang.config.WeixinConfig;
10
 import com.yunzhi.nanyang.config.WeixinConfig;
34
      * @return
32
      * @return
35
      * @throws Exception
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
         LocalDateTime now = LocalDateTime.now(ZoneOffset.ofHours(8));
37
         LocalDateTime now = LocalDateTime.now(ZoneOffset.ofHours(8));
40
         WxPayService payService = wxUtils.getPayService();
38
         WxPayService payService = wxUtils.getPayService();
41
 
39
 
42
         request.setNotifyUrl(servBase + "/wxpay/notify/order");
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
 
10
 
11
     WxPayUnifiedOrderV3Result.JsapiResult createPay(String client, String clientId, TaOrder taOrder) throws Exception;
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
     TaPay getByOrderNo(String orderNo);
15
     TaPay getByOrderNo(String orderNo);
16
 
16
 

+ 3
- 3
src/main/java/com/yunzhi/nanyang/service/impl/TaPayServiceImpl.java 查看文件

70
         }
70
         }
71
 
71
 
72
         try {
72
         try {
73
-            WxPayUnifiedOrderV3Result.JsapiResult jsapiResult = prePay(taPay);
73
+            WxPayUnifiedOrderV3Result.JsapiResult jsapiResult = prePay(taPay, client);
74
             if (StringUtils.isEmpty(taPay.getPayId())) {
74
             if (StringUtils.isEmpty(taPay.getPayId())) {
75
                 taPay.setPayId(StringUtils.uuid());
75
                 taPay.setPayId(StringUtils.uuid());
76
                 if (!save(taPay)) {
76
                 if (!save(taPay)) {
104
     }
104
     }
105
 
105
 
106
     @Override
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
         if ("wx".equals(taPay.getPayType())) {
109
         if ("wx".equals(taPay.getPayType())) {
110
             WxPayUnifiedOrderV3Request.Amount amount = new  WxPayUnifiedOrderV3Request.Amount();
110
             WxPayUnifiedOrderV3Request.Amount amount = new  WxPayUnifiedOrderV3Request.Amount();
119
             req.setAmount(amount);
119
             req.setAmount(amount);
120
             req.setPayer(payer);
120
             req.setPayer(payer);
121
 
121
 
122
-            return wxPayUtils.createOrder(req);
122
+            return wxPayUtils.createOrder(req, client);
123
         }
123
         }
124
 
124
 
125
         return null;
125
         return null;

+ 1
- 1
src/main/resources/application.yml 查看文件

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