From f84d029d497949af28c6780a52bec9020c642311 Mon Sep 17 00:00:00 2001
From: zqy <2522236926@qq.com>
Date: 星期二, 16 十二月 2025 11:19:20 +0800
Subject: [PATCH] 全局搜索人物时 不按照顺序查询 可少不可多

---
 zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java |   33 ++++++++++++++++++++++++++++++++-
 1 files changed, 32 insertions(+), 1 deletions(-)

diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java
index 2e7b906..6655de3 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java
@@ -2,6 +2,7 @@
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.AjaxResult;
@@ -28,6 +29,7 @@
 import java.io.IOException;
 import java.time.LocalDateTime;
 import java.util.*;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 import static com.ruoyi.constant.MenuAuthority.*;
@@ -78,17 +80,41 @@
         lqw.like(StringUtils.isNotEmpty(zfEconomy.getUsePeople()),ZfEconomy::getUsePeople,zfEconomy.getUsePeople());
         lqw.like(StringUtils.isNotEmpty(zfEconomy.getBalance()),ZfEconomy::getBalance,zfEconomy.getBalance());
         lqw.like(StringUtils.isNotEmpty(zfEconomy.getRemark()),ZfEconomy::getRemark,zfEconomy.getRemark());
-        lqw.like(StringUtils.isNotEmpty(zfEconomy.getCompanion()),ZfEconomy::getCompanion,zfEconomy.getCompanion());
+//        lqw.in(StringUtils.isNotEmpty(zfEconomy.getCompanionList()),ZfEconomy::getCompanion,zfEconomy.getCompanionList());
 //        if (zfEconomy.getYear() != 0) {
 //            System.out.println("pppppppppppppppppppppppppppppppppppppppppppppppppppp"+zfEconomy.getYear());
 //            lqw.apply("YEAR(happen_time) = {0}", zfEconomy.getYear());
 //        }
+
+            if (CollectionUtils.isNotEmpty(zfEconomy.getCompanionList())) {
+                List<String> companionList = zfEconomy.getCompanionList();
+
+                // 娓呯悊鍜屽幓閲�
+                companionList = companionList.stream()
+                    .map(String::trim)
+                    .filter(s -> !s.isEmpty())
+                    .distinct()
+                    .collect(Collectors.toList());
+
+                if (!companionList.isEmpty()) {
+                    // 纭繚鎵�鏈夊弬涓庝汉閮藉湪companion瀛楁涓�
+                    for (String companion : companionList) {
+                        lqw.apply("FIND_IN_SET({0}, REPLACE(REPLACE(companion, ' ', ''), '锛�', ',')) > 0",
+                            companion);
+                    }
+                }
+            }
+
+
+
+
         lqw.eq(zfEconomy.getHappenTime() != null, ZfEconomy::getHappenTime, zfEconomy.getHappenTime());
         lqw.between(zfEconomy.getHappenStartTime() != null && zfEconomy.getHappenEndTime() != null, ZfEconomy::getHappenTime, zfEconomy.getHappenStartTime(), zfEconomy.getHappenEndTime());
         System.out.println("鏌ヨ鏉′欢: " + lqw.getCustomSqlSegment());
 
         return lqw;
     }
+
 
     private LambdaQueryWrapper<ZfEconomy> uniqueCondition(ZfEconomy zfEconomy) {
         LambdaQueryWrapper<ZfEconomy> lqw = new LambdaQueryWrapper<>();
@@ -627,6 +653,11 @@
         zfEconomy.setCompanion(companion);
         zfEconomy.setHappenStartTime(happenStartTime);
         zfEconomy.setHappenEndTime(happenEndTime);
+
+        String[] split = companion.split(",");
+        List<String> list = Arrays.asList(split);
+
+        zfEconomy.setCompanionList(list);
         return selectByCondition(zfEconomy);
     }
 

--
Gitblit v1.9.1