From eb357bb9938d569734b04948695726b80c5dfb85 Mon Sep 17 00:00:00 2001
From: peter <14100000001@qq.com>
Date: Wed, 19 Nov 2025 10:40:27 +0800
Subject: [PATCH] 代理后台新增删除用户、提现审核

---
 src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java |   50 ++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 40 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java b/src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java
index 408c9e0..03a2bf4 100644
--- a/src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java
@@ -6,6 +6,7 @@
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.gson.Gson;
 import com.nq.dao.*;
+import com.nq.enums.EConfigKey;
 import com.nq.enums.EUserAssets;
 import com.nq.pojo.*;
 import com.nq.service.*;
@@ -24,6 +25,7 @@
 
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 
@@ -129,9 +131,9 @@
                 return ServerResponse.createByErrorMsg("模拟用户无法提取资金",request);
             }
             SiteSetting siteSetting = this.iSiteSettingService.getSiteSetting();
-            if ((new BigDecimal(amt)).compareTo(new BigDecimal(siteSetting.getWithMinAmt().intValue())) == -1) {
-                return ServerResponse.createByErrorMsg("最小提现金额:" + siteSetting.getWithMinAmt(),request);
-            }
+//            if ((new BigDecimal(amt)).compareTo(new BigDecimal(siteSetting.getWithMinAmt().intValue())) == -1) {
+//                return ServerResponse.createByErrorMsg("最小提现金额:" + siteSetting.getWithMinAmt(),request);
+//            }
 
             boolean b = getServerResponse();
             if (!b) {
@@ -172,14 +174,42 @@
     }
 
     private boolean getServerResponse() {
-        StockTimeSetting stockTimeSetting = stockTimeSettingMapper.selectOne(new QueryWrapper<StockTimeSetting>().eq("accets_type", "US"));
-        if (stockTimeSetting == null) {
-            return false;
+        StockConfig stockConfig = iStockConfigServices.queryByKey(EConfigKey.WITHDRAW_TIME_SETTING.getCode());
+        return isInTimeRange(stockConfig.getCValue());
+    }
+
+
+    /**
+     * 判断当前时间是否在指定的时间区间内
+     * @param timeRange 时间区间字符串,格式如:"9:00-18:00"
+     * @return 如果在区间内返回true,否则返回false
+     */
+    public static boolean isInTimeRange(String timeRange) {
+        try {
+            String[] times = timeRange.split("-");
+            if (times.length != 2) {
+                throw new IllegalArgumentException("时间格式不正确,应为:HH:mm-HH:mm");
+            }
+
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("H:mm");
+            LocalTime startTime = LocalTime.parse(times[0].trim(), formatter);
+            LocalTime endTime = LocalTime.parse(times[1].trim(), formatter);
+            LocalTime currentTime = LocalTime.now();
+
+            boolean isInRange;
+            if (endTime.isBefore(startTime)) {
+                // 跨天情况,将结束时间视为次日
+                isInRange = !currentTime.isBefore(startTime) || !currentTime.isAfter(endTime);
+            } else {
+                // 不跨天情况
+                isInRange = !currentTime.isBefore(startTime) && !currentTime.isAfter(endTime);
+            }
+
+           return isInRange;
+
+        } catch (Exception e) {
+            throw new IllegalArgumentException("时间解析错误,请检查格式是否正确", e);
         }
-        if (!stockTimeSetting.getWeekDay().contains(String.valueOf(LocalDate.now().getDayOfWeek().getValue()))) {
-            return false;
-        }
-        return TimeUtil.isTradingHour(stockTimeSetting.getAmStartTime(), stockTimeSetting.getAmEndTime(), stockTimeSetting.getPmStartTime(), stockTimeSetting.getPmEndTime());
     }
 
     public ServerResponse<PageInfo> findUserWithList(String withStatus, HttpServletRequest request, int pageNum, int pageSize) {

--
Gitblit v1.9.3