v2.4更新

This commit is contained in:
2026-05-29 11:12:13 +08:00
parent 122ffb4e0d
commit 6c0d8f0e94
12 changed files with 73 additions and 33 deletions

View File

@@ -212,7 +212,8 @@ class ConductService:
start_date: Optional[str] = None,
end_date: Optional[str] = None,
grouped: bool = False,
related_type: Optional[str] = None
related_type: Optional[str] = None,
reason_prefix: Optional[str] = None
) -> Dict[str, Any]:
"""获取历史记录"""
# 空字符串转为None
@@ -222,6 +223,8 @@ class ConductService:
end_date = None
if related_type == "":
related_type = None
if reason_prefix == "":
reason_prefix = None
if related_type and related_type not in ('manual', 'homework', 'attendance'):
return {"records": [], "page": page, "page_size": page_size, "total": 0, "total_pages": 0}
@@ -236,6 +239,7 @@ class ConductService:
start_date=start_date,
end_date=end_date,
related_type=related_type,
reason_prefix=reason_prefix,
page=page,
page_size=page_size
)
@@ -246,7 +250,8 @@ class ConductService:
start_date=start_date,
end_date=end_date,
student_id=student_id,
related_type=related_type
related_type=related_type,
reason_prefix=reason_prefix
)
# 获取总数
@@ -265,6 +270,9 @@ class ConductService:
if related_type:
count_conditions.append("cr.related_type = %s")
count_params.append(related_type)
if reason_prefix:
count_conditions.append("cr.reason LIKE %s")
count_params.append(f"{reason_prefix}%")
count_where = " AND ".join(count_conditions)
count_sql = f"""
SELECT COUNT(*) as total FROM conduct_records cr