浏览代码

Merge remote-tracking branch 'origin/dev' into dev

疯狂的狮子Li 3 年之前
父节点
当前提交
9e5b64e1b7
共有 31 个文件被更改,包括 341 次插入132 次删除
  1. 1 0
      README.md
  2. 26 2
      pom.xml
  3. 22 1
      ruoyi-common/pom.xml
  4. 48 0
      ruoyi-common/src/main/java/com/ruoyi/common/core/domain/PageQuery.java
  5. 6 3
      ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
  6. 66 0
      ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/BaseMapperPlus.java
  7. 18 32
      ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java
  8. 2 0
      ruoyi-common/src/main/java/com/ruoyi/common/core/page/PagePlus.java
  9. 27 0
      ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java
  10. 28 35
      ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java
  11. 2 2
      ruoyi-common/src/main/java/com/ruoyi/common/utils/ValidatorUtils.java
  12. 26 0
      ruoyi-common/src/main/java/com/ruoyi/common/xss/Xss.java
  13. 21 0
      ruoyi-common/src/main/java/com/ruoyi/common/xss/XssValidator.java
  14. 3 3
      ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java
  15. 4 6
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java
  16. 1 0
      ruoyi-extend/ruoyi-xxl-job-admin/pom.xml
  17. 4 5
      ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
  18. 2 4
      ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm
  19. 3 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/SysNotice.java
  20. 3 0
      ruoyi-system/src/main/java/com/ruoyi/system/listener/SysUserImportListener.java
  21. 2 3
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
  22. 2 3
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java
  23. 2 3
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
  24. 2 3
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java
  25. 2 3
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java
  26. 2 3
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java
  27. 3 4
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java
  28. 3 4
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
  29. 2 3
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
  30. 2 3
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
  31. 6 7
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

+ 1 - 0
README.md

@@ -8,6 +8,7 @@
 [![Spring Boot](https://img.shields.io/badge/Spring%20Boot-2.5-blue.svg)]()
 [![JDK-8+](https://img.shields.io/badge/JDK-8-green.svg)]()
 [![JDK-11](https://img.shields.io/badge/JDK-11-green.svg)]()
+[![JDK-17](https://img.shields.io/badge/JDK-17-green.svg)]()
 
 > RuoYi-Vue-Plus 是基于 RuoYi-Vue 针对 `分布式集群` 场景升级(不兼容原框架)
 

+ 26 - 2
pom.xml

@@ -34,7 +34,7 @@
         <redisson.version>3.16.6</redisson.version>
         <lock4j.version>2.2.1</lock4j.version>
         <dynamic-ds.version>3.5.0</dynamic-ds.version>
-        <tlog.version>1.3.5</tlog.version>
+        <tlog.version>1.3.6</tlog.version>
         <xxl-job.version>2.3.0</xxl-job.version>
 
         <!-- jdk11 缺失依赖 jaxb-->
@@ -161,7 +161,31 @@
 
             <dependency>
                 <groupId>cn.hutool</groupId>
-                <artifactId>hutool-all</artifactId>
+                <artifactId>hutool-core</artifactId>
+                <version>${hutool.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>cn.hutool</groupId>
+                <artifactId>hutool-http</artifactId>
+                <version>${hutool.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>cn.hutool</groupId>
+                <artifactId>hutool-captcha</artifactId>
+                <version>${hutool.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>cn.hutool</groupId>
+                <artifactId>hutool-extra</artifactId>
+                <version>${hutool.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>cn.hutool</groupId>
+                <artifactId>hutool-jwt</artifactId>
                 <version>${hutool.version}</version>
             </dependency>
 

+ 22 - 1
ruoyi-common/pom.xml

@@ -104,8 +104,29 @@
 
         <dependency>
             <groupId>cn.hutool</groupId>
-            <artifactId>hutool-all</artifactId>
+            <artifactId>hutool-core</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-http</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-captcha</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-jwt</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-extra</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>

+ 48 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/PageQuery.java

@@ -1,5 +1,10 @@
 package com.ruoyi.common.core.domain;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.sql.SqlUtil;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.experimental.Accessors;
@@ -42,4 +47,47 @@ public class PageQuery implements Serializable {
     @ApiModelProperty(value = "排序的方向", example = "asc,desc")
     private String isAsc;
 
+    /**
+     * 当前记录起始索引 默认值
+     */
+    public static final int DEFAULT_PAGE_NUM = 1;
+
+    /**
+     * 每页显示记录数 默认值 默认查全部
+     */
+    public static final int DEFAULT_PAGE_SIZE = Integer.MAX_VALUE;
+
+    public <T> Page<T> build() {
+        Integer pageNum = ObjectUtil.defaultIfNull(getPageNum(), DEFAULT_PAGE_NUM);
+        Integer pageSize = ObjectUtil.defaultIfNull(getPageSize(), DEFAULT_PAGE_SIZE);
+        if (pageNum <= 0) {
+            pageNum = DEFAULT_PAGE_NUM;
+        }
+        Page<T> page = new Page<>(pageNum, pageSize);
+        OrderItem orderItem = buildOrderItem();
+        if (ObjectUtil.isNotNull(orderItem)) {
+            page.addOrder(orderItem);
+        }
+        return page;
+    }
+
+    private OrderItem buildOrderItem() {
+        // 兼容前端排序类型
+        if ("ascending".equals(isAsc)) {
+            isAsc = "asc";
+        } else if ("descending".equals(isAsc)) {
+            isAsc = "desc";
+        }
+        if (StringUtils.isNotBlank(orderByColumn)) {
+            String orderBy = SqlUtil.escapeOrderBySql(orderByColumn);
+            orderBy = StringUtils.toUnderScoreCase(orderBy);
+            if ("asc".equals(isAsc)) {
+                return OrderItem.asc(orderBy);
+            } else if ("desc".equals(isAsc)) {
+                return OrderItem.desc(orderBy);
+            }
+        }
+        return null;
+    }
+
 }

+ 6 - 3
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.common.xss.Xss;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -48,15 +49,17 @@ public class SysUser extends BaseEntity {
 	 * 用户账号
 	 */
 	@ApiModelProperty(value = "用户账号")
-	@NotBlank(message = "用户账号不能为空")
+    @Xss(message = "用户账号不能包含脚本字符")
+    @NotBlank(message = "用户账号不能为空")
 	@Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符")
 	private String userName;
 
 	/**
 	 * 用户昵称
 	 */
-	@ApiModelProperty(value = "用户昵称")
-	@Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符")
+    @ApiModelProperty(value = "用户昵称")
+    @Xss(message = "用户昵称不能包含脚本字符")
+    @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符")
 	private String nickName;
 
 	/**

+ 66 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/BaseMapperPlus.java

@@ -1,9 +1,16 @@
 package com.ruoyi.common.core.mybatisplus.core;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.BeanCopyUtils;
 import org.apache.ibatis.annotations.Param;
 
+import java.io.Serializable;
 import java.util.Collection;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 自定义 Mapper 接口, 实现 自定义扩展
@@ -18,4 +25,63 @@ public interface BaseMapperPlus<T> extends BaseMapper<T> {
 	 */
 	int insertAll(@Param("list") Collection<T> batchList);
 
+    /**
+     * 根据 ID 查询
+     */
+    default <V> V selectVoById(Serializable id, Class<V> voClass){
+        T obj = this.selectById(id);
+        return BeanCopyUtils.copy(obj, voClass);
+    }
+
+    /**
+     * 查询(根据ID 批量查询)
+     */
+    default <V> List<V> selectVoBatchIds(Collection<? extends Serializable> idList, Class<V> voClass){
+        List<T> list = this.selectBatchIds(idList);
+        if (list == null) {
+            return null;
+        }
+        return BeanCopyUtils.copyList(list, voClass);
+    }
+
+    /**
+     * 查询(根据 columnMap 条件)
+     */
+    default <V> List<V> selectVoByMap(Map<String, Object> map, Class<V> voClass){
+        List<T> list = this.selectByMap(map);
+        if (list == null) {
+            return null;
+        }
+        return BeanCopyUtils.copyList(list, voClass);
+    }
+
+    /**
+     * 根据 entity 条件,查询一条记录
+     */
+    default <V> V selectVoOne(Wrapper<T> wrapper, Class<V> voClass) {
+        T obj = this.selectOne(wrapper);
+        return BeanCopyUtils.copy(obj, voClass);
+    }
+
+    /**
+     * 根据 entity 条件,查询全部记录
+     */
+    default <V> List<V> selectVoList(Wrapper<T> wrapper, Class<V> voClass) {
+        List<T> list = this.selectList(wrapper);
+        if (list == null) {
+            return null;
+        }
+        return BeanCopyUtils.copyList(list, voClass);
+    }
+
+    /**
+     * 分页查询VO
+     */
+    default <V, P extends IPage<V>> P selectVoPage(IPage<T> page, Wrapper<T> wrapper, Class<V> voClass) {
+        IPage<T> pageData = this.selectPage(page, wrapper);
+        IPage<V> voPage = new Page<>(pageData.getCurrent(), pageData.getSize(), pageData.getTotal());
+        voPage.setRecords(BeanCopyUtils.copyList(pageData.getRecords(), voClass));
+        return (P) voPage;
+    }
+
 }

+ 18 - 32
ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java

@@ -3,6 +3,7 @@ package com.ruoyi.common.core.mybatisplus.core;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.TableInfo;
 import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
 import com.baomidou.mybatisplus.core.toolkit.Assert;
@@ -160,76 +161,51 @@ public class ServicePlusImpl<M extends BaseMapperPlus<T>, T, V> extends ServiceI
 
 	/**
 	 * 根据 ID 查询
-	 *
-	 * @param id 主键ID
 	 */
 	@Override
 	public V getVoById(Serializable id) {
-		T t = getBaseMapper().selectById(id);
-		return BeanCopyUtils.copy(t, voClass);
+        return getBaseMapper().selectVoById(id, voClass);
 	}
 
 	/**
 	 * 查询(根据ID 批量查询)
-	 *
-	 * @param idList 主键ID列表
 	 */
 	@Override
 	public List<V> listVoByIds(Collection<? extends Serializable> idList) {
-		List<T> list = getBaseMapper().selectBatchIds(idList);
-		if (list == null) {
-			return null;
-		}
-		return BeanCopyUtils.copyList(list, voClass);
+        return getBaseMapper().selectVoBatchIds(idList, voClass);
 	}
 
 	/**
 	 * 查询(根据 columnMap 条件)
-	 *
-	 * @param columnMap 表字段 map 对象
 	 */
 	@Override
 	public List<V> listVoByMap(Map<String, Object> columnMap) {
-		List<T> list = getBaseMapper().selectByMap(columnMap);
-		if (list == null) {
-			return null;
-		}
-		return BeanCopyUtils.copyList(list, voClass);
+        return getBaseMapper().selectVoByMap(columnMap, voClass);
 	}
 
 	/**
 	 * 根据 Wrapper,查询一条记录 <br/>
 	 * <p>结果集,如果是多个会抛出异常,随机取一条加上限制条件 wrapper.last("LIMIT 1")</p>
-	 *
-	 * @param queryWrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}
 	 */
 	@Override
 	public V getVoOne(Wrapper<T> queryWrapper) {
-		T t = getOne(queryWrapper, true);
-		return BeanCopyUtils.copy(t, voClass);
+        return getBaseMapper().selectVoOne(queryWrapper, voClass);
 	}
 
 	/**
 	 * 查询列表
-	 *
-	 * @param queryWrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}
 	 */
 	@Override
 	public List<V> listVo(Wrapper<T> queryWrapper) {
-		List<T> list = getBaseMapper().selectList(queryWrapper);
-		if (list == null) {
-			return null;
-		}
-		return BeanCopyUtils.copyList(list, voClass);
+        return getBaseMapper().selectVoList(queryWrapper, voClass);
 	}
 
 	/**
 	 * 翻页查询
-	 *
-	 * @param page         翻页对象
-	 * @param queryWrapper 实体对象封装操作类
+     * @deprecated 3.6.0 移除 请使用 {@link #pageVo(IPage, Wrapper)}
 	 */
 	@Override
+    @Deprecated
 	public PagePlus<T, V> pageVo(PagePlus<T, V> page, Wrapper<T> queryWrapper) {
 		PagePlus<T, V> result = getBaseMapper().selectPage(page, queryWrapper);
 		List<V> volist = BeanCopyUtils.copyList(result.getRecords(), voClass);
@@ -237,4 +213,14 @@ public class ServicePlusImpl<M extends BaseMapperPlus<T>, T, V> extends ServiceI
 		return result;
 	}
 
+    /**
+     * 翻页查询
+     *
+     * @param page         翻页对象
+     * @param queryWrapper 实体对象封装操作类
+     */
+    public <P extends IPage<V>> P pageVo(IPage<T> page, Wrapper<T> queryWrapper) {
+        return getBaseMapper().selectVoPage(page, queryWrapper, voClass);
+    }
+
 }

+ 2 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/page/PagePlus.java

@@ -16,9 +16,11 @@ import java.util.List;
  * @param <T> 数据库实体
  * @param <K> vo实体
  * @author Lion Li
+ * @deprecated 3.6.0 删除 请使用 {@link com.ruoyi.common.core.domain.PageQuery#build()}
  */
 @Data
 @Accessors(chain = true)
+@Deprecated
 public class PagePlus<T,K> implements IPage<T> {
 
     /**

+ 27 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java

@@ -1,5 +1,7 @@
 package com.ruoyi.common.core.page;
 
+import cn.hutool.http.HttpStatus;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -57,4 +59,29 @@ public class TableDataInfo<T> implements Serializable {
 		this.total = total;
 	}
 
+    public static <T> TableDataInfo<T> build(IPage<T> page) {
+        TableDataInfo<T> rspData = new TableDataInfo<>();
+        rspData.setCode(HttpStatus.HTTP_OK);
+        rspData.setMsg("查询成功");
+        rspData.setRows(page.getRecords());
+        rspData.setTotal(page.getTotal());
+        return rspData;
+    }
+
+    public static <T> TableDataInfo<T> build(List<T> list) {
+        TableDataInfo<T> rspData = new TableDataInfo<>();
+        rspData.setCode(HttpStatus.HTTP_OK);
+        rspData.setMsg("查询成功");
+        rspData.setRows(list);
+        rspData.setTotal(list.size());
+        return rspData;
+    }
+
+    public static <T> TableDataInfo<T> build() {
+        TableDataInfo<T> rspData = new TableDataInfo<>();
+        rspData.setCode(HttpStatus.HTTP_OK);
+        rspData.setMsg("查询成功");
+        return rspData;
+    }
+
 }

+ 28 - 35
ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java

@@ -2,6 +2,7 @@ package com.ruoyi.common.utils;
 
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.http.HttpStatus;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.PageQuery;
@@ -17,7 +18,9 @@ import java.util.List;
  * 分页工具
  *
  * @author Lion Li
+ * @deprecated 3.6.0 删除 请使用 {@link PageQuery} 与 {@link TableDataInfo}
  */
+@Deprecated
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public class PageUtils {
 
@@ -48,11 +51,13 @@ public class PageUtils {
     /**
      * 当前记录起始索引 默认值
      */
+    @Deprecated
     public static final int DEFAULT_PAGE_NUM = 1;
 
     /**
      * 每页显示记录数 默认值 默认查全部
      */
+    @Deprecated
     public static final int DEFAULT_PAGE_SIZE = Integer.MAX_VALUE;
 
     /**
@@ -61,7 +66,7 @@ public class PageUtils {
      * @param <T> domain 实体
      * @param <K> vo 实体
      * @return 分页对象
-     * @deprecated 3.6.0 删除 请使用 {@link PageUtils#buildPagePlus(PageQuery)}
+     * @deprecated 3.6.0 删除 请使用 {@link PageQuery#build()}
      * 由于使用 Servlet 获取只能从 param 获取 灵活性降低 故将传参操作交给用户
      */
     @Deprecated
@@ -81,22 +86,6 @@ public class PageUtils {
         return page;
     }
 
-    public static <T, K> PagePlus<T, K> buildPagePlus(PageQuery pageQuery) {
-        Integer pageNum = ObjectUtil.defaultIfNull(pageQuery.getPageNum(), DEFAULT_PAGE_NUM);
-        Integer pageSize = ObjectUtil.defaultIfNull(pageQuery.getPageSize(), DEFAULT_PAGE_SIZE);
-        String orderByColumn = pageQuery.getOrderByColumn();
-        String isAsc = pageQuery.getIsAsc();
-        if (pageNum <= 0) {
-            pageNum = DEFAULT_PAGE_NUM;
-        }
-        PagePlus<T, K> page = new PagePlus<>(pageNum, pageSize);
-        OrderItem orderItem = buildOrderItem(orderByColumn, isAsc);
-        if (ObjectUtil.isNotNull(orderItem)) {
-            page.addOrder(orderItem);
-        }
-        return page;
-    }
-
     @Deprecated
     public static <T> Page<T> buildPage() {
         return buildPage(null, null);
@@ -107,7 +96,7 @@ public class PageUtils {
      *
      * @param <T> domain 实体
      * @return 分页对象
-     * @deprecated 3.6.0 删除 请使用 {@link PageUtils#buildPage(PageQuery)}
+     * @deprecated 3.6.0 删除 请使用 {@link PageQuery#build()}
      * 由于使用 Servlet 获取只能从 param 获取 灵活性降低 故将传参操作交给用户
      */
     @Deprecated
@@ -127,23 +116,6 @@ public class PageUtils {
         return page;
     }
 
-    public static <T> Page<T> buildPage(PageQuery pageQuery) {
-        Integer pageNum = ObjectUtil.defaultIfNull(pageQuery.getPageNum(), DEFAULT_PAGE_NUM);
-        Integer pageSize = ObjectUtil.defaultIfNull(pageQuery.getPageSize(), DEFAULT_PAGE_SIZE);
-        String orderByColumn = pageQuery.getOrderByColumn();
-        String isAsc = pageQuery.getIsAsc();
-        if (pageNum <= 0) {
-            pageNum = DEFAULT_PAGE_NUM;
-        }
-        Page<T> page = new Page<>(pageNum, pageSize);
-        OrderItem orderItem = buildOrderItem(orderByColumn, isAsc);
-        if (ObjectUtil.isNotNull(orderItem)) {
-            page.addOrder(orderItem);
-        }
-        return page;
-    }
-
-
     private static OrderItem buildOrderItem(String orderByColumn, String isAsc) {
         // 兼容前端排序类型
         if ("ascending".equals(isAsc)) {
@@ -163,6 +135,15 @@ public class PageUtils {
         return null;
     }
 
+    /**
+     * 构建 MP 普通分页对象
+     *
+     * @param <T> domain 实体
+     * @return 分页对象
+     * @deprecated 3.6.0 删除 请使用 {@link PageQuery#build()}
+     * 由于使用 Servlet 获取只能从 param 获取 灵活性降低 故将传参操作交给用户
+     */
+    @Deprecated
     public static <T, K> TableDataInfo<K> buildDataInfo(PagePlus<T, K> page) {
         TableDataInfo<K> rspData = new TableDataInfo<>();
         rspData.setCode(HttpStatus.HTTP_OK);
@@ -172,6 +153,10 @@ public class PageUtils {
         return rspData;
     }
 
+    /**
+     * @deprecated 3.6.0 删除 请使用 {@link TableDataInfo#build(IPage)}
+     */
+    @Deprecated
     public static <T> TableDataInfo<T> buildDataInfo(Page<T> page) {
         TableDataInfo<T> rspData = new TableDataInfo<>();
         rspData.setCode(HttpStatus.HTTP_OK);
@@ -181,6 +166,10 @@ public class PageUtils {
         return rspData;
     }
 
+    /**
+     * @deprecated 3.6.0 删除 请使用 {@link TableDataInfo#build(List)}
+     */
+    @Deprecated
     public static <T> TableDataInfo<T> buildDataInfo(List<T> list) {
         TableDataInfo<T> rspData = new TableDataInfo<>();
         rspData.setCode(HttpStatus.HTTP_OK);
@@ -190,6 +179,10 @@ public class PageUtils {
         return rspData;
     }
 
+    /**
+     * @deprecated 3.6.0 删除 请使用 {@link TableDataInfo#build()}
+     */
+    @Deprecated
     public static <T> TableDataInfo<T> buildDataInfo() {
         TableDataInfo<T> rspData = new TableDataInfo<>();
         rspData.setCode(HttpStatus.HTTP_OK);

+ 2 - 2
ruoyi-common/src/main/java/com/ruoyi/common/utils/ValidatorUtils.java

@@ -1,11 +1,11 @@
 package com.ruoyi.common.utils;
 
+import com.ruoyi.common.utils.spring.SpringUtils;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 
 import javax.validation.ConstraintViolation;
 import javax.validation.ConstraintViolationException;
-import javax.validation.Validation;
 import javax.validation.Validator;
 import java.util.Set;
 
@@ -17,7 +17,7 @@ import java.util.Set;
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public class ValidatorUtils {
 
-	private static final Validator VALID = Validation.buildDefaultValidatorFactory().getValidator();
+	private static final Validator VALID = SpringUtils.getBean(Validator.class);
 
 	public static <T> void validate(T object, Class<?>... groups) {
         Set<ConstraintViolation<T>> validate = VALID.validate(object, groups);

+ 26 - 0
ruoyi-common/src/main/java/com/ruoyi/common/xss/Xss.java

@@ -0,0 +1,26 @@
+package com.ruoyi.common.xss;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 自定义xss校验注解
+ *
+ * @author Lion Li
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.PARAMETER})
+@Constraint(validatedBy = {XssValidator.class})
+public @interface Xss {
+
+    String message() default "不允许任何脚本运行";
+
+    Class<?>[] groups() default {};
+
+    Class<? extends Payload>[] payload() default {};
+
+}

+ 21 - 0
ruoyi-common/src/main/java/com/ruoyi/common/xss/XssValidator.java

@@ -0,0 +1,21 @@
+package com.ruoyi.common.xss;
+
+import cn.hutool.core.util.ReUtil;
+import cn.hutool.http.HtmlUtil;
+
+import javax.validation.ConstraintValidator;
+import javax.validation.ConstraintValidatorContext;
+
+/**
+ * 自定义xss校验注解实现
+ *
+ * @author Lion Li
+ */
+public class XssValidator implements ConstraintValidator<Xss, String> {
+
+    @Override
+    public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
+        return !ReUtil.contains(HtmlUtil.RE_HTML_MARK, value);
+    }
+
+}

+ 3 - 3
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java

@@ -36,7 +36,7 @@ public class TestBatchController extends BaseController {
      */
     @ApiOperation(value = "新增批量方法")
     @PostMapping("/add")
-//	@DataSource(DataSourceType.SLAVE)
+//	@DS("slave")
     public AjaxResult<Void> add() {
         List<TestDemo> list = new ArrayList<>();
         for (int i = 0; i < 1000; i++) {
@@ -50,7 +50,7 @@ public class TestBatchController extends BaseController {
      */
     @ApiOperation(value = "新增或更新批量方法")
     @PostMapping("/addOrUpdate")
-//	@DataSource(DataSourceType.SLAVE)
+//	@DS("slave")
     public AjaxResult<Void> addOrUpdate() {
         List<TestDemo> list = new ArrayList<>();
         for (int i = 0; i < 1000; i++) {
@@ -72,7 +72,7 @@ public class TestBatchController extends BaseController {
      */
     @ApiOperation(value = "删除批量方法")
     @DeleteMapping()
-//	@DataSource(DataSourceType.SLAVE)
+//	@DS("slave")
     public AjaxResult<Void> remove() {
         return toAjax(iTestDemoService.remove(new LambdaQueryWrapper<TestDemo>()
             .eq(TestDemo::getOrderNum, -1L)) ? 1 : 0);

+ 4 - 6
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java

@@ -6,9 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
-import com.ruoyi.common.core.page.PagePlus;
 import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.demo.domain.TestDemo;
 import com.ruoyi.demo.domain.bo.TestDemoBo;
@@ -38,8 +36,8 @@ public class TestDemoServiceImpl extends ServicePlusImpl<TestDemoMapper, TestDem
 	@Override
 	public TableDataInfo<TestDemoVo> queryPageList(TestDemoBo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<TestDemo> lqw = buildQueryWrapper(bo);
-        PagePlus<TestDemo, TestDemoVo> result = pageVo(PageUtils.buildPagePlus(pageQuery), lqw);
-		return PageUtils.buildDataInfo(result);
+        Page<TestDemoVo> result = pageVo(pageQuery.build(), lqw);
+		return TableDataInfo.build(result);
 	}
 
 	/**
@@ -48,8 +46,8 @@ public class TestDemoServiceImpl extends ServicePlusImpl<TestDemoMapper, TestDem
 	@Override
 	public TableDataInfo<TestDemoVo> customPageList(TestDemoBo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<TestDemo> lqw = buildQueryWrapper(bo);
-		Page<TestDemoVo> result = baseMapper.customPageList(PageUtils.buildPage(pageQuery), lqw);
-		return PageUtils.buildDataInfo(result);
+		Page<TestDemoVo> result = baseMapper.customPageList(pageQuery.build(), lqw);
+		return TableDataInfo.build(result);
 	}
 
 	@Override

+ 1 - 0
ruoyi-extend/ruoyi-xxl-job-admin/pom.xml

@@ -102,6 +102,7 @@
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-resources-plugin</artifactId>
+                <version>2.6</version>
 				<configuration>
 					<nonFilteredFileExtensions>
 						<nonFilteredFileExtension>ttf</nonFilteredFileExtension>

+ 4 - 5
ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java

@@ -12,7 +12,6 @@ import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.JsonUtils;
-import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.file.FileUtils;
@@ -69,14 +68,14 @@ public class GenTableServiceImpl extends ServicePlusImpl<GenTableMapper, GenTabl
 
     @Override
     public TableDataInfo<GenTable> selectPageGenTableList(GenTable genTable, PageQuery pageQuery) {
-        Page<GenTable> page = baseMapper.selectPageGenTableList(PageUtils.buildPage(pageQuery), genTable);
-        return PageUtils.buildDataInfo(page);
+        Page<GenTable> page = baseMapper.selectPageGenTableList(pageQuery.build(), genTable);
+        return TableDataInfo.build(page);
     }
 
     @Override
     public TableDataInfo<GenTable> selectPageDbTableList(GenTable genTable, PageQuery pageQuery) {
-        Page<GenTable> page = baseMapper.selectPageDbTableList(PageUtils.buildPage(pageQuery), genTable);
-        return PageUtils.buildDataInfo(page);
+        Page<GenTable> page = baseMapper.selectPageDbTableList(pageQuery.build(), genTable);
+        return TableDataInfo.build(page);
     }
 
     /**

+ 2 - 4
ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm

@@ -3,8 +3,6 @@ package ${packageName}.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import com.ruoyi.common.utils.StringUtils;
 #if($table.crud || $table.sub)
-import com.ruoyi.common.utils.PageUtils;
-import com.ruoyi.common.core.page.PagePlus;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.domain.PageQuery;
 #end
@@ -40,8 +38,8 @@ public class ${ClassName}ServiceImpl extends ServicePlusImpl<${ClassName}Mapper,
     @Override
     public TableDataInfo<${ClassName}Vo> queryPageList(${ClassName}Bo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<${ClassName}> lqw = buildQueryWrapper(bo);
-        PagePlus<${ClassName}, ${ClassName}Vo> result = pageVo(PageUtils.buildPagePlus(pageQuery), lqw);
-        return PageUtils.buildDataInfo(result);
+        Page<${ClassName}Vo> result = pageVo(pageQuery.build(), lqw);
+        return TableDataInfo.build(result);
     }
 #end
 

+ 3 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysNotice.java

@@ -3,6 +3,7 @@ package com.ruoyi.system.domain;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.common.xss.Xss;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -11,6 +12,7 @@ import lombok.experimental.Accessors;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.Size;
 
+
 /**
  * 通知公告表 sys_notice
  *
@@ -32,6 +34,7 @@ public class SysNotice extends BaseEntity {
     /**
      * 公告标题
      */
+    @Xss(message = "公告标题不能包含脚本字符")
     @ApiModelProperty(value = "公告标题")
     @NotBlank(message = "公告标题不能为空")
     @Size(min = 0, max = 50, message = "公告标题不能超过50个字符")

+ 3 - 0
ruoyi-system/src/main/java/com/ruoyi/system/listener/SysUserImportListener.java

@@ -9,6 +9,7 @@ import com.ruoyi.common.excel.ExcelResult;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.ValidatorUtils;
 import com.ruoyi.common.utils.spring.SpringUtils;
 import com.ruoyi.system.domain.vo.SysUserImportVo;
 import com.ruoyi.system.service.ISysConfigService;
@@ -53,12 +54,14 @@ public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo
             // 验证是否存在这个用户
             if (StringUtils.isNull(user)) {
                 user = BeanUtil.toBean(userVo, SysUser.class);
+                ValidatorUtils.validate(user);
                 user.setPassword(password);
                 user.setCreateBy(operName);
                 userService.insertUser(user);
                 successNum++;
                 successMsg.append("<br/>").append(successNum).append("、账号 ").append(user.getUserName()).append(" 导入成功");
             } else if (isUpdateSupport) {
+                ValidatorUtils.validate(user);
                 user.setUpdateBy(operName);
                 userService.updateUser(user);
                 successNum++;

+ 2 - 3
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java

@@ -11,7 +11,6 @@ import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.service.ConfigService;
 import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.RedisUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.domain.SysConfig;
@@ -41,8 +40,8 @@ public class SysConfigServiceImpl extends ServicePlusImpl<SysConfigMapper, SysCo
             .like(StringUtils.isNotBlank(config.getConfigKey()), SysConfig::getConfigKey, config.getConfigKey())
             .between(params.get("beginTime") != null && params.get("endTime") != null,
                 SysConfig::getCreateTime, params.get("beginTime"), params.get("endTime"));
-        Page<SysConfig> page = page(PageUtils.buildPage(pageQuery), lqw);
-        return PageUtils.buildDataInfo(page);
+        Page<SysConfig> page = page(pageQuery.build(), lqw);
+        return TableDataInfo.build(page);
     }
 
     /**

+ 2 - 3
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java

@@ -7,7 +7,6 @@ import com.ruoyi.common.core.domain.PageQuery;
 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.PageUtils;
 import com.ruoyi.common.utils.RedisUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.mapper.SysDictDataMapper;
@@ -31,8 +30,8 @@ public class SysDictDataServiceImpl extends ServicePlusImpl<SysDictDataMapper, S
                 .like(StringUtils.isNotBlank(dictData.getDictLabel()), SysDictData::getDictLabel, dictData.getDictLabel())
                 .eq(StringUtils.isNotBlank(dictData.getStatus()), SysDictData::getStatus, dictData.getStatus())
                 .orderByAsc(SysDictData::getDictSort);
-        Page<SysDictData> page = page(PageUtils.buildPage(pageQuery), lqw);
-        return PageUtils.buildDataInfo(page);
+        Page<SysDictData> page = page(pageQuery.build(), lqw);
+        return TableDataInfo.build(page);
     }
 
     /**

+ 2 - 3
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java

@@ -13,7 +13,6 @@ import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.service.DictService;
 import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.RedisUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.mapper.SysDictDataMapper;
@@ -48,8 +47,8 @@ public class SysDictTypeServiceImpl extends ServicePlusImpl<SysDictTypeMapper, S
             .like(StringUtils.isNotBlank(dictType.getDictType()), SysDictType::getDictType, dictType.getDictType())
             .between(params.get("beginTime") != null && params.get("endTime") != null,
                 SysDictType::getCreateTime, params.get("beginTime"), params.get("endTime"));
-        Page<SysDictType> page = page(PageUtils.buildPage(pageQuery), lqw);
-        return PageUtils.buildDataInfo(page);
+        Page<SysDictType> page = page(pageQuery.build(), lqw);
+        return TableDataInfo.build(page);
     }
 
     /**

+ 2 - 3
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java

@@ -9,7 +9,6 @@ import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.service.LogininforService;
-import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.ServletUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.ip.AddressUtils;
@@ -100,8 +99,8 @@ public class SysLogininforServiceImpl extends ServicePlusImpl<SysLogininforMappe
         if(StringUtils.isBlank(pageQuery.getOrderByColumn())) {
             pageQuery.setOrderByColumn("info_id").setIsAsc("desc");
         }
-        Page<SysLogininfor> page = page(PageUtils.buildPage(pageQuery), lqw);
-        return PageUtils.buildDataInfo(page);
+        Page<SysLogininfor> page = page(pageQuery.build(), lqw);
+        return TableDataInfo.build(page);
     }
 
     /**

+ 2 - 3
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.domain.SysNotice;
 import com.ruoyi.system.mapper.SysNoticeMapper;
@@ -29,8 +28,8 @@ public class SysNoticeServiceImpl extends ServicePlusImpl<SysNoticeMapper, SysNo
                 .like(StringUtils.isNotBlank(notice.getNoticeTitle()), SysNotice::getNoticeTitle, notice.getNoticeTitle())
                 .eq(StringUtils.isNotBlank(notice.getNoticeType()), SysNotice::getNoticeType, notice.getNoticeType())
                 .like(StringUtils.isNotBlank(notice.getCreateBy()), SysNotice::getCreateBy, notice.getCreateBy());
-        Page<SysNotice> page = page(PageUtils.buildPage(pageQuery), lqw);
-        return PageUtils.buildDataInfo(page);
+        Page<SysNotice> page = page(pageQuery.build(), lqw);
+        return TableDataInfo.build(page);
     }
 
     /**

+ 2 - 3
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java

@@ -9,7 +9,6 @@ import com.ruoyi.common.core.domain.dto.OperLogDTO;
 import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.service.OperLogService;
-import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.ip.AddressUtils;
 import com.ruoyi.system.domain.SysOperLog;
@@ -65,8 +64,8 @@ public class SysOperLogServiceImpl extends ServicePlusImpl<SysOperLogMapper, Sys
         if(StringUtils.isBlank(pageQuery.getOrderByColumn())) {
             pageQuery.setOrderByColumn("oper_id").setIsAsc("desc");
         }
-        Page<SysOperLog> page = page(PageUtils.buildPage(pageQuery), lqw);
-        return PageUtils.buildDataInfo(page);
+        Page<SysOperLog> page = page(pageQuery.build(), lqw);
+        return TableDataInfo.build(page);
     }
 
     /**

+ 3 - 4
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java

@@ -5,15 +5,14 @@ import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.common.collect.Lists;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
-import com.ruoyi.common.core.page.PagePlus;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.JsonUtils;
-import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.RedisUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.oss.constant.OssConstant;
@@ -70,8 +69,8 @@ public class SysOssConfigServiceImpl extends ServicePlusImpl<SysOssConfigMapper,
     @Override
     public TableDataInfo<SysOssConfigVo> queryPageList(SysOssConfigBo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<SysOssConfig> lqw = buildQueryWrapper(bo);
-        PagePlus<SysOssConfig, SysOssConfigVo> result = pageVo(PageUtils.buildPagePlus(pageQuery), lqw);
-        return PageUtils.buildDataInfo(result);
+        Page<SysOssConfigVo> result = pageVo(pageQuery.build(), lqw);
+        return TableDataInfo.build(result);
     }
 
 

+ 3 - 4
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java

@@ -2,12 +2,11 @@ package com.ruoyi.system.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
-import com.ruoyi.common.core.page.PagePlus;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.oss.entity.UploadResult;
 import com.ruoyi.oss.factory.OssFactory;
@@ -36,8 +35,8 @@ public class SysOssServiceImpl extends ServicePlusImpl<SysOssMapper, SysOss, Sys
     @Override
     public TableDataInfo<SysOssVo> queryPageList(SysOssBo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<SysOss> lqw = buildQueryWrapper(bo);
-        PagePlus<SysOss, SysOssVo> result = pageVo(PageUtils.buildPagePlus(pageQuery), lqw);
-        return PageUtils.buildDataInfo(result);
+        Page<SysOssVo> result = pageVo(pageQuery.build(), lqw);
+        return TableDataInfo.build(result);
     }
 
     private LambdaQueryWrapper<SysOss> buildQueryWrapper(SysOssBo bo) {

+ 2 - 3
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java

@@ -7,7 +7,6 @@ import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.domain.SysPost;
 import com.ruoyi.system.domain.SysUserPost;
@@ -37,8 +36,8 @@ public class SysPostServiceImpl extends ServicePlusImpl<SysPostMapper, SysPost,
                 .like(StringUtils.isNotBlank(post.getPostCode()), SysPost::getPostCode, post.getPostCode())
                 .eq(StringUtils.isNotBlank(post.getStatus()), SysPost::getStatus, post.getStatus())
                 .like(StringUtils.isNotBlank(post.getPostName()), SysPost::getPostName, post.getPostName());
-        Page<SysPost> page = page(PageUtils.buildPage(pageQuery), lqw);
-        return PageUtils.buildDataInfo(page);
+        Page<SysPost> page = page(pageQuery.build(), lqw);
+        return TableDataInfo.build(page);
     }
 
     /**

+ 2 - 3
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java

@@ -9,7 +9,6 @@ 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.ServiceException;
-import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.spring.SpringUtils;
@@ -46,8 +45,8 @@ public class SysRoleServiceImpl extends ServicePlusImpl<SysRoleMapper, SysRole,
 
     @Override
     public TableDataInfo<SysRole> selectPageRoleList(SysRole role, PageQuery pageQuery) {
-        Page<SysRole> page = baseMapper.selectPageRoleList(PageUtils.buildPage(pageQuery), role);
-        return PageUtils.buildDataInfo(page);
+        Page<SysRole> page = baseMapper.selectPageRoleList(pageQuery.build(), role);
+        return TableDataInfo.build(page);
     }
 
     /**

+ 6 - 7
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -12,7 +12,6 @@ import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.service.UserService;
 import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.spring.SpringUtils;
@@ -54,8 +53,8 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
 
     @Override
     public TableDataInfo<SysUser> selectPageUserList(SysUser user, PageQuery pageQuery) {
-        Page<SysUser> page = baseMapper.selectPageUserList(PageUtils.buildPage(pageQuery), user);
-        return PageUtils.buildDataInfo(page);
+        Page<SysUser> page = baseMapper.selectPageUserList(pageQuery.build(), user);
+        return TableDataInfo.build(page);
     }
 
     /**
@@ -77,8 +76,8 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
      */
     @Override
     public TableDataInfo<SysUser> selectAllocatedList(SysUser user, PageQuery pageQuery) {
-        Page<SysUser> page = baseMapper.selectAllocatedList(PageUtils.buildPage(pageQuery), user);
-        return PageUtils.buildDataInfo(page);
+        Page<SysUser> page = baseMapper.selectAllocatedList(pageQuery.build(), user);
+        return TableDataInfo.build(page);
     }
 
     /**
@@ -89,8 +88,8 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
      */
     @Override
     public TableDataInfo<SysUser> selectUnallocatedList(SysUser user, PageQuery pageQuery) {
-        Page<SysUser> page = baseMapper.selectUnallocatedList(PageUtils.buildPage(pageQuery), user);
-        return PageUtils.buildDataInfo(page);
+        Page<SysUser> page = baseMapper.selectUnallocatedList(pageQuery.build(), user);
+        return TableDataInfo.build(page);
     }
 
     /**