133 lines
3.5 KiB
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);
|
|
}
|
|
}
|