|
|
<?php
|
|
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
|
|
use App\Helpers\ResponseCode;
|
|
|
use App\Models\CourseForm;
|
|
|
use Illuminate\Support\Facades\Validator;
|
|
|
|
|
|
class CourseFormsController extends BaseController
|
|
|
{
|
|
|
|
|
|
/**
|
|
|
* 构造函数
|
|
|
*/
|
|
|
public function __construct()
|
|
|
{
|
|
|
parent::__construct(new CourseForm());
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @OA\Get(
|
|
|
* path="/api/admin/course-forms/index",
|
|
|
* tags={"课程表单"},
|
|
|
* summary="列表",
|
|
|
* description="",
|
|
|
* @OA\Parameter(name="is_export", in="query", @OA\Schema(type="string"), required=false, description="是否导出0否1是"),
|
|
|
* @OA\Parameter(name="export_fields", in="query", @OA\Schema(type="string"), required=false, description="需要导出的字段数组"),
|
|
|
* @OA\Parameter(name="filter", in="query", @OA\Schema(type="string"), required=false, description="查询条件。数组"),
|
|
|
* @OA\Parameter(name="show_relation", in="query", @OA\Schema(type="string"), required=false, description="需要输出的关联关系数组,包括:teacher,courseSettings,coursePeriods"),
|
|
|
* @OA\Parameter(name="page_size", in="query", @OA\Schema(type="string"), required=false, description="每页显示的条数"),
|
|
|
* @OA\Parameter(name="page", in="query", @OA\Schema(type="string"), required=false, description="页码"),
|
|
|
* @OA\Parameter(name="sort_name", in="query", @OA\Schema(type="string"), required=false, description="排序字段名字"),
|
|
|
* @OA\Parameter(name="sort_type", in="query", @OA\Schema(type="string"), required=false, description="排序类型"),
|
|
|
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
|
|
|
* @OA\Response(
|
|
|
* response="200",
|
|
|
* description="暂无"
|
|
|
* )
|
|
|
* )
|
|
|
*/
|
|
|
public function index()
|
|
|
{
|
|
|
return parent::index();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @OA\Get(
|
|
|
* path="/api/admin/course-forms/show",
|
|
|
* tags={"课程表单"},
|
|
|
* summary="详情",
|
|
|
* description="",
|
|
|
* @OA\Parameter(name="id", in="query", @OA\Schema(type="string"), required=true, description="id"),
|
|
|
* @OA\Parameter(name="show_relation", in="query", @OA\Schema(type="string"), required=false, description="需要输出的关联关系数组,填写输出指定数据"),
|
|
|
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
|
|
|
* @OA\Response(
|
|
|
* response="200",
|
|
|
* description="暂无"
|
|
|
* )
|
|
|
* )
|
|
|
*/
|
|
|
public function show()
|
|
|
{
|
|
|
return parent::show();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @OA\Post(
|
|
|
* path="/api/admin/course-forms/save",
|
|
|
* tags={"课程表单"},
|
|
|
* summary="更新或新增",
|
|
|
* @OA\Parameter(name="id", in="query", @OA\Schema(type="integer"), required=true, description="课程ID(存在则更新,不存在则新增)"),
|
|
|
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="验证token"),
|
|
|
* @OA\Parameter(name="name", in="query", @OA\Schema(type="string"), description="配置名字"),
|
|
|
* @OA\Parameter(name="field", in="query", @OA\Schema(type="string", format="date"), description="英文标识"),
|
|
|
* @OA\Parameter(name="edit_input", in="query", @OA\Schema(type="string", format="date"), description="输入框类型。包括:text文本,radio单选,checkbox多选,date日期,日期时间datetime,file单文件,files多文件上传"),
|
|
|
* @OA\Parameter(name="rule", in="query", @OA\Schema(type="string", format="date"), description="检测规则,多个英文逗号分隔。包括:required"),
|
|
|
* @OA\Parameter(name="sort", in="query", @OA\Schema(type="string", format="date"), description="排序"),
|
|
|
* @OA\Parameter(name="course_id", in="query", @OA\Schema(type="string", format="date"), description="课程id"),
|
|
|
* @OA\Parameter(name="help", in="query", @OA\Schema(type="string", format="date"), description="提示文字"),
|
|
|
* @OA\Parameter(name="select_item", in="query", @OA\Schema(type="string", format="date"), description="数组,选项文字"),
|
|
|
* @OA\Parameter(name="need_fill", in="query", @OA\Schema(type="string", format="date"), description="是否需要填写0否1是"),
|
|
|
* @OA\Parameter(name="belong_user", in="query", @OA\Schema(type="string", format="date"), description="是否属于用户数据0否1是"),
|
|
|
* @OA\Response(
|
|
|
* response=200,
|
|
|
* description="操作成功"
|
|
|
* )
|
|
|
* )
|
|
|
*/
|
|
|
public function save()
|
|
|
{
|
|
|
return parent::save();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @OA\Get(
|
|
|
* path="/api/admin/course-forms/destroy",
|
|
|
* tags={"课程表单"},
|
|
|
* summary="删除",
|
|
|
* description="",
|
|
|
* @OA\Parameter(name="id", in="query", @OA\Schema(type="string"), required=true, description="id"),
|
|
|
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
|
|
|
* @OA\Response(
|
|
|
* response="200",
|
|
|
* description="暂无"
|
|
|
* )
|
|
|
* )
|
|
|
*/
|
|
|
public function destroy()
|
|
|
{
|
|
|
return parent::destroy();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @OA\Post(
|
|
|
* path="/api/admin/course-forms/excel-show",
|
|
|
* tags={"课程表单"},
|
|
|
* summary="导入预览",
|
|
|
* description="",
|
|
|
* @OA\Parameter(name="file", in="query", @OA\Schema(type="string"), required=true, description="文件"),
|
|
|
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
|
|
|
* @OA\Response(
|
|
|
* response="200",
|
|
|
* description="暂无"
|
|
|
* )
|
|
|
* )
|
|
|
*/
|
|
|
public function excelShow()
|
|
|
{
|
|
|
return parent::excelShow();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @OA\Post(
|
|
|
* path="/api/admin/course-forms/import",
|
|
|
* tags={"课程表单"},
|
|
|
* summary="导入",
|
|
|
* description="",
|
|
|
* @OA\Parameter(name="data", in="query", @OA\Schema(type="string"), required=true, description="导入分析获取到的二维数组"),
|
|
|
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
|
|
|
* @OA\Response(
|
|
|
* response="200",
|
|
|
* description="暂无"
|
|
|
* )
|
|
|
* )
|
|
|
*/
|
|
|
public function import()
|
|
|
{
|
|
|
return parent::import();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @OA\Get(
|
|
|
* path="/api/admin/course-forms/clone",
|
|
|
* tags={"课程表单"},
|
|
|
* summary="克隆表单",
|
|
|
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="验证token"),
|
|
|
* @OA\Parameter(name="from_course_id", in="query", @OA\Schema(type="string"), description="来源课程id"),
|
|
|
* @OA\Parameter(name="to_course_id", in="query", @OA\Schema(type="string", format="date"), description="目标课程id"),
|
|
|
* @OA\Response(
|
|
|
* response=200,
|
|
|
* description="操作成功"
|
|
|
* )
|
|
|
* )
|
|
|
*/
|
|
|
public function clone()
|
|
|
{
|
|
|
$all = \request()->all();
|
|
|
$messages = [
|
|
|
'from_course_id.required' => '来源Id必填',
|
|
|
'to_course_id.required' => '目标Id必填',
|
|
|
];
|
|
|
$validator = Validator::make($all, [
|
|
|
'from_course_id' => 'required',
|
|
|
'to_course_id' => 'required'
|
|
|
], $messages);
|
|
|
if ($validator->fails()) {
|
|
|
return $this->fail([ResponseCode::ERROR_PARAMETER, implode(',', $validator->errors()->all())]);
|
|
|
}
|
|
|
CourseForm::where('course_id', $all['to_course_id'])->delete();
|
|
|
$fromForms = CourseForm::where('course_id', $all['from_course_id'])->get();
|
|
|
foreach ($fromForms as $fromForm) {
|
|
|
$array = $fromForm->toArray();
|
|
|
$array['course_id'] = $all['to_course_id'];
|
|
|
CourseForm::create($array);
|
|
|
}
|
|
|
return $this->success('克隆成功');
|
|
|
}
|
|
|
|
|
|
}
|