v0.7.2测试
This commit is contained in:
@@ -176,21 +176,25 @@ async def get_conduct_history(
|
||||
request: Request,
|
||||
student_id: Optional[int] = None,
|
||||
page: int = Query(1, ge=1),
|
||||
page_size: int = Query(20, ge=1, le=100),
|
||||
page_size: int = Query(20, ge=1, le=1000),
|
||||
start_date: Optional[str] = None,
|
||||
end_date: Optional[str] = None
|
||||
):
|
||||
"""获取操行分历史记录"""
|
||||
user = await get_current_user(request)
|
||||
result = await ConductService.get_history(
|
||||
user_id=user["user_id"],
|
||||
student_id=student_id,
|
||||
page=page,
|
||||
page_size=page_size,
|
||||
start_date=start_date,
|
||||
end_date=end_date
|
||||
)
|
||||
return success_response(data=result)
|
||||
try:
|
||||
user = await get_current_user(request)
|
||||
result = await ConductService.get_history(
|
||||
user_id=user["user_id"],
|
||||
student_id=student_id,
|
||||
page=page,
|
||||
page_size=page_size,
|
||||
start_date=start_date,
|
||||
end_date=end_date
|
||||
)
|
||||
return success_response(data=result)
|
||||
except Exception as e:
|
||||
logger.error(f"获取历史记录失败: {e}", exc_info=True)
|
||||
return error_response(message=f"获取历史记录失败: {str(e)}", code=500)
|
||||
|
||||
|
||||
# ========== 作业管理 ==========
|
||||
@@ -360,9 +364,13 @@ async def add_admin(request: Request, req: AddAdminRequest):
|
||||
@router.get("/list")
|
||||
async def get_admins(request: Request):
|
||||
"""获取管理员列表(班主任)"""
|
||||
user = await get_current_user(request)
|
||||
is_teacher = await PermissionChecker.check_is_teacher(user["user_id"])
|
||||
if not is_teacher:
|
||||
return error_response(message="仅班主任可查看管理员列表", code=403)
|
||||
result = await AdminService.get_admins()
|
||||
return success_response(data=result)
|
||||
try:
|
||||
user = await get_current_user(request)
|
||||
is_teacher = await PermissionChecker.check_is_teacher(user["user_id"])
|
||||
if not is_teacher:
|
||||
return error_response(message="仅班主任可查看管理员列表", code=403)
|
||||
result = await AdminService.get_admins()
|
||||
return success_response(data=result)
|
||||
except Exception as e:
|
||||
logger.error(f"获取管理员列表失败: {e}", exc_info=True)
|
||||
return error_response(message=f"获取管理员列表失败: {str(e)}", code=500)
|
||||
@@ -31,19 +31,23 @@ async def get_conduct_history(
|
||||
"""
|
||||
获取学生操行分历史
|
||||
"""
|
||||
user = await get_current_user(request)
|
||||
|
||||
# 权限检查:只能查看自己的信息(学生)或同班(管理员)
|
||||
if user["user_type"] == "student" and user["student_id"] != student_id:
|
||||
return error_response(message="无权查看其他学生信息", code=403)
|
||||
|
||||
result = await StudentService.get_conduct_history(
|
||||
student_id=student_id,
|
||||
limit=limit,
|
||||
offset=offset
|
||||
)
|
||||
|
||||
return success_response(data=result)
|
||||
try:
|
||||
user = await get_current_user(request)
|
||||
|
||||
# 权限检查:只能查看自己的信息(学生)或同班(管理员)
|
||||
if user["user_type"] == "student" and user["student_id"] != student_id:
|
||||
return error_response(message="无权查看其他学生信息", code=403)
|
||||
|
||||
result = await StudentService.get_conduct_history(
|
||||
student_id=student_id,
|
||||
limit=limit,
|
||||
offset=offset
|
||||
)
|
||||
|
||||
return success_response(data=result)
|
||||
except Exception as e:
|
||||
logger.error(f"获取学生操行分失败: {e}", exc_info=True)
|
||||
return error_response(message=f"获取学生操行分失败: {str(e)}", code=500)
|
||||
|
||||
|
||||
@router.get("/homework/{student_id}")
|
||||
|
||||
@@ -15,14 +15,20 @@ from middleware.permission import get_current_user, PermissionChecker
|
||||
from services.subject_service import SubjectService
|
||||
from schemas.subject import CreateSubjectRequest, UpdateSubjectRequest
|
||||
from utils.response import success_response, error_response
|
||||
from utils.logger import get_logger
|
||||
|
||||
router = APIRouter()
|
||||
logger = get_logger(__name__)
|
||||
|
||||
@router.get("/list")
|
||||
async def get_subjects(request: Request, is_active: Optional[bool] = None):
|
||||
user = await get_current_user(request)
|
||||
result = await SubjectService.get_subjects(is_active=is_active)
|
||||
return success_response(data=result)
|
||||
try:
|
||||
user = await get_current_user(request)
|
||||
result = await SubjectService.get_subjects(is_active=is_active)
|
||||
return success_response(data=result)
|
||||
except Exception as e:
|
||||
logger.error(f"获取科目列表失败: {e}", exc_info=True)
|
||||
return error_response(message=f"获取科目列表失败: {str(e)}", code=500)
|
||||
|
||||
@router.post("/create")
|
||||
async def create_subject(request: Request, req: CreateSubjectRequest):
|
||||
|
||||
Reference in New Issue
Block a user