Пример #1
0
def geolocate(order_id: int):
    model = OrderModel()
    flags = FlagModel()
    flags.select()
    model.setFilter('id={0}'.format(order_id))
    model.select()
    record = model.record(0)

    if not record.value('id'):
        return False

    address1 = record.value('address1')
    address2 = record.value('address2')
    suburb = record.value('suburb_id')
    if not address2:
        address = '{0}, {1}, Australia'.format(address1, suburb)
    else:
        address = '{0}, {1}, {2}, Australia'.format(address1, address2, suburb)

    geolocator = geocoders.GoogleV3(
        api_key='AIzaSyAGiVHm_ia8cfkJ2MBtiAAGDAPJjop77Dk')
    try:
        location = geolocator.geocode(address)
    except exc.GeocoderTimedOut:
        flags.create_flag(order_id, 'Geolocator timeout')

    if not location:
        flags.create_flag(order_id,
                          'Unable to geolocate address, please check')
        return False

    model.set_data(0, latitude=location.latitude, longitude=location.longitude)
    return model.submitAll()
Пример #2
0
def add_order(request):
    """添加订单到数据库"""

    cart_list = request.POST.getlist("cart_list")
    total_price = request.POST.get("total_price", 0)

    user_id = request.session.get("user_id")

    order = OrderModel()
    order.user_id = user_id
    order.create_time = datetime.datetime.now()
    order.total_price = total_price
    order.is_pay = 0
    order.save()

    for cart_id in cart_list:
        cart = CartModel.objects.get(id=cart_id)

        order_goods = OrderGoodsModel()
        order_goods.goods_id = cart.goods.id
        order_goods.order_id = order.id
        order_goods.number = cart.count

        order_goods.save()
        # 订单信息和订单对应的商品信息保存完毕,删除购物车中的商品
        cart.delete()
    return JsonResponse({"result": "success"})
Пример #3
0
def add_order(request):
    '''添加订单到数据库'''
    cart_list = request.POST.getlist('cart_list')
    total_price = request.POST.get('total_price', 0)

    user_id = request.session.get('user_id')

    order = OrderModel()
    order.user_id = user_id
    order.create_time = datetime.datetime.now()
    order.total_price = total_price
    order.is_pay = 0
    order.save()

    for cart_id in cart_list:
        cart = CartModel.objects.get(id=cart_id)

        order_goods = OrderGoodsModel()
        order_goods.goods_id = cart.goods.id
        order_goods.order_id = order.id
        order_goods.number = cart.count

        order_goods.save()
        # 订单信息和订单商品的信息保存完之后,删除购物车的商品
        cart.delete()
    return JsonResponse({'result': 'success'})
Пример #4
0
def add_order(request):
    """添加订单到数据库"""
    cart_list = request.POST.getlist('cart_list')

    total_price = request.POST.get('shifu')
    print(request.POST)
    user_id = request.session.get('user_id')

    order = OrderModel()
    order.user_id = user_id
    order.create_time = datetime.datetime.now()
    order.total_price = total_price
    order.is_pay = False
    order.save()

    for cart_id in cart_list:
        cart = CartModel.objects.get(id=cart_id)

        order_goods = OrderGoodsModel()
        order_goods.goods_id = cart.goods.id
        order_goods.order_id = order.id
        order_goods.number = cart.count

        order_goods.save()
        cart.delete()

    return JsonResponse({'result': 'success'})
Пример #5
0
    def post(self, request, *args, **kwargs):

        if not isinstance(request.user, UserModel):
            data = {"msg": "not login", "status": NOT_LOGIN}
            return Response(data)

        if not request.user.cartmodel_set.filter(c_is_select=True).exists():
            data = {"msg": "please select goods", "status": NOT_SELECT}
            return Response(data)

        # 生成订单
        order_obj = OrderModel()
        order_obj.o_user = request.user
        order_obj.o_price = self.calc_price()
        order_obj.save()

        # 订单商品呢
        carts = request.user.cartmodel_set.filter(c_is_select=True).all()

        for cart_obj in carts:
            order_goods = OrderGoods()
            order_goods.o_goods_num = cart_obj.c_goods_num
            order_goods.o_order = order_obj
            order_goods.save()

            order_goods_info = OrderGoodsInfo()
            order_goods_info.o_goods = order_goods

            order_goods_info.productid = cart_obj.c_goods.productid
            order_goods_info.productimg = cart_obj.c_goods.productimg
            order_goods_info.productname = cart_obj.c_goods.productname
            order_goods_info.productlongname = cart_obj.c_goods.productlongname
            order_goods_info.isxf = cart_obj.c_goods.isxf
            order_goods_info.pmdesc = cart_obj.c_goods.pmdesc
            order_goods_info.specifics = cart_obj.c_goods.specifics
            order_goods_info.price = cart_obj.c_goods.price
            order_goods_info.marketprice = cart_obj.c_goods.marketprice
            order_goods_info.categoryid = cart_obj.c_goods.categoryid
            order_goods_info.childcid = cart_obj.c_goods.childcid
            order_goods_info.childcidname = cart_obj.c_goods.childcidname
            order_goods_info.dealerid = cart_obj.c_goods.dealerid
            order_goods_info.storenums = cart_obj.c_goods.storenums
            order_goods_info.productnum = cart_obj.c_goods.productnum

            order_goods_info.save()
            # 删除购物车数据
            cart_obj.delete()

        order_serializer = OrderModelSerializer(order_obj)

        data = {
            "msg": "ok",
            "status": HTTP_201_CREATED,
            "data": order_serializer.data
        }

        return Response(data)