NumberServiceImpl.java 1.39 KB
package com.uccc.number.service.impl;


import com.uccc.number.domain.NumberQuery;
import com.uccc.number.domain.PageInfo;
import com.uccc.number.mapper.NumberMapper;
import com.uccc.number.service.NumberService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.uccc.number.domain.Number;

import java.util.ArrayList;
import java.util.List;

@Service
public class NumberServiceImpl implements NumberService {

    final private Logger logger = LoggerFactory.getLogger(getClass());

    @Autowired
    private NumberMapper numberMapper;

    @Override
    public PageInfo getNumbers(NumberQuery query) {
        //类型转换
        Integer currentPage = Integer.valueOf(query.getCurrentPage()== 0 ? 1 : query.getCurrentPage());
        Integer pageSize = Integer.valueOf(query.getPageSize() == 0 ? 20 : query.getPageSize());
        //查询count
        int count = numberMapper.getNumbersCount();
        if (currentPage > Math.ceil(count*1.0/pageSize)) {
            currentPage = (int) Math.ceil(count*1.0/pageSize);
        }
        List<Number> list = new ArrayList<>();
        if(count > 0){
            list = numberMapper.getNumbers(currentPage, pageSize);
        }

        PageInfo pageInfo = new PageInfo(currentPage, pageSize, count, list);
        return pageInfo;
    }
}