You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.4 KiB

2 years ago
  1. from flask import Blueprint
  2. from flask import request
  3. from flask import jsonify
  4. from be.model.buyer import Buyer
  5. bp_buyer = Blueprint("buyer", __name__, url_prefix="/buyer")
  6. @bp_buyer.route("/new_order", methods=["POST"])
  7. def new_order():
  8. user_id: str = request.json.get("user_id")
  9. store_id: str = request.json.get("store_id")
  10. books: [] = request.json.get("books")
  11. id_and_count = []
  12. for book in books:
  13. book_id = book.get("id")
  14. count = book.get("count")
  15. id_and_count.append((book_id, count))
  16. b = Buyer()
  17. code, message, order_id = b.new_order(user_id, store_id, id_and_count)
  18. return jsonify({"message": message, "order_id": order_id}), code
  19. @bp_buyer.route("/payment", methods=["POST"])
  20. def payment():
  21. user_id: str = request.json.get("user_id")
  22. order_id: str = request.json.get("order_id")
  23. password: str = request.json.get("password")
  24. b = Buyer()
  25. code, message = b.payment(user_id, password, order_id)
  26. return jsonify({"message": message}), code
  27. @bp_buyer.route("/add_funds", methods=["POST"])
  28. def add_funds():
  29. user_id = request.json.get("user_id")
  30. password = request.json.get("password")
  31. add_value = request.json.get("add_value")
  32. b = Buyer()
  33. code, message = b.add_funds(user_id, password, add_value)
  34. return jsonify({"message": message}), code