| | |
| | | import cn.gistack.by.waterdata.pojo.wrapper.DistanceRecordWrapper; |
| | | import cn.gistack.by.waterdata.service.api.IDistanceRecordService; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.text.DecimalFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | |
| | | * @param param {@link SelectPageParam} |
| | | * @return |
| | | */ |
| | | public List<DistanceRecordVO> selectPage(SelectPageParam param) { |
| | | public IPage<DistanceRecordVO> selectPage(SelectPageParam param) { |
| | | List<DistanceRecord> distanceRecords = this.baseMapper.selectPage(param); |
| | | int subTableRecordsCount = this.baseMapper.getSubTableCount4Page(param); |
| | | |
| | | List<DistanceRecordVO> recordVOList = new ArrayList<>(distanceRecords.size()); |
| | | for (DistanceRecord distanceRecord : distanceRecords) { |
| | | DistanceRecordVO distanceRecordVO = DistanceRecordWrapper.build().entityVO(distanceRecord); |
| | | distanceRecordVO.setInitDistance(param.getInitDistance()); |
| | | distanceRecordVO.setDistanceOffset(distanceRecordVO.getDistance() - distanceRecordVO.getInitDistance()); |
| | | distanceRecordVO.setInitDistance(new DecimalFormat("#.##").format(param.getInitDistance())); |
| | | distanceRecordVO.setDistanceOffset(new DecimalFormat("#.##") |
| | | .format(distanceRecordVO.getDistance() - param.getInitDistance())); |
| | | recordVOList.add(distanceRecordVO); |
| | | } |
| | | return recordVOList; |
| | | |
| | | Page page = new Page(); |
| | | page.setCurrent(param.getCurrentPageIndex()); |
| | | page.setSize(param.getPageSize()); |
| | | page.setRecords(recordVOList); |
| | | page.setTotal(subTableRecordsCount); |
| | | return page; |
| | | } |
| | | |
| | | @Override |