Example #1
0
def set_discount():
    """
    设置食物折扣
    """
    restaurant_ids, category_ids, food_ids, restaurant_id, category_id, \
    food_id = parse_args1()
    discount = float(request.json['discount'])
    with thrift_client('ers') as ers:
        for _id in restaurant_ids:
            ers.set_restaurant_food_eleme_buy_discount(_id, discount)
        _food_ids = copy.copy(food_ids)
        for _id in category_ids:
            food_query = thirdparty_svc.ers.TFoodQuery()
            food_query.category_id = _id
            food_query.is_valid = True
            food_query.limit = 1000
            foods = ers.query_food(food_query)
            _food_ids.extend([food.id for food in foods])
        foods = ers.mget_food(_food_ids)
        for food in foods:
            fix_food_b2f(food)
            food.attribute['eleme_buy_discount'] = discount
            food.attribute = jsonpickle_dumps(food.attribute)
            for k in food.__dict__.iterkeys():
                if k not in ['id', 'attribute']:
                    setattr(food, k, None)
            result = ers.save_food(food.id, food)
    return ''
Example #2
0
def set_discount():
    """
    设置食物折扣
    """
    restaurant_ids, category_ids, food_ids, restaurant_id, category_id, \
    food_id = parse_args1()
    discount = float(request.json['discount'])
    with thrift_client('ers') as ers:
        for _id in restaurant_ids:
            ers.set_restaurant_food_eleme_buy_discount(_id, discount)
        _food_ids = copy.copy(food_ids)
        for _id in category_ids:
            food_query = thirdparty_svc.ers.TFoodQuery()
            food_query.category_id = _id
            food_query.is_valid = True
            food_query.limit = 1000
            foods = ers.query_food(food_query)
            _food_ids.extend([food.id for food in foods])
        foods = ers.mget_food(_food_ids)
        for food in foods:
            fix_food_b2f(food)
            food.attribute['eleme_buy_discount'] = discount
            food.attribute = jsonpickle_dumps(food.attribute)
            for k in food.__dict__.iterkeys():
                if k not in ['id', 'attribute']:
                    setattr(food, k, None)
            result = ers.save_food(food.id, food)
    return ''
Example #3
0
def put(restaurant_id):
    restaurant_id = int(restaurant_id)

    restaurant = thirdparty_svc.ers.TRestaurant()
    for k, v in request.json.iteritems():
        setattr(restaurant, k, v)
    if getattr(restaurant,'attribute',None) is not None:
        restaurant.attribute = jsonpickle_dumps(restaurant.attribute)
    with thrift_client('ers') as ers_client:
        result = ers_client.update_restaurant(restaurant_id, current_user.id, restaurant)
        return ''
Example #4
0
def put(restaurant_id):
    restaurant_id = int(restaurant_id)

    restaurant = thirdparty_svc.ers.TRestaurant()
    for k, v in request.json.iteritems():
        setattr(restaurant, k, v)
    if getattr(restaurant, 'attribute', None) is not None:
        restaurant.attribute = jsonpickle_dumps(restaurant.attribute)
    with thrift_client('ers') as ers_client:
        result = ers_client.update_restaurant(restaurant_id, current_user.id,
                                              restaurant)
        return ''
Example #5
0
def fix_food_json_f2b(food_json):
    read_only_attrs = [
        'icons',
        'recent_num_ratings',
        'recent_rating',
    ]
    del_attrs = ['sort_order', '_image_url']
    for _attr in read_only_attrs + del_attrs:
        food_json.pop(_attr, None)
    if 'attribute' in food_json:
        attribute = food_json.get('attribute', {})
        if 'eleme_buy_discount' in attribute:
            discount = attribute['eleme_buy_discount']
            if discount is not None:
                if not 0 <= discount <= 1:
                    # todo raise error-.-
                    attribute.pop('eleme_buy_discount', None)
            else:
                attribute.pop('eleme_buy_discount', None)
        food_json['attribute'] = jsonpickle_dumps(food_json['attribute'])
Example #6
0
def any_to_raw(any):
    return jsonpickle_loads(jsonpickle_dumps(any))
Example #7
0
def no_permission():
    content = {
        'status': 0,
        'message': 'no permission',
    }
    return jsonpickle_dumps(content), 403
Example #8
0
def no_permission():
    content = {
        'status': 0,
        'message': 'no permission',
    }
    return jsonpickle_dumps(content), 403