数据访问层(Dao)
@Repository
public interface LocationDetailDao extends BaseMapper<LocationDetail> {}
业务层(Service)
ServiceInterface接口
JsonBean queryLocationDetailPageBytime(Long starTime,Long endTime,Integer pageNum,Integer pageSize);
JsonBean queryLocationDetailPageByUserId(Long userId,Integer pageNum,Integer pageSize);
ServiceImpl实现类
@Override
public JsonBean queryLocationDetailPageBytime(Long starTime, Long endTime, Integer currentPageNum, Integer pageSize) {
if (endTime!=null&&starTime==null){
starTime = 0l;
}
if(starTime!=null&&endTime==null){
endTime = starTime;
}
try {
QueryWrapper<LocationDetail> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().ge(LocationDetail::getTime, starTime).le(LocationDetail::getTime, endTime);
Page<LocationDetail> page = new Page<>(currentPageNum, pageSize);
return JsonBean.create(ResultCode.SERVICE_OK, this.pageSelectVo(page,queryWrapper));
} catch (Exception e) {
e.printStackTrace();
log.error("根据时间分页查询定位信息失败,{}", e.getMessage());
return JsonBean.create(ResultCode.SERVICE_CODE_ERROR, null);
}
}
@Override
public JsonBean queryLocationDetailPageByUserId(Long userId, Integer currentPageNum, Integer pageSize) {
if (userId==null){
return JsonBean.create(400,"用户ID输入错误!");
}
try {
QueryWrapper<LocationDetail> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(LocationDetail::getUserId, userId);
Page<LocationDetail> page = new Page<>(currentPageNum, pageSize);
return JsonBean.create(ResultCode.SERVICE_OK, this.pageSelectVo(page,queryWrapper));
} catch (Exception e) {
e.printStackTrace();
log.error("根据用户ID分页查询定位信息失败,{}", e.getMessage());
return JsonBean.create(ResultCode.SERVICE_CODE_ERROR, null);
}
}
public PageSortVo<T> pageSelectVo(Page page,QueryWrapper queryWrapper){
Page<T> pageResult = baseMapper.selectPage(page, queryWrapper);
PageSortVo<T> pageSortVo = new PageSortVo<>();
pageSortVo.setData(pageResult.getRecords());
pageSortVo.setTotal((int)pageResult.getTotal());
pageSortVo.setHasPrev(pageResult.hasPrevious());
pageSortVo.setHasNext(pageResult.hasNext());
return pageSortVo;
}
控制层(controller)
@ApiOperation(value = "根据时间分页查询轨迹记录")
@GetMapping("/queryPageByTime")
public JsonBean queryLocationDetailPageBytime(@RequestParam(value = "starTime",required = false) Long starTime,@RequestParam(value = "endTime",required = false)Long endTime, @RequestParam(value = "currentPageNum")Integer currentPageNum,@RequestParam(value = "pageSize")Integer pageSize){
return locationDetailService.queryLocationDetailPageBytime(starTime, endTime, currentPageNum, pageSize);
}
@ApiOperation(value = "根据userId查询轨迹记录" )
@GetMapping("/queryPageByUserId")
public JsonBean queryLocationDetailPageByUserId(@RequestParam(value = "userId",required = false) Long userId,@RequestParam(value = "currentPageNum")Integer currentPageNum,@RequestParam(value = "pageSize")Integer pageSize){
return locationDetailService.queryLocationDetailPageByUserId(userId,currentPageNum,pageSize);
}