Java 获得某个区间的时间,去统计数据并封装到对象,返回list集合并对集合分页,通过修改PageHelper分页属性值

直接上代码,有空整理,时间仓促望理解。

@PostMapping("/partner/business/data/list")
    public ResponseDTO<PageDTO<PartnerBusinessDataBO>> getPartnerBusinessDataList(
            @RequestBody PageRequestDTO<PartnerBusinessDataQuery> request) throws Exception {
        PartnerBusinessDataQuery param = request.getParam();
        if(param == null) {
            return RestResponseUtil.response(HttpStatus.BAD_REQUEST,
                    this.messageService.getMessage("request.parameter.invalid"), new PageDTO<>());
        }
        Long id = param.getPartnerId();
        if(id == null || id < 0){
            return RestResponseUtil.response(HttpStatus.BAD_REQUEST,
                    this.messageService.getMessage("request.parameter.invalid"), new PageDTO<>());
        }
        Date firstDate = null;
        Date secondDate = null;
        SimpleDateFormat format = new SimpleDateFormat(DateUtils.FORMAT_1);
        if(param.getStartDate() == null || param.getEndDate() == null) {
            firstDate = format.parse(PartnerBusinessDataEnum.START_DATE.getValue());
            secondDate = format.parse(format.format(new Date()));
        }else {
            firstDate = DateUtils.toDate(param.getStartDate());
            secondDate = DateUtils.toDate(param.getEndDate());
        }
        PartnerBusinessDataUtil partnerBusinessDataUtil = new PartnerBusinessDataUtil();
        int total = partnerBusinessDataUtil.longOfTwoDate(firstDate,secondDate) + 1;
        secondDate = partnerBusinessDataUtil.getSecondDate(secondDate, request.getPageNum(), request.getPageSize());
        firstDate = partnerBusinessDataUtil.getFirstDate(firstDate, secondDate,request.getPageSize());
        param.setStartDate(firstDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
        param.setEndDate(secondDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
        param.setPageSize(request.getPageSize());
        List<PartnerBusinessDataBO> list = this.partnerScheduleTrackService.getPartnerBusinessDataList(param);
        return RestResponseUtil.ok(this.messageService.getMessage("request.success"),
                new PageDTO<>(new PageCountMethod().getCountNewPageInfo(total,list,request)));
    }

 

 

 List<PartnerBusinessDataBO> getPartnerBusinessDataList(PartnerBusinessDataQuery partnerBusinessDataQuery);

 

 

 @Override
    public List<PartnerBusinessDataBO> getPartnerBusinessDataList(PartnerBusinessDataQuery partnerBusinessDataQuery) {
        List<PartnerBusinessDataBO> partnerBusinessDataBOS = new ArrayList<>(partnerBusinessDataQuery.getPageSize());
        LocalDate startDate = partnerBusinessDataQuery.getStartDate();
        LocalDate endDate = partnerBusinessDataQuery.getEndDate();
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(DateUtils.toDate(endDate));
        while (calendar.getTime().compareTo(DateUtils.toDate(startDate)) != -1){
            PartnerBusinessDataBO partnerBusinessDataBO = new PartnerBusinessDataBO();
            Date time = calendar.getTime();
            LocalDate localDate = time.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
            partnerBusinessDataQuery.setRegTime(localDate);
            Integer registeredUserCount =  this.partnerScheduleTrackMapper.findRegUserCount(partnerBusinessDataQuery);
            if(registeredUserCount == null){
                registeredUserCount = 0;
            }
            partnerBusinessDataBO.setCurrentDate(localDate);
            partnerBusinessDataBO.setPartnerNo("NO45545");
            partnerBusinessDataBO.setPartnerName("zhangsan");
            partnerBusinessDataBO.setRegisteredUserCount(registeredUserCount);
            partnerBusinessDataBO.setApplyUserCount(1);
            partnerBusinessDataBO.setLoanUserCount(2);
            partnerBusinessDataBO.setExpireUserCount(3);
            partnerBusinessDataBO.setPaymentUserCount(4);
            partnerBusinessDataBOS.add(partnerBusinessDataBO);
            calendar.add(Calendar.DATE, -1);
        }
        return partnerBusinessDataBOS;
    }

 

 

 

package com.rocky.fintech.boss.entity.schedule;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.rocky.fintech.boss.util.DateUtils;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDate;

@Getter
@Setter
public class PartnerBusinessDataQuery implements Serializable {
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 
     */
    private Long partnerId;
    /**
     * 用户注册时间
     */
    @JsonFormat(pattern = DateUtils.FORMAT_1)
    private LocalDate regTime;
    /**
     * 每页几条
     */
    private int pageSize;
    /**
     * 自然日 开始
     */
    @JsonFormat(pattern = DateUtils.FORMAT_1)
    private LocalDate startDate;
    /**
     * 自然日 结束
     */
    @JsonFormat(pattern = DateUtils.FORMAT_1)
    private LocalDate endDate;
    /**
     * 商户名称
     */
    private String partnerName;
    /**
     * 用户类别 最小
     */
    private Integer repeatsLoanCountMin;
    /**
     * 用户类别 最大
     */
    private Integer repeatsLoanCountMax;
}

 

 

package com.rocky.fintech.boss.entity.schedule;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.rocky.fintech.boss.util.DateUtils;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDate;

@Getter
@Setter
public class PartnerBusinessDataBO implements Serializable {
    /**
     * 商户ID
     */
    private Long partnerId;
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 自然日 当前日期
     */
    @JsonFormat(pattern = DateUtils.FORMAT_1)
    private LocalDate currentDate;
    /**
     * 商户编号
     */
    private String partnerNo;
    /**
     * 商户名称
     */
    private String partnerName;
    /**
     * 注册用户
     */
    private Integer registeredUserCount;
    /**
     * 申请用户
     */
    private Integer applyUserCount;
    /**
     * 
     */
    private Integer loanUserCount;
    /**
     * 
     */
    private Integer expireUserCount;
    /**
     * 
     */
    private Integer paymentUserCount;
}

 

 

package com.rocky.fintech.boss.entity.schedule;

import com.github.pagehelper.PageInfo;
import com.rocky.fintech.entity.PageRequestDTO;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 *
 * @Auther: zhangyi
 * @Date: 2019/10/31/11:09
 * @Description:
 */
public class PageCountMethod {
    public PageInfo getCountNewPageInfo(int total, List list, PageRequestDTO request) {
        PageInfo realPageInfo = new PageInfo<>(list);
        int start = 0;
        int end = 0;
        int totalPages = 0;
        int totalRecord = list.size();
        int pageSize = request.getPageSize();
        int size = request.getPageSize();
        int number = request.getPageNum();
        //设置总数
        realPageInfo.setTotal(total);
        //设置每页的显示条数
        realPageInfo.setPageSize(size);
        //设置要显示的是第几页的数据
        realPageInfo.setPageNum(number);
        //当前数
        realPageInfo.setSize(totalRecord);
        //计算获取对应的要显示的数据
        if (totalRecord % pageSize == 0) {
            totalPages = totalRecord / pageSize;
        } else {
            totalPages = totalRecord / pageSize + 1;
        }
        realPageInfo.setPages(totalPages);
        //初始边界值计算
        if (number == 1) {
            start = 0;
            realPageInfo.setHasPreviousPage(false);
            realPageInfo.setPrePage(0);
            realPageInfo.setIsFirstPage(true);
        } else {
            start = realPageInfo.getPageSize() * (realPageInfo.getPageNum() - 1);
            realPageInfo.setHasPreviousPage(true);
            realPageInfo.setPrePage(number - 1);
            realPageInfo.setIsFirstPage(false);
        }
        realPageInfo.setStartRow((number - 1) * pageSize);
        //结束边界值计算
        if ((start + realPageInfo.getPageSize() > realPageInfo.getTotal())) {
            end = totalRecord;
            realPageInfo.setHasNextPage(false);
            realPageInfo.setIsLastPage(true);
            realPageInfo.setEndRow(totalRecord);
        } else {
            end = start + realPageInfo.getPageSize();
            realPageInfo.setHasNextPage(true);
            realPageInfo.setNextPage(number + 1);
            realPageInfo.setIsLastPage(false);
            realPageInfo.setEndRow((number) * pageSize);
        }
        if (start < end && end <= totalRecord) {
            realPageInfo.setList(list.subList(start, end));
        }
        if (realPageInfo.getSize() == 0) {
            realPageInfo.setStartRow(0);
            realPageInfo.setEndRow(0);
        } else {
            realPageInfo.setStartRow(realPageInfo.getStartRow() + 1);
            realPageInfo.setEndRow(realPageInfo.getStartRow() - 1 + realPageInfo.getSize());
        }
        realPageInfo.setPages(totalPages);
        realPageInfo.setNavigateLastPage(totalPages > number ? number + 1 : totalPages);
        return realPageInfo;
    }
}

 

package com.rocky.fintech.boss.enums;

import lombok.Getter;

/**
 * Created with IntelliJ IDEA.
 *
 * @Auther: zhangyi
 * @Date: 2019/10/31/11:31
 * @Description:
 */
@Getter
public enum PartnerBusinessDataEnum {
    START_DATE("2019-10-01", "firstDate");
    private final String value;
    private final String name;

    PartnerBusinessDataEnum(String value, String name) {
        this.value = value;
        this.name = name;
    }
}

 

 

package com.rocky.fintech.util;

import java.util.Calendar;
import java.util.Date;

/**
 * Created with IntelliJ IDEA.
 *
 * @Auther: zhangyi
 * @Date: 2019/10/30/16:43
 * @Description:
 */
public class PartnerBusinessDataUtil {
    public int longOfTwoDate(Date first, Date second) throws Exception {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(first);
        int cnt = 0;
        while (calendar.getTime().compareTo(second) != 0) {
            calendar.add(Calendar.DATE, 1);
            cnt++;
        }
        return cnt;
    }

    public Date getSecondDate(Date second, Integer pageNum, Integer pageSize) throws Exception {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(second);
        if(pageNum== null || pageNum == 0) {
            pageNum = 1;
            return calendar.getTime();
        }
        calendar.add(Calendar.DATE, -(pageNum-1)*pageSize);
        return calendar.getTime();
    }

    public Date getFirstDate(Date first, Date second, Integer pageSize) throws Exception {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(second);
        calendar.add(Calendar.DATE, -(pageSize-1));
        if(calendar.getTime().compareTo(first) < 0) {
            calendar.setTime(first);
            return calendar.getTime();
        }else {
            return calendar.getTime();
        }
    }
}

 

 

 

 

另外贴出之前用过的部分代码,可以作为参考,如下:

@RequestMapping("/list")
	public String getOverdueRecursiveList(String beginTime, String endTime, Integer page, 
			Integer size, Model model,String channelId,String device) throws Exception {
		model.addAttribute("beginTime", beginTime);
		model.addAttribute("endTime", endTime);
		List<String> dates =null;
		if (StringUtils.isBlank(beginTime) || StringUtils.isBlank(endTime)) {
			LocalDate date = LocalDate.now().plusDays(-1);
			beginTime = date.plusDays(-29).toString();
			endTime = date.toString();
			dates = DateTimeUtil.getBetweenDate(beginTime, endTime);
		}
		if((beginTime!=null && beginTime!="") && (endTime!=null && endTime!="")) {
			dates = DateTimeUtil.getBetweenDate(beginTime, endTime);
		}
		if(dates.size()==0) {
			if((beginTime!=null && beginTime!="") && (endTime!=null && endTime!="")) {
				dates.add(beginTime);
			}
		}
		if(size==null || size<15) {
			size=15;
		}
		if(page==null || page<1) {
			page=1;
		}
		Collections.reverse(dates); // 倒序排列 
		List<String> thisDates = new ListPaging().page(dates,size,page);
		List<Map<String, Object>> totalDataList = new ArrayList<Map<String,Object>>();
		for (int i = 0; i < thisDates.size(); i++) {
			String beginTimen = thisDates.get(i) + Constant.beginTimeOfDay;
			String endTimen = thisDates.get(i) + Constant.endTimeOfDay;
			//
			List<OrderLoan> olList = orderLoanService.queryOverdueRecursiveByDate("3","0",channelId,device,beginTimen, endTimen);
			//
			int shouldCount = olList.size();
			//
			BigDecimal newBig = new BigDecimal(0);
			BigDecimal oneOdds = newBig;
			BigDecimal twoOdds = newBig;
			BigDecimal threeOdds = newBig;
			BigDecimal fourOdds = newBig;
			BigDecimal fiveOdds = newBig;
			BigDecimal sixOdds = newBig;
			BigDecimal sevenOdds = newBig;
			BigDecimal eightOdds = newBig;
			BigDecimal nineOdds = newBig;
			BigDecimal tenOdds = newBig;
			BigDecimal elevenOdds = newBig;
			BigDecimal twelveOdds = newBig;
			BigDecimal thirteenOdds = newBig;
			BigDecimal fourteenOdds = newBig;
			BigDecimal fifteenOdds = newBig;
			if(shouldCount>0) {
				//
				int oneDayCount = 0;
				int twoDaysCount = 0;
				int threeDaysCount = 0;
				int fourDaysCount = 0;
				int fiveDaysCount = 0;
				int sixDaysCount = 0;
				int sevenDaysCount = 0;
				int eightDaysCount = 0;
				int nineDaysCount = 0;
				int tenDaysCount = 0;
				int elevenDaysCount = 0;
				int twelveDaysCount = 0;
				int thirteenDaysCount = 0;
				int fourteenDaysCount = 0;
				int fifteenDaysCount = 0;
				for (int j = 0; j < olList.size(); j++) {
					int overdue = olList.get(j).getOverdue();
					switch (overdue) {
					//
					case 1:
						oneDayCount++;
						break;
					case 2:
						twoDaysCount++;
						break;
					case 3:
						threeDaysCount++;
						break;
					case 4:
						fourDaysCount++;
						break;
					case 5:
						fiveDaysCount++;
						break;
					case 6:
						sixDaysCount++;
						break;
					case 7:
						sevenDaysCount++;
						break;
					case 8:
						eightDaysCount++;
						break;
					case 9:
						nineDaysCount++;
						break;
					case 10:
						tenDaysCount++;
						break;
					case 11:
						elevenDaysCount++;
						break;
					case 12:
						twelveDaysCount++;
						break;
					case 13:
						thirteenDaysCount++;
						break;
					case 14:
						fourteenDaysCount++;
						break;
					case 15:
						fifteenDaysCount++;
						break;
					default:
						break;
					}
				}
				//
				oneOdds = new BigDecimal(oneDayCount).divide(new BigDecimal(shouldCount),4, BigDecimal.ROUND_HALF_UP)
						.multiply(new BigDecimal(100));
				//
				twoOdds = new BigDecimal(twoDaysCount).divide(new BigDecimal(shouldCount),4, BigDecimal.ROUND_HALF_UP)
						.multiply(new BigDecimal(100));
				threeOdds = new BigDecimal(threeDaysCount).divide(new BigDecimal(shouldCount),4, BigDecimal.ROUND_HALF_UP)
						.multiply(new BigDecimal(100));
				fourOdds = new BigDecimal(fourDaysCount).divide(new BigDecimal(shouldCount),4, BigDecimal.ROUND_HALF_UP)
						.multiply(new BigDecimal(100));
				fiveOdds = new BigDecimal(fiveDaysCount).divide(new BigDecimal(shouldCount),4, BigDecimal.ROUND_HALF_UP)
						.multiply(new BigDecimal(100));
				sixOdds = new BigDecimal(sixDaysCount).divide(new BigDecimal(shouldCount),4, BigDecimal.ROUND_HALF_UP)
						.multiply(new BigDecimal(100));
				sevenOdds = new BigDecimal(sevenDaysCount).divide(new BigDecimal(shouldCount),4, BigDecimal.ROUND_HALF_UP)
						.multiply(new BigDecimal(100));
				eightOdds = new BigDecimal(eightDaysCount).divide(new BigDecimal(shouldCount),4, BigDecimal.ROUND_HALF_UP)
						.multiply(new BigDecimal(100));
				nineOdds = new BigDecimal(nineDaysCount).divide(new BigDecimal(shouldCount),4, BigDecimal.ROUND_HALF_UP)
						.multiply(new BigDecimal(100));
				tenOdds = new BigDecimal(tenDaysCount).divide(new BigDecimal(shouldCount),4, BigDecimal.ROUND_HALF_UP)
						.multiply(new BigDecimal(100));
				elevenOdds = new BigDecimal(elevenDaysCount).divide(new BigDecimal(shouldCount),4, BigDecimal.ROUND_HALF_UP)
						.multiply(new BigDecimal(100));
				twelveOdds = new BigDecimal(twelveDaysCount).divide(new BigDecimal(shouldCount),4, BigDecimal.ROUND_HALF_UP)
						.multiply(new BigDecimal(100));
				thirteenOdds = new BigDecimal(thirteenDaysCount).divide(new BigDecimal(shouldCount),4, BigDecimal.ROUND_HALF_UP)
						.multiply(new BigDecimal(100));
				fourteenOdds = new BigDecimal(fourteenDaysCount).divide(new BigDecimal(shouldCount),4, BigDecimal.ROUND_HALF_UP)
						.multiply(new BigDecimal(100));
				fifteenOdds = new BigDecimal(fifteenDaysCount).divide(new BigDecimal(shouldCount),4, BigDecimal.ROUND_HALF_UP)
						.multiply(new BigDecimal(100));
			}
			Map<String, Object> totalDataMap = new HashMap<String, Object>();
			OrderAmountUtil oal = new OrderAmountUtil();
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			int days = oal.daysBetween(sdf.parse(thisDates.get(i)), sdf.parse(sdf.format(new Date())));
			if(days<0) {
				days = 0;
			}
			OrderApplyDTO loanCountDTO = new OrderApplyDTO();
			loanCountDTO.setBeginTime(beginTimen);
			loanCountDTO.setEndTime(endTimen);
			loanCountDTO.setChannelId(channelId);
			loanCountDTO.setDevice(device);
			loanCountDTO.setIsTime("dueTime");
			loanCountDTO.setLoanStatus("shouldRepay");
			OrderApplyDTO overdueCountDTO = new OrderApplyDTO();
			overdueCountDTO.setBeginTime(beginTimen);
			overdueCountDTO.setEndTime(endTimen);
			overdueCountDTO.setChannelId(channelId);
			overdueCountDTO.setDevice(device);
			overdueCountDTO.setIsTime("dueTime");
			overdueCountDTO.setApplyStatus("3");
			totalDataMap.put("lendDate", thisDates.get(i));//日期 
			totalDataMap.put("loanCount", this.orderLoanService.queryLoanAllParameter(loanCountDTO));
			totalDataMap.put("overdueCount", this.orderLoanService.queryLoanAllParameter(overdueCountDTO));
			totalDataMap.put("oneOdds", oneOdds);
			totalDataMap.put("twoOdds", twoOdds);
			totalDataMap.put("threeOdds", threeOdds);
			totalDataMap.put("fourOdds", fourOdds);
			totalDataMap.put("fiveOdds", fiveOdds);
			totalDataMap.put("sixOdds", sixOdds);
			totalDataMap.put("sevenOdds", sevenOdds);
			totalDataMap.put("eightOdds", eightOdds);
			totalDataMap.put("nineOdds", nineOdds);
			totalDataMap.put("tenOdds", tenOdds);
			totalDataMap.put("elevenOdds", elevenOdds);
			totalDataMap.put("twelveOdds", twelveOdds);
			totalDataMap.put("thirteenOdds", thirteenOdds);
			totalDataMap.put("fourteenOdds", fourteenOdds);
			totalDataMap.put("fifteenOdds", fifteenOdds);
			totalDataMap.put("days", days);
			totalDataList.add(totalDataMap);
		}
		model.addAttribute("totalDataList", totalDataList);
		model.addAttribute("size", this.getPageSize(size));
		model.addAttribute("page", this.getPage(page));
		model.addAttribute("pages", this.getTotalPage(dates.size(), size));
		model.addAttribute("channels", this.operationService.getChannelList(1));
		model.addAttribute("device", device);
		model.addAttribute("channelId", channelId);
		return "statistics/overdueRecursive/list";
	}

 

 

package com.canary.finance.util;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Stream;

public class DateTimeUtil {
	/**
	 * 获取两个日期间隔的所有日期
	 * @param start 格式必须为'2018-01-25'
	 * @param end 格式必须为'2018-01-25'
	 * @return
	 */
	public static List<String> getBetweenDate(String start, String end){
		List<String> list = new ArrayList<>();
		LocalDate startDate = LocalDate.parse(start);
		LocalDate endDate = LocalDate.parse(end);
		long distance = ChronoUnit.DAYS.between(startDate, endDate);
		if (distance < 1) {
			return list;
		}
		Stream.iterate(startDate, d -> {
			return d.plusDays(1);
		}).limit(distance + 1).forEach(f -> {
			list.add(f.toString());
	    });
		return list;
	}
	
	/**
	 * 返回一天中每个小时段的开始时间和结束时间 如: (凌晨2点数据)格式:
	 * 开始2019-03-21 01:00:00 2019-03-21 01:59:59
	 * @param dateTime
	 * @return
	 */
	public static List<Map<String, Object>> getBetweenDateTime(LocalDate dateTime) {
		List<Map<String, Object>> totalDataList = new ArrayList<>();
		DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd");
		String dateTimeStr = format.format(dateTime);
		int timeCount = 24;
		for (int i = 0; i < timeCount; i++) {
			Map<String, Object> totalDataMap = new HashMap<String, Object>();
			if(i<10) {
				totalDataMap.put("beginTime", dateTimeStr+" 0"+i+":00:00");
				totalDataMap.put("endTime", dateTimeStr+" 0"+i+":59:59");
				totalDataList.add(totalDataMap);
			}else {
				totalDataMap.put("beginTime", dateTimeStr+" "+i+":00:00");
				totalDataMap.put("endTime", dateTimeStr+" "+i+":59:59");
				totalDataList.add(totalDataMap);
			}
		}
		return totalDataList;
	}
	
	/**
	 *(仅做展示使用) 获取一天24个时间 格式:1:00-24:00
	 * @return
	 */
	public static String[] getTime() {
		String[] arrayTime = new String[24];
		for (int i = 0; i <arrayTime.length; i++) {
			arrayTime[i]=(i+1)+":00";
		}
		return arrayTime;
	}
	
	public static void main(String[] args) {
		List<String> list = DateTimeUtil.getBetweenDate("2019-01-14", "2019-03-15");
		for(String str:list) {
			System.out.println(str);
		}
	}
}

 

 

	protected int longOfTwoDate(Date first, Date second) throws Exception {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(first);
		int cnt = 0;
		while (calendar.getTime().compareTo(second) != 0) {
			calendar.add(Calendar.DATE, 1);
			cnt++;
		}
		return cnt;
	}
	
	protected Date getSecondDate(Date second, Integer page) throws Exception {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(second);
		if(page== null || page == 0) {
			page = 1;
			return calendar.getTime();
		}
		calendar.add(Calendar.DATE, -(page-1)*15);
		return calendar.getTime();
	}
	
	protected Date getFirstDate(Date first, Date second) throws Exception {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(second);
		calendar.add(Calendar.DATE, -14);
		if(calendar.getTime().compareTo(first) < 0) {
			calendar.setTime(first);
			return calendar.getTime();
		}else {
			return calendar.getTime();
		}
	}

 

 

	protected int getOffset(Integer page, Integer size) {
		if(page == null || page == 0 ) {
			page = 1;
		}
		if(size == null || size == 0) {
			size = 15;
		}
		return (page-1)*size;
	}
	
	protected int getPageSize(Integer size) {
		if(size == null || size == 0) {
			size = 15;
		}
		return size;
	}
	
	protected int getPage(Integer page) {
		if(page == null || page == 0) {
			page = 1;
		}
		return page;
	}
	
	protected int getTotalPage(int total, Integer size) {
		if(size == null || size == 0) {
			size = 15;
		}
		return (int)Math.ceil((double)total / (double)size);
	}

 

仅做参考和对比,没有整理,用者谨慎。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值