跨域bug修复2
This commit is contained in:
@@ -17,19 +17,18 @@ class HomeworkModel:
|
||||
"""作业数据模型"""
|
||||
|
||||
@staticmethod
|
||||
async def get_assignments_by_class(class_id: int) -> List[Dict[str, Any]]:
|
||||
async def get_all_assignments() -> List[Dict[str, Any]]:
|
||||
sql = """
|
||||
SELECT a.*, s.subject_name, u.real_name as created_by_name
|
||||
FROM assignments a
|
||||
JOIN subjects s ON a.subject_id = s.subject_id
|
||||
JOIN users u ON a.created_by = u.user_id
|
||||
WHERE a.class_id = %s
|
||||
ORDER BY a.deadline ASC, a.created_at DESC
|
||||
"""
|
||||
return await execute_query(sql, (class_id,))
|
||||
return await execute_query(sql)
|
||||
|
||||
@staticmethod
|
||||
async def get_assignments_by_subjects(class_id: int, subject_ids: List[int]) -> List[Dict[str, Any]]:
|
||||
async def get_assignments_by_subjects(subject_ids: List[int]) -> List[Dict[str, Any]]:
|
||||
if not subject_ids:
|
||||
return []
|
||||
placeholders = ','.join(['%s'] * len(subject_ids))
|
||||
@@ -38,11 +37,10 @@ class HomeworkModel:
|
||||
FROM assignments a
|
||||
JOIN subjects s ON a.subject_id = s.subject_id
|
||||
JOIN users u ON a.created_by = u.user_id
|
||||
WHERE a.class_id = %s AND a.subject_id IN ({placeholders})
|
||||
WHERE a.subject_id IN ({placeholders})
|
||||
ORDER BY a.deadline ASC, a.created_at DESC
|
||||
"""
|
||||
params = [class_id] + subject_ids
|
||||
return await execute_query(sql, tuple(params))
|
||||
return await execute_query(sql, tuple(subject_ids))
|
||||
|
||||
@staticmethod
|
||||
async def get_student_homework(student_id: int) -> List[Dict[str, Any]]:
|
||||
@@ -52,10 +50,9 @@ class HomeworkModel:
|
||||
FROM assignments a
|
||||
JOIN subjects s ON a.subject_id = s.subject_id
|
||||
LEFT JOIN homework_submissions hs ON a.assignment_id = hs.assignment_id AND hs.student_id = %s
|
||||
WHERE a.class_id = (SELECT class_id FROM students WHERE student_id = %s)
|
||||
ORDER BY a.deadline ASC, a.created_at DESC
|
||||
"""
|
||||
return await execute_query(sql, (student_id, student_id))
|
||||
return await execute_query(sql, (student_id,))
|
||||
|
||||
@staticmethod
|
||||
async def get_submission(submission_id: int) -> Optional[Dict[str, Any]]:
|
||||
@@ -70,7 +67,6 @@ class HomeworkModel:
|
||||
|
||||
@staticmethod
|
||||
async def create_assignment(
|
||||
class_id: int,
|
||||
subject_id: int,
|
||||
title: str,
|
||||
description: str,
|
||||
@@ -78,14 +74,14 @@ class HomeworkModel:
|
||||
created_by: int
|
||||
) -> int:
|
||||
sql = """
|
||||
INSERT INTO assignments (class_id, subject_id, title, description, deadline, created_by)
|
||||
VALUES (%s, %s, %s, %s, %s, %s)
|
||||
INSERT INTO assignments (subject_id, title, description, deadline, created_by)
|
||||
VALUES (%s, %s, %s, %s, %s)
|
||||
"""
|
||||
assignment_id = await execute_insert(sql, (class_id, subject_id, title, description, deadline, created_by))
|
||||
assignment_id = await execute_insert(sql, (subject_id, title, description, deadline, created_by))
|
||||
|
||||
# 为班级所有学生创建提交记录
|
||||
# 为所有学生创建提交记录
|
||||
from models.student import StudentModel
|
||||
students = await StudentModel.get_by_class(class_id)
|
||||
students = await StudentModel.get_all(include_disabled=False)
|
||||
|
||||
for student in students:
|
||||
sql_sub = """
|
||||
|
||||
Reference in New Issue
Block a user