master
cody 3 months ago
parent 4a201f55ec
commit d24c520908

@ -49,6 +49,8 @@ class CourseContentCheckController extends BaseController
* @OA\Parameter(name="page", 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_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="sort_type", in="query", @OA\Schema(type="string"), required=false, description="排序类型"),
* @OA\Parameter(name="course_id", in="query", @OA\Schema(type="string"), required=false, description="course_id"),
* @OA\Parameter(name="course_content_id", in="query", @OA\Schema(type="string"), required=false, description="course_content_id"),
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"), * @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Response( * @OA\Response(
* response="200", * response="200",
@ -59,43 +61,49 @@ class CourseContentCheckController extends BaseController
public function index() public function index()
{ {
$all = request()->all(); $all = request()->all();
$list = CourseSign::with(['course.typeDetail', 'user']) $list = CourseSign::with(['course.typeDetail', 'user', 'courseContentCheck' => function ($query) use ($all) {
->where(function ($query) use ($all) { if (isset($all['course_content_id'])) {
if (isset($all['filter']) && !empty($all['filter'])) { $query->where('course_content_id', $all['course_content_id']);
foreach ($all['filter'] as $condition) { }
$key = $condition['key'] ?? null; }])->where(function ($query) use ($all) {
$op = $condition['op'] ?? null; if (isset($all['course_id'])) {
$value = $condition['value'] ?? null; $query->where('course_id', $all['course_id']);
if (!isset($key) || !isset($op) || !isset($value)) { }
if (isset($all['filter']) && !empty($all['filter'])) {
foreach ($all['filter'] as $condition) {
$key = $condition['key'] ?? null;
$op = $condition['op'] ?? null;
$value = $condition['value'] ?? null;
if (!isset($key) || !isset($op) || !isset($value)) {
continue;
}
// 等于
if ($op == 'eq') {
$query->where($key, $value);
}
// 不等于
if ($op == 'neq') {
$query->where($key, '!=', $value);
}
// 模糊搜索
if ($op == 'like') {
$query->where($key, 'like', '%' . $value . '%');
}
// 否定模糊搜索
if ($op == 'notlike') {
$query->where($key, 'not like', '%' . $value . '%');
}
// 范围搜索
if ($op == 'range') {
list($from, $to) = explode(',', $value);
if (empty($from) || empty($to)) {
continue; continue;
} }
// 等于 $query->whereBetween($key, [$from, $to]);
if ($op == 'eq') {
$query->where($key, $value);
}
// 不等于
if ($op == 'neq') {
$query->where($key, '!=', $value);
}
// 模糊搜索
if ($op == 'like') {
$query->where($key, 'like', '%' . $value . '%');
}
// 否定模糊搜索
if ($op == 'notlike') {
$query->where($key, 'not like', '%' . $value . '%');
}
// 范围搜索
if ($op == 'range') {
list($from, $to) = explode(',', $value);
if (empty($from) || empty($to)) {
continue;
}
$query->whereBetween($key, [$from, $to]);
}
} }
} }
})->orderBy($all['sort_name'] ?? 'id', $all['sort_type'] ?? 'desc') }
})->orderBy($all['sort_name'] ?? 'id', $all['sort_type'] ?? 'desc')
->orderBy('created_at', 'desc'); ->orderBy('created_at', 'desc');
if (isset($all['is_export']) && !empty($all['is_export'])) { if (isset($all['is_export']) && !empty($all['is_export'])) {
$list = $list->limit(5000)->get()->toArray(); $list = $list->limit(5000)->get()->toArray();
@ -122,7 +130,8 @@ class CourseContentCheckController extends BaseController
* ) * )
* ) * )
*/ */
public function show() public
function show()
{ {
return parent::show(); return parent::show();
} }
@ -141,7 +150,8 @@ class CourseContentCheckController extends BaseController
* ) * )
* ) * )
*/ */
public function save() public
function save()
{ {
return parent::save(); return parent::save();
} }
@ -160,7 +170,8 @@ class CourseContentCheckController extends BaseController
* ) * )
* ) * )
*/ */
public function destroy() public
function destroy()
{ {
return parent::destroy(); return parent::destroy();
} }

@ -57,6 +57,11 @@ class CourseSign extends SoftDeletesModel
return $this->hasOne(Course::class, 'id', 'course_id'); return $this->hasOne(Course::class, 'id', 'course_id');
} }
public function courseContentCheck()
{
return $this->hasMany(CourseContentCheck::class, 'course_id', 'course_id');
}
public function user() public function user()
{ {
return $this->hasOne(User::class, 'id', 'user_id'); return $this->hasOne(User::class, 'id', 'user_id');

Loading…
Cancel
Save