def __create_order(self, snap): '''将订单写入到数据库''' order_no = Order.make_order_no() from app.models.order import Order as OrderModel with db.auto_commit(): order = OrderModel() order.user_id = self.uid order.order_no = order_no order.total_price = snap['order_price'] order.total_count = snap['total_count'] order.snap_img = snap['snap_img'] order.snap_name = snap['snap_name'] order.snap_address = snap['snap_address'] order.snap_items = json.dumps(snap['p_status'], ensure_ascii=False) db.session.add(order) db.session.flush() # 进刷新数据库缓存,不操作事务 order_id = order.id for p in self.o_products: # 起初每个p的格式 {'product_id': x, 'count': y} p['order_id'] = order_id db.session.add_all([ Order2Product(p['order_id'], p['product_id'], p['count']) for p in self.o_products ]) return { 'order_no': order_no, 'order_id': order_id, 'create_time': order.create_time }
def order(order_from): resp_data = {'code': 200, 'msg': '查询成功~~', 'data': {}} addNav(resp_data) uid = current_user.id cart = Cart() order = Order() goods = Goods() if order_from == "list": pass elif order_from == "from_cart": with db.auto_commit(): order.uid = uid order.order_no = geneOrderNo() order.order_status = 600 order.order_address = current_user.address if current_user.address else "不详" order.order_detail = cart.getUserCartTotalDetails(uid) order.goods_imgs = cart.getUserCartTotalImage(uid) order.total_price = cart.getUserCartTotalPrice(uid) db.session.add(order) cart.deleteUserAllCartList(uid) else: gid = order_from with db.auto_commit(): order.uid = uid order.order_no = geneOrderNo() order.order_status = 600 order.order_address = current_user.address if current_user.address else "不详" order.order_detail = goods.getName(gid) order.goods_imgs = goods.getImage(gid) order.total_price = goods.getPrice(gid) db.session.add(order) userAllOrderList = order.getUserAllOrderList(uid) orderCollection = OrderCollection(userAllOrderList) resp_data['data'] = orderCollection.data return render_template('order.html', data=resp_data)
def __create_order(self, snap): order_no = Order.make_order_no() from app.models.order import Order as ModelOrder with db.auto_commit(): order = ModelOrder() order.user_id = self.uid order.order_no = order_no order.total_price = snap['order_price'] order.total_count = snap['total_count'] order.snap_img = snap['snap_img'] order.snap_name = snap['snap_name'] order.snap_address = snap['snap_address'] order.snap_items = json.dumps(snap['p_status']) db.session.add(order) order_id = order.id for p in self.o_products: p['order_id'] = order_id with db.auto_commit(): order_product = Order2Product()