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"])

View File

@@ -52,4 +52,4 @@ async def delete_subject(request: Request, subject_id: int):
if not await PermissionChecker.check_can_manage_subjects(user["user_id"]):
return error_response(message="无权限", code=403)
result = await SubjectService.delete_subject(subject_id)
return success_response(message="科目已禁用") if result["success"] else error_response(message=result["message"])
return success_response(message="科目已删除") if result["success"] else error_response(message=result["message"])

View File

@@ -37,6 +37,7 @@ ALL_VERSIONS = {
'2.3': 'v2.3.sql',
'2.4': 'v2.4.sql',
'2.5': 'v2.5.sql',
'2.5.1': 'v2.5.1.sql',
}
# 版本特征标记(按优先级从高到低)