From 3cb9bc337ba058757601abb248a76e231963a23a Mon Sep 17 00:00:00 2001 From: wujiawei Date: Wed, 17 Mar 2021 16:22:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9EPageResult=E4=BD=9C=E4=B8=BAS?= =?UTF-8?q?ervice.queryAll=E6=96=B9=E6=B3=95=E7=9A=84=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E5=80=BC=EF=BC=8C=E4=BF=AE=E6=94=B9=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=A8=A1=E6=9D=BF=EF=BC=8C=E4=BF=AE=E6=94=B9UserServi?= =?UTF-8?q?ce.queryAll()=E4=BD=9C=E4=B8=BA=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/me/zhengjie/utils/PageResult.java | 22 +++++++++++++++++++ .../main/java/me/zhengjie/utils/PageUtil.java | 13 ++++++++++- .../modules/system/service/UserService.java | 3 ++- .../system/service/impl/UserServiceImpl.java | 4 ++-- .../template/generator/admin/Service.ftl | 3 ++- .../template/generator/admin/ServiceImpl.ftl | 5 +++-- 6 files changed, 43 insertions(+), 7 deletions(-) create mode 100644 eladmin-common/src/main/java/me/zhengjie/utils/PageResult.java diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/PageResult.java b/eladmin-common/src/main/java/me/zhengjie/utils/PageResult.java new file mode 100644 index 00000000..50cb9444 --- /dev/null +++ b/eladmin-common/src/main/java/me/zhengjie/utils/PageResult.java @@ -0,0 +1,22 @@ +package me.zhengjie.utils; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 分页查询结果 + * @author wujiawei + * @see + * @since 2021/3/17 下午4:06 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class PageResult { + + private List content; + private long totalElements; +} diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java b/eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java index 44db68dd..e24253f6 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java @@ -42,14 +42,25 @@ public class PageUtil extends cn.hutool.core.util.PageUtil { /** * Page 数据处理,预防redis反序列化报错 + * + * 使用${@link PageUtil#toPageResult(Page)}代替 + * */ + @Deprecated public static Map toPage(Page page) { Map map = new LinkedHashMap<>(2); map.put("content",page.getContent()); map.put("totalElements",page.getTotalElements()); return map; } - + + /** + * Page 数据处理,预防redis反序列化报错 + */ + public static PageResult toPageResult(Page page) { + return new PageResult(page.getContent(), page.getTotalElements()); + } + /** * 自定义分页 */ diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java index 814af925..6330d3eb 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java @@ -18,6 +18,7 @@ package me.zhengjie.modules.system.service; import me.zhengjie.modules.system.domain.User; import me.zhengjie.modules.system.service.dto.UserDto; import me.zhengjie.modules.system.service.dto.UserQueryCriteria; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -91,7 +92,7 @@ public interface UserService { * @param pageable 分页参数 * @return / */ - Object queryAll(UserQueryCriteria criteria, Pageable pageable); + PageResult queryAll(UserQueryCriteria criteria, Pageable pageable); /** * 查询全部不分页 diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java index f40e51f5..6e54c8ad 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java @@ -61,9 +61,9 @@ public class UserServiceImpl implements UserService { private final OnlineUserService onlineUserService; @Override - public Object queryAll(UserQueryCriteria criteria, Pageable pageable) { + public PageResult queryAll(UserQueryCriteria criteria, Pageable pageable) { Page page = userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable); - return PageUtil.toPage(page.map(userMapper::toDto)); + return PageUtil.toPageResult(page.map(userMapper::toDto)); } @Override diff --git a/eladmin-system/src/main/resources/template/generator/admin/Service.ftl b/eladmin-system/src/main/resources/template/generator/admin/Service.ftl index 9ecbe249..92c8cc22 100644 --- a/eladmin-system/src/main/resources/template/generator/admin/Service.ftl +++ b/eladmin-system/src/main/resources/template/generator/admin/Service.ftl @@ -18,6 +18,7 @@ package ${package}.service; import ${package}.domain.${className}; import ${package}.service.dto.${className}Dto; import ${package}.service.dto.${className}QueryCriteria; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import java.util.Map; import java.util.List; @@ -38,7 +39,7 @@ public interface ${className}Service { * @param pageable 分页参数 * @return Map */ - Map queryAll(${className}QueryCriteria criteria, Pageable pageable); + PageResult<${className}Dto> queryAll(${className}QueryCriteria criteria, Pageable pageable); /** * 查询所有数据不分页 diff --git a/eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl b/eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl index 17f04547..10cc0666 100644 --- a/eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl +++ b/eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl @@ -45,6 +45,7 @@ import cn.hutool.core.util.IdUtil; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import me.zhengjie.utils.PageUtil; +import me.zhengjie.utils.PageResult; import me.zhengjie.utils.QueryHelp; import java.util.List; import java.util.Map; @@ -67,9 +68,9 @@ public class ${className}ServiceImpl implements ${className}Service { private final ${className}Mapper ${changeClassName}Mapper; @Override - public Map queryAll(${className}QueryCriteria criteria, Pageable pageable){ + public PageResult<${className}Dto> queryAll(${className}QueryCriteria criteria, Pageable pageable){ Page<${className}> page = ${changeClassName}Repository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); - return PageUtil.toPage(page.map(${changeClassName}Mapper::toDto)); + return PageUtil.toPageResult(page.map(${changeClassName}Mapper::toDto)); } @Override