Example #1
0
    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
Example #2
0
    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