Exemple #1
0
def cart_add():
    """
    添加到购物车
    :return:
    """
    params = request.values or request.get_json()
    user = User.get_user_by_token(params.get('token'))
    cart_item_id = params.get("cart_item_id")
    cart_sku_id = params.get("cart_sku_id")
    cart_add_from = params.get("cart_add_from")
    cart_sku_num = params.get("cart_sku_num")
    requires = [
        "cart_item_id",
        "cart_sku_id",
        "cart_sku_num",
    ]
    for r in requires:
        if params.get(r) is None:
            return CommonError.args_miss(msg='{}_required'.format(r))
    cart_item: Cart
    try:
        cart_item = db.session.query(Cart).filter_by(cart_item_id=cart_item_id,
                                                     cart_sku_id=cart_sku_id,
                                                     is_delete=0).one()
        if cart_item is not None:
            cart_item = cart_item
            cart_item.cart_sku_num += int(cart_sku_num)
            db.session.add(cart_item)
            db.session.commit()
    except NoResultFound:
        cart_item = Cart()
        cart_item.cart_item_id = cart_item_id
        cart_item.cart_sku_id = cart_sku_id
        cart_item.cart_add_from = int(cart_add_from) or 1
        cart_item.cart_sku_num = cart_sku_num
        cart_item.cart_item_belong = user.user_id
        cart_item.is_delete = 0
        db.session.add(cart_item)
        db.session.commit()
    except:
        return CommonError.getError(errorCode=999)
    return responseSuccessHandler()