v2.5.1更新
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user