From 6927d3bed414fb1a44312668d4e9d91d62e91b3f Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 09 七月 2024 00:43:50 +0800
Subject: [PATCH] 口令付款不依赖与订单

---
 src/main/java/com/taoke/autopay/controller/client/OrderController.java |   71 +++++++++++++++++++++++++++++++++--
 1 files changed, 67 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/taoke/autopay/controller/client/OrderController.java b/src/main/java/com/taoke/autopay/controller/client/OrderController.java
index 6ddb44c..a452cc2 100644
--- a/src/main/java/com/taoke/autopay/controller/client/OrderController.java
+++ b/src/main/java/com/taoke/autopay/controller/client/OrderController.java
@@ -13,11 +13,9 @@
 import com.taoke.autopay.exception.KeyOrderException;
 import com.taoke.autopay.exception.WxOrderCountException;
 import com.taoke.autopay.factory.OrderFactory;
-import com.taoke.autopay.service.ClientInfoService;
-import com.taoke.autopay.service.KeyOrderService;
-import com.taoke.autopay.service.WxUserOrderCountService;
-import com.taoke.autopay.service.WxUserSettingService;
+import com.taoke.autopay.service.*;
 import com.taoke.autopay.utils.JsonUtil;
+import com.taoke.autopay.utils.MoneyUtil;
 import com.taoke.autopay.utils.StringUtil;
 import com.taoke.autopay.utils.TimeUtil;
 import com.taoke.autopay.utils.order.DYOrderApi;
@@ -77,6 +75,9 @@
 
     @Resource
     private WxUserSettingService wxUserSettingService;
+
+    @Resource
+    private SystemConfigService systemConfigService;
 
 
     @ResponseBody
@@ -260,6 +261,68 @@
     }
 
     @ResponseBody
+    @RequestMapping("setOrderNoV2")
+    public String setOrderNoV2(AcceptData acceptData, String id, String orderNoDesc, String orderStatus, String money) {
+        loggerPay.info("setOrderNo: {}-{}-{}-{}", id, orderNoDesc, orderStatus, money);
+        if (StringUtil.isNullOrEmpty(id)) {
+            return JsonUtil.loadFalseResult("璇蜂笂浼爄d");
+        }
+        if (StringUtil.isNullOrEmpty(money)) {
+            return JsonUtil.loadFalseResult("璇蜂笂浼爉oney");
+        }
+
+        KeyOrder order = keyOrderService.selectById(id);
+        if (order == null) {
+            return JsonUtil.loadFalseResult("鍙d护涓嶅瓨鍦�");
+        }
+
+        try {
+            if (!StringUtil.isNullOrEmpty(orderStatus)) {
+                throw new KeyOrderException(orderStatus);
+            }
+            money = money.replace("楼","");
+            // 鍖归厤閲戦
+           if(!MoneyUtil.getMoneyStr(order.getOrderMoney()).equalsIgnoreCase(money)){
+               throw new KeyOrderException("閲戦涓嶅尮閰�");
+           }
+            if (order.getUid() != null) {
+                WxUserOrderCount countInfo = wxUserOrderCountService.get(order.getUid(), OrderCountTypeEnum.DY_ORDER_PAY, TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyyMMdd"));
+                if (countInfo != null) {
+                    WxUserSettings settings = wxUserSettingService.selectByUid(order.getUid());
+                    if (settings.getDyOrderCountPerDay() <= countInfo.getOrderCount()) {
+                        throw new Exception("浠婃棩宸茶揪鏀粯娆℃暟涓婇檺锛�" + settings.getDyOrderCountPerDay());
+                    }
+                }
+            }
+
+            // 璁剧疆杩涘叆
+            KeyOrder orderUpdate = new KeyOrder();
+            orderUpdate.setId(id);
+            orderUpdate.setOrderType(1);
+            orderUpdate.setExcutePayTime(new Date());
+            keyOrderService.update(orderUpdate);
+            order = keyOrderService.selectById(id);
+            return JsonUtil.loadTrueResult(gson.toJson(OrderFactory.create(order)));
+        } catch (KeyOrderException e) {
+            KeyOrder orderUpdate = new KeyOrder();
+            orderUpdate.setId(id);
+            orderUpdate.setOrderType(1);
+            orderUpdate.setOrderState(0);
+            orderUpdate.setState(KeyOrder.STATE_REJECT_PAY);
+            if (order.getExcutePayTime() == null) {
+                orderUpdate.setExcutePayTime(new Date());
+            }
+            orderUpdate.setStateDesc(e.getMessage());
+            keyOrderService.update(orderUpdate);
+            return JsonUtil.loadFalseResult(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            return JsonUtil.loadFalseResult(e.getMessage());
+        }
+    }
+
+
+    @ResponseBody
     @RequestMapping("setPayResult")
     public String setPayResult(AcceptData acceptData, String id, boolean paySuccess, String msg) {
         loggerPay.info("setPayResult: {}-{}", id, paySuccess);

--
Gitblit v1.8.0