v2.0.1更新

This commit is contained in:
2026-05-26 08:39:12 +08:00
parent cb0c367eb7
commit c575d711ee
34 changed files with 750 additions and 204 deletions

View File

@@ -31,7 +31,8 @@ class ConductService:
points_change: int,
reason: str,
recorder_id: int,
recorder_name: str
recorder_name: str,
related_type: str = 'manual'
) -> Dict[str, Any]:
"""批量加减分"""
# 输入校验
@@ -94,13 +95,13 @@ class ConductService:
fail_count += 1
continue
# 创建记录
record_id = await ConductModel.create_record(
student_id=student_id,
points_change=points_change,
reason=reason,
recorder_id=recorder_id,
recorder_name=recorder_name
recorder_name=recorder_name,
related_type=related_type
)
# 更新学生总分

View File

@@ -30,6 +30,10 @@ class SemesterService:
"""获取学期列表"""
try:
semesters = await SemesterModel.get_all()
for sem in semesters:
counts = await SemesterModel.count_records_by_semester(sem['semester_id'])
sem['conduct_count'] = counts['conduct_count']
sem['attendance_count'] = counts['attendance_count']
return {
"success": True,
"semesters": semesters

View File

@@ -68,6 +68,11 @@ class SubjectService:
@staticmethod
async def delete_subject(subject_id: int) -> Dict[str, Any]:
"""删除科目(软删除)"""
# 检查科目是否有关联数据
has_data = await SubjectModel.has_related_data(subject_id)
if has_data:
return {"success": False, "message": "该科目下已有作业数据,无法删除"}
result = await SubjectModel.delete(subject_id)
if result: