def user_add_order(): # 验证用户是否已登录 token = request.args.get('token', None) if token is None: return jsonify({ 'code': 202, 'msg': 'token查询参数必须提供或者登录后获取token' }) if cache.check_token(token): user_id = cache.get_token_user_id(token) order_info = request.get_json() # 验证订单参数(和t_order表字段对应或order_detail) # 下订单的业务处理 # 生成订单号(2019070200001, 2019070200002) dao = OrderDao() next_order_num = dao.next_order_num() order_info['order_num'] = next_order_num order_info['user_id'] = user_id tasks.add_order.delay(**order_info) return jsonify({ 'code': 201, 'msg': '正在抢单', 'oder_num': next_order_num })
def add_order(): token = request.get_json().get("token") if token is None: return jsonify({"code": 201, "msg": "token查询参数必须提供"}) resp = request.get_json() total = resp.get("total") type1 = resp.get("type") c_id = resp.get("course") # 获取的c_id是字符串 <class 'str'> u_id = cache_.get_token_user_id(token) print(c_id) if u_id: if type1 == "fromcart": # 如果是从购物车提交订单 cart_dao = CartDao() course_info = cart_dao.will_pay_course(c_id, u_id).get("course_list") total_price = cart_dao.will_pay_course(c_id, u_id).get("total_price") # print("aaaaaaaaaa", course_info,type(course_info)) if len(c_id) > 1: if total_price == total: # 提交订单传递的总价是否和后台计算的总价相等 order_obj = OrderDao() # user_course = UserCourseDao() order_num = order_obj.next_order_num() # 生成订单编号 for course in course_info: # 创建订单记录 order_success = order_obj.save( "orders", **{ "order_num": order_num, "user_id": u_id, "course_id": course.get("id"), "price": course.get("price") }) if order_success: # 如果创建订单,购买的课程存入用户课程表中成功,则删除购物车记录 cart_delete = cart_dao.delete_user_cart_course( course.get("id"), u_id) if cart_delete: continue # 返回订单信息 return jsonify({ "code": 200, "order_num": order_num, "data": course_info }) return jsonify({"code": 201, "msg": "价格不正确"}) elif len(c_id) == 1: if total_price == total: order_obj = OrderDao() order_num = order_obj.next_order_num() order_success = order_obj.save( "orders", **{ "order_num": order_num, "user_id": u_id, "course_id": course_info.get("id"), "price": course_info.get("price") }) if order_success: # 如果创建订单记录成功,返回订单信息 cart_delete = cart_dao.delete_user_cart_course( course_info.get("id"), u_id) if cart_delete: return jsonify({ "code": 200, "order_num": order_num, "data": course_info }) return jsonify({"code": 201, "msg": "价格不正确"}) elif type1 == "fromcombat": # 如果是立即购买提交订单 pay_dao = PayDao() cid = pay_dao.get_course_id(c_id) course_info = pay_dao.get_pay_course(cid).get("pay_course") total_price = pay_dao.get_pay_course(cid).get("total_price") if total_price == total: # 总价相等,创建一条订单记录 order_obj = OrderDao() order_num = order_obj.next_order_num() order_success = order_obj.save( "orders", **{ "order_num": order_num, "user_id": u_id, "course_id": course_info[0].get("id"), "price": course_info[0].get("price") }) if order_success: # 如果创建订单记录成功,返回订单信息 return jsonify({ "code": 200, "order_num": order_num, "data": course_info }) return jsonify({"code": 201, "msg": "价格不正确"}) return jsonify({"code": 201, "msg": "用户未登录或注册"})