From 595b7935a30e84fba1bc3561d05f9d19d3e32e1f Mon Sep 17 00:00:00 2001 From: Administrator <1101184511@qq.com> Date: 星期三, 23 四月 2025 00:45:48 +0800 Subject: [PATCH] 后台管理页面完成 --- src/main/java/com/taoke/autopay/controller/client/OrderController.java | 39 ++++++++++++++++++++++++--------------- 1 files changed, 24 insertions(+), 15 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 4fe6b87..dc44d01 100644 --- a/src/main/java/com/taoke/autopay/controller/client/OrderController.java +++ b/src/main/java/com/taoke/autopay/controller/client/OrderController.java @@ -15,6 +15,7 @@ import com.taoke.autopay.exception.WxOrderCountException; import com.taoke.autopay.factory.OrderFactory; import com.taoke.autopay.manager.OrderPayFailProcessor; +import com.taoke.autopay.manager.PayCountVerifyManager; import com.taoke.autopay.service.*; import com.taoke.autopay.utils.*; import com.taoke.autopay.utils.order.DYOrderApi; @@ -94,6 +95,9 @@ @Resource private UserSettingService userSettingService; + + @Resource + private PayCountVerifyManager payCountVerifyManager; @ResponseBody @@ -236,18 +240,7 @@ // 楠岃瘉娓犻亾鏀粯娆℃暟鏄惁杈惧埌涓婇檺 if (order.getUid() != null) { - 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)); - } + payCountVerifyManager.verifyPayCount(order.getUid(), orderType, orderChannel); } // 璁剧疆杩涘叆 @@ -311,14 +304,15 @@ } OrderChannelEnum orderChannel = OrderChannelUtil.getChannelByKey(keyOrder.getOrderChannel()); if (orderChannel != OrderChannelEnum.unknown) { - // 涓嶆槸鍗¢噾棰濈殑璁㈠崟鍙洿鎺ユ敮浠� + // 纭畾娓犻亾鐨勮鍗曞彲鐩存帴鏀粯 return JsonUtil.loadTrueResult(""); } // 鑾峰彇鍗¢噾棰濈殑璁剧疆淇℃伅 PayMoneySetting payMoneySetting = payMoneySettingService.getSettingByMoney(keyOrder.getOrderMoney()); if (payMoneySetting == null) { - return JsonUtil.loadFalseResult("璇ラ噾棰濅笉灞炰簬鍗¢噾棰濊寖鍥�"); + keyOrderService.rejectPay(keyOrder.getId(),"浠樻閲戦涓嶅睘浜庡崱閲戦鑼冨洿"); + return JsonUtil.loadFalseResult("浠樻閲戦涓嶅睘浜庡崱閲戦鑼冨洿"); } if (payMoneySetting.getVerifyMerchantChannel() == null || payMoneySetting.getVerifyMerchantChannel() == OrderChannelEnum.unknown) { // 娌℃湁璁剧疆鏍¢獙娓犻亾 @@ -329,12 +323,27 @@ // 鐩墠鍙垽鏂秴浜剑 boolean isCanPay = OrderChannelApiUtil.isMerchantCanPay(payMoneySetting.getVerifyMerchantChannel(), merchant, keyOrder.getOrderMoney()); if (isCanPay) { + // 閫氳繃鍟嗗鏍¢獙 + try { + payCountVerifyManager.verifyPayCount(keyOrder.getUid(), keyOrder.getOrderType(), payMoneySetting.getVerifyMerchantChannel()); + }catch (KeyOrderException ee){ + // 鎷掔粷鏀粯 + keyOrderService.rejectPay(keyOrder.getId(), ee.getMessage()); + return JsonUtil.loadFalseResult(ee.getMessage()); + }finally { + // 鏇存柊娓犻亾 + KeyOrder update = new KeyOrder(); + update.setId(keyOrder.getId()); + update.setOrderChannel(payMoneySetting.getVerifyMerchantChannel().getKey()); + keyOrderService.update(update); + } return JsonUtil.loadTrueResult(""); } else { + // 鏈�氳繃鍟嗗鏍¢獙 + keyOrderService.rejectPay(keyOrder.getId(),"鍟嗗鏍¢獙鏈�氳繃"); return JsonUtil.loadFalseResult("鍟嗗鏍¢獙鏈�氳繃"); } } catch (UnsupportedEncodingException e) { - e.printStackTrace(); return JsonUtil.loadFalseResult(e.getMessage()); } } -- Gitblit v1.8.0