mirror of
https://gitee.com/lab1024/smart-admin.git
synced 2025-10-08 21:26:40 +08:00
update SmartPageUtil
This commit is contained in:
parent
f4d4355837
commit
9867d68526
@ -29,7 +29,7 @@ public class ResponseCodeConst {
|
||||
|
||||
public static final ResponseCodeConst REQUEST_METHOD_ERROR = new ResponseCodeConst(114, "请求方式错误");
|
||||
|
||||
public static final ResponseCodeConst JSON_FORMAT_ERROR = new ResponseCodeConst(115, "请求前端参数格式错误");
|
||||
public static final ResponseCodeConst JSON_FORMAT_ERROR = new ResponseCodeConst(115, "前端请求参数格式错误");
|
||||
|
||||
public static final ResponseCodeConst PERMISSION_DENIED = new ResponseCodeConst(116, "您没有权限修改数据");
|
||||
|
||||
|
@ -2,10 +2,10 @@ package net.lab1024.smartadmin.service.module.business.goods;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import net.lab1024.smartadmin.service.common.swagger.SwaggerTagConst;
|
||||
import net.lab1024.smartadmin.service.common.controller.AdminBaseController;
|
||||
import net.lab1024.smartadmin.service.common.domain.PageResultDTO;
|
||||
import net.lab1024.smartadmin.service.common.domain.ResponseDTO;
|
||||
import net.lab1024.smartadmin.service.common.swagger.SwaggerTagConst;
|
||||
import net.lab1024.smartadmin.service.module.business.goods.domain.*;
|
||||
import net.lab1024.smartadmin.service.module.system.login.domain.EmployeeLoginInfoDTO;
|
||||
import net.lab1024.smartadmin.service.util.SmartEmployeeTokenUtil;
|
||||
|
@ -2,10 +2,7 @@ package net.lab1024.smartadmin.service.module.business.goods;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.lab1024.smartadmin.service.module.business.goods.domain.GoodsAdminVO;
|
||||
import net.lab1024.smartadmin.service.module.business.goods.domain.GoodsBO;
|
||||
import net.lab1024.smartadmin.service.module.business.goods.domain.GoodsEntity;
|
||||
import net.lab1024.smartadmin.service.module.business.goods.domain.GoodsQueryDTO;
|
||||
import net.lab1024.smartadmin.service.module.business.goods.domain.*;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
@ -131,7 +131,7 @@ public class GoodsService {
|
||||
*/
|
||||
public ResponseDTO<PageResultDTO<GoodsAdminVO>> query(GoodsQueryDTO queryDTO) {
|
||||
queryDTO.setDeletedFlag(false);
|
||||
Page page = SmartPageUtil.convert2PageQuery(queryDTO);
|
||||
Page<?> page = SmartPageUtil.convert2PageQuery(queryDTO);
|
||||
List<GoodsAdminVO> list = goodsDao.query(page, queryDTO);
|
||||
PageResultDTO<GoodsAdminVO> pageResult = SmartPageUtil.convert2PageResult(page, list);
|
||||
if (pageResult.getEmptyFlag()) {
|
||||
|
@ -8,7 +8,7 @@ import net.lab1024.smartadmin.service.module.business.goods.constant.GoodsTypeEn
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
/**
|
||||
* 商品 添加 DTO
|
||||
* 商品 分页查询 DTO
|
||||
*
|
||||
* @author 胡克
|
||||
* @date 2021/8/5 14:42
|
||||
|
@ -1,5 +1,7 @@
|
||||
package net.lab1024.smartadmin.service.module.support.file.domain;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import net.lab1024.smartadmin.service.common.enumconst.BaseEnum;
|
||||
|
||||
/**
|
||||
@ -8,6 +10,8 @@ import net.lab1024.smartadmin.service.common.enumconst.BaseEnum;
|
||||
* @author listen
|
||||
* @date 2019年10月11日 15:34:47
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public enum FileFolderTypeEnum implements BaseEnum {
|
||||
|
||||
COMMON(1, FileFolderTypeEnum.FOLDER_PUBLIC + "/common/", "通用"),
|
||||
@ -31,30 +35,10 @@ public enum FileFolderTypeEnum implements BaseEnum {
|
||||
|
||||
public static final String INFO = "1:通用";
|
||||
|
||||
private Integer value;
|
||||
private final Integer value;
|
||||
|
||||
private String folder;
|
||||
private final String folder;
|
||||
|
||||
private String desc;
|
||||
|
||||
FileFolderTypeEnum(Integer value, String folder, String desc) {
|
||||
this.value = value;
|
||||
this.folder = folder;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public String getFolder() {
|
||||
return folder;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getValue() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDesc() {
|
||||
return this.desc;
|
||||
}
|
||||
private final String desc;
|
||||
}
|
||||
|
||||
|
@ -3,8 +3,8 @@ package net.lab1024.smartadmin.service.module.support.operatelog;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.lab1024.smartadmin.service.common.domain.PageResultDTO;
|
||||
import net.lab1024.smartadmin.service.common.domain.ResponseDTO;
|
||||
import net.lab1024.smartadmin.service.module.support.operatelog.domain.dto.OperateLogDTO;
|
||||
import net.lab1024.smartadmin.service.module.support.operatelog.domain.OperateLogEntity;
|
||||
import net.lab1024.smartadmin.service.module.support.operatelog.domain.dto.OperateLogDTO;
|
||||
import net.lab1024.smartadmin.service.module.support.operatelog.domain.dto.OperateLogQueryDTO;
|
||||
import net.lab1024.smartadmin.service.util.SmartBeanUtil;
|
||||
import net.lab1024.smartadmin.service.util.SmartPageUtil;
|
||||
@ -32,10 +32,8 @@ public class OperateLogService {
|
||||
*/
|
||||
public ResponseDTO<PageResultDTO<OperateLogDTO>> queryByPage(OperateLogQueryDTO queryDTO) {
|
||||
Page page = SmartPageUtil.convert2PageQuery(queryDTO);
|
||||
List<OperateLogEntity> entities = operateLogDao.queryByPage(page, queryDTO);
|
||||
List<OperateLogDTO> dtoList = SmartBeanUtil.copyList(entities, OperateLogDTO.class);
|
||||
page.setRecords(dtoList);
|
||||
PageResultDTO<OperateLogDTO> pageResultDTO = SmartPageUtil.convert2PageResult(page);
|
||||
List<OperateLogEntity> logEntityList = operateLogDao.queryByPage(page, queryDTO);
|
||||
PageResultDTO<OperateLogDTO> pageResultDTO = SmartPageUtil.convert2PageResult(page, logEntityList, OperateLogDTO.class);
|
||||
return ResponseDTO.succData(pageResultDTO);
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,6 @@ package net.lab1024.smartadmin.service.util;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.google.common.collect.Lists;
|
||||
import net.lab1024.smartadmin.service.common.domain.PageBaseDTO;
|
||||
import net.lab1024.smartadmin.service.common.domain.PageResultDTO;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
@ -14,34 +13,27 @@ import java.util.stream.Collectors;
|
||||
* 分页工具类
|
||||
*
|
||||
* @author 1024lab
|
||||
* @date 2017-12-23 16:40
|
||||
* @date 2021年9月26日 20:51:40
|
||||
*/
|
||||
|
||||
public class SmartPageUtil {
|
||||
|
||||
public static Page convert2PageQuery(PageBaseDTO baseDTO) {
|
||||
Page page = new Page(baseDTO.getPageNum(), baseDTO.getPageSize());
|
||||
|
||||
/**
|
||||
* 转换为查询参数
|
||||
*
|
||||
* @param baseDTO
|
||||
* @return
|
||||
*/
|
||||
public static Page<?> convert2PageQuery(PageBaseDTO baseDTO) {
|
||||
Page<?> page = new Page<>(baseDTO.getPageNum(), baseDTO.getPageSize());
|
||||
// 设置排序字段
|
||||
List<PageBaseDTO.SortItemDTO> sortItemList = baseDTO.getSortItemList();
|
||||
if (CollectionUtils.isNotEmpty(sortItemList)) {
|
||||
List<OrderItem> orderItemList = sortItemList.stream().map(e -> build(e.getColumn(), e.getIsAsc())).collect(Collectors.toList());
|
||||
List<OrderItem> orderItemList = sortItemList.stream().map(e -> new OrderItem(e.getColumn(), e.getIsAsc())).collect(Collectors.toList());
|
||||
page.setOrders(orderItemList);
|
||||
}
|
||||
return page;
|
||||
}
|
||||
|
||||
public static <T> PageResultDTO<T> convert2PageResult(Page<T> page) {
|
||||
PageResultDTO<T> result = new PageResultDTO<>();
|
||||
result.setPageNum(page.getCurrent());
|
||||
result.setPageSize(page.getSize());
|
||||
result.setTotal(page.getTotal());
|
||||
result.setPages(page.getPages());
|
||||
result.setList(page.getRecords());
|
||||
result.setEmptyFlag(CollectionUtils.isEmpty(page.getRecords()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 转换为 PageResultDTO 对象
|
||||
*
|
||||
@ -49,16 +41,9 @@ public class SmartPageUtil {
|
||||
* @param sourceList 原list
|
||||
* @param targetClazz 目标类
|
||||
* @return
|
||||
* @author 罗伊
|
||||
* @date 2018年5月16日 下午6:05:28
|
||||
*/
|
||||
public static <T, E> PageResultDTO<T> convert2PageResult(Page page, List<E> sourceList, Class<T> targetClazz) {
|
||||
PageResultDTO pageResultDTO = setPage(page);
|
||||
List<T> records = SmartBeanUtil.copyList(sourceList, targetClazz);
|
||||
page.setRecords(records);
|
||||
pageResultDTO.setList(records);
|
||||
pageResultDTO.setEmptyFlag(CollectionUtils.isEmpty(records));
|
||||
return pageResultDTO;
|
||||
public static <T, E> PageResultDTO<T> convert2PageResult(Page<?> page, List<E> sourceList, Class<T> targetClazz) {
|
||||
return convert2PageResult(page, SmartBeanUtil.copyList(sourceList, targetClazz));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -67,12 +52,13 @@ public class SmartPageUtil {
|
||||
* @param page
|
||||
* @param sourceList list
|
||||
* @return
|
||||
* @author 罗伊
|
||||
* @date 2018年5月16日 下午6:05:28
|
||||
*/
|
||||
public static <E> PageResultDTO<E> convert2PageResult(Page page, List<E> sourceList) {
|
||||
PageResultDTO pageResultDTO = setPage(page);
|
||||
page.setRecords(sourceList);
|
||||
public static <E> PageResultDTO<E> convert2PageResult(Page<?> page, List<E> sourceList) {
|
||||
PageResultDTO<E> pageResultDTO = new PageResultDTO<>();
|
||||
pageResultDTO.setPageNum(page.getCurrent());
|
||||
pageResultDTO.setPageSize(page.getSize());
|
||||
pageResultDTO.setTotal(page.getTotal());
|
||||
pageResultDTO.setPages(page.getPages());
|
||||
pageResultDTO.setList(sourceList);
|
||||
pageResultDTO.setEmptyFlag(CollectionUtils.isEmpty(sourceList));
|
||||
return pageResultDTO;
|
||||
@ -83,62 +69,16 @@ public class SmartPageUtil {
|
||||
*
|
||||
* @param pageResultDTO
|
||||
* @param targetClazz
|
||||
* @param <E>
|
||||
* @param <T>
|
||||
* @return
|
||||
*/
|
||||
public static <E, T> PageResultDTO<T> convert2PageResult(PageResultDTO<E> pageResultDTO, Class<T> targetClazz) {
|
||||
|
||||
PageResultDTO newPageResultDTO = new PageResultDTO();
|
||||
PageResultDTO<T> newPageResultDTO = new PageResultDTO<>();
|
||||
newPageResultDTO.setPageNum(pageResultDTO.getPageNum());
|
||||
newPageResultDTO.setPageSize(pageResultDTO.getPageSize());
|
||||
newPageResultDTO.setTotal(pageResultDTO.getTotal());
|
||||
newPageResultDTO.setPages(pageResultDTO.getPages());
|
||||
|
||||
List<E> list = pageResultDTO.getList();
|
||||
List<T> copyList = SmartBeanUtil.copyList(list, targetClazz);
|
||||
newPageResultDTO.setList(copyList);
|
||||
newPageResultDTO.setEmptyFlag(CollectionUtils.isEmpty(copyList));
|
||||
newPageResultDTO.setEmptyFlag(pageResultDTO.getEmptyFlag());
|
||||
newPageResultDTO.setList(SmartBeanUtil.copyList(pageResultDTO.getList(), targetClazz));
|
||||
return newPageResultDTO;
|
||||
}
|
||||
|
||||
private static PageResultDTO setPage(Page page) {
|
||||
PageResultDTO pageResultDTO = new PageResultDTO();
|
||||
pageResultDTO.setPageNum(page.getCurrent());
|
||||
pageResultDTO.setPageSize(page.getSize());
|
||||
pageResultDTO.setTotal(page.getTotal());
|
||||
pageResultDTO.setPages(page.getPages());
|
||||
return pageResultDTO;
|
||||
}
|
||||
|
||||
private static OrderItem build(String column, boolean asc) {
|
||||
OrderItem item = new OrderItem();
|
||||
item.setColumn(column);
|
||||
item.setAsc(asc);
|
||||
return item;
|
||||
}
|
||||
|
||||
|
||||
public static <T> PageResultDTO subListPage(Integer pageNum, Integer pageSize, List<T> list) {
|
||||
PageResultDTO<T> pageRet = new PageResultDTO<T>();
|
||||
//总条数
|
||||
int count = list.size();
|
||||
int pages = count%pageSize == 0 ? count/pageSize:(count/pageSize +1);
|
||||
int fromIndex = (pageNum-1)*pageSize;
|
||||
int toIndex = pageNum*pageSize>count ? count : pageNum*pageSize;
|
||||
|
||||
if(pageNum > pages) {
|
||||
pageRet.setList(Lists.newLinkedList());
|
||||
pageRet.setPageNum(pageNum.longValue());
|
||||
pageRet.setPages(Long.valueOf(pages));
|
||||
pageRet.setTotal(Long.valueOf(count));
|
||||
return pageRet;
|
||||
}
|
||||
List<T> pageList = list.subList(fromIndex, toIndex);
|
||||
pageRet.setList(pageList);
|
||||
pageRet.setPageNum(pageNum.longValue());
|
||||
pageRet.setPages(Long.valueOf(pages));
|
||||
pageRet.setTotal(Long.valueOf(count));
|
||||
return pageRet;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user