张延森 4 年 前
コミット
17635810f6

+ 5
- 4
src/main/java/com/yunzhi/niucai/controller/TaAlipayController.java ファイルの表示

@@ -10,6 +10,7 @@ import com.yunzhi.niucai.common.StringUtils;
10 10
 import com.yunzhi.niucai.entity.TaShop;
11 11
 import com.yunzhi.niucai.entity.TaShopkeeper;
12 12
 import com.yunzhi.niucai.enums.StatusEnum;
13
+import com.yunzhi.niucai.service.ITaOrderService;
13 14
 import com.yunzhi.niucai.service.ITaShopService;
14 15
 import com.yunzhi.niucai.service.ITaShopkeeperService;
15 16
 import com.yunzhi.niucai.vo.AlipayAuthUser;
@@ -48,6 +49,9 @@ public class TaAlipayController extends BaseController {
48 49
     @Autowired
49 50
     private ITaShopkeeperService iTaShopkeeperService;
50 51
 
52
+    @Autowired
53
+    private ITaOrderService iTaOrderService;
54
+
51 55
     @GetMapping("/shop/alipay/appid")
52 56
     @ApiOperation(value="获取平台支付宝应用AppID", notes = "获取平台支付宝应用AppID", httpMethod = "GET", response = SportDicts.class)
53 57
     public ResponseBean getPlatAppID() {
@@ -112,10 +116,7 @@ public class TaAlipayController extends BaseController {
112 116
                 // 支付宝有 CREATE-创建, FINISH- 订单处理已完结, CLOSE-超时关闭
113 117
                 // 三种提醒
114 118
                 if (!"CREATE".equals(actionType)) {
115
-                    String outBizNO = transRes.getString("out_biz_no");
116
-                    String status = transRes.getString("status");
117
-                    String payDate = transRes.getString("pay_date");
118
-
119
+                    iTaOrderService.fundTransNotify(transRes);
119 120
                 }
120 121
 
121 122
             } catch (Exception e) {

+ 9
- 0
src/main/java/com/yunzhi/niucai/service/ITaOrderService.java ファイルの表示

@@ -1,5 +1,6 @@
1 1
 package com.yunzhi.niucai.service;
2 2
 
3
+import com.alibaba.fastjson.JSONObject;
3 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
4 5
 import com.yunzhi.niucai.entity.TaBettingPlan;
5 6
 import com.yunzhi.niucai.entity.TaCustomerBetting;
@@ -29,4 +30,12 @@ public interface ITaOrderService extends IService<TaOrder> {
29 30
     TaOrder getByOutTradeNo(String outTradeNo);
30 31
 
31 32
     TaOrder getByBetting(TaCustomerBetting betting) throws Exception;
33
+
34
+    /**
35
+     * 转账结果提醒
36
+     * https://opendocs.alipay.com/apis/msgapi_60/alipay.fund.trans.order.changed
37
+     * @param transRes
38
+     * @throws Exception
39
+     */
40
+    void fundTransNotify(JSONObject transRes) throws Exception;
32 41
 }

+ 18
- 0
src/main/java/com/yunzhi/niucai/service/impl/TaOrderServiceImpl.java ファイルの表示

@@ -1,5 +1,6 @@
1 1
 package com.yunzhi.niucai.service.impl;
2 2
 
3
+import com.alibaba.fastjson.JSONObject;
3 4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 5
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 6
 import com.yunzhi.niucai.common.CommConstants;
@@ -14,6 +15,7 @@ import com.yunzhi.niucai.enums.StatusEnum;
14 15
 import com.yunzhi.niucai.mapper.TaOrderMapper;
15 16
 import com.yunzhi.niucai.service.ITaBettingPlanService;
16 17
 import com.yunzhi.niucai.service.ITaCustomerBettingService;
18
+import com.yunzhi.niucai.service.ITaOrderPayService;
17 19
 import com.yunzhi.niucai.service.ITaOrderService;
18 20
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
19 21
 import com.yunzhi.niucai.vo.DrawOrderParam;
@@ -21,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
21 23
 import org.springframework.stereotype.Service;
22 24
 import org.springframework.transaction.annotation.Transactional;
23 25
 
26
+import java.time.LocalDateTime;
24 27
 import java.util.ArrayList;
25 28
 import java.util.List;
26 29
 import java.util.Map;
@@ -42,6 +45,9 @@ public class TaOrderServiceImpl extends ServiceImpl<TaOrderMapper, TaOrder> impl
42 45
     @Autowired
43 46
     ITaBettingPlanService iTaBettingPlanService;
44 47
 
48
+    @Autowired
49
+    ITaOrderPayService iTaOrderPayService;
50
+
45 51
     @Autowired
46 52
     TaOrderMapper taOrderMapper;
47 53
 
@@ -141,6 +147,18 @@ public class TaOrderServiceImpl extends ServiceImpl<TaOrderMapper, TaOrder> impl
141 147
         return taOrder;
142 148
     }
143 149
 
150
+    @Override
151
+    public void fundTransNotify(JSONObject transRes) throws Exception {
152
+        // transRes 结构
153
+        // https://opendocs.alipay.com/apis/msgapi_60/alipay.fund.trans.order.changed#%E6%B6%88%E6%81%AF%E5%B1%9E%E6%80%A7
154
+        // 依据文档, 转账只有成功一种结果
155
+        String tradeNO = transRes.getString("out_biz_no");
156
+        String payDate = transRes.getString("pay_date");
157
+        LocalDateTime payTime = DateUtils.
158
+
159
+        iTaOrderPayService.updatePayResult(tradeNO, payDate, true, null);
160
+    }
161
+
144 162
     private String nextOrderNo(String prefix, int length, boolean padDate) throws Exception {
145 163
         List<String> parts = new ArrayList<>();
146 164
         parts.add(prefix);