Пример #1
0
  public GenericEntity<List<Person>> getPeopleNearMe(int user, int lastId) {
    ArrayList<Person> list = new ArrayList<Person>();

    UserDAO userDAO = new UserDAO();
    List<Integer> users = userDAO.getUserIds();

    UserInfoDAO userInfoDAO = new UserInfoDAO();
    UserInfo userInfo = userInfoDAO.getUserInfo(user);
    int i = 0;
    for (Integer userId : users) {
      if (i < 40) {
        UserInfo otherInfo = userInfoDAO.getUserInfo(userId);
        if ((userId < lastId || lastId == 0) && otherInfo.getCanLocate() == 1) {

          double distance =
              Feed.distance(
                  userInfo.getCurrentLat(),
                  userInfo.getCurrentLng(),
                  otherInfo.getCurrentLat(),
                  otherInfo.getCurrentLng(),
                  'M');

          if (isInsideCircle((long) distance)) {
            UserProfileDAO userProfileDAO = new UserProfileDAO();
            Person person = new Person();
            person.setName(userDAO.getUser(userId).getName());
            person.setDistance((int) distance);
            person.setUserId(userId);
            person.setAvatar(userProfileDAO.getUserProfile(userId).getAvatar());
            list.add(person);
          }
          i++;
        }
      }
    }
    return new GenericEntity<List<Person>>(list) {};
  }