| | |
| | | if (locationTravel.getId() == null) { |
| | | locationTravel.setId(LocationTravel.createId(locationTravel.getUid(), locationTravel.getCreateTime())); |
| | | } |
| | | //保存 |
| | | locationTravelDao.save(locationTravel); |
| | | |
| | | |
| | | //获取最新的位置 |
| | | DaoQuery daoQuery = new DaoQuery(); |
| | | daoQuery.uid = locationTravel.getUid(); |
| | | daoQuery.sortList = Arrays.asList(new Sort.Order[]{Sort.Order.desc("createTime")}); |
| | | daoQuery.count = 1; |
| | | List<LocationTravel> travelList = locationTravelDao.list(daoQuery); |
| | | if (travelList != null && travelList.size() > 0) { |
| | | //判断距离 |
| | | if (GeoUtils.getDistance(travelList.get(0).getLocation(), locationTravel.getLocation()) >= 10) { |
| | | //保存 |
| | | locationTravelDao.save(locationTravel); |
| | | } |
| | | } else { |
| | | locationTravelDao.save(locationTravel); |
| | | } |
| | | |
| | | UserLatestLocation latest = new UserLatestLocation(); |
| | | latest.setLocation(locationTravel.getLocation()); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<LocationTravel> getTravelList(Long uid, Date startTime, Date endTime) { |
| | | public List<LocationTravel> getTravelList(Long uid, Date startTime, Date endTime, int page, int pageSize) { |
| | | |
| | | DaoQuery daoQuery = new DaoQuery(); |
| | | daoQuery.minCreateTime = startTime; |
| | | daoQuery.maxCreateTime = endTime; |
| | | daoQuery.uid = uid; |
| | | daoQuery.start = (page - 1) * pageSize; |
| | | daoQuery.count = pageSize; |
| | | List<LocationTravel> travelList = locationTravelDao.list(daoQuery); |
| | | |
| | | |
| | | |
| | | |
| | | return null; |
| | | return travelList; |
| | | } |
| | | |
| | | @Override |