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()
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"})
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'})
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'})
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)