From 39bd9f965dfb48925a66fcd80787144b7541b866 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期日, 09 二月 2025 18:30:30 +0800
Subject: [PATCH] bug修改

---
 src/main/java/com/taoke/autopay/controller/client/OrderController.java |   87 ++++++++++++++++++++++++++++++++-----------
 1 files changed, 65 insertions(+), 22 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 ace4e56..4fe6b87 100644
--- a/src/main/java/com/taoke/autopay/controller/client/OrderController.java
+++ b/src/main/java/com/taoke/autopay/controller/client/OrderController.java
@@ -177,7 +177,7 @@
     @ResponseBody
     @RequestMapping("setOrderNoV2")
     public String setOrderNoV2(AcceptData acceptData, String id, String orderNoDesc, String orderStatus, String money) {
-        loggerPay.info("setOrderNo: {}-{}-{}-{}", id, orderNoDesc, orderStatus, money);
+        loggerPay.info("setOrderNo[{}]: {}-{}-{}-{}", acceptData.getUid(), id, orderNoDesc, orderStatus, money);
         if (StringUtil.isNullOrEmpty(id)) {
             return JsonUtil.loadFalseResult("璇蜂笂浼爄d");
         }
@@ -229,19 +229,25 @@
 
             OrderChannelEnum orderChannel = null;
             if (dyOrderDto != null) {
-                orderChannel =OrderChannelUtil.getChannelByKey(dyOrderDto.getOrderChannel());
-            }else{
+                orderChannel = OrderChannelUtil.getChannelByKey(dyOrderDto.getOrderChannel());
+            } else {
                 orderChannel = OrderChannelEnum.unknown;
             }
 
-           // 楠岃瘉娓犻亾鏀粯娆℃暟鏄惁杈惧埌涓婇檺
+            // 楠岃瘉娓犻亾鏀粯娆℃暟鏄惁杈惧埌涓婇檺
             if (order.getUid() != null) {
-                long todayCount = wxUserOrderCountService.sum(order.getUid(), null,orderChannel, TimeUtil.getGernalTime(System.currentTimeMillis(), Constant.DB_DAY_FORMAT));
-                    long totalCount =  wxUserOrderCountService.sum(order.getUid(), null,orderChannel,null);
-                    int maxPayCount =  userSettingService.getLimitCountByTotalCount(totalCount, orderChannel);
-                    if(todayCount>=maxPayCount){
-                        throw new Exception( String.format("鑰侀搧浠婃棩宸茶揪鏀粯娆℃暟(%s)涓婇檺锛�%s" ,orderChannel.getName(), maxPayCount));
-                    }
+                OrderCountTypeEnum orderCountType=null;
+                if(orderType==Constant.ORDER_TYPE_DY){
+                    orderCountType=OrderCountTypeEnum.DY_ORDER_PAY;
+                }else if(orderType==Constant.ORDER_TYPE_KS){
+                    orderCountType=OrderCountTypeEnum.KS_ORDER_PAY;
+                }
+                long todayCount = wxUserOrderCountService.sum(order.getUid(), orderCountType, orderChannel, TimeUtil.getGernalTime(System.currentTimeMillis(), Constant.DB_DAY_FORMAT));
+                long totalCount = wxUserOrderCountService.sum(order.getUid(), orderCountType, null, null);
+                int maxPayCount = userSettingService.getLimitCountByTotalCount(orderType, totalCount, orderChannel);
+                if (todayCount >= maxPayCount) {
+                    throw new Exception(String.format("鑰侀搧浠婃棩宸茶揪鏀粯娆℃暟(%s)涓婇檺锛�%s", orderChannel.getName(), maxPayCount));
+                }
             }
 
             // 璁剧疆杩涘叆
@@ -284,10 +290,20 @@
         }
     }
 
+    /**
+     * @author hxh
+     * @description 璁剧疆鍟嗗鏄惁鍙敮浠�
+     * @date 1:26 2025/2/8
+     * @param: acceptData
+     * @param: id
+     * @param: merchant
+     * @return java.lang.String
+     **/
+
     @ResponseBody
     @RequestMapping("isMerchantCanPay")
     public String isMerchantCanPay(AcceptData acceptData, String id, String merchant) {
-        loggerPay.info("isMerchantCanPay: {}-{}", id, merchant);
+        loggerPay.info("isMerchantCanPay[{}]: {}-{}", acceptData.getUid(), id, merchant);
         // 鍒ゆ柇鏄惁涓哄崱閲戦
         KeyOrder keyOrder = keyOrderService.selectById(id);
         if (keyOrder == null) {
@@ -300,21 +316,21 @@
         }
 
         // 鑾峰彇鍗¢噾棰濈殑璁剧疆淇℃伅
-        PayMoneySetting payMoneySetting =  payMoneySettingService.getSettingByMoney(keyOrder.getOrderMoney());
-        if(payMoneySetting == null){
+        PayMoneySetting payMoneySetting = payMoneySettingService.getSettingByMoney(keyOrder.getOrderMoney());
+        if (payMoneySetting == null) {
             return JsonUtil.loadFalseResult("璇ラ噾棰濅笉灞炰簬鍗¢噾棰濊寖鍥�");
         }
-        if(payMoneySetting.getVerifyMerchantChannel()==null||payMoneySetting.getVerifyMerchantChannel()==OrderChannelEnum.unknown){
+        if (payMoneySetting.getVerifyMerchantChannel() == null || payMoneySetting.getVerifyMerchantChannel() == OrderChannelEnum.unknown) {
             // 娌℃湁璁剧疆鏍¢獙娓犻亾
             return JsonUtil.loadTrueResult("");
         }
 
         try {
             // 鐩墠鍙垽鏂秴浜剑
-            boolean isCanPay = OrderChannelApiUtil.isMerchantCanPay(payMoneySetting.getVerifyMerchantChannel(), merchant);
-            if(isCanPay){
+            boolean isCanPay = OrderChannelApiUtil.isMerchantCanPay(payMoneySetting.getVerifyMerchantChannel(), merchant, keyOrder.getOrderMoney());
+            if (isCanPay) {
                 return JsonUtil.loadTrueResult("");
-            }else{
+            } else {
                 return JsonUtil.loadFalseResult("鍟嗗鏍¢獙鏈�氳繃");
             }
         } catch (UnsupportedEncodingException e) {
@@ -323,11 +339,38 @@
         }
     }
 
+    /**
+     * @return java.lang.String
+     * @author hxh
+     * @description 鏄惁鍙互鎵ц鏀粯
+     * @date 0:22 2024/12/28
+     * @param: acceptData
+     * @param: id
+     **/
+    @ResponseBody
+    @RequestMapping("canExcutePay")
+    public String canExcutePay(AcceptData acceptData, String id) {
+        try {
+            KeyOrder keyOrder = keyOrderService.selectByIdForUpdate(id);
+            if (keyOrder == null) {
+                throw new Exception("璁㈠崟涓嶅瓨鍦�");
+            }
+            if (keyOrder.getState() == KeyOrder.STATE_PAY) {
+                throw new Exception("璁㈠崟宸叉敮浠�");
+            }
+            loggerPay.info("canExcutePay[{}]: {}-{}", acceptData.getUid(), id, "鍙互鏀粯");
+            return JsonUtil.loadTrueResult("");
+        } catch (Exception e) {
+            loggerPay.error("canExcutePay[{}]: {}-{}", acceptData.getUid(), id, "涓嶅彲浠ユ敮浠橈細" + e.getMessage());
+            return JsonUtil.loadFalseResult(e.getMessage());
+        }
+    }
+
 
     @ResponseBody
     @RequestMapping("setPayResult")
-    public String setPayResult(AcceptData acceptData, String id, boolean paySuccess, String msg,String payMerchant) {
-        loggerPay.info("setPayResult: {}-{}-{}-{}", id, paySuccess, msg, payMerchant);
+    public String setPayResult(AcceptData acceptData, String id, boolean paySuccess, String msg, String payMerchant) {
+        loggerPay.info("setPayResult[{}]: {}-{}-{}-{}", acceptData.getUid(), id, paySuccess, msg, payMerchant);
         if (StringUtil.isNullOrEmpty(id)) {
             return JsonUtil.loadFalseResult("璇蜂笂浼爄d");
         }
@@ -349,7 +392,7 @@
                     KeyOrder orderUpdate = new KeyOrder();
                     orderUpdate.setId(id);
                     orderUpdate.setState(KeyOrder.STATE_NOT_PAY);
-                    orderUpdate.setStateDesc("鏀粯澶辫触锛�"+msg);
+                    orderUpdate.setStateDesc("鏀粯澶辫触锛�" + msg);
                     orderUpdate.setPayMerchant(payMerchant);
                     keyOrderService.update(orderUpdate);
                 }
@@ -371,8 +414,8 @@
 
     @ResponseBody
     @RequestMapping("rejectPay")
-    public String rejectPay(AcceptData acceptData, Long uid, String id) {
-        loggerPay.info("rejectPay: {}-{}", uid, id);
+    public String rejectPay(AcceptData acceptData, String id) {
+        loggerPay.info("rejectPay: {}-{}", acceptData.getUid(), id);
         if (StringUtil.isNullOrEmpty(id)) {
             return JsonUtil.loadFalseResult("璇蜂笂浼爄d");
         }

--
Gitblit v1.8.0