def post(self, request): user_id = request.session['user_id'] goods_id = request.POST.get('goods_id') goods_num = request.POST.get('goods_num') order = Orders() order.order_id = uuid.uuid4().hex order.time = datetime.datetime.now() order.goods_num = goods_num order.goods = Goods.objects.get(id=goods_id).name order.user = User.objects.get(id=user_id).name order.price = Goods.objects.get(id=goods_id).price * goods_num
def post(self, request): medlist = request.data.get('list') userph = request.data.get('phone') user = User.objects.get(phone=userph) user_id = user.id store_id = medlist[0]['drugstore'] if request.data.get('pay_method'): pay_method = request.data.get('pay_method') med_price = 0 count = 0 ordergoods = [] for med in medlist: price = med['price'] * med['num'] context = { 'med_name': med['name'], 'med_price': price, 'med_count': med['num'], } ordergoods.append(context) med_price += price count += med['num'] order = Orders() order.order_id = datetime.now().strftime('%Y%m%d%H%M%S') + str( store_id) + str(user_id) order.customer_id = user_id order.drugstore_id = store_id order.med_price = med_price order.transit_price = 2 order.total_price = med_price + order.transit_price order.total_count = count order.order_status = 1 order.pay_method = pay_method order.staff_id = 999 order.save() paymethod = ['现金支付', '微信支付', '支付宝'] orderstatus = ['待支付', '待配送', '已送达', '待评价', '已完成'] order_ = { 'order_id': order.order_id, 'user': User.objects.get(id=user_id).name, 'address': order.customer.addr, 'receiver': order.customer.name, 'phone': order.customer.phone, 'drugstore': order.drugstore.name, 'med_price': order.med_price, 'total_count': order.total_count, 'total_price': order.total_price, 'transit_price': order.transit_price, 'order_status': orderstatus[order.order_status], 'pay_method': paymethod[order.pay_method], } for med in medlist: price = med['price'] * med['num'] ordergood = OrderGoods() ordergood.sku_id = med['id'] ordergood.order_id = order.order_id ordergood.count = med['num'] ordergood.price = price ordergood.save() med_ = Medicine.objects.get(id=med['id']) med_.stock -= med['num'] med_.sales += med['num'] med_.save() return Response({'status': 1}) else: med_price = 0 count = 0 ordergoods = [] for med in medlist: price = med['price'] * med['num'] context = { 'med_name': med['name'], 'med_price': price, 'med_count': med['num'], } ordergoods.append(context) med_price += price count += med['num'] order = Orders() order.order_id = datetime.now().strftime('%Y%m%d%H%M%S') + str( store_id) + str(user_id) order.customer_id = user_id order.drugstore_id = store_id order.med_price = med_price order.transit_price = 2 order.total_price = med_price + order.transit_price order.total_count = count order.order_status = 1 paymethod = ['现金支付', '微信支付', '支付宝'] orderstatus = ['待支付', '待配送', '已送达', '待评价', '已完成'] order_ = { 'order_id': order.order_id, 'user': User.objects.get(id=user_id).name, 'address': order.customer.addr, 'receiver': order.customer.name, 'phone': order.customer.phone, 'drugstore': order.drugstore.name, 'med_price': order.med_price, 'total_count': order.total_count, 'total_price': order.total_price, 'transit_price': order.transit_price, 'order_status': orderstatus[order.order_status], } return Response({'ordergoods': ordergoods, 'order': order_})
def staff_order_add(request): # 判断是否登录 context = { 'page': 'staff_order_add', } if request.session.get('is_login', None): username = request.session.get('username') store = request.session.get('storeid') context['username'] = username if request.session.get('identity') == 'shopkeeper': context['page'] = 'find_staff' context['errmsg'] = '请以员工账号登录,用以生成订单' shopkeeper = True return render(request, 'staff/find_staff.html', context=context) else: shopkeeper = False else: return login(request) store_id = request.session.get('storeid') staff_id = request.session.get('staffid') if request.POST.get('pay_method'): pay_method = request.POST.get('pay_method') carts = Cart.objects.filter(C_store=request.session.get('storeid')) med_price = 0 count = 0 ordergoods = [] for med in carts: price = med.C_goods.price * med.C_goods_num context1 = { 'med_name': med.C_goods.name, 'med_price': price, 'med_count': med.C_goods_num, } ordergoods.append(context1) med_price += price count += med.C_goods_num order = Orders() order.order_id = datetime.now().strftime('%Y%m%d%H%M%S') + \ str(store_id) + str(staff_id) order.staff_id = staff_id order.drugstore_id = store_id order.med_price = med_price order.transit_price = 0 order.total_price = med_price order.total_count = count order.order_status = 4 order.pay_method = int(pay_method) order.sale_method = 0 # 默认线下销售 order.save() paymethod = ['现金支付', '微信支付', '支付宝'] orderstatus = ['待支付', '待配送', '已送达', '待评价', '已完成'] order_ = { 'order_id': order.order_id, 'staff': order.staff.name, # 'address': Order.addr, # 'receiver': address_.receiver, # 'phone': address_.phone, # 'drugstore': drug_store.name, 'pay_method': paymethod[order.pay_method], 'med_price': order.med_price, 'total_count': order.total_count, 'total_price': order.total_price, 'transit_price': order.transit_price, 'order_status': orderstatus[order.order_status], } for med in carts: price = med.C_goods.price * med.C_goods_num ordergood = OrderGoods() ordergood.sku_id = med.C_goods_id ordergood.order_id = order.order_id ordergood.count = med.C_goods_num ordergood.price = price ordergood.save() med_ = Medicine.objects.get(id=med.C_goods_id) med_.stock -= med.C_goods_num med_.sales += med.C_goods_num med_.save() med.delete() return redirect('orders:order_list') else: carts = Cart.objects.filter(C_store=request.session.get('storeid')) med_price = 0 count = 0 ordergoods = [] for med in carts: price = med.C_goods.price * med.C_goods_num context1 = { 'med_name': med.C_goods.name, 'med_price': price, 'med_count': med.C_goods_num, } ordergoods.append(context1) med_price += price count += med.C_goods_num order = Orders() order.order_id = datetime.now().strftime('%Y%m%d%H%M%S') + \ str(store_id) + str(staff_id) order.staff_id = staff_id order.drugstore_id = store_id order.med_price = med_price order.transit_price = 0 order.total_price = med_price order.total_count = count order.order_status = 4 paymethod = ['现金支付', '微信支付', '支付宝'] orderstatus = ['待支付', '待配送', '已送达', '待评价', '已完成'] staffname = Staff.objects.get(id=staff_id).name order_ = { 'order_id': order.order_id, 'staff': staffname, # 'address': Order.addr, # 'receiver': address_.receiver, # 'phone': address_.phone, # 'drugstore': drug_store.name, 'med_price': order.med_price, 'total_count': order.total_count, 'total_price': order.total_price, 'transit_price': order.transit_price, 'order_status': orderstatus[order.order_status], } context['ordergoods'] = ordergoods context['order'] = order_ return render(request, "orders/staff_order_add.html", context=context)