diff --git a/db/database_manager.py b/db/database_manager.py index fe42066..003ee31 100644 --- a/db/database_manager.py +++ b/db/database_manager.py @@ -30,33 +30,33 @@ class DatabaseManager: conn.close() def user_exists(self, phone_number): - sql = "SELECT 1 FROM user WHERE phone_number=%s LIMIT 1" + sql = "SELECT 1 FROM user WHERE number=%s LIMIT 1" result = self.fetch(sql, (phone_number,)) return len(result) > 0 def insert_user(self, user): sql = """ - INSERT INTO user (nickname, phone_number, password, identity, status) - VALUES (%s, %s, %s, %s, %s) + INSERT INTO user (name, number, password, status) + VALUES (%s, %s, %s, %s) """ - data = (user.nickname, user.phone_number, user.password, user.identity, user.status) + data = (user.name, user.number, user.password, user.status) # print(data) return self.execute(sql, data) - def valid_login(self, phone_number, password_attempt): + def valid_login(self, number, password_attempt): # SQL查询获取用户的哈希密码,身份和状态 - sql = "SELECT password, identity, status,nickname FROM user WHERE phone_number=%s LIMIT 1" - result = self.fetch(sql, (phone_number,)) + sql = "SELECT password, status,name FROM user WHERE number=%s LIMIT 1" + result = self.fetch(sql, (number,)) + print(result) if result: stored_hash = result[0]['password'] # 假设结果是密码字段 - identity = result[0]['identity'] # 用户身份 status = result[0]['status'] # 用户状态 - nickname = result[0]['nickname'] + name = result[0]['name'] # 使用bcrypt进行密码验证 if bcrypt.checkpw(password_attempt.encode('utf-8'), stored_hash.encode('utf-8')): # 密码匹配,返回登录成功,身份和状态 - return {'valid': True, 'identity': identity, 'status': status, 'nickname': nickname} + return {'valid': True, 'status': status, 'name': name} # 密码不匹配或用户不存在,返回登录失败 return {'valid': False} @@ -73,7 +73,7 @@ class DatabaseManager: def get_current_teacher_courses(self, phone_number): # 根据电话号码查询user_id - user_sql = "SELECT user_id FROM user WHERE phone_number = %s" + user_sql = "SELECT user_id FROM user WHERE number = %s" user_result = self.fetch(user_sql, (phone_number,)) if user_result: @@ -100,3 +100,28 @@ class DatabaseManager: result = self.fetch(sql) return result + def get_announcement_info(self): + sql = "SELECT course_name, course_type FROM course" + result = self.fetch(sql) + return result + + def insert_teacher(self, teacher): + sql = "INSERT INTO teacher (name, user_id,teacher_number) VALUES (%s, %s, %s);" + + data = (teacher.name, teacher.user_id,teacher.teacher_number) + print(data) + return self.execute(sql, data) + + def query_user_id(self, phone_number): + sql = "SELECT user_id from user WHERE number = %s;" + data = self.fetch(sql, phone_number) + + return data[0]['user_id'] + + def insert_student(self, student): + sql = """ + INSERT INTO student (student_name, student_number, user_id, major_id, class_name) + VALUES (%s, %s, %s, %s, %s) + """ + data = (student.student_name, student.student_number, student.user_id, student.major_id, student.class_name) + return self.execute(sql, data)