study-api-v2/app/Http/Controllers/Admin/Schools/SchoolClassController.php

133 lines
3.5 KiB
PHP

<?php
namespace App\Http\Controllers\Admin\Schools;
use App\Http\Controllers\BaseController;
use App\Http\Requests\Admin\Schools\SchoolClassRequest;
use App\Services\Schools\SchoolClassService;
use Illuminate\Http\JsonResponse;
/**
* 班级控制器
*/
class SchoolClassController extends BaseController
{
public function __construct(
private SchoolClassService $schoolClassService
) {}
/**
* 获取班级列表
*/
public function list(SchoolClassRequest $request): JsonResponse
{
$params = $request->validated();
$result = $this->schoolClassService->getList($params);
return $this->SuccessPage($result->items(), $result->total());
}
/**
* 获取简单列表
*/
public function simpleList(SchoolClassRequest $request): JsonResponse
{
$params = $request->validated();
$result = $this->schoolClassService->getSimpleList(
$params['school_id'] ?? null,
$params['campus_id'] ?? null
);
return $this->Success($result);
}
/**
* 获取班级详情
*/
public function detail(SchoolClassRequest $request): JsonResponse
{
$params = $request->validated();
$result = $this->schoolClassService->detail($params['id']);
return $this->Success($result);
}
/**
* 创建班级
*/
public function create(SchoolClassRequest $request): JsonResponse
{
$data = $request->validated();
$result = $this->schoolClassService->create($data);
return $this->Success($result);
}
/**
* 更新班级
*/
public function update(SchoolClassRequest $request): JsonResponse
{
$params = $request->validated();
$result = $this->schoolClassService->update($params['id'], $params);
return $this->Success($result);
}
/**
* 删除班级
*/
public function delete(SchoolClassRequest $request): JsonResponse
{
$params = $request->validated();
$this->schoolClassService->delete($params['id']);
return $this->Success();
}
/**
* 批量删除班级
*/
public function batchDelete(SchoolClassRequest $request): JsonResponse
{
$params = $request->validated();
$this->schoolClassService->batchDelete($params['ids']);
return $this->Success();
}
/**
* 获取用户管理的班级列表
*/
public function userClasses(SchoolClassRequest $request): JsonResponse
{
$userId = $request->user()->id;
$result = $this->schoolClassService->getUserClasses($userId);
return $this->Success($result);
}
/**
* 获取班级的学生列表
*/
public function students(SchoolClassRequest $request): JsonResponse
{
$params = $request->validated();
$result = $this->schoolClassService->getClassStudents($params['id']);
return $this->Success($result);
}
/**
* 获取班级的老师列表
*/
public function teachers(SchoolClassRequest $request): JsonResponse
{
$params = $request->validated();
$result = $this->schoolClassService->getClassTeachers($params['id']);
return $this->Success($result);
}
/**
* 获取班级统计信息
*/
public function stats(SchoolClassRequest $request): JsonResponse
{
$params = $request->validated();
$result = $this->schoolClassService->getClassStats($params['id']);
return $this->Success($result);
}
}