예제 #1
0
def order(request):
    if request.method == 'POST':
        # 1.获取收货地址id值
        ad_id = request.POST.get('ad_id')
        # 2.创建订单
        user_id = request.session.get('user_id')
        # 获取订单号
        order_sn = get_order_sn()
        shop_cart = ShoppingCart.objects.filter(user_id=user_id, is_select=True)
        # 获取总金额
        order_mount = 0
        for cart in shop_cart:
            order_mount += cart.goods.shop_price * cart.nums
        # 收货信息
        user_address = UserAddress.objects.filter(pk=ad_id).first()
        order = OrderInfo.objects.create(user_id=user_id, order_sn=order_sn, order_mount=order_mount,
                                         address=user_address.address,
                                         signer_name=user_address.signer_name,
                                         signer_mobile=user_address.signer_mobile)
        # 3.创建订单详情
        for cart in shop_cart:
            OrderGoods.objects.create(order=order, goods=cart.goods, goods_nums=cart.nums)
        # 4.删除购物车
        shop_cart.delete()
        session_goods = request.session.get('goods')
        for se_goods in session_goods[:]:
            # se_goods结构[goods_id,nums,is_select]
            if se_goods[2]:
                session_goods.remove(se_goods)
        request.session['goods'] = session_goods
        return JsonResponse({'code': 200, 'msg': 'success'})
예제 #2
0
def order(request):
    if request.method == 'POST':
        # 获取用户id
        user_id = request.session.get('user_id')
        # 1.获取收货地址id值
        ad_id = request.POST.get('ad_id')
        print(ad_id)
        # 获取地址详情
        i = UserAddress.objects.filter(pk=ad_id).first()
        # 获取购物车详情
        shop_cart = ShoppingCart.objects.filter(user_id=user_id,
                                                is_select=True)
        # 总金额
        order_mount = 0
        for cart in shop_cart:
            order_mount += cart.goods.shop_price * cart.nums
        # 获取订单号
        order_sn = get_order_sn()
        # 2.创建订单
        order = OrderInfo.objects.create(user_id=user_id, order_sn=order_sn,
                                         order_mount=order_mount, address=i.address,
                                         signer_name=i.signer_name, signer_mobile=i.signer_mobile)
        # 3.生成订单详情
        for cart in shop_cart:
            OrderGoods.objects.create(order=order,
                                      goods=cart.goods,
                                      goods_nums=cart.nums)
        # 4.删除购物车信息
        shop_cart.delete()
        session_goods = request.session.get('goods')
        for se_goods in session_goods[:]:
            if se_goods[2]:
                session_goods.remove(se_goods)
        request.session['goods'] = session_goods
        return JsonResponse({'code': 200, 'msg': '请求成功'})
예제 #3
0
파일: views.py 프로젝트: lhlcqby/fresh
def order(request):
    if request.method == 'POST':
        # 1 接收收货地址的id值
        ad_id = request.POST.get('ad_id')
        # 2 创建订单
        user_id = request.session.get('user_id')
        order_sn = get_order_sn()  # 调入函数,产生订单号
        shop_cart = ShoppingCart.objects.filter(user_id=user_id,
                                                is_select=True)  #  订单金额
        order_mount = 0
        # 便利所有的购物车物品
        for cart in shop_cart:
            order_mount += cart.goods.shop_price * cart.nums  # 所有价格
        # 收货地址
        user_address = UserAddress.objects.filter(pk=ad_id).first()
        order = OrderInfo.objects.create(
            user_id=user_id,
            order_sn=order_sn,
            order_mount=order_mount,
            address=user_address,
            signer_name=user_address.signer_name,
            signer_mobile=user_address.signer_mobile)
        # 3 创建订单详情
        for cart in shop_cart:
            OrderGoods.objects.create(order=order,
                                      goods=cart.goods,
                                      goods_nums=cart.nums)
        # 4 删除购物车  ( 数据库 和 session 都要考虑。)
        shop_cart.delete()
        session_goods = request.session.get('goods')
        for se_goods in session_goods[:]:
            # se_goods 结构: [goods_id, num ,is_select]
            if se_goods[2]:
                session_goods.remove(se_goods)
        request.session['goods'] = session_goods
        return JsonResponse({'code': 200, 'msg': '请求成功'})