Compare commits

..

3 Commits

Author SHA1 Message Date
72758a4b95 更新 mysql.sql 2023-12-28 17:49:02 +08:00
0fde0df39c 更新 database_manager.py 2023-12-28 17:49:00 +08:00
e35abb4009 更新 views.py 2023-12-28 17:48:57 +08:00
3 changed files with 35 additions and 32 deletions

View File

@@ -5,9 +5,12 @@ from db.database_manager import DatabaseManager
from models.Student import Student from models.Student import Student
from models.Teacher import Teacher from models.Teacher import Teacher
from models.User import User from models.User import User
import logging
from config import LOGGING_CONFIG
app = Flask(__name__, static_folder='static') app = Flask(__name__, static_folder='static')
app.secret_key = SECRET_KEY # 从配置文件设置 app.secret_key = SECRET_KEY # 从配置文件设置
logging.basicConfig(**LOGGING_CONFIG)
# 一个全局MySQLPool对象用于管理数据库连接 # 一个全局MySQLPool对象用于管理数据库连接
mysql_pool = MySQLPool() mysql_pool = MySQLPool()
@@ -221,7 +224,7 @@ def teacher_attendance():
@app.route('/api/get-teacher-attendance-table', methods=['GET']) @app.route('/api/get-teacher-attendance-table', methods=['GET'])
def get_current_teacher_courses(): def get_current_teacher_courses():
number = session.get('number') number = session.get('number')
logging.info(number)
# 获取分页参数 # 获取分页参数
page = request.args.get('page', 1, type=int) # 如果没有提供,默认为第一页 page = request.args.get('page', 1, type=int) # 如果没有提供,默认为第一页
limit = request.args.get('limit', 10, type=int) # 如果没有提供默认每页10条 limit = request.args.get('limit', 10, type=int) # 如果没有提供默认每页10条

View File

@@ -72,29 +72,8 @@ class DatabaseManager:
return result return result
def get_current_teacher_courses(self, number): def get_current_teacher_courses(self, number):
# 根据电话号码查询user_id sql = ""
user_sql = "SELECT user_id FROM user WHERE number = %s" return None
user_result = self.fetch(user_sql, (number,))
if user_result:
user_id = user_result[0]['user_id']
# 使用联合查询获取该老师的所有课程信息及班级信息
course_class_sql = """
SELECT c.course_name, c.course_code, c.credits, cl.class_name, cl.major
FROM class_courses cc
JOIN courses c ON cc.course_id = c.course_id
JOIN classes cl ON cc.class_id = cl.class_id
WHERE cc.user_id = %s
"""
courses_classes_result = self.fetch(course_class_sql, (user_id,))
# 组织和返回信息
if courses_classes_result:
# print(courses_classes_result)
return courses_classes_result
return []
def get_course_type(self): def get_course_type(self):
sql = "SELECT course_name, course_type FROM course" sql = "SELECT course_name, course_type FROM course"
result = self.fetch(sql) result = self.fetch(sql)

View File

@@ -88,7 +88,7 @@ CREATE TABLE attendance_records
date DATE NOT NULL, date DATE NOT NULL,
status ENUM('present', 'absent', 'late', 'excused'), status ENUM('present', 'absent', 'late', 'excused'),
FOREIGN KEY (course_id) REFERENCES course (course_id), FOREIGN KEY (course_id) REFERENCES course (course_id),
FOREIGN KEY (student_id) REFERENCES students (student_id) FOREIGN KEY (student_id) REFERENCES student (student_id)
); );
@@ -156,18 +156,39 @@ VALUES ('教师1', 1),
('教师3', 3), ('教师3', 3),
('教师4', 4); ('教师4', 4);
CREATE TABLE major_course
(
id INT AUTO_INCREMENT PRIMARY KEY,
major_id VARCHAR(20) NOT NULL,
course_id INT NOT NULL,
FOREIGN KEY (major_id) REFERENCES major (major_id),
FOREIGN KEY (course_id) REFERENCES course (course_id)
);
INSERT INTO major_course (major_id, course_id) VALUES
('000',1),
('000',2),
('000',3),
('000',4),
('000',5),
('000',6),
('000',7),
('000',8);
CREATE TABLE teacher_class_course CREATE TABLE teacher_class_course
( (
id INT AUTO_INCREMENT, id INT AUTO_INCREMENT,
teacher_id INT, teacher_number VARCHAR(20) NOT NULL,
course_id INT, course_id INT NOT NULL,
class_id INT, class_name VARCHAR(20) NOT NULL,
PRIMARY KEY (id), PRIMARY KEY (id),
FOREIGN KEY (teacher_id) REFERENCES teacher (teacher_id), FOREIGN KEY (teacher_number) REFERENCES teacher (teacher_number),
FOREIGN KEY (course_id) REFERENCES course (course_id), FOREIGN KEY (course_id) REFERENCES course (course_id)
FOREIGN KEY (class_id) REFERENCES class (class_id)
); );
INSERT INTO teacher_class_course(teacher_number, course_id, class_name) VALUES
('G0000',1,'2023级01班');
INSERT INTO teacher_class_course(teacher_id, course_id, class_id) INSERT INTO teacher_class_course(teacher_id, course_id, class_id)
VALUES (1, 1, 1), VALUES (1, 1, 1),
(1, 2, 1), (1, 2, 1),