예제 #1
0
파일: views.py 프로젝트: dragonsea666/shop
def make_order(request):
    if request.method == 'POST':
        #创建订单
        #创建订单详情和购物车删除已下单的商品
        user_id = request.session['user_id']
        shop_carts = ShoppingCart.objects.filter(user_id=user_id, is_select=1)
        order_mount = 0
        for carts in shop_carts:
            order_mount += carts.nums * carts.goods.shop_price
        order_sn = get_order_sn()
        address_id = request.POST.get('address_id')
        user_address = UserAddress.objects.filter(pk=address_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,
        )
        for carts in shop_carts:
            OrderGoods.objects.create(order=order,
                                      goods=carts.goods,
                                      goods_nums=carts.nums)
        shop_carts.delete()
        request.session.pop('goods')
        return JsonResponse({'code': 200, 'msg': '请求成功'})
예제 #2
0
파일: views.py 프로젝트: eyubaobao230/fresh
def make_order(request):
    if request.method == 'POST':
        # 创建订单
        # 创建订单详情
        # 购物车删除已经下单的商品
        user_id = request.session['user_id']

        shop_carts = ShoppingCart.objects.filter(user_id=user_id, is_select=1)
        order_mount = 0
        for carts in shop_carts:
            order_mount += carts.nums * carts.goods.shop_price

        order_sn = get_order_sn()
        order = OrderInfo.objects.create(user_id=user_id,
                                         order_sn=order_sn,
                                         order_mount=order_mount)

        for carts in shop_carts:
            OrderGoods.objects.create(order=order,
                                      goods=carts.goods,
                                      goods_nums=carts.nums)
        shop_carts.delete()
        request.session.pop('goods')

        return JsonResponse({'code': 200, 'msg': '请求成功'})
예제 #3
0
파일: views.py 프로젝트: zaoyuaner/ttsx
def make_order(request):
    if request.method == 'POST':
        user_id = request.session.get('user_id')
        # 取购物车中勾选的商品
        shop_carts = ShoppingCart.objects.filter(user_id=user_id, is_select=1)
        # 计算下单的总价
        order_mount = 0
        for carts in shop_carts:
            order_mount += carts.nums * carts.goods.shop_price
        # 生成订单交易号
        order_sn = get_order_sn()
        # 1.创建订单
        address_id = int(request.POST.get('address_id'))
        user_address = UserAddress.objects.filter(pk=address_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)
        # 2.创建订单详情
        for carts in shop_carts:
            OrderGoods.objects.create(order=order,
                                      goods=carts.goods,
                                      goods_nums=carts.nums)
        # 3.删除购物车中的商品
        shop_carts.delete()
        request.session.pop('goods')

        return JsonResponse({'code': 200, 'msg': '请求成功'})
예제 #4
0
파일: views.py 프로젝트: xaidc/Python
def order(request):
    if request.method == 'POST':
        # 1.从购物车中取出当前登录系统用户is_select为1的商品信息
        user_id = request.session.get('user_id')
        # 获取购物车中当前登录用户勾选的商品
        address_id = request.POST.get('address_id')
        user_address = UserAddress.objects.filter(id=address_id).first()
        carts = ShoppingCart.objects.filter(user_id=user_id,
                                            is_select=True).all()
        # 订单货号
        order_sn = get_order_sn()
        # 计算总金额
        order_mount = 0
        for cart in carts:
            order_mount += int(cart.nums) * int(cart.goods.shop_price)

        #2 创建订单

        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,
            siginer_mobile=user_address.signer_moblie)
        #3. 创建订单详情信息
        for cart in carts:
            OrderGoods.objects.create(order_id=order.id,
                                      goods_id=cart.goods_id,
                                      goods_nums=cart.nums)
        #4.删除购物车中已经下单的商品信息
        carts.delete()
        if request.session.get('goods'):
            request.session.pop('goods')
        return JsonResponse({'code': 200, 'msg': '请求成功'})
예제 #5
0
def order(request):
    if request.method == 'GET':
        # 获取当前登录系统的user_id
        user_id = request.session['user_id']
        # 获取当前勾选的商品用于下单
        cart_goods = ShoppingCart.objects.filter(user_id=user_id,
                                                 is_select=True)
        # 在购物车对象上绑定一个total_price字段,用于存商品的总价
        for cart in cart_goods:
            cart.total_price = cart.nums * cart.goods.shop_price
        # 获取订单地址
        addresses = UserAddress.objects.filter(user_id=user_id)
        return render(request, 'place_order.html', {
            'cart_goods': cart_goods,
            'addresses': addresses
        })

    if request.method == 'POST':
        """
        接收ajax请求,创建订单
        """
        # 1. 选择购物车中is_select为True的商品
        # 2. 创建订单
        # 3. 创建订单和商品之间的关联关系表,order_goods表
        # 4. 删除购物车中已下单的商品
        user_id = request.session['user_id']
        # 获取收货人的地址id
        address_id = request.POST.get('address_id')
        user_address = UserAddress.objects.filter(id=address_id).first()
        # 获取购物车中当前登录用户勾选的商品
        carts = ShoppingCart.objects.filter(user_id=user_id, is_select=True)
        # 订单货号
        order_sn = get_order_sn()
        # 订单金额
        order_mount = 0
        for cart in carts:
            order_mount += cart.nums * cart.goods.shop_price
        # 创建订单
        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)
        for cart in carts:
            # 创建订单和商品的详情表
            OrderGoods.objects.create(order_id=order.id,
                                      goods_id=cart.goods_id,
                                      goods_nums=cart.nums)
        carts.delete()
        # 删除session中的商品信息
        if request.session.get('goods'):
            request.session.pop('goods')
        return JsonResponse({'code': 200, 'msg': '请求成功'})
예제 #6
0
파일: views.py 프로젝트: gilgameshzzz/git
def order(request):
    if request.method == 'GET':
        # 获取当前登录系统的user_id
        user_id = request.session['user_id']
        # user = request.user
        # 获取当前勾选商品所有信息用于下单
        cart_goods = ShoppingCart.objects.filter(user_id=user_id,
                                                 is_select=True)
        # 在购物车对象绑定一个total_price字段,用于存商品总价
        cart_goods.total_price = 0
        for cart in cart_goods:
            cart.total_price = cart.nums * cart.goods.shop_price
            cart_goods.total_price += cart.total_price
        return render(request, 'place_order.html', {'cart_goods': cart_goods})

    if request.method == 'POST':
        """
		接收ajax请求,创建订单
		"""
        # 1,选择购物车中is_select为True的商品
        # 2、创建订单
        # 3、创建订单和商品之间的关联关系表,order_goods表
        # 4、删除购物车中已下单的商品
        user_id = request.session['user_id']
        # 获取购物车中当前登录用户勾选的商品
        carts = ShoppingCart.objects.filter(user_id=user_id, is_select=True)
        # 订单货号
        order_sn = get_order_sn()
        # 订单金额
        count = 0
        order_mount = 0
        for cart in carts:
            order_mount += cart.nums * cart.goods.shop_price
            count += 1
        #  创建订单
        order = OrderInfo.objects.create(user_id=user_id,
                                         order_sn=order_sn,
                                         order_mount=order_mount)

        for cart in carts:
            OrderGoods.objects.create(order_id=order.id,
                                      goods_id=cart.goods_id,
                                      goods_nums=cart.nums)

        carts.delete()
        # 删除session中的商品信息
        request.session.pop('goods')

        cart_data = [order_mount, count]
        return JsonResponse({
            'code': 200,
            'msg': '请求成功',
            'cart_data': cart_data
        })
예제 #7
0
def create_order(request, id):
    """生成订单"""
    if request.method == 'GET':
        car = Carinfo.objects.filter(id=id).first()
        sale_user = car.user
        buy_user = request.user
        orderNo = get_order_sn()

        data_dict = {
            'sale_user': sale_user, 'buy_user': buy_user, 'car': car, 'orderNo': orderNo
        }
        order = Orders.objects.create(**data_dict)
        return HttpResponseRedirect('/order/order/{}'.format(order.id))
예제 #8
0
def order(request):
    if request.method == 'GET':
        # 获取当前登录系统的user_id
        user_id = request.session.get('user_id')
        # 获取当前勾选的商品用于下单
        cart_goods = ShoppingCart.objects.filter(user_id=user_id)
        # 在购物车对象上绑定一个total_price字段,用于存商品的总价
        for cart in cart_goods:
            cart.total_price = cart.nums * cart.goods.shop_price
        # 获取订单地址
        address = UserAddress.objects.filter(user_id=user_id, is_default_address=1).first()
        return render(request, 'place_order.html', {'cart_goods': cart_goods, 'address': address})

    if request.method == 'POST':
        """
        接收ajax请求,创建订单
        """
        # 1.下单,选择购物车中is_select为True的商品
        # 2.创建订单
        # 3.创建订单和商品之间的关联关系表,order_goods表
        # 4.删除购物车中已下单的商品
        user_id = request.session.get('user_id')  # 获取用户
        # 获取购物车中当前登录用户勾选的商品
        carts = ShoppingCart.objects.filter(user_id=user_id, is_select=1)
        # carts = ShoppingCart.objects.filter(user__username='******', is_select=True)
        # 订单货号
        order_sn = get_order_sn()

        # 订单金额
        order_mount = 0
        for cart in carts:
            order_mount += cart.nums * cart.goods.shop_price

        # 创建订单
        order = OrderInfo.objects.create(user_id=user_id,
                                         order_sn=order_sn,
                                         order_mount=order_mount)
        for cart in carts:
            # 创建订单和商品的详情表
            OrderGoods.objects.create(order_id=order.id,
                                      goods_id=cart.goods_id,
                                      goods_nums=cart.nums)
        # 从购物车中移除商品
        carts.delete()
        # 清空session中的商品信息
        request.session.pop('goods')
        return JsonResponse({'code': 200, 'msg': '请求成功!!!'})
예제 #9
0
    def post(self, request, *args, **kwargs):
        # 下单
        user = request.user
        # 获取收货人的地址id
        address_id = request.POST.get('address_id')
        user_address = UserAddress.objects.filter(id=address_id).first()
        # 获取随机生成的订单号
        order_sn = get_order_sn()
        # 计算下单的商品的价格总和
        order_mount = 0
        order_goods_id = []
        shop_carts = ShoppingCart.objects.filter(user=user, is_select=True)
        for shop_cart in shop_carts:
            order_goods_id.append(shop_cart.goods_id)
            order_mount += shop_cart.nums * shop_cart.goods.shop_price
        # 创建订单
        order_info = OrderInfo.objects.create(
            user=user,
            order_sn=order_sn,
            order_mount=order_mount,
            address=user_address.address,
            signer_name=user_address.signer_name,
            signer_mobile=user_address.signer_mobile)
        # 创建订单和商品之间的详情关系
        for cart in shop_carts:
            OrderGoods.objects.create(order=order_info,
                                      goods=cart.goods,
                                      goods_nums=cart.nums)

        # 下单成功后,删除购物车中已下单的商品
        shop_carts.delete()
        # 下单成功后,删除session中已经下单的商品
        session_goods = request.session.get('goods')
        if session_goods:
            # 如果session中有缓存的商品信息,则for循环判断session中的商品是否已经下单
            # 如果已经下单,则删除session中该商品的信息
            session_goods_new = session_goods
            for o_goods_id in order_goods_id:
                for s_goods in session_goods:
                    # 判断如果session中商品的id存在于已经下单的商品中,则remove
                    if int(s_goods[0]) == o_goods_id:
                        session_goods_new.remove(s_goods)
        request.session['goods'] = session_goods_new

        return JsonResponse({'code': 200, 'msg': '请求成功'})
예제 #10
0
파일: views.py 프로젝트: kingjxlove/ttsx0
def order(request):
    if request.method == 'GET':
        user_id = request.session['user_id']
        # user = request.user
        cart_goods = ShoppingCart.objects.filter(user_id=user_id,
                                                 is_select=True)
        total_num = 0
        total_price = 0
        for cart in cart_goods:
            cart.total_price = cart.nums * cart.goods.shop_price
            total_num += cart.nums
            total_price += cart.total_price
        return render(
            request, 'place_order.html', {
                'cart_goods': cart_goods,
                'total_num': total_num,
                'total_price': total_price
            })

    if request.method == 'POST':

        user_id = request.session.get('user_id')
        address_id = request.POST.get('address_id')
        user_address = UserAddress.objects.filter(id=address_id).first()
        carts = ShoppingCart.objects.filter(user_id=user_id, is_select=True)
        order_sn = get_order_sn()
        order_mount = 0
        for cart in carts:
            order_mount += cart.nums * cart.goods.shop_price
        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)
        for cart in carts:
            OrderGoods.objects.create(order_id=order.id,
                                      goods_id=cart.goods_id,
                                      goods_nums=cart.nums)
        carts.delete()
        request.session.pop('goods')
        return JsonResponse({'code': 200, 'msg': '请求成功'})
예제 #11
0
def order(request):
    if request.method == 'POST':
        """
        接收ajax请求,创建订单
        """
        # 1. 选择购物车中is_select为True的商品
        # 2. 创建订单
        # 3. 创建订单和商品之间的关联关系表,order_goods表
        # 4. 删除购物车中已下单的商品
        # 1.从购物车中取出当前登录系统用户和select为1的商品信息
        user_id = request.session.get('user_id')
        # 获取收货人的地址id
        address_id = request.POST.get('address_id')
        user_address = UserAddress.objects.filter(id=address_id).first()
        carts = ShoppingCart.objects.filter(user_id=user_id,
                                    is_select=1).all()
        # 订单货号
        order_sn = get_order_sn()
        # 计算总金额
        order_mount = 0
        for cart in carts:
            order_mount += int(cart.nums) * int(cart.goods.shop_price)

        # 2.创建订单
        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 carts:
            OrderGoods.objects.create(order=order,
                                      goods=cart.goods,
                                      goods_nums=cart.nums)
        # 4.删除购物车中已经下单的信息
        carts.delete()
        if request.session.get('goods'):
            request.session.pop('goods')

        return JsonResponse({'code':200, 'msg':'请求成功'})
예제 #12
0
def make_order(request):
    if request.method == 'POST':
        # 创建订单
        # 创建订单详情
        # 购物车中删除已经下单的商品
        user_id = request.session['user_id']
        # 去购物车中勾选的商品
        shop_carts = ShoppingCart.objects.filter(user_id=user_id, is_select=1)

        # 计算总价
        order_mount = 0
        for carts in shop_carts:
            order_mount += carts.nums * carts.goods.shop_price
        # 生成订单交易号
        from utils.functions import get_order_sn
        order_sn = get_order_sn()

        address_id = request.POST.get('address_id')
        user_address = UserAddress.objects.filter(pk=address_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)

        # 创建订单详情
        for carts in shop_carts:
            OrderGoods.objects.create(
                order=order,
                goods=carts.goods,
                goods_nums=carts.nums,
            )
        # 删除购物车中的商品
        shop_carts.delete()
        request.session.pop('goods')

        return JsonResponse({'code': 200, 'msg': '创建成功'})
예제 #13
0
파일: views.py 프로젝트: 1032524125/django
def order(request):
    if request.method == 'GET':
        # 获取当前登录用户的user_id
        user_id = request.session.get('user_id')
        # h获取当前勾选的商品用于下单
        cart_goods = ShoppingCart.objects.filter(user_id=user_id,
                                                 is_select=True)
        # 在购物车对象上绑定一个total_price字段,用于存商品的总价
        for cart in cart_goods:
            cart.total_price = cart.nums * cart.goods.shop_price
        return render(request, 'place_order.html', {'cart_goods': cart_goods})
    if request.method == 'POST':
        # 接收ajax请求,创建订单
        # 下单,选择购物车中is_select为Ture的商品
        # 创建订单和商品之间的关联关系,order_goods表
        # 删除购物车中已下单的商品
        user_id = request.session.get('user_id')
        carts = ShoppingCart.objects.filter(user_id=user_id, is_select=True)
        # 订单货号
        order_sn = get_order_sn()
        # 订单金额
        order_mount = 0
        for cart in carts:
            order_mount += cart.nums * cart.goods.shop_price
        # 创建订单
        order = OrderInfo.objects.create(user_id=user_id,
                                         order_sn=order_sn,
                                         order_mount=order_mount)
        for cart in carts:
            # 创建订单和商品的详情表
            OrderGoods.objects.create(order_id=order.id,
                                      goods_id=cart.goods_id,
                                      goods_nums=cart.nums)
        carts.delete()
        # 删除session中的商品信息
        request.session.pop('goods')
        return JsonResponse({'code': 200, 'msg': '请求成功'})
예제 #14
0
파일: views.py 프로젝트: Duke0425/FreshWeb
def order(request):
    if request.method == 'POST':
        # 1.拿到收货地址id
        ad_id = request.POST.get('ad_id')
        user_address = UserAddress.objects.filter(pk=ad_id).first()
        # 2.创建订单详情
        user_id = request.session.get('user_id')
        # 获取订单号
        order_sn = get_order_sn()
        # 计算总价
        carts = ShoppingCart.objects.filter(user_id=user_id, is_select=True)
        order_mount = 0
        for cart in carts:
            # 总金额
            order_mount += cart.goods.shop_price * cart.nums
        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 carts:
            OrderGoods.objects.create(order=order,
                                      goods=cart.goods,
                                      goods_nums=cart.nums)
        # 4.删除购物车
        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
        carts.delete()

        return JsonResponse({'code': 200, 'msg': '请求成功'})
예제 #15
0
def order(request):
    if request.method == 'POST':
        ad_id = request.POST.get('ad_id')

        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)
        # 创建订单详情
        for cart in shop_cart:
            OrderGoods.objects.create(order=order,
                                      goods=cart.goods,
                                      goods_nums=cart.nums)
        # 删除购物车
        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': '请求成功'})
예제 #16
0
파일: views.py 프로젝트: qq2689392709/code
def place_order(request):
    if request.method == 'GET':

        # 获取商品信息
        carts = []

        # 商品总数量
        goods_count = 0

        # 获取登录用户
        token = request.COOKIES.get('token')
        user = UserToken.objects.filter(token=token).first().user

        # 用户地址信息
        user_addresses = UserAddress.objects.filter(user=user).all()


        try:
            # 获取token,如果是商品详情点了立即购买
            cart_id = request.GET.get('goods_id')
            cart_num = int(request.GET.get('goods_num'))

            # 从立即购买跳转来的
            if cart_id:
                goods = Goods.objects.get(id=cart_id)
                goods_ = dict(model_to_dict(goods))
                goods_['num'] = cart_num
                goods_['sum'] = cart_num * goods_['shop_price']
                carts.append(goods_)

                goods_count = cart_num

                # 加入购物车
                shop_carts = Cart()
                shop_carts.nums = cart_num
                shop_carts.goods = Goods.objects.filter(id=cart_id).first()
                shop_carts.user = User.objects.filter(username=user.username).first()
                shop_carts.is_select = 1
                shop_carts.save()


        # 如果空的话 按购物车选中商品创建订单
        except:
            cart_is = Cart.objects.filter(is_select=1).all()

            for cart in cart_is:
                goods = Goods.objects.get(id=cart.goods_id)
                goods_ = dict(model_to_dict(goods))
                # 转字典添加数量key
                goods_['num'] = cart.nums
                goods_['sum'] = cart.nums * goods_['shop_price']
                carts.append(goods_)

            goods_count = sum([i.nums for i in cart_is])


        # 商品总价格
        goods_sum = sum([i['num'] * i['shop_price'] for i in carts])

        return render(request, 'web/place_order.html', {'user_addresses': user_addresses, 'carts': carts,
                                                    'goods_count': goods_count, 'goods_sum': goods_sum})



    if request.method == 'POST':
        site_id = int(request.POST.get('site'))
        pay = int(request.POST.get('pay'))

        # 获取登录用户
        token = request.COOKIES.get('token')
        user = UserToken.objects.filter(token=token).first().user

        # 商品信息
        carts = []
        cart_is = Cart.objects.filter(is_select=1).all()

        for cart in cart_is:
            goods = Goods.objects.get(id=cart.goods_id)
            goods_ = dict(model_to_dict(goods))
            # 转字典添加数量key
            goods_['num'] = cart.nums
            carts.append(goods_)

        # 总价格和 +10 邮费   全不包邮
        goods_sum = sum([i['num'] * i['shop_price'] for i in carts]) + 10

        # 地址表
        address = UserAddress.objects.filter(id=site_id).first()

        # 获取订单号 交易号
        order_sn = get_order_sn()
        order = OrderInfo()

        # 保存信息
        order.user = user
        order.order_sn = order_sn
        order.trade_no = get_trade_no()
        order.order_mount = goods_sum
        order.address = address.address
        order.signer_name = address.signer_name
        order.signer_mobile = address.signer_mobile
        order.save()

        # 保存关联的详情表
        for i in cart_is:
            or_goods = OrderGoods()
            or_goods.order = OrderInfo.objects.filter(user=user).first()
            or_goods.order_sn = order_sn
            or_goods.goods = Goods.objects.filter(id=i.goods_id).first()
            or_goods.goods_nums = i.nums
            or_goods.save()

            # 修改商品库存
            i.goods.goods_nums -= i.nums
            i.save()

        # 删除已下单的商品
        cart_is.delete()

        return JsonResponse({'code': 200, 'msg': '请求成功'})
예제 #17
0
파일: views.py 프로젝트: DD4lx/python
def order(request):
    # if request.method == 'POST':
    #     # 1.从购物车表中取出当前登录系统用户且is_select为1的商品信息
    #     user_id = request.session.get('user_id')
    #     carts = ShoppingCart.objects.filter(user_id=user_id, is_select=1).all()
    #     # 2.创建订单
    #     order_sn = ''
    #     s = 'qazwsxedcrfvtgbyhnujmikolp1234567890'
    #     for i in range(9):
    #         order_sn += random.choice(s)
    #     time = str(datetime.datetime.now())
    #     order_sn += time
    #     order_mount = 0
    #     for cart in carts:
    #         order_mount += int(cart.nums) * int(cart.goods.shop_price)
    #     order = OrderInfo.objects.create(user_id=user_id,
    #                                      order_sn=order_sn,
    #                                      order_mount=order_mount)
    #     # 3.创建订单详情信息
    #     for cart in carts:
    #         OrderGoods.objects.create(order=order,
    #                                   goods=cart.goods,
    #                                   goods_nums=cart.nums)
    #
    #     # 4.删除购物车中已经下单的商品信息
    #
    #     carts.delete()
    #     # request.session.flush()
    #     if request.session.get('goods'):
    #         del request.session['goods']
    #     return JsonResponse({'code': 200, 'msg': '请求成功'})
    if request.method == 'POST':
        """
        接收ajax请求,创建订单
        """
        # 1. 选择购物车中is_select为True的商品
        # 2. 创建订单
        # 3. 创建订单和商品之间的关联关系表,order_goods表
        # 4. 删除购物车中已下单的商品
        user_id = request.session['user_id']
        # 获取收货人的地址id
        address_id = request.POST.get('address_id')
        user_address = UserAddress.objects.filter(id=address_id).first()
        # 获取购物车中当前登录用户勾选的商品
        carts = ShoppingCart.objects.filter(user_id=user_id, is_select=True)
        # 订单货号
        order_sn = get_order_sn()
        # 订单金额
        order_mount = 0
        for cart in carts:
            order_mount += cart.nums * cart.goods.shop_price
        # 创建订单
        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)
        for cart in carts:
            # 创建订单和商品的详情表
            OrderGoods.objects.create(order_id=order.id,
                                      goods_id=cart.goods_id,
                                      goods_nums=cart.nums)
        carts.delete()
        # 删除session中的商品信息
        if request.session.get('goods'):
            request.session.pop('goods')
        return JsonResponse({'code': 200, 'msg': '请求成功'})