def meet_state(self, user_id, base_url):
        result = Result.result_success()

        result["state"], apply_id = self.meet.get_user_state(user_id)
        result["apply_id"] = apply_id
        if apply_id:
            countdown = self.meet.get_countdown(apply_id)
            # result = OHHOOperation.dict_add_dict(result, temp)
            apply = self.apply.get_by_id(apply_id)
            if apply:
                friend_user_id = apply.another_user_id if apply.one_user_id == int(
                    user_id) else apply.one_user_id
                result["friend_state"], temp = self.meet.get_user_state(
                    friend_user_id, result["apply_id"])
                if result["state"] == PUSH_STATE_TYPE_END_MEET:
                    pass
                else:
                    friend_user_information = self.user.get_basic_user_information(
                        friend_user_id, base_url)
                    friend_user_information["user_id"] = friend_user_id
                    friend_user_information["apply_id"] = apply_id
                    friend_user_information = OHHOOperation.dict_add_dict(
                        friend_user_information, countdown)

                    result["friend_user_information"] = friend_user_information
        OHHOLog.print_log(result)
        return result
Beispiel #2
0
    def push_agree(self, to_user_id, user_id, apply_id, base_url, function,
                   type):
        information = self.user.get_basic_user_information(user_id, base_url)
        temp = self.meet.get_countdown(apply_id)
        OHHOLog.print_log(temp)
        information = OHHOOperation.dict_add_dict(information, temp)

        information["apply_id"] = apply_id
        information["function"] = function
        return self.user.push_user_information(to_user_id, type, information)
Beispiel #3
0
    def push_information(self, map_information, to_user_id, user_id, the_type, apply_id, base_url):
        information = self.user.get_meeting_user_information(user_id, apply_id, base_url)
        information = OHHOOperation.dict_add_dict(information, map_information)
        information["is_blue_tooth"] = 0

        information = self.user.set_map_by_exclude(information, to_user_id, user_id)
        information = self.user.set_map_by_is_online(information, to_user_id, user_id)
        created_at = information.get("created_at", None)
        if created_at:
            del information["created_at"]

        changed_at = information.get("changed_at", None)
        if changed_at:
            del information["changed_at"]
        return self.user.push_user_information(to_user_id, the_type, information)
Beispiel #4
0
    def upload_map_position(self, user_id, map_information, apply_id, base_url, timestamp=0):
        # 上传地图坐标,只保存最新的坐标
        information = dict()
        user = self.user.get_by_id(user_id)
        longitude = float(map_information.get("longitude", 0))
        latitude = float(map_information.get("latitude", 0))
        if user:
            if map_information:
                geohash_code = OHHOGeohash.get(latitude, longitude, 6)
                map_information["geohash_code"] = geohash_code
                map_information["timestamp"] = OHHODatetime.get_current_timestamp()
                map_information["user_id"] = user_id
                self.user.set_user_map_information(user.username, map_information)
                self.user.add_user_geo_position(longitude, latitude, user.username)
                self.map.add(map_information)

        self_state, apply_id = self.meet.get_user_state_by_apply_and_user(apply_id, user_id)
        friend_user_id = self.meet.get_another_user_id(apply_id, user_id)
        friend_state, apply_id = self.meet.get_user_state_by_apply_and_user(apply_id, friend_user_id)
        self_state, apply_id = self.meet.get_user_state_by_apply_and_user(apply_id, user_id)

        if friend_state == PUSH_STATE_TYPE_END_MEET or self_state == PUSH_STATE_TYPE_END_MEET:
            information["information"] = {"apply_id": int(apply_id)}
        else:
            information = self.return_map_information(friend_user_id)
            if information.get("information", ""):
                information["information"]["apply_id"] = int(apply_id)
                map_instance = Map()
                information["information"]["orientation"] = map_instance.main(user_id, friend_user_id)
                information["information"]["nearest_poi_name"] = AMAP.get_nearest_poi_name_interface(longitude,
                                                                                                     latitude)
            else:
                information["information"] = {"apply_id": int(apply_id)}

        result = Result.result_success()
        apply_id = int(apply_id)
        temp = self.meet.get_countdown(apply_id)
        result = OHHOOperation.dict_add_dict(result, temp)

        result["data"] = information

        return result