master
cody 4 months ago
parent 46bf21c039
commit 9e3aadf7ec

@ -44,6 +44,9 @@ class CourseController extends BaseController
* @OA\Parameter(name="sort_type", in="query", @OA\Schema(type="string"), required=false, description="排序类型"),
* @OA\Parameter(name="has_course_forms", in="query", @OA\Schema(type="string"), required=true, description="是否有自定义表单0否1是"),
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Parameter(name="start_date", in="query", @OA\Schema(type="string"), required=true, description="开始日期"),
* @OA\Parameter(name="end_date", in="query", @OA\Schema(type="string"), required=true, description="结束日期"),
* @OA\Parameter(name="course_type_id", in="query", @OA\Schema(type="string"), required=true, description="课程体系id多个英文逗号"),
* @OA\Response(
* response="200",
* description="暂无"
@ -56,8 +59,7 @@ class CourseController extends BaseController
$list = $this->model->with(underlineToHump($all['show_relation'] ?? []))
->withCount(['courseSigns' => function ($query) {
$query->whereNotIn('status', [4, 5]);
}])
->withCount(['courseSigns as sign_pass_total' => function ($query) {
}])->withCount(['courseSigns as sign_pass_total' => function ($query) {
$query->where('status', 1)->whereHas('user');
}])->withCount(['courseSigns as sign_wait_total' => function ($query) {
$query->where('status', 0)->whereHas('user');
@ -75,7 +77,16 @@ class CourseController extends BaseController
if (isset($all['has_course_forms']) && !empty($all['has_course_forms'])) {
$query->whereHas('courseForms');
}
if (isset($all['start_date'])) {
$query->where('start_date', '>=', $all['start_date']);
}
if (isset($all['end_date'])) {
$query->where('end_date', '<=', $all['end_date']);
}
if (isset($all['course_type_id'])) {
$course_type_id = explode(',', $all['course_type_id']);
$query->whereIn('type', $course_type_id);
}
if (isset($all['filter']) && !empty($all['filter'])) {
foreach ($all['filter'] as $condition) {
$key = $condition['key'] ?? null;

@ -61,6 +61,9 @@ class CourseSignController extends BaseController
* @OA\Parameter(name="mobile", in="query", @OA\Schema(type="string"), required=true, description="手机号"),
* @OA\Parameter(name="education", in="query", @OA\Schema(type="string"), required=true, description="education学历"),
* @OA\Parameter(name="filter_date", in="query", @OA\Schema(type="string"), required=true, description="自定义字段筛选二维数组包含键名name,value"),
* @OA\Parameter(name="start_date", in="query", @OA\Schema(type="string"), required=true, description="开始日期"),
* @OA\Parameter(name="end_date", in="query", @OA\Schema(type="string"), required=true, description="结束日期"),
* @OA\Parameter(name="course_type_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",
@ -126,6 +129,27 @@ class CourseSignController extends BaseController
}
}
})->where(function ($query) use ($all) {
if (isset($all['start_date'])) {
$query->whereDate('created_at', '>=', $all['start_date']);
}
if (isset($all['end_date'])) {
$query->whereDate('created_at', '<=', $all['end_date']);
}
if (isset($all['course_type_id'])) {
$course_type_id = explode(',', $all['course_type_id']);
$courses = Course::where(function ($query) use ($all) {
if (isset($all['start_date'])) {
$query->where('start_date', '>=', $all['start_date']);
}
if (isset($all['end_date'])) {
$query->where('start_date', '<=', $all['end_date']);
}
})->whereIn('type', $course_type_id)->get();
$query->whereNotIn('status', [4, 5])
->where(function ($query) use ($courses) {
$query->whereIn('course_id', $courses->pluck('id'));
});
}
if (isset($all['name'])) {
$query->where(function ($q) use ($all) {
$q->whereHas('user', function ($q) use ($all) {

Loading…
Cancel
Save