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

@@ -30,10 +30,23 @@ class SemesterService:
"""获取学期列表"""
try:
semesters = await SemesterModel.get_all()
today = datetime.date.today()
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']
# 计算当前周数(仅活跃学期且有开始日期时)
sem['current_week'] = None
if sem.get('is_active') and sem.get('start_date'):
try:
s_date = sem['start_date']
if isinstance(s_date, str):
s_date = datetime.datetime.strptime(s_date, '%Y-%m-%d').date()
delta = (today - s_date).days
if delta >= 0:
sem['current_week'] = delta // 7 + 1
except (ValueError, TypeError):
pass
return {
"success": True,
"semesters": semesters