From 28c336fd133635010700fd1ce691bbb441f6f2a0 Mon Sep 17 00:00:00 2001
From: kangwenjing <1138819403@qq.com>
Date: Tue, 15 Sep 2026 16:16:17 +0800
Subject: [PATCH] =?UTF-8?q?feat(llm-tools):=20=E4=B8=BA=E6=89=80=E6=9C=89?=
=?UTF-8?q?=E6=90=9C=E7=B4=A2=E5=B7=A5=E5=85=B7=E6=B7=BB=E5=8A=A0=E6=80=BB?=
=?UTF-8?q?=E6=95=B0=E5=92=8C=E6=98=AF=E5=90=A6=E6=9C=89=E6=9B=B4=E5=A4=9A?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=BF=94=E5=9B=9E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
1. 为跟进、签到、客户、商机、待办、工作报告、拓展搜索工具新增总数统计和分页判断逻辑
2. 新增对应count查询的Mapper接口和XML实现
3. 完善数据权限拦截器对count方法的支持
4. 新增测试用例校验count语句不包含分页和排序
---
.idea/workspace.xml | 1 +
.../com/unis/crm/llm/mapper/LlmMcpMapper.java | 70 ++++
.../McpDataPermissionInterceptor.java | 17 +-
.../tools/CrmCheckinSearchToolProvider.java | 10 +
.../tools/CrmDetailSearchToolProvider.java | 11 +
.../tools/CrmExpansionSearchToolProvider.java | 36 ++
.../tools/CrmFollowupSearchToolProvider.java | 9 +
.../llm/tools/CrmTodoSearchToolProvider.java | 14 +-
.../tools/OpportunitySearchToolProvider.java | 11 +-
.../tools/WorkReportSearchToolProvider.java | 12 +-
.../resources/mapper/llm/LlmMcpMapper.xml | 334 ++++++++++++++++++
.../McpDataPermissionInterceptorTest.java | 31 +-
12 files changed, 544 insertions(+), 12 deletions(-)
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 3a88069c..0bd87490 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -101,6 +101,7 @@
+
diff --git a/backend/src/main/java/com/unis/crm/llm/mapper/LlmMcpMapper.java b/backend/src/main/java/com/unis/crm/llm/mapper/LlmMcpMapper.java
index 8070f0d5..7d499afb 100644
--- a/backend/src/main/java/com/unis/crm/llm/mapper/LlmMcpMapper.java
+++ b/backend/src/main/java/com/unis/crm/llm/mapper/LlmMcpMapper.java
@@ -25,6 +25,14 @@ public interface LlmMcpMapper {
@Param("limit") int limit,
@Param("offset") int offset);
+ long countWorkReports(
+ @Param("startDate") LocalDate startDate,
+ @Param("endDate") LocalDate endDate,
+ @Param("targetUserId") Long targetUserId,
+ @Param("tenantId") Long tenantId,
+ @Param("keyword") String keyword,
+ @Param("status") String status);
+
List