From 50cae03b6f06a97b94773ab49bb52b855fcb343e Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期六, 25 三月 2023 19:33:31 +0800
Subject: [PATCH] fix 修复 findInSet 在mysql下方法搜索非数字字段时 无引号报错问题

---
 ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/core/mapper/BaseMapperPlus.java |   27 +++++++++++++++++++--------
 1 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/core/mapper/BaseMapperPlus.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/core/mapper/BaseMapperPlus.java
index 2c40e17..987366d 100644
--- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/core/mapper/BaseMapperPlus.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/core/mapper/BaseMapperPlus.java
@@ -6,10 +6,10 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.*;
+import com.baomidou.mybatisplus.core.toolkit.ReflectionKit;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.toolkit.Db;
-import com.ruoyi.common.core.utils.BeanCopyUtils;
+import com.ruoyi.common.core.utils.MapstructUtils;
 import org.apache.ibatis.logging.Log;
 import org.apache.ibatis.logging.LogFactory;
 
@@ -17,6 +17,9 @@
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 /**
  * 鑷畾涔� Mapper 鎺ュ彛, 瀹炵幇 鑷畾涔夋墿灞�
@@ -109,7 +112,7 @@
         if (ObjectUtil.isNull(obj)) {
             return null;
         }
-        return BeanCopyUtils.copy(obj, voClass);
+        return MapstructUtils.convert(obj, voClass);
     }
 
     default List<V> selectVoBatchIds(Collection<? extends Serializable> idList) {
@@ -124,7 +127,7 @@
         if (CollUtil.isEmpty(list)) {
             return CollUtil.newArrayList();
         }
-        return BeanCopyUtils.copyList(list, voClass);
+        return MapstructUtils.convert(list, voClass);
     }
 
     default List<V> selectVoByMap(Map<String, Object> map) {
@@ -139,7 +142,7 @@
         if (CollUtil.isEmpty(list)) {
             return CollUtil.newArrayList();
         }
-        return BeanCopyUtils.copyList(list, voClass);
+        return MapstructUtils.convert(list, voClass);
     }
 
     default V selectVoOne(Wrapper<T> wrapper) {
@@ -154,7 +157,11 @@
         if (ObjectUtil.isNull(obj)) {
             return null;
         }
-        return BeanCopyUtils.copy(obj, voClass);
+        return MapstructUtils.convert(obj, voClass);
+    }
+
+    default List<V> selectVoList() {
+        return selectVoList(new QueryWrapper<>(), this.currentVoClass());
     }
 
     default List<V> selectVoList(Wrapper<T> wrapper) {
@@ -169,7 +176,7 @@
         if (CollUtil.isEmpty(list)) {
             return CollUtil.newArrayList();
         }
-        return BeanCopyUtils.copyList(list, voClass);
+        return MapstructUtils.convert(list, voClass);
     }
 
     default <P extends IPage<V>> P selectVoPage(IPage<T> page, Wrapper<T> wrapper) {
@@ -185,8 +192,12 @@
         if (CollUtil.isEmpty(pageData.getRecords())) {
             return (P) voPage;
         }
-        voPage.setRecords(BeanCopyUtils.copyList(pageData.getRecords(), voClass));
+        voPage.setRecords(MapstructUtils.convert(pageData.getRecords(), voClass));
         return (P) voPage;
     }
 
+    default <C> List<C> selectObjs(Wrapper<T> wrapper, Function<? super Object, C> mapper) {
+        return this.selectObjs(wrapper).stream().filter(Objects::nonNull).map(mapper).collect(Collectors.toList());
+    }
+
 }

--
Gitblit v1.9.3