From df9775a371ee52735c00525f9d37fb60ca95b7ed Mon Sep 17 00:00:00 2001 From: poles <351718897@qq.com> Date: Sun, 26 Mar 2023 17:22:52 +0800 Subject: [PATCH] Database update for it @Author Ruibin Si --- src/educoder/database/database.py | 33 +++++++++ src/educoder/database/database_sqlite.py | 92 +++++++++++++++++++++++- 2 files changed, 124 insertions(+), 1 deletion(-) diff --git a/src/educoder/database/database.py b/src/educoder/database/database.py index 3318868..5d4ed1b 100644 --- a/src/educoder/database/database.py +++ b/src/educoder/database/database.py @@ -1,3 +1,36 @@ class Database(object): def connection(self): pass + + def init(self): + pass + + def addBook(self, unique_id, isbn, state): + pass + + def removeBook(self, unique_id): + pass + + def addUser(self, user_id, userpass_word, permission, nick_name): + pass + + def removeUser(self, unique_id): + pass + + def addBookInformation(self, isbn, author, description, price, made_time, image, category): + pass + + def removeBookInformation(self, isbn): + pass + + def brownBook(self, unique_id, brownuser): + pass + + def stillBook(self, unique_id): + pass + + def addCategory(self, category): + pass + + def removeCategory(self, category): + pass \ No newline at end of file diff --git a/src/educoder/database/database_sqlite.py b/src/educoder/database/database_sqlite.py index 231b093..8343d90 100644 --- a/src/educoder/database/database_sqlite.py +++ b/src/educoder/database/database_sqlite.py @@ -1,6 +1,6 @@ import database import sqlite3 - +import datetime class DatabaseSQLite(database.Database): conn = sqlite3.connect @@ -8,3 +8,93 @@ class DatabaseSQLite(database.Database): def connection(self): self.conn = sqlite3.connect("../../../data/lib_manager.db") + def init(self): + self.conn.cursor().execute('''CREATE TABLE user(account INTEGER, userid INTEGER, password INTEGER, + permission VARCHAR, nickname VARCHAR, PRIMARY KEY(account))''') + self.conn.cursor().execute('''CREATE TABLE book_type(type CHAR, PRIMARY KEY(type))''') + self.conn.cursor().execute( + '''CREATE TABLE book_main(unique_id INTEGER, isbn INTEGER, state INTEGER, PRIMARY KEY(unique_id))''') + self.conn.cursor().execute( + '''CREATE TABLE book_loc(unique_id INTEGER, loc INTEGER, Primary KEY(unique_id) FOREIGN KEY(unique_id) + REFERENCES(book_main))''') + self.conn.cursor().execute( + '''CREATE TABLE book_record(unique_id INTEGER, brown_time INTEGER, real_still_time INTEGER, expect_still_time + INTEGER, brown_user VARCHAR, PRIMARY KEY(unique_id) FOREIGN KEY(unique_id)REFERENCES(book_main))''') + self.conn.cursor().execute( + '''CREATE TABLE book_information(isbn INTEGER, author VARCHAR, description, price INTEGER, made_time + INTEGER, image VARCHAR, type CHAR ,PRIMARY KEY(isbn) FOREIGN KEY(unique_id)REFERENCES(book_main))''') + + self.conn.commit() + + def addBook(self, unique_id, isbn, state): + self.conn.cursor().execute("INSERT INTO book_main(unique_id, isbn, state) VALUES("+unique_id+", "+isbn+", "+state+")") + + self.conn.commit() + return True + + def removeBook(self, unique_id): + self.conn.cursor().execute("DELETE FORM book_main WHERE unique_id") + + self.conn.commit() + return True + + def addUser(self, user_id, userpass_word, permission, nick_name): + self.conn.cursor().execute("INSERT INTO user(user_id, userpass_word, permission, nick_name) VALUES ("+user_id+", "+userpass_word+", "+permission+", "+nick_name+")") + + self.conn.commit() + return True + + def removeUser(self, unique_id): + self.conn.cursor().execute("DELETE FORM user WHERE unique_id") + + self.conn.commit() + return True + + def addBookInformation(self, isbn, author, description, price, made_time, image, category): + self.conn.cursor().execute("INSERT INTO book_information(isbn, author, description, price, made_time, image, " + "category) VALUES ("+isbn+", "+author+", "+description+","+price+", "+made_time+", "+image+","+category+")") + + self.conn.commit() + return True + + def removeBookInformation(self, isbn): + self.conn.cursor().execute("DELETE FORM book_information WHERE isbn") + + self.conn.commit() + return True + + def brownBook(self, unique_id, brown_user): + flag = self.conn.cursor().execute("SELECT state FROM book_main") + if flag: + self.conn.cursor().execute("UPDATE book_main SET state = false") + self.conn.cursor().execute( + "INSERT INTO book_record(unique_id, brown_time, real_still_time, expect_still_time, brown_user) VALUES("+unique_id+", "+datetime.datetime.now()+","+0+", "+30+","+brown_user+")") + self.conn.commit() + return True + else: + return False + + def stillBook(self, unique_id): + flag = self.conn.cursor().execute("SELECT state FROM book_main") + if not flag: + self.conn.cursor().execute("UPDATE book_main SET state = true") + + + + + + + + + + + + + + + + + + + +