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

@@ -42,11 +42,28 @@ async def list_semesters(request: Request):
@router.get("/active")
async def get_active_semester(request: Request):
"""获取当前活跃学期"""
"""获取当前活跃学期(含当前周数)"""
user = await get_current_user(request)
result = await SemesterService.get_active_semester()
if result["success"]:
return success_response(data=result.get("semester"))
semester = result.get("semester")
if semester and semester.get('start_date'):
from datetime import date, datetime
try:
start = semester['start_date']
if isinstance(start, str):
start_date = datetime.strptime(start, '%Y-%m-%d').date()
else:
start_date = start
today = date.today()
delta = (today - start_date).days
if delta >= 0:
semester['current_week'] = delta // 7 + 1
else:
semester['current_week'] = 0
except Exception:
semester['current_week'] = None
return success_response(data=semester)
else:
return error_response(message=result["message"])