def get_shop_information4hot(shop, longitude, latitude, user_id): result = dict() try: result["shop_id"] = shop.id result["shop_name"] = shop.name result["shop_price"] = shop.dianping_avg_price if shop.category: result["shop_category"] = shop.category.name else: result["shop_category"] = None if shop.dianping_city: result["city"] = shop.dianping_city else: result["city"] = None result["shop_rate"] = DianPings.DIANPING_RATING[int(2 * shop.dianping_avg_rating)] if shop.photo_url: result["shop_image"] = files.BASE_URL_4_IMAGE + shop.photo_url else: if shop.category: result["shop_image"] = files.BASE_URL_4_IMAGE + shop.category.icon else: result["shop_image"] = None result["distance"] = Shops.get_distance_from_shop(shop, latitude, longitude) if shop.dianping_business_id: result["is_from_dianping"] = True else: result["is_from_dianping"] = False publishes = Publishes.get_publishes_by_shop(shop.id) if publishes: result["publish_count"] = publishes.count() else: result["publish_count"] = 0 score_dict = Scores.get_total_score(shop, user_id) score = Scores.get_concrete_score(score_dict) score_level = Scores.get_level_info(score) if score_level: result["score_key"] = score_level.get("key", "--") else: result["score_key"] = "--" except Exception as ex: Logs.print_current_function_name_and_line_number(ex) return result
def get_shop_information4discovery(shop, longitude, latitude, user_id): result = dict() result["shop_id"] = shop.id result["business_url"] = shop.dianping_business_url result["deals_url"] = shop.dianping_deals_url result["shop_name"] = shop.name result["shop_price"] = shop.dianping_avg_price result["shop_category"] = shop.category.name if shop.dianping_business_id: result["city"] = shop.dianping_city result["shop_address"] = shop.dianping_city + shop.dianping_address result["is_from_dianping"] = True else: result["is_from_dianping"] = False if shop.address.china: result["city"] = shop.address.china.name result["shop_address"] = shop.address.china.name + shop.address.detail_address else: result["city"] = shop.dianping_city result["shop_address"] = shop.address.detail_address if shop.photo_url: result["shop_image"] = files.BASE_URL_4_IMAGE + shop.photo_url else: result["shop_image"] = None result["shop_rate"] = DianPings.DIANPING_RATING[int(2 * shop.dianping_avg_rating)] result["distance"] = Shops.get_distance_from_shop(shop, latitude, longitude) publishes = Publishes.get_publishes_by_shop(shop.id) result["publish_count"] = publishes.count() result["has_coupon"] = shop.dianping_has_coupon result["has_deal"] = shop.dianping_has_deal score = -1000 if publishes.count() < 0: pass else: score_dict = Scores.get_total_score(shop, user_id) score = Scores.get_concrete_score(score_dict) if score == -1000: result["score"] = -1000 result["score_key"] = "--" result["score_name"] = "--" else: result["score"] = score score_level = Scores.get_level_info(score) result["score_key"] = score_level.get("key", "--") result["score_name"] = score_level.get("name", "--") result["formaldehyde"] = shop.formaldehyde if shop.formaldehyde_image: result["formaldehyde_image"] = files.BASE_URL_4_IMAGE + shop.formaldehyde_image.name result["valid_score"] = True else: result["formaldehyde_image"] = None result["valid_score"] = False result["recommended_count"] = UserShopRelationMethods.get_recommended_count_by_shop(shop) result["not_recommended_count"] = UserShopRelationMethods.get_not_recommended_count_by_shop(shop) usr = UserShopRelationMethods.get_by_shop_and_user(shop.id, user_id) if usr: result["is_recommended"] = usr.is_recommended else: result["is_recommended"] = -1 return result