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.

60 lines
2.5 KiB

2 years ago
  1. import sqlite3 as sqlite
  2. from be.model import error
  3. from be.model import db_conn
  4. class Seller(db_conn.DBConn):
  5. def __init__(self):
  6. db_conn.DBConn.__init__(self)
  7. def add_book(self, user_id: str, store_id: str, book_id: str, book_json_str: str, stock_level: int):
  8. try:
  9. if not self.user_id_exist(user_id):
  10. return error.error_non_exist_user_id(user_id)
  11. if not self.store_id_exist(store_id):
  12. return error.error_non_exist_store_id(store_id)
  13. if self.book_id_exist(store_id, book_id):
  14. return error.error_exist_book_id(book_id)
  15. self.conn.execute("INSERT into store(store_id, book_id, book_info, stock_level)"
  16. "VALUES (?, ?, ?, ?)", (store_id, book_id, book_json_str, stock_level))
  17. self.conn.commit()
  18. except sqlite.Error as e:
  19. return 528, "{}".format(str(e))
  20. except BaseException as e:
  21. return 530, "{}".format(str(e))
  22. return 200, "ok"
  23. def add_stock_level(self, user_id: str, store_id: str, book_id: str, add_stock_level: int):
  24. try:
  25. if not self.user_id_exist(user_id):
  26. return error.error_non_exist_user_id(user_id)
  27. if not self.store_id_exist(store_id):
  28. return error.error_non_exist_store_id(store_id)
  29. if not self.book_id_exist(store_id, book_id):
  30. return error.error_non_exist_book_id(book_id)
  31. self.conn.execute("UPDATE store SET stock_level = stock_level + ? "
  32. "WHERE store_id = ? AND book_id = ?", (add_stock_level, store_id, book_id))
  33. self.conn.commit()
  34. except sqlite.Error as e:
  35. return 528, "{}".format(str(e))
  36. except BaseException as e:
  37. return 530, "{}".format(str(e))
  38. return 200, "ok"
  39. def create_store(self, user_id: str, store_id: str) -> (int, str):
  40. try:
  41. if not self.user_id_exist(user_id):
  42. return error.error_non_exist_user_id(user_id)
  43. if self.store_id_exist(store_id):
  44. return error.error_exist_store_id(store_id)
  45. self.conn.execute("INSERT into user_store(store_id, user_id)"
  46. "VALUES (?, ?)", (store_id, user_id))
  47. self.conn.commit()
  48. except sqlite.Error as e:
  49. return 528, "{}".format(str(e))
  50. except BaseException as e:
  51. return 530, "{}".format(str(e))
  52. return 200, "ok"