From 1ca5584d7e3200a9af65a099bd26d3593e2ba702 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 07 五月 2026 14:36:08 +0800
Subject: [PATCH] 迁移pro

---
 src/main/java/com/ruoyi/ai/assistant/PurchaseIntentExecutor.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 53 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/ai/assistant/PurchaseIntentExecutor.java b/src/main/java/com/ruoyi/ai/assistant/PurchaseIntentExecutor.java
index 2d4e6b8..5991fc3 100644
--- a/src/main/java/com/ruoyi/ai/assistant/PurchaseIntentExecutor.java
+++ b/src/main/java/com/ruoyi/ai/assistant/PurchaseIntentExecutor.java
@@ -26,6 +26,51 @@
         }
         String text = message.trim();
 
+        if (containsAny(text, "鎺掕", "鎺掑悕", "鍓嶅嚑", "鍓嶄簲", "鍓嶅崄") && containsAny(text, "鐗╂枡", "浜у搧", "鍘熸潗鏂�", "閲囪喘閲戦", "閲戦")) {
+            return purchaseAgentTools.rankPurchaseMaterials(
+                    memoryId,
+                    extractStartDate(text),
+                    extractEndDate(text),
+                    text,
+                    extractLimit(text)
+            );
+        }
+        if (containsAny(text, "鏈叆搴�", "寰呭叆搴�", "娌℃湁鍏ュ簱", "杩樻湭鍏ュ簱")) {
+            return purchaseAgentTools.listUnstockedPurchaseOrders(
+                    memoryId,
+                    extractStartDate(text),
+                    extractEndDate(text),
+                    extractKeyword(text),
+                    extractLimit(text)
+            );
+        }
+        if (containsAny(text, "鍒拌揣寮傚父", "鍒拌揣鏈夊紓甯�", "寮傚父鍒拌揣", "鍒拌揣闂", "渚涘簲鍟嗗埌璐у紓甯�")) {
+            return purchaseAgentTools.listArrivalExceptions(
+                    memoryId,
+                    extractStartDate(text),
+                    extractEndDate(text),
+                    text,
+                    extractLimit(text)
+            );
+        }
+        if (containsAny(text, "寰呬粯娆�", "鏈粯娆�", "鏈粯娓�", "寰呮敮浠�", "搴斾粯")) {
+            return purchaseAgentTools.listPendingPaymentOrders(
+                    memoryId,
+                    extractStartDate(text),
+                    extractEndDate(text),
+                    extractKeyword(text),
+                    extractLimit(text)
+            );
+        }
+        if (containsAny(text, "閫�璐�", "閫�鏂�", "鎷掓敹")) {
+            return purchaseAgentTools.listPurchaseReturns(
+                    memoryId,
+                    extractStartDate(text),
+                    extractEndDate(text),
+                    extractKeyword(text),
+                    extractLimit(text)
+            );
+        }
         if (isStatsIntent(text)) {
             return purchaseAgentTools.getPurchaseStats(
                     memoryId,
@@ -37,7 +82,7 @@
         if (containsAny(text, "璇︽儏", "鏄庣粏") && extractId(text) != null) {
             return purchaseAgentTools.getPurchaseLedgerDetail(memoryId, extractId(text));
         }
-        if (containsAny(text, "鍙拌处", "閲囪喘鍗�", "鍚堝悓", "鍒楄〃", "鏌ヨ")) {
+        if (containsAny(text, "鍙拌处", "閲囪喘鍗�", "閲囪喘璁㈠崟", "璁㈠崟", "鍚堝悓", "鍒楄〃", "鏌ヨ")) {
             return purchaseAgentTools.listPurchaseLedgers(
                     memoryId,
                     extractKeyword(text),
@@ -50,7 +95,7 @@
     }
 
     private boolean isStatsIntent(String text) {
-        if (containsAny(text, "缁熻", "鍒嗘瀽", "鎶ヨ〃", "姹囨��", "瓒嬪娍", "鏁版嵁鐪嬫澘")) {
+        if (containsAny(text, "缁熻", "鍒嗘瀽", "鎶ヨ〃", "姹囨��", "瓒嬪娍", "鏁版嵁鐪嬫澘", "鎯呭喌", "鏈夊灏�")) {
             return true;
         }
         boolean queryWord = containsAny(text, "鏌ヨ", "鏌ョ湅", "鐪嬩笅", "鐪嬬湅", "鑾峰彇");
@@ -100,8 +145,14 @@
                 .replace("鏌ヨ", "")
                 .replace("鏌ョ湅", "")
                 .replace("閲囪喘", "")
+                .replace("閲囪喘鍗�", "")
+                .replace("閲囪喘璁㈠崟", "")
+                .replace("璁㈠崟", "")
                 .replace("鍙拌处", "")
                 .replace("鍒楄〃", "")
+                .replace("鍝簺", "")
+                .replace("鍒楀嚭", "")
+                .replace("甯垜", "")
                 .replace("鏈�杩�10鏉�", "")
                 .replace("鍓�10鏉�", "")
                 .trim();

--
Gitblit v1.9.3