v2.5.1更新

This commit is contained in:
2026-05-29 20:16:25 +08:00
parent fe58ee1d23
commit b2c36cab2c
22 changed files with 347 additions and 166 deletions

View File

@@ -15,6 +15,7 @@ from datetime import datetime
from models.student import StudentModel
from models.conduct import ConductModel
from models.user import UserModel
from models.semester import SemesterModel
from middleware.permission import PermissionChecker
from config import settings
from utils.logger import get_logger
@@ -86,6 +87,10 @@ class ConductService:
fail_count = 0
details = []
# 自动获取当前活跃学期
active_semester = await SemesterModel.get_active()
semester_id = active_semester['semester_id'] if active_semester else None
for student_id in student_ids:
try:
# 检查学生是否存在
@@ -104,6 +109,17 @@ class ConductService:
related_type=related_type
)
# 自动关联到当前学期
if semester_id and record_id:
try:
from utils.database import execute_update as _exec_update
await _exec_update(
"UPDATE conduct_records SET semester_id = %s WHERE record_id = %s AND semester_id IS NULL",
(semester_id, record_id)
)
except Exception:
pass # 关联失败不影响主流程
# 更新学生总分
await StudentModel.update_total_points(student_id, points_change)
@@ -242,7 +258,8 @@ class ConductService:
related_type=related_type,
reason_prefix=reason_prefix,
page=page,
page_size=page_size
page_size=page_size,
is_revoked=is_revoked
)
records = await ConductModel.get_all_records(