更新 database_manager.py
parent
e11cddd05e
commit
95bd7c7e65
|
|
@ -30,33 +30,33 @@ class DatabaseManager:
|
||||||
conn.close()
|
conn.close()
|
||||||
|
|
||||||
def user_exists(self, phone_number):
|
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,))
|
result = self.fetch(sql, (phone_number,))
|
||||||
return len(result) > 0
|
return len(result) > 0
|
||||||
|
|
||||||
def insert_user(self, user):
|
def insert_user(self, user):
|
||||||
sql = """
|
sql = """
|
||||||
INSERT INTO user (nickname, phone_number, password, identity, status)
|
INSERT INTO user (name, number, password, status)
|
||||||
VALUES (%s, %s, %s, %s, %s)
|
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)
|
# print(data)
|
||||||
return self.execute(sql, data)
|
return self.execute(sql, data)
|
||||||
|
|
||||||
def valid_login(self, phone_number, password_attempt):
|
def valid_login(self, number, password_attempt):
|
||||||
# SQL查询获取用户的哈希密码,身份和状态
|
# SQL查询获取用户的哈希密码,身份和状态
|
||||||
sql = "SELECT password, identity, status,nickname FROM user WHERE phone_number=%s LIMIT 1"
|
sql = "SELECT password, status,name FROM user WHERE number=%s LIMIT 1"
|
||||||
result = self.fetch(sql, (phone_number,))
|
result = self.fetch(sql, (number,))
|
||||||
|
print(result)
|
||||||
if result:
|
if result:
|
||||||
stored_hash = result[0]['password'] # 假设结果是密码字段
|
stored_hash = result[0]['password'] # 假设结果是密码字段
|
||||||
identity = result[0]['identity'] # 用户身份
|
|
||||||
status = result[0]['status'] # 用户状态
|
status = result[0]['status'] # 用户状态
|
||||||
nickname = result[0]['nickname']
|
name = result[0]['name']
|
||||||
|
|
||||||
# 使用bcrypt进行密码验证
|
# 使用bcrypt进行密码验证
|
||||||
if bcrypt.checkpw(password_attempt.encode('utf-8'), stored_hash.encode('utf-8')):
|
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}
|
return {'valid': False}
|
||||||
|
|
@ -73,7 +73,7 @@ class DatabaseManager:
|
||||||
|
|
||||||
def get_current_teacher_courses(self, phone_number):
|
def get_current_teacher_courses(self, phone_number):
|
||||||
# 根据电话号码查询user_id
|
# 根据电话号码查询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,))
|
user_result = self.fetch(user_sql, (phone_number,))
|
||||||
|
|
||||||
if user_result:
|
if user_result:
|
||||||
|
|
@ -100,3 +100,28 @@ class DatabaseManager:
|
||||||
result = self.fetch(sql)
|
result = self.fetch(sql)
|
||||||
return result
|
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)
|
||||||
|
|
|
||||||
Reference in New Issue