From bdee3858f95d92cb20514a8525f39d1f304876f8 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 18 五月 2026 14:56:43 +0800
Subject: [PATCH] config(zxsq): 更新配置文件以支持个推推送、MongoDB存储和文件上传功能

---
 src/main/java/com/ruoyi/ai/tools/ApproveTodoTools.java |   17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/ai/tools/ApproveTodoTools.java b/src/main/java/com/ruoyi/ai/tools/ApproveTodoTools.java
index cd3e933..fec0c21 100644
--- a/src/main/java/com/ruoyi/ai/tools/ApproveTodoTools.java
+++ b/src/main/java/com/ruoyi/ai/tools/ApproveTodoTools.java
@@ -76,12 +76,17 @@
                             @P(value = "瀹℃壒绫诲瀷缂栧彿锛屽彲涓嶄紶", required = false) Integer approveType,
                             @P(value = "鍏抽敭瀛楋紝鍙尮閰嶆祦绋嬬紪鍙枫�佹爣棰樸�佺敵璇蜂汉銆佸綋鍓嶅鎵逛汉", required = false) String keyword,
                             @P(value = "杩斿洖鏉℃暟锛岄粯璁�10锛屾渶澶�20", required = false) Integer limit,
-                            @P(value = "鏌ヨ鑼冨洿锛屽彲閫夊�硷細related銆乤pplicant銆乤pprover锛況elated 琛ㄧず褰撳墠鐢ㄦ埛鐩稿叧锛宎pplicant 琛ㄧず鎴戝彂璧风殑锛宎pprover 琛ㄧず寰呮垜澶勭悊鐨�", required = false) String scope) {
+                            @P(value = "鏌ヨ鑼冨洿锛屽彲閫夊�硷細related銆乤pplicant銆乤pprover锛況elated 琛ㄧず褰撳墠鐢ㄦ埛鐩稿叧锛宎pplicant 琛ㄧず鎴戝彂璧风殑锛宎pprover 琛ㄧず寰呮垜澶勭悊鐨�", required = false) String scope,
+                            @P(value = "寮�濮嬫棩鏈� yyyy-MM-dd锛屽彲涓嶄紶", required = false) String startDate,
+                            @P(value = "缁撴潫鏃ユ湡 yyyy-MM-dd锛屽彲涓嶄紶", required = false) String endDate,
+                            @P(value = "鏃堕棿鑼冨洿鎻忚堪锛屼緥濡� 浠婂ぉ銆佹湰鏈堛�佽繎30澶╋紝鍙笉浼�", required = false) String timeRange) {
 
         LoginUser loginUser = currentLoginUser(memoryId);
         Long userId = loginUser.getUserId();
         Integer statusCode = parseStatus(status);
         String normalizedScope = normalizeScope(scope);
+        boolean hasDateFilter = StringUtils.hasText(startDate) || StringUtils.hasText(endDate) || StringUtils.hasText(timeRange);
+        DateRange dateRange = hasDateFilter ? resolveDateRange(startDate, endDate, timeRange) : null;
 
         LambdaQueryWrapper<ApproveProcess> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(ApproveProcess::getApproveDelete, 0);
@@ -120,6 +125,11 @@
             }
         }
 
+        if (dateRange != null) {
+            wrapper.ge(ApproveProcess::getCreateTime, dateRange.start().atStartOfDay())
+                    .lt(ApproveProcess::getCreateTime, dateRange.end().plusDays(1).atStartOfDay());
+        }
+
         wrapper.orderByDesc(ApproveProcess::getCreateTime)
                 .last("limit " + normalizeLimit(limit));
 
@@ -156,7 +166,10 @@
                         "statusFilter", StringUtils.hasText(status) ? status : "all",
                         "approveType", approveType == null ? "" : approveType,
                         "keyword", keyword == null ? "" : keyword,
-                        "scope", normalizedScope
+                        "scope", normalizedScope,
+                        "timeRange", dateRange == null ? "all" : dateRange.label(),
+                        "startDate", dateRange == null ? "" : dateRange.start().toString(),
+                        "endDate", dateRange == null ? "" : dateRange.end().toString()
                 ),
                 Map.of("columns", todoColumns(), "items", items),
                 Map.of());

--
Gitblit v1.9.3