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..6e29f571 --- /dev/null +++ b/eladmin-common/src/main/java/me/zhengjie/utils/PageResult.java @@ -0,0 +1,17 @@ +package me.zhengjie.utils; + +import lombok.AccessLevel; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +import java.util.List; + +@Getter +@RequiredArgsConstructor(access = AccessLevel.PACKAGE) +public class PageResult { + + private final List content; + + private final 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..72c5e10b 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java @@ -28,11 +28,11 @@ public class PageUtil extends cn.hutool.core.util.PageUtil { /** * List 分页 */ - public static List toPage(int page, int size , List list) { + public static List paging(int page, int size , List list) { int fromIndex = page * size; int toIndex = page * size + size; if(fromIndex > list.size()){ - return new ArrayList(); + return Collections.emptyList(); } else if(toIndex >= list.size()) { return list.subList(fromIndex,list.size()); } else { @@ -43,21 +43,15 @@ public class PageUtil extends cn.hutool.core.util.PageUtil { /** * Page 数据处理,预防redis反序列化报错 */ - public static Map toPage(Page page) { - Map map = new LinkedHashMap<>(2); - map.put("content",page.getContent()); - map.put("totalElements",page.getTotalElements()); - return map; + public static PageResult toPage(Page page) { + return new PageResult<>(page.getContent(), page.getTotalElements()); } /** * 自定义分页 */ - public static Map toPage(Object object, Object totalElements) { - Map map = new LinkedHashMap<>(2); - map.put("content",object); - map.put("totalElements",totalElements); - return map; + public static PageResult toPage(List list, long totalElements) { + return new PageResult<>(list, totalElements); } } diff --git a/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java b/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java index 0341b115..0238c84a 100644 --- a/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java +++ b/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java @@ -90,7 +90,7 @@ public class GeneratorServiceImpl implements GeneratorService { "where table_schema = (select database()) and table_name like :table"; Query queryCount = em.createNativeQuery(countSql); queryCount.setParameter("table", StringUtils.isNotBlank(name) ? ("%" + name + "%") : "%%"); - Object totalElements = queryCount.getSingleResult(); + long totalElements = (long) queryCount.getSingleResult(); return PageUtil.toPage(tableInfos, totalElements); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java index af8d2986..b9ac48f8 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java @@ -16,6 +16,7 @@ package me.zhengjie.modules.security.service; import lombok.extern.slf4j.Slf4j; +import me.zhengjie.utils.PageResult; import me.zhengjie.modules.security.config.bean.SecurityProperties; import me.zhengjie.modules.security.service.dto.JwtUserDto; import me.zhengjie.modules.security.service.dto.OnlineUserDto; @@ -70,10 +71,10 @@ public class OnlineUserService { * @param pageable / * @return / */ - public Map getAll(String filter, Pageable pageable){ + public PageResult getAll(String filter, Pageable pageable){ List onlineUserDtos = getAll(filter); return PageUtil.toPage( - PageUtil.toPage(pageable.getPageNumber(),pageable.getPageSize(), onlineUserDtos), + PageUtil.paging(pageable.getPageNumber(),pageable.getPageSize(), onlineUserDtos), onlineUserDtos.size() ); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java index ed8e51fb..d9860b5e 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java @@ -20,6 +20,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import me.zhengjie.annotation.Log; +import me.zhengjie.utils.PageResult; import me.zhengjie.config.RsaProperties; import me.zhengjie.modules.system.domain.Dept; import me.zhengjie.modules.system.service.DataService; @@ -77,7 +78,7 @@ public class UserController { @ApiOperation("查询用户") @GetMapping @PreAuthorize("@el.check('user:list')") - public ResponseEntity queryUser(UserQueryCriteria criteria, Pageable pageable){ + public ResponseEntity> queryUser(UserQueryCriteria criteria, Pageable pageable){ if (!ObjectUtils.isEmpty(criteria.getDeptId())) { criteria.getDeptIds().add(criteria.getDeptId()); // 先查找是否存在子节点 diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java index 3912a475..7e2efb7f 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java @@ -15,12 +15,12 @@ */ package me.zhengjie.modules.system.service; +import me.zhengjie.utils.PageResult; import me.zhengjie.modules.system.domain.DictDetail; import me.zhengjie.modules.system.service.dto.DictDetailDto; import me.zhengjie.modules.system.service.dto.DictDetailQueryCriteria; import org.springframework.data.domain.Pageable; import java.util.List; -import java.util.Map; /** * @author Zheng Jie @@ -52,7 +52,7 @@ public interface DictDetailService { * @param pageable 分页参数 * @return / */ - Map queryAll(DictDetailQueryCriteria criteria, Pageable pageable); + PageResult queryAll(DictDetailQueryCriteria criteria, Pageable pageable); /** * 根据字典名称获取字典详情 @@ -60,4 +60,4 @@ public interface DictDetailService { * @return / */ List getDictByName(String name); -} \ No newline at end of file +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictService.java index 9a89e4c2..05077b7e 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictService.java @@ -15,6 +15,7 @@ */ package me.zhengjie.modules.system.service; +import me.zhengjie.utils.PageResult; import me.zhengjie.modules.system.domain.Dict; import me.zhengjie.modules.system.service.dto.DictDto; import me.zhengjie.modules.system.service.dto.DictQueryCriteria; @@ -22,7 +23,6 @@ import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; -import java.util.Map; import java.util.Set; /** @@ -37,7 +37,7 @@ public interface DictService { * @param pageable 分页参数 * @return / */ - Map queryAll(DictQueryCriteria criteria, Pageable pageable); + PageResult queryAll(DictQueryCriteria criteria, Pageable pageable); /** * 查询全部数据 @@ -72,4 +72,4 @@ public interface DictService { * @throws IOException / */ void download(List queryAll, HttpServletResponse response) throws IOException; -} \ No newline at end of file +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/JobService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/JobService.java index 5b6fa85b..dab9f586 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/JobService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/JobService.java @@ -15,6 +15,7 @@ */ package me.zhengjie.modules.system.service; +import me.zhengjie.utils.PageResult; import me.zhengjie.modules.system.domain.Job; import me.zhengjie.modules.system.service.dto.JobDto; import me.zhengjie.modules.system.service.dto.JobQueryCriteria; @@ -22,7 +23,6 @@ import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; -import java.util.Map; import java.util.Set; /** @@ -63,7 +63,7 @@ public interface JobService { * @param pageable 分页参数 * @return / */ - Map queryAll(JobQueryCriteria criteria, Pageable pageable); + PageResult queryAll(JobQueryCriteria criteria, Pageable pageable); /** * 查询全部数据 @@ -85,4 +85,4 @@ public interface JobService { * @param ids / */ void verification(Set ids); -} \ No newline at end of file +} 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 8d63fa86..24fc6677 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 @@ -15,6 +15,7 @@ */ package me.zhengjie.modules.system.service; +import me.zhengjie.utils.PageResult; import me.zhengjie.modules.system.domain.User; import me.zhengjie.modules.system.service.dto.UserDto; import me.zhengjie.modules.system.service.dto.UserLoginDto; @@ -100,7 +101,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/DictDetailServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java index 3f5fc742..5da4d056 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java @@ -16,6 +16,7 @@ package me.zhengjie.modules.system.service.impl; import lombok.RequiredArgsConstructor; +import me.zhengjie.utils.PageResult; import me.zhengjie.modules.system.domain.Dict; import me.zhengjie.modules.system.domain.DictDetail; import me.zhengjie.modules.system.repository.DictRepository; @@ -32,7 +33,6 @@ import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; -import java.util.Map; /** * @author Zheng Jie @@ -49,7 +49,7 @@ public class DictDetailServiceImpl implements DictDetailService { private final RedisUtils redisUtils; @Override - public Map queryAll(DictDetailQueryCriteria criteria, Pageable pageable) { + public PageResult queryAll(DictDetailQueryCriteria criteria, Pageable pageable) { Page page = dictDetailRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); return PageUtil.toPage(page.map(dictDetailMapper::toDto)); } @@ -92,4 +92,4 @@ public class DictDetailServiceImpl implements DictDetailService { Dict dict = dictRepository.findById(dictDetail.getDict().getId()).orElseGet(Dict::new); redisUtils.del(CacheKey.DICT_NAME + dict.getName()); } -} \ No newline at end of file +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java index 3a2bcd9d..68265121 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java @@ -17,6 +17,7 @@ package me.zhengjie.modules.system.service.impl; import cn.hutool.core.collection.CollectionUtil; import lombok.RequiredArgsConstructor; +import me.zhengjie.utils.PageResult; import me.zhengjie.modules.system.domain.Dict; import me.zhengjie.modules.system.service.dto.DictDetailDto; import me.zhengjie.modules.system.service.dto.DictQueryCriteria; @@ -48,7 +49,7 @@ public class DictServiceImpl implements DictService { private final RedisUtils redisUtils; @Override - public Map queryAll(DictQueryCriteria dict, Pageable pageable){ + public PageResult queryAll(DictQueryCriteria dict, Pageable pageable){ Page page = dictRepository.findAll((root, query, cb) -> QueryHelp.getPredicate(root, dict, cb), pageable); return PageUtil.toPage(page.map(dictMapper::toDto)); } @@ -118,4 +119,4 @@ public class DictServiceImpl implements DictService { public void delCaches(Dict dict){ redisUtils.del(CacheKey.DICT_NAME + dict.getName()); } -} \ No newline at end of file +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java index f98782ce..a608b97a 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java @@ -16,6 +16,7 @@ package me.zhengjie.modules.system.service.impl; import lombok.RequiredArgsConstructor; +import me.zhengjie.utils.PageResult; import me.zhengjie.exception.BadRequestException; import me.zhengjie.exception.EntityExistException; import me.zhengjie.modules.system.domain.Job; @@ -52,7 +53,7 @@ public class JobServiceImpl implements JobService { private final UserRepository userRepository; @Override - public Map queryAll(JobQueryCriteria criteria, Pageable pageable) { + public PageResult queryAll(JobQueryCriteria criteria, Pageable pageable) { Page page = jobRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); return PageUtil.toPage(page.map(jobMapper::toDto).getContent(),page.getTotalElements()); } @@ -122,4 +123,4 @@ public class JobServiceImpl implements JobService { throw new BadRequestException("所选的岗位中存在用户关联,请解除关联再试!"); } } -} \ No newline at end of file +} 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 867509d3..a9fef8c0 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 @@ -16,6 +16,7 @@ package me.zhengjie.modules.system.service.impl; import lombok.RequiredArgsConstructor; +import me.zhengjie.utils.PageResult; import me.zhengjie.config.FileProperties; import me.zhengjie.exception.BadRequestException; import me.zhengjie.modules.security.service.OnlineUserService; @@ -61,7 +62,7 @@ public class UserServiceImpl implements UserService { private final UserLoginMapper userLoginMapper; @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)); }