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
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)
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)
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