From 90d4fd8cf1db71cf51cfc2694290a9a4bc53344e Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期六, 24 七月 2021 21:19:05 +0800
Subject: [PATCH] update [重大改动] 重写VO转换 支持深拷贝 将VO类抽象到 ServicePlus 泛型处理

---
 ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/IServicePlus.java      |  303 ++++++++---------------------
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java         |    4 
 ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestTreeServiceImpl.java            |    6 
 ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm                           |    8 
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobService.java                  |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java   |    4 
 ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableColumnServiceImpl.java |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java              |    4 
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java       |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java                 |    4 
 ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestTreeService.java                    |    2 
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java          |    4 
 ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java       |    9 
 ruoyi-oss/src/main/java/com/ruoyi/system/service/ISysOssService.java                     |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java               |    4 
 ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java   |  126 ++++++++++++
 ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java            |    8 
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java             |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java     |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java                 |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java         |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java      |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java     |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java         |    4 
 ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestDemoService.java                    |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java       |    5 
 ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java             |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java                 |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java           |    4 
 ruoyi-generator/src/main/resources/vm/java/service.java.vm                               |    2 
 ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java    |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java                 |    5 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java         |    4 
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java               |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java                 |    4 
 ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java          |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java             |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java         |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysNoticeService.java               |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java       |    4 
 40 files changed, 295 insertions(+), 295 deletions(-)

diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/IServicePlus.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/IServicePlus.java
index 21b0ecc..e2d9a3d 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/IServicePlus.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/IServicePlus.java
@@ -1,6 +1,6 @@
 package com.ruoyi.common.core.mybatisplus.core;
 
-import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.bean.copier.CopyOptions;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -11,7 +11,6 @@
 import java.util.List;
 import java.util.Map;
 import java.util.function.Function;
-import java.util.stream.Collectors;
 
 /**
  * 鑷畾涔� Service 鎺ュ彛, 瀹炵幇 鏁版嵁搴撳疄浣撲笌 vo 瀵硅薄杞崲杩斿洖
@@ -19,225 +18,99 @@
  * @author Lion Li
  * @since 2021-05-13
  */
-public interface IServicePlus<T> extends IService<T> {
+public interface IServicePlus<T, K> extends IService<T> {
 
-    /**
-     * 鏍规嵁 ID 鏌ヨ
-     *
-     * @param kClass vo绫诲瀷
-     * @param id     涓婚敭ID
-     */
-    default <K> K getVoById(Serializable id, Class<K> kClass) {
-        T t = getBaseMapper().selectById(id);
-        return BeanUtil.toBean(t, kClass);
-    }
+	K getVoById(Serializable id, CopyOptions copyOptions);
 
-    /**
-     * 鏍规嵁 ID 鏌ヨ
-     *
-     * @param id        涓婚敭ID
-     * @param convertor 杞崲鍑芥暟
-     * @param <K>       vo绫诲瀷
-     */
-    default <K> K getVoById(Serializable id, Function<T, K> convertor) {
-        T t = getBaseMapper().selectById(id);
-        return convertor.apply(t);
-    }
-
-    /**
-     * 鏌ヨ锛堟牴鎹甀D 鎵归噺鏌ヨ锛�
-     *
-     * @param kClass vo绫诲瀷
-     * @param idList 涓婚敭ID鍒楄〃
-     */
-    default <K> List<K> listVoByIds(Collection<? extends Serializable> idList, Class<K> kClass) {
-        List<T> list = getBaseMapper().selectBatchIds(idList);
-        if (list == null) {
-            return null;
-        }
-        return list.stream()
-                .map(any -> BeanUtil.toBean(any, kClass))
-                .collect(Collectors.toList());
-    }
-
-    /**
-     * 鏌ヨ锛堟牴鎹甀D 鎵归噺鏌ヨ锛�
-     *
-     * @param convertor 杞崲鍑芥暟
-     * @param idList    涓婚敭ID鍒楄〃
-     */
-    default <K> List<K> listVoByIds(Collection<? extends Serializable> idList,
-                                    Function<Collection<T>, List<K>> convertor) {
-        List<T> list = getBaseMapper().selectBatchIds(idList);
-        if (list == null) {
-            return null;
-        }
-        return convertor.apply(list);
-    }
-
-    /**
-     * 鏌ヨ锛堟牴鎹� columnMap 鏉′欢锛�
-     *
-     * @param kClass    vo绫诲瀷
-     * @param columnMap 琛ㄥ瓧娈� map 瀵硅薄
-     */
-    default <K> List<K> listVoByMap(Map<String, Object> columnMap, Class<K> kClass) {
-        List<T> list = getBaseMapper().selectByMap(columnMap);
-        if (list == null) {
-            return null;
-        }
-        return list.stream()
-                .map(any -> BeanUtil.toBean(any, kClass))
-                .collect(Collectors.toList());
-    }
-
-    /**
-     * 鏌ヨ锛堟牴鎹� columnMap 鏉′欢锛�
-     *
-     * @param convertor 杞崲鍑芥暟
-     * @param columnMap 琛ㄥ瓧娈� map 瀵硅薄
-     */
-    default <K> List<K> listVoByMap(Map<String, Object> columnMap,
-                                    Function<Collection<T>, List<K>> convertor) {
-        List<T> list = getBaseMapper().selectByMap(columnMap);
-        if (list == null) {
-            return null;
-        }
-        return convertor.apply(list);
-    }
-
-    /**
-     * 鏍规嵁 Wrapper锛屾煡璇竴鏉¤褰� <br/>
-     * <p>缁撴灉闆嗭紝濡傛灉鏄涓細鎶涘嚭寮傚父锛岄殢鏈哄彇涓�鏉″姞涓婇檺鍒舵潯浠� wrapper.last("LIMIT 1")</p>
-     *
-     * @param kClass       vo绫诲瀷
-     * @param queryWrapper 瀹炰綋瀵硅薄灏佽鎿嶄綔绫� {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}
-     */
-    default <K> K getVoOne(Wrapper<T> queryWrapper, Class<K> kClass) {
-        return BeanUtil.toBean(getOne(queryWrapper, true), kClass);
-    }
-
-    /**
-     * 鏍规嵁 Wrapper锛屾煡璇竴鏉¤褰� <br/>
-     * <p>缁撴灉闆嗭紝濡傛灉鏄涓細鎶涘嚭寮傚父锛岄殢鏈哄彇涓�鏉″姞涓婇檺鍒舵潯浠� wrapper.last("LIMIT 1")</p>
-     *
-     * @param convertor    杞崲鍑芥暟
-     * @param queryWrapper 瀹炰綋瀵硅薄灏佽鎿嶄綔绫� {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}
-     */
-    default <K> K getVoOne(Wrapper<T> queryWrapper, Function<T, K> convertor) {
-        return convertor.apply(getOne(queryWrapper, true));
-    }
-
-    /**
-     * 鏌ヨ鍒楄〃
-     *
-     * @param kClass       vo绫诲瀷
-     * @param queryWrapper 瀹炰綋瀵硅薄灏佽鎿嶄綔绫� {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}
-     */
-    default <K> List<K> listVo(Wrapper<T> queryWrapper, Class<K> kClass) {
-        List<T> list = getBaseMapper().selectList(queryWrapper);
-        if (list == null) {
-            return null;
-        }
-        return list.stream()
-                .map(any -> BeanUtil.toBean(any, kClass))
-                .collect(Collectors.toList());
-    }
-
-    /**
-     * 鏌ヨ鍒楄〃
-     *
-     * @param convertor    杞崲鍑芥暟
-     * @param queryWrapper 瀹炰綋瀵硅薄灏佽鎿嶄綔绫� {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}
-     */
-    default <K> List<K> listVo(Wrapper<T> queryWrapper, Function<Collection<T>, List<K>> convertor) {
-        List<T> list = getBaseMapper().selectList(queryWrapper);
-        if (list == null) {
-            return null;
-        }
-        return convertor.apply(list);
-    }
-
-    /**
-     * 鏌ヨ鎵�鏈�
-     *
-     * @param kClass vo绫诲瀷
-     * @see Wrappers#emptyWrapper()
-     */
-    default <K> List<K> listVo(Class<K> kClass) {
-        return listVo(Wrappers.emptyWrapper(), kClass);
-    }
-
-    /**
-     * 鏌ヨ鎵�鏈�
-     *
-     * @param convertor 杞崲鍑芥暟
-     * @see Wrappers#emptyWrapper()
-     */
-    default <K> List<K> listVo(Function<Collection<T>, List<K>> convertor) {
-        return listVo(Wrappers.emptyWrapper(), convertor);
-    }
-
-    /**
-     * 缈婚〉鏌ヨ
-     *
-     * @param page         缈婚〉瀵硅薄
-     * @param queryWrapper 瀹炰綋瀵硅薄灏佽鎿嶄綔绫�
-     */
-    default <K> PagePlus<T, K> pageVo(PagePlus<T, K> page, Wrapper<T> queryWrapper, Class<K> kClass) {
-        PagePlus<T, K> result = getBaseMapper().selectPage(page, queryWrapper);
-        List<K> volist = result.getRecords().stream()
-                .map(any -> BeanUtil.toBean(any, kClass))
-                .collect(Collectors.toList());
-        result.setRecordsVo(volist);
-        return result;
-    }
-
-    /**
-     * 缈婚〉鏌ヨ
-     *
-     * @param page         缈婚〉瀵硅薄
-     * @param queryWrapper 瀹炰綋瀵硅薄灏佽鎿嶄綔绫�
-     * @param convertor    杞崲鍑芥暟
-     */
-    default <K> PagePlus<T, K> pageVo(PagePlus<T, K> page, Wrapper<T> queryWrapper,
-                                      Function<Collection<T>, List<K>> convertor) {
-        PagePlus<T, K> result = getBaseMapper().selectPage(page, queryWrapper);
-        return result.setRecordsVo(convertor.apply(result.getRecords()));
-    }
-
-    /**
-     * 鏃犳潯浠剁炕椤垫煡璇�
-     *
-     * @param page   缈婚〉瀵硅薄
-     */
-    default <K> PagePlus<T, K> pageVo(PagePlus<T, K> page, Class<K> kClass) {
-        return pageVo(page, Wrappers.emptyWrapper(), kClass);
-    }
-
-    /**
-     * 鏃犳潯浠剁炕椤垫煡璇�
-     *
-     * @param page      缈婚〉瀵硅薄
-     * @param convertor 杞崲鍑芥暟
-     */
-    default <K> PagePlus<T, K> pageVo(PagePlus<T, K> page, Function<Collection<T>, List<K>> convertor) {
-        return pageVo(page, Wrappers.emptyWrapper(), convertor);
-    }
-
-	@Override
-	default boolean saveBatch(Collection<T> entityList) {
-		return saveBatch(entityList, DEFAULT_BATCH_SIZE);
+	default K getVoById(Serializable id) {
+		return getVoById(id, new CopyOptions());
 	}
 
-	@Override
-	default boolean saveOrUpdateBatch(Collection<T> entityList) {
-		return saveOrUpdateBatch(entityList, DEFAULT_BATCH_SIZE);
+	default K getVoById(Serializable id, Function<T, K> convertor) {
+		return convertor.apply(getById(id));
 	}
 
-	@Override
-	default boolean updateBatchById(Collection<T> entityList) {
-		return updateBatchById(entityList, DEFAULT_BATCH_SIZE);
+	List<K> listVoByIds(Collection<? extends Serializable> idList, CopyOptions copyOptions);
+
+	default List<K> listVoByIds(Collection<? extends Serializable> idList) {
+		return listVoByIds(idList, new CopyOptions());
+	}
+
+	default List<K> listVoByIds(Collection<? extends Serializable> idList,
+								Function<Collection<T>, List<K>> convertor) {
+		List<T> list = getBaseMapper().selectBatchIds(idList);
+		if (list == null) {
+			return null;
+		}
+		return convertor.apply(list);
+	}
+
+	List<K> listVoByMap(Map<String, Object> columnMap, CopyOptions copyOptions);
+
+	default List<K> listVoByMap(Map<String, Object> columnMap) {
+		return listVoByMap(columnMap, new CopyOptions());
+	}
+
+
+	default List<K> listVoByMap(Map<String, Object> columnMap,
+								Function<Collection<T>, List<K>> convertor) {
+		List<T> list = getBaseMapper().selectByMap(columnMap);
+		if (list == null) {
+			return null;
+		}
+		return convertor.apply(list);
+	}
+
+	K getVoOne(Wrapper<T> queryWrapper, CopyOptions copyOptions);
+
+	default K getVoOne(Wrapper<T> queryWrapper) {
+		return getVoOne(queryWrapper, new CopyOptions());
+	}
+
+	default K getVoOne(Wrapper<T> queryWrapper, Function<T, K> convertor) {
+		return convertor.apply(getOne(queryWrapper, true));
+	}
+
+	List<K> listVo(Wrapper<T> queryWrapper, CopyOptions copyOptions);
+
+	default List<K> listVo(Wrapper<T> queryWrapper) {
+		return listVo(queryWrapper, new CopyOptions());
+	}
+
+	default List<K> listVo(Wrapper<T> queryWrapper, Function<Collection<T>, List<K>> convertor) {
+		List<T> list = getBaseMapper().selectList(queryWrapper);
+		if (list == null) {
+			return null;
+		}
+		return convertor.apply(list);
+	}
+
+	default List<K> listVo() {
+		return listVo(Wrappers.emptyWrapper());
+	}
+
+	default List<K> listVo(Function<Collection<T>, List<K>> convertor) {
+		return listVo(Wrappers.emptyWrapper(), convertor);
+	}
+
+	PagePlus<T, K> pageVo(PagePlus<T, K> page, Wrapper<T> queryWrapper, CopyOptions copyOptions);
+
+	default PagePlus<T, K> pageVo(PagePlus<T, K> page, Wrapper<T> queryWrapper) {
+		return pageVo(page, queryWrapper, new CopyOptions());
+	}
+
+	default PagePlus<T, K> pageVo(PagePlus<T, K> page, Wrapper<T> queryWrapper,
+								  Function<Collection<T>, List<K>> convertor) {
+		PagePlus<T, K> result = getBaseMapper().selectPage(page, queryWrapper);
+		return result.setRecordsVo(convertor.apply(result.getRecords()));
+	}
+
+	default PagePlus<T, K> pageVo(PagePlus<T, K> page) {
+		return pageVo(page, Wrappers.emptyWrapper());
+	}
+
+	default PagePlus<T, K> pageVo(PagePlus<T, K> page, Function<Collection<T>, List<K>> convertor) {
+		return pageVo(page, Wrappers.emptyWrapper(), convertor);
 	}
 
 	boolean saveAll(Collection<T> entityList);
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java
index fb0998b..0325431 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java
@@ -1,12 +1,21 @@
 package com.ruoyi.common.core.mybatisplus.core;
 
+import cn.hutool.core.bean.copier.BeanCopier;
+import cn.hutool.core.bean.copier.CopyOptions;
+import cn.hutool.core.util.ReflectUtil;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.toolkit.ClassUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.page.PagePlus;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.ResolvableType;
 
+import java.io.Serializable;
 import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * IServicePlus 瀹炵幇绫�
@@ -15,7 +24,7 @@
  */
 @Slf4j
 @SuppressWarnings("unchecked")
-public class ServicePlusImpl<M extends BaseMapperPlus<T>, T> extends ServiceImpl<M, T> implements IServicePlus<T> {
+public class ServicePlusImpl<M extends BaseMapperPlus<T>, T, K> extends ServiceImpl<M, T> implements IServicePlus<T, K> {
 
 	@Autowired
 	protected M baseMapper;
@@ -35,6 +44,12 @@
 
 	protected Class<T> mapperClass = currentMapperClass();
 
+	protected Class<K> voClass = currentVoClass();
+
+	public Class<K> getVoClass() {
+		return voClass;
+	}
+
 	@Override
 	protected Class<T> currentMapperClass() {
 		return (Class<T>) this.getResolvableType().as(ServicePlusImpl.class).getGeneric(0).getType();
@@ -43,6 +58,10 @@
 	@Override
 	protected Class<T> currentModelClass() {
 		return (Class<T>) this.getResolvableType().as(ServicePlusImpl.class).getGeneric(1).getType();
+	}
+
+	protected Class<K> currentVoClass() {
+		return (Class<K>) this.getResolvableType().as(ServicePlusImpl.class).getGeneric(2).getType();
 	}
 
 	@Override
@@ -76,6 +95,21 @@
 		return super.updateBatchById(entityList, batchSize);
 	}
 
+	@Override
+	public boolean saveBatch(Collection<T> entityList) {
+		return saveBatch(entityList, DEFAULT_BATCH_SIZE);
+	}
+
+	@Override
+	public boolean saveOrUpdateBatch(Collection<T> entityList) {
+		return saveOrUpdateBatch(entityList, DEFAULT_BATCH_SIZE);
+	}
+
+	@Override
+	public boolean updateBatchById(Collection<T> entityList) {
+		return updateBatchById(entityList, DEFAULT_BATCH_SIZE);
+	}
+
 	/**
 	 * 鍗晄ql鎵归噺鎻掑叆( 鍏ㄩ噺濉厖 鏃犺鏁版嵁搴撻粯璁ゅ�� )
 	 * 閫傜敤浜庢棤鑴戞彃鍏�
@@ -85,4 +119,94 @@
 		return baseMapper.insertAll(entityList) == entityList.size();
 	}
 
+	/**
+	 * 鏍规嵁 ID 鏌ヨ
+	 *
+	 * @param id 涓婚敭ID
+	 */
+	@Override
+	public K getVoById(Serializable id, CopyOptions copyOptions) {
+		T t = getBaseMapper().selectById(id);
+		return oneVoCopy(t, copyOptions);
+	}
+
+	/**
+	 * 鏌ヨ锛堟牴鎹甀D 鎵归噺鏌ヨ锛�
+	 *
+	 * @param idList 涓婚敭ID鍒楄〃
+	 */
+	@Override
+	public List<K> listVoByIds(Collection<? extends Serializable> idList, CopyOptions copyOptions) {
+		List<T> list = getBaseMapper().selectBatchIds(idList);
+		if (list == null) {
+			return null;
+		}
+		return listVoCopy(list, copyOptions);
+	}
+
+	/**
+	 * 鏌ヨ锛堟牴鎹� columnMap 鏉′欢锛�
+	 *
+	 * @param columnMap 琛ㄥ瓧娈� map 瀵硅薄
+	 */
+	@Override
+	public List<K> listVoByMap(Map<String, Object> columnMap, CopyOptions copyOptions) {
+		List<T> list = getBaseMapper().selectByMap(columnMap);
+		if (list == null) {
+			return null;
+		}
+		return listVoCopy(list, copyOptions);
+	}
+
+	/**
+	 * 鏍规嵁 Wrapper锛屾煡璇竴鏉¤褰� <br/>
+	 * <p>缁撴灉闆嗭紝濡傛灉鏄涓細鎶涘嚭寮傚父锛岄殢鏈哄彇涓�鏉″姞涓婇檺鍒舵潯浠� wrapper.last("LIMIT 1")</p>
+	 *
+	 * @param queryWrapper 瀹炰綋瀵硅薄灏佽鎿嶄綔绫� {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}
+	 */
+	@Override
+	public K getVoOne(Wrapper<T> queryWrapper, CopyOptions copyOptions) {
+		T t = getOne(queryWrapper, true);
+		return oneVoCopy(t, copyOptions);
+	}
+
+	/**
+	 * 鏌ヨ鍒楄〃
+	 *
+	 * @param queryWrapper 瀹炰綋瀵硅薄灏佽鎿嶄綔绫� {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}
+	 */
+	@Override
+	public List<K> listVo(Wrapper<T> queryWrapper, CopyOptions copyOptions) {
+		List<T> list = getBaseMapper().selectList(queryWrapper);
+		if (list == null) {
+			return null;
+		}
+		return listVoCopy(list, copyOptions);
+	}
+
+	/**
+	 * 缈婚〉鏌ヨ
+	 *
+	 * @param page         缈婚〉瀵硅薄
+	 * @param queryWrapper 瀹炰綋瀵硅薄灏佽鎿嶄綔绫�
+	 */
+	@Override
+	public PagePlus<T, K> pageVo(PagePlus<T, K> page, Wrapper<T> queryWrapper, CopyOptions copyOptions) {
+		PagePlus<T, K> result = getBaseMapper().selectPage(page, queryWrapper);
+		List<K> volist = listVoCopy(result.getRecords(), copyOptions);
+		result.setRecordsVo(volist);
+		return result;
+	}
+
+	private K oneVoCopy(T t, CopyOptions copyOptions) {
+		K k = ReflectUtil.newInstanceIfPossible(voClass);
+		return BeanCopier.create(t, k, copyOptions).copy();
+	}
+
+	private List<K> listVoCopy(List<T> list, CopyOptions copyOptions) {
+		return list.stream()
+			.map(any -> BeanCopier.create(any, ReflectUtil.newInstanceIfPossible(voClass), copyOptions).copy())
+			.collect(Collectors.toList());
+	}
+
 }
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestDemoService.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestDemoService.java
index 2676703..ded47f7 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestDemoService.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestDemoService.java
@@ -17,7 +17,7 @@
  * @author Lion Li
  * @date 2021-05-30
  */
-public interface ITestDemoService extends IServicePlus<TestDemo> {
+public interface ITestDemoService extends IServicePlus<TestDemo, TestDemoVo> {
 
 	/**
 	 * 鏌ヨ鍗曚釜
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestTreeService.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestTreeService.java
index 6f7be37..e27fda0 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestTreeService.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestTreeService.java
@@ -16,7 +16,7 @@
  * @author Lion Li
  * @date 2021-05-30
  */
-public interface ITestTreeService extends IServicePlus<TestTree> {
+public interface ITestTreeService extends IServicePlus<TestTree, TestTreeVo> {
 	/**
 	 * 鏌ヨ鍗曚釜
 	 * @return
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java
index 552c70d..7387a12 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java
@@ -30,17 +30,17 @@
  * @date 2021-05-30
  */
 @Service
-public class TestDemoServiceImpl extends ServicePlusImpl<TestDemoMapper, TestDemo> implements ITestDemoService {
+public class TestDemoServiceImpl extends ServicePlusImpl<TestDemoMapper, TestDemo, TestDemoVo> implements ITestDemoService {
 
 	@Override
 	public TestDemoVo queryById(Long id) {
-		return getVoById(id, TestDemoVo.class);
+		return getVoById(id);
 	}
 
 	@DataScope(isUser = true)
 	@Override
 	public TableDataInfo<TestDemoVo> queryPageList(TestDemoQueryBo bo) {
-		PagePlus<TestDemo, TestDemoVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo), TestDemoVo.class);
+		PagePlus<TestDemo, TestDemoVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo));
 		return PageUtils.buildDataInfo(result);
 	}
 
@@ -57,7 +57,7 @@
 	@DataScope(isUser = true)
 	@Override
 	public List<TestDemoVo> queryList(TestDemoQueryBo bo) {
-		return listVo(buildQueryWrapper(bo), TestDemoVo.class);
+		return listVo(buildQueryWrapper(bo));
 	}
 
 	private LambdaQueryWrapper<TestDemo> buildQueryWrapper(TestDemoQueryBo bo) {
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestTreeServiceImpl.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestTreeServiceImpl.java
index 36482f1..a84558b 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestTreeServiceImpl.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestTreeServiceImpl.java
@@ -26,18 +26,18 @@
  * @date 2021-05-30
  */
 @Service
-public class TestTreeServiceImpl extends ServicePlusImpl<TestTreeMapper, TestTree> implements ITestTreeService {
+public class TestTreeServiceImpl extends ServicePlusImpl<TestTreeMapper, TestTree, TestTreeVo> implements ITestTreeService {
 
 	@Override
 	public TestTreeVo queryById(Long id) {
-		return getVoById(id, TestTreeVo.class);
+		return getVoById(id);
 	}
 
 //	@DataSource(DataSourceType.SLAVE) // 鍒囨崲浠庡簱鏌ヨ
 	@DataScope(isUser = true)
 	@Override
 	public List<TestTreeVo> queryList(TestTreeQueryBo bo) {
-		return listVo(buildQueryWrapper(bo), TestTreeVo.class);
+		return listVo(buildQueryWrapper(bo));
 	}
 
 	private LambdaQueryWrapper<TestTree> buildQueryWrapper(TestTreeQueryBo bo) {
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableColumnServiceImpl.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableColumnServiceImpl.java
index 44baf82..40f0738 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableColumnServiceImpl.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableColumnServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.generator.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.generator.domain.GenTableColumn;
 import com.ruoyi.generator.mapper.GenTableColumnMapper;
 import org.springframework.stereotype.Service;
@@ -15,7 +15,7 @@
  * @author ruoyi
  */
 @Service
-public class GenTableColumnServiceImpl extends ServicePlusImpl<GenTableColumnMapper, GenTableColumn> implements IGenTableColumnService {
+public class GenTableColumnServiceImpl extends ServiceImpl<GenTableColumnMapper, GenTableColumn> implements IGenTableColumnService {
 
     /**
      * 鏌ヨ涓氬姟瀛楁鍒楄〃
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
index 9eceadf..bece86a 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
@@ -6,9 +6,9 @@
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.constant.GenConstants;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.exception.CustomException;
 import com.ruoyi.common.utils.JsonUtils;
@@ -35,7 +35,10 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.StringWriter;
-import java.util.*;
+import java.util.Arrays;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
@@ -47,7 +50,7 @@
  */
 @Slf4j
 @Service
-public class GenTableServiceImpl extends ServicePlusImpl<GenTableMapper, GenTable> implements IGenTableService {
+public class GenTableServiceImpl extends ServiceImpl<GenTableMapper, GenTable> implements IGenTableService {
 
     @Autowired
     private GenTableColumnMapper genTableColumnMapper;
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java
index 38d3854..e0111e5 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java
@@ -1,6 +1,6 @@
 package com.ruoyi.generator.service;
 
-import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.generator.domain.GenTableColumn;
 
 import java.util.List;
@@ -10,7 +10,7 @@
  *
  * @author ruoyi
  */
-public interface IGenTableColumnService extends IServicePlus<GenTableColumn> {
+public interface IGenTableColumnService extends IService<GenTableColumn> {
     /**
      * 鏌ヨ涓氬姟瀛楁鍒楄〃
      *
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java
index a44dd5e..9903eca 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java
@@ -1,6 +1,6 @@
 package com.ruoyi.generator.service;
 
-import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.generator.domain.GenTable;
 
@@ -12,7 +12,7 @@
  *
  * @author ruoyi
  */
-public interface IGenTableService extends IServicePlus<GenTable> {
+public interface IGenTableService extends IService<GenTable> {
 
 
     TableDataInfo<GenTable> selectPageGenTableList(GenTable genTable);
diff --git a/ruoyi-generator/src/main/resources/vm/java/service.java.vm b/ruoyi-generator/src/main/resources/vm/java/service.java.vm
index 9ae8620..ff394e4 100644
--- a/ruoyi-generator/src/main/resources/vm/java/service.java.vm
+++ b/ruoyi-generator/src/main/resources/vm/java/service.java.vm
@@ -19,7 +19,7 @@
  * @author ${author}
  * @date ${datetime}
  */
-public interface I${ClassName}Service extends IServicePlus<${ClassName}> {
+public interface I${ClassName}Service extends IServicePlus<${ClassName}, ${ClassName}Vo> {
 	/**
 	 * 鏌ヨ鍗曚釜
 	 * @return
diff --git a/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm b/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm
index 2421f31..83c34a7 100644
--- a/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm
+++ b/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm
@@ -30,24 +30,24 @@
  * @date ${datetime}
  */
 @Service
-public class ${ClassName}ServiceImpl extends ServicePlusImpl<${ClassName}Mapper, ${ClassName}> implements I${ClassName}Service {
+public class ${ClassName}ServiceImpl extends ServicePlusImpl<${ClassName}Mapper, ${ClassName}, ${ClassName}Vo> implements I${ClassName}Service {
 
     @Override
     public ${ClassName}Vo queryById(${pkColumn.javaType} ${pkColumn.javaField}){
-        return getVoById(${pkColumn.javaField}, ${ClassName}Vo.class);
+        return getVoById(${pkColumn.javaField});
     }
 
 #if($table.crud || $table.sub)
     @Override
     public TableDataInfo<${ClassName}Vo> queryPageList(${ClassName}QueryBo bo) {
-        PagePlus<${ClassName}, ${ClassName}Vo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo), ${ClassName}Vo.class);
+        PagePlus<${ClassName}, ${ClassName}Vo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo));
         return PageUtils.buildDataInfo(result);
     }
 #end
 
     @Override
     public List<${ClassName}Vo> queryList(${ClassName}QueryBo bo) {
-        return listVo(buildQueryWrapper(bo), ${ClassName}Vo.class);
+        return listVo(buildQueryWrapper(bo));
     }
 
     private LambdaQueryWrapper<${ClassName}> buildQueryWrapper(${ClassName}QueryBo bo) {
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/system/service/ISysOssService.java b/ruoyi-oss/src/main/java/com/ruoyi/system/service/ISysOssService.java
index cc61fa0..df4ea93 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/system/service/ISysOssService.java
+++ b/ruoyi-oss/src/main/java/com/ruoyi/system/service/ISysOssService.java
@@ -14,7 +14,7 @@
  *
  * @author Lion Li
  */
-public interface ISysOssService extends IServicePlus<SysOss> {
+public interface ISysOssService extends IServicePlus<SysOss, SysOssVo> {
 
 	TableDataInfo<SysOssVo> queryPageList(SysOssQueryBo sysOss);
 
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java b/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
index ccbf2ad..bed8a04 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
+++ b/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
@@ -30,11 +30,11 @@
  * @author Lion Li
  */
 @Service
-public class SysOssServiceImpl extends ServicePlusImpl<SysOssMapper, SysOss> implements ISysOssService {
+public class SysOssServiceImpl extends ServicePlusImpl<SysOssMapper, SysOss, SysOssVo> implements ISysOssService {
 
 	@Override
 	public TableDataInfo<SysOssVo> queryPageList(SysOssQueryBo bo) {
-		PagePlus<SysOss, SysOssVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo), SysOssVo.class);
+		PagePlus<SysOss, SysOssVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo));
 		return PageUtils.buildDataInfo(result);
 	}
 
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java
index cb5b7d5..27f598a 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java
@@ -1,6 +1,6 @@
 package com.ruoyi.quartz.service;
 
-import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.quartz.domain.SysJobLog;
 
@@ -11,7 +11,7 @@
  *
  * @author ruoyi
  */
-public interface ISysJobLogService extends IServicePlus<SysJobLog> {
+public interface ISysJobLogService extends IService<SysJobLog> {
 
 
     TableDataInfo<SysJobLog> selectPageJobLogList(SysJobLog jobLog);
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobService.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobService.java
index 11150c7..81eef93 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobService.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobService.java
@@ -1,6 +1,6 @@
 package com.ruoyi.quartz.service;
 
-import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.exception.job.TaskException;
 import com.ruoyi.quartz.domain.SysJob;
@@ -13,7 +13,7 @@
  *
  * @author ruoyi
  */
-public interface ISysJobService extends IServicePlus<SysJob> {
+public interface ISysJobService extends IService<SysJob> {
     /**
      * 鑾峰彇quartz璋冨害鍣ㄧ殑璁″垝浠诲姟
      *
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java
index e10ad14..6494492 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java
@@ -3,7 +3,7 @@
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.quartz.domain.SysJobLog;
@@ -21,7 +21,7 @@
  * @author ruoyi
  */
 @Service
-public class SysJobLogServiceImpl extends ServicePlusImpl<SysJobLogMapper, SysJobLog> implements ISysJobLogService {
+public class SysJobLogServiceImpl extends ServiceImpl<SysJobLogMapper, SysJobLog> implements ISysJobLogService {
 
     @Override
     public TableDataInfo<SysJobLog> selectPageJobLogList(SysJobLog jobLog) {
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java
index 7d111d7..3a7f053 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java
@@ -2,8 +2,8 @@
 
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.constant.ScheduleConstants;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.exception.job.TaskException;
 import com.ruoyi.common.utils.PageUtils;
@@ -29,7 +29,7 @@
  * @author ruoyi
  */
 @Service
-public class SysJobServiceImpl extends ServicePlusImpl<SysJobMapper, SysJob> implements ISysJobService {
+public class SysJobServiceImpl extends ServiceImpl<SysJobMapper, SysJob> implements ISysJobService {
     @Autowired
     private Scheduler scheduler;
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
index b649c7f..fdc76fb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
@@ -1,6 +1,6 @@
 package com.ruoyi.system.service;
 
-import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.system.domain.SysConfig;
 
@@ -11,7 +11,7 @@
  *
  * @author ruoyi
  */
-public interface ISysConfigService extends IServicePlus<SysConfig> {
+public interface ISysConfigService extends IService<SysConfig> {
 
 
     TableDataInfo<SysConfig> selectPageConfigList(SysConfig config);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
index 7afbf4b..f518ff5 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
@@ -1,8 +1,8 @@
 package com.ruoyi.system.service;
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.domain.TreeSelect;
 import com.ruoyi.common.core.domain.entity.SysDept;
-import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
 
 import java.util.List;
 
@@ -11,7 +11,7 @@
  *
  * @author ruoyi
  */
-public interface ISysDeptService extends IServicePlus<SysDept> {
+public interface ISysDeptService extends IService<SysDept> {
     /**
      * 鏌ヨ閮ㄩ棬绠$悊鏁版嵁
      *
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java
index 570c7d1..25daa1a 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.system.service;
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.domain.entity.SysDictData;
-import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
 import com.ruoyi.common.core.page.TableDataInfo;
 
 import java.util.List;
@@ -11,7 +11,7 @@
  *
  * @author ruoyi
  */
-public interface ISysDictDataService extends IServicePlus<SysDictData> {
+public interface ISysDictDataService extends IService<SysDictData> {
 
 
     TableDataInfo<SysDictData> selectPageDictDataList(SysDictData dictData);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java
index a5d8de5..ac1d6c9 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java
@@ -1,8 +1,8 @@
 package com.ruoyi.system.service;
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.domain.entity.SysDictData;
 import com.ruoyi.common.core.domain.entity.SysDictType;
-import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
 import com.ruoyi.common.core.page.TableDataInfo;
 
 import java.util.List;
@@ -12,7 +12,7 @@
  *
  * @author ruoyi
  */
-public interface ISysDictTypeService extends IServicePlus<SysDictType> {
+public interface ISysDictTypeService extends IService<SysDictType> {
 
 
     TableDataInfo<SysDictType> selectPageDictTypeList(SysDictType dictType);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java
index 4976d3f..5a7d970 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java
@@ -1,6 +1,6 @@
 package com.ruoyi.system.service;
 
-import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.system.domain.SysLogininfor;
 
@@ -11,7 +11,7 @@
  *
  * @author ruoyi
  */
-public interface ISysLogininforService extends IServicePlus<SysLogininfor> {
+public interface ISysLogininforService extends IService<SysLogininfor> {
 
 
     TableDataInfo<SysLogininfor> selectPageLogininforList(SysLogininfor logininfor);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
index d278743..391cf19 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
@@ -1,8 +1,8 @@
 package com.ruoyi.system.service;
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.domain.TreeSelect;
 import com.ruoyi.common.core.domain.entity.SysMenu;
-import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
 import com.ruoyi.system.domain.vo.RouterVo;
 
 import java.util.List;
@@ -13,7 +13,7 @@
  *
  * @author ruoyi
  */
-public interface ISysMenuService extends IServicePlus<SysMenu> {
+public interface ISysMenuService extends IService<SysMenu> {
     /**
      * 鏍规嵁鐢ㄦ埛鏌ヨ绯荤粺鑿滃崟鍒楄〃
      *
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysNoticeService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysNoticeService.java
index 2db8422..535e760 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysNoticeService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysNoticeService.java
@@ -1,6 +1,6 @@
 package com.ruoyi.system.service;
 
-import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.system.domain.SysNotice;
 
@@ -11,7 +11,7 @@
  *
  * @author ruoyi
  */
-public interface ISysNoticeService extends IServicePlus<SysNotice> {
+public interface ISysNoticeService extends IService<SysNotice> {
 
 
     TableDataInfo<SysNotice> selectPageNoticeList(SysNotice notice);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java
index dcd2c08..ecfadb1 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java
@@ -1,6 +1,6 @@
 package com.ruoyi.system.service;
 
-import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.system.domain.SysOperLog;
 
@@ -11,7 +11,7 @@
  *
  * @author ruoyi
  */
-public interface ISysOperLogService extends IServicePlus<SysOperLog> {
+public interface ISysOperLogService extends IService<SysOperLog> {
 
     TableDataInfo<SysOperLog> selectPageOperLogList(SysOperLog operLog);
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java
index f56c5fd..f6659c0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java
@@ -1,6 +1,6 @@
 package com.ruoyi.system.service;
 
-import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.system.domain.SysPost;
 
@@ -11,7 +11,7 @@
  *
  * @author ruoyi
  */
-public interface ISysPostService extends IServicePlus<SysPost> {
+public interface ISysPostService extends IService<SysPost> {
 
 
     TableDataInfo<SysPost> selectPagePostList(SysPost post);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
index 9d02ceb..77a7c26 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
@@ -1,9 +1,8 @@
 package com.ruoyi.system.service;
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.domain.entity.SysRole;
-import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
 import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.system.domain.SysUserRole;
 
 import java.util.List;
@@ -14,7 +13,7 @@
  *
  * @author ruoyi
  */
-public interface ISysRoleService extends IServicePlus<SysRole> {
+public interface ISysRoleService extends IService<SysRole> {
 
 
     TableDataInfo<SysRole> selectPageRoleList(SysRole role);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
index e277d10..ea1b89b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.system.service;
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
 import com.ruoyi.common.core.page.TableDataInfo;
 
 import java.util.List;
@@ -11,7 +11,7 @@
  *
  * @author ruoyi
  */
-public interface ISysUserService extends IServicePlus<SysUser> {
+public interface ISysUserService extends IService<SysUser> {
 
 
     TableDataInfo<SysUser> selectPageUserList(SysUser user);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
index 41be807..eee0595 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
@@ -4,10 +4,10 @@
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.annotation.DataSource;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.constant.UserConstants;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.enums.DataSourceType;
@@ -31,7 +31,7 @@
  * @author ruoyi
  */
 @Service
-public class SysConfigServiceImpl extends ServicePlusImpl<SysConfigMapper, SysConfig> implements ISysConfigService {
+public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig> implements ISysConfigService {
 
 	@Autowired
 	private RedisCache redisCache;
@@ -98,6 +98,7 @@
 	 *
 	 * @return true寮�鍚紝false鍏抽棴
 	 */
+	@Override
 	public boolean selectCaptchaOnOff() {
 		String captchaOnOff = selectConfigByKey("sys.account.captchaOnOff");
 		if (StrUtil.isEmpty(captchaOnOff)) {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
index 745e62f..54582a1 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
@@ -4,13 +4,13 @@
 import cn.hutool.core.lang.Validator;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.annotation.DataScope;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.domain.TreeSelect;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.exception.CustomException;
 import com.ruoyi.system.mapper.SysDeptMapper;
 import com.ruoyi.system.mapper.SysRoleMapper;
@@ -30,7 +30,7 @@
  * @author ruoyi
  */
 @Service
-public class SysDeptServiceImpl extends ServicePlusImpl<SysDeptMapper, SysDept> implements ISysDeptService {
+public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> implements ISysDeptService {
 
     @Autowired
     private SysRoleMapper roleMapper;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java
index 92be9d5..4b08a14 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java
@@ -2,8 +2,8 @@
 
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.entity.SysDictData;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.utils.DictUtils;
 import com.ruoyi.common.utils.PageUtils;
@@ -20,7 +20,7 @@
  * @author ruoyi
  */
 @Service
-public class SysDictDataServiceImpl extends ServicePlusImpl<SysDictDataMapper, SysDictData> implements ISysDictDataService {
+public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDictData> implements ISysDictDataService {
 
 	@Override
 	public TableDataInfo<SysDictData> selectPageDictDataList(SysDictData dictData) {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
index 82f67c3..c4f9d95 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
@@ -5,10 +5,10 @@
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.domain.entity.SysDictData;
 import com.ruoyi.common.core.domain.entity.SysDictType;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.exception.CustomException;
 import com.ruoyi.common.utils.DictUtils;
@@ -31,7 +31,7 @@
  * @author ruoyi
  */
 @Service
-public class SysDictTypeServiceImpl extends ServicePlusImpl<SysDictTypeMapper, SysDictType> implements ISysDictTypeService {
+public class SysDictTypeServiceImpl extends ServiceImpl<SysDictTypeMapper, SysDictType> implements ISysDictTypeService {
 
 	@Autowired
 	private SysDictDataMapper dictDataMapper;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java
index 0284ed7..c129525 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java
@@ -3,7 +3,7 @@
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.system.domain.SysLogininfor;
@@ -22,7 +22,7 @@
  * @author ruoyi
  */
 @Service
-public class SysLogininforServiceImpl extends ServicePlusImpl<SysLogininforMapper, SysLogininfor> implements ISysLogininforService {
+public class SysLogininforServiceImpl extends ServiceImpl<SysLogininforMapper, SysLogininfor> implements ISysLogininforService {
 
     @Override
     public TableDataInfo<SysLogininfor> selectPageLogininforList(SysLogininfor logininfor) {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
index e1b4314..44ee91b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
@@ -3,13 +3,13 @@
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.domain.TreeSelect;
 import com.ruoyi.common.core.domain.entity.SysMenu;
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.system.domain.SysRoleMenu;
 import com.ruoyi.system.domain.vo.MetaVo;
@@ -31,7 +31,7 @@
  * @author ruoyi
  */
 @Service
-public class SysMenuServiceImpl extends ServicePlusImpl<SysMenuMapper, SysMenu> implements ISysMenuService {
+public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements ISysMenuService {
     public static final String PREMISSION_STRING = "perms[\"{0}\"]";
 
     @Autowired
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java
index 977e644..e063470 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java
@@ -2,7 +2,7 @@
 
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.system.domain.SysNotice;
@@ -19,7 +19,7 @@
  * @author ruoyi
  */
 @Service
-public class SysNoticeServiceImpl extends ServicePlusImpl<SysNoticeMapper, SysNotice> implements ISysNoticeService {
+public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice> implements ISysNoticeService {
 
     @Override
     public TableDataInfo<SysNotice> selectPageNoticeList(SysNotice notice) {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java
index 5d24356..238c015 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java
@@ -4,7 +4,7 @@
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.system.domain.SysOperLog;
@@ -23,7 +23,7 @@
  * @author ruoyi
  */
 @Service
-public class SysOperLogServiceImpl extends ServicePlusImpl<SysOperLogMapper, SysOperLog> implements ISysOperLogService {
+public class SysOperLogServiceImpl extends ServiceImpl<SysOperLogMapper, SysOperLog> implements ISysOperLogService {
 
     @Override
     public TableDataInfo<SysOperLog> selectPageOperLogList(SysOperLog operLog) {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
index 93f8e98..d2aeab0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
@@ -3,8 +3,8 @@
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.constant.UserConstants;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.exception.CustomException;
 import com.ruoyi.common.utils.PageUtils;
@@ -25,7 +25,7 @@
  * @author ruoyi
  */
 @Service
-public class SysPostServiceImpl extends ServicePlusImpl<SysPostMapper, SysPost> implements ISysPostService {
+public class SysPostServiceImpl extends ServiceImpl<SysPostMapper, SysPost> implements ISysPostService {
 
     @Autowired
     private SysUserPostMapper userPostMapper;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
index df024ae..45d2fb4 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
@@ -2,10 +2,10 @@
 
 import cn.hutool.core.lang.Validator;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.annotation.DataScope;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.domain.entity.SysRole;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.exception.CustomException;
 import com.ruoyi.common.utils.PageUtils;
@@ -30,7 +30,7 @@
  * @author ruoyi
  */
 @Service
-public class SysRoleServiceImpl extends ServicePlusImpl<SysRoleMapper, SysRole> implements ISysRoleService {
+public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService {
 
     @Autowired
     private SysRoleMenuMapper roleMenuMapper;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index b5bcb70..69adbe1 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -3,11 +3,11 @@
 import cn.hutool.core.lang.Validator;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.annotation.DataScope;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.exception.CustomException;
 import com.ruoyi.common.utils.PageUtils;
@@ -34,7 +34,7 @@
  */
 @Slf4j
 @Service
-public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser> implements ISysUserService {
+public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService {
 
     @Autowired
     private SysRoleMapper roleMapper;

--
Gitblit v1.9.3