From c5b9867719f28dfe6513594c0e1cec7d5a9bd234 Mon Sep 17 00:00:00 2001 From: cody <648753004@qq.com> Date: Mon, 19 Jan 2026 14:44:01 +0800 Subject: [PATCH 1/4] update --- app/Http/Controllers/Admin/CompanyController.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/Http/Controllers/Admin/CompanyController.php b/app/Http/Controllers/Admin/CompanyController.php index 0475515..6f10d31 100644 --- a/app/Http/Controllers/Admin/CompanyController.php +++ b/app/Http/Controllers/Admin/CompanyController.php @@ -119,6 +119,7 @@ class CompanyController extends BaseController * @OA\Parameter(name="course_start_date", in="query", @OA\Schema(type="string"), required=false, description="课程开始日期(筛选课程起止时间在范围内的企业)"), * @OA\Parameter(name="course_end_date", in="query", @OA\Schema(type="string"), required=false, description="课程结束日期(筛选课程起止时间在范围内的企业)"), * @OA\Parameter(name="is_chart", in="query", @OA\Schema(type="string"), required=false, description="课程是否参与统计0否1是(按公司下用户关联的课程筛选)"), + * @OA\Parameter(name="address", in="query", @OA\Schema(type="string"), required=false, description="地址,模糊匹配 company_address 或 company_city"), * @OA\Response( * response="200", * description="暂无" @@ -185,6 +186,13 @@ class CompanyController extends BaseController $query->where('is_schoolmate', $all['is_schoolmate']); } })->where(function ($query) use ($all, $start_year, $end_year) { + // 地址:模糊匹配 company_address 或 company_city + if (isset($all['address']) && $all['address'] !== '') { + $query->where(function ($q) use ($all) { + $q->where('company_address', 'like', '%' . $all['address'] . '%') + ->orWhere('company_city', 'like', '%' . $all['address'] . '%'); + }); + } // 根据开始和结束年份筛选 project_users 中的 investDate if ($start_year && $end_year) { // 使用 LIKE 匹配 JSON 字符串中的年份范围 From 442a04e438db85b79794cf26db4f50002760d83b Mon Sep 17 00:00:00 2001 From: cody <648753004@qq.com> Date: Mon, 19 Jan 2026 14:57:36 +0800 Subject: [PATCH 2/4] update --- app/Models/CourseSign.php | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/app/Models/CourseSign.php b/app/Models/CourseSign.php index 860db34..582eb70 100755 --- a/app/Models/CourseSign.php +++ b/app/Models/CourseSign.php @@ -804,20 +804,10 @@ class CourseSign extends SoftDeletesModel }); })->with(['user.company'])->get(); - // 条件2:data 字段中 name="个人荣誉" 且 value != "其他" 的用户 - $courseSigns2 = $courseSignsQuery->with(['user.company'])->get()->filter(function ($courseSign) { - if (empty($courseSign->data) || !is_array($courseSign->data)) { - return false; - } - foreach ($courseSign->data as $item) { - if (isset($item['key']) && $item['key'] === 'type') { - if (isset($item['value']) && $item['value'] !== '其他') { - return true; - } - } - } - return false; - }); + // 条件2:user.type 包含「人才」的用户 + $courseSigns2 = $courseSignsQuery->whereHas('user', function ($q) { + $q->where('type', 'like', '%人才%'); + })->with(['user.company'])->get(); // 合并两个条件的结果(或关系),并去重 user_id $allUserIds = $courseSigns1->pluck('user_id') From e0b055b471f474654f85e88434f7fbf0fd8ab158 Mon Sep 17 00:00:00 2001 From: cody <648753004@qq.com> Date: Mon, 19 Jan 2026 14:59:56 +0800 Subject: [PATCH 3/4] update --- app/Http/Controllers/Admin/OtherController.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/Http/Controllers/Admin/OtherController.php b/app/Http/Controllers/Admin/OtherController.php index 6a2068a..4a5e2b1 100755 --- a/app/Http/Controllers/Admin/OtherController.php +++ b/app/Http/Controllers/Admin/OtherController.php @@ -2041,6 +2041,7 @@ class OtherController extends CommonController 'company_city' => $user->company->company_city ?? '', 'company_position' => $user->company_position ?? '', 'education' => $user->education ?? '', + 'geren_rongyu' => $user->type ?? '', 'course_names' => $courseNamesStr, 'course_types' => $courseTypesStr, 'course_count' => $totalCourseCount, @@ -2054,6 +2055,7 @@ class OtherController extends CommonController 'company_city' => '所在城市', 'company_position' => '职位', 'education' => '学历', + 'geren_rongyu' => '个人荣誉', 'course_names' => '课程名称', 'course_types' => '课程体系', 'course_count' => '报名课程数', From ac10143ecbe54953d359ee5f247cc7df570964e9 Mon Sep 17 00:00:00 2001 From: cody <648753004@qq.com> Date: Mon, 19 Jan 2026 16:26:42 +0800 Subject: [PATCH 4/4] update --- app/Http/Controllers/Admin/OtherController.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/Admin/OtherController.php b/app/Http/Controllers/Admin/OtherController.php index 4a5e2b1..195f425 100755 --- a/app/Http/Controllers/Admin/OtherController.php +++ b/app/Http/Controllers/Admin/OtherController.php @@ -132,10 +132,10 @@ class OtherController extends CommonController // 默认结束日期一年以后 $end_date = date('Y-m-d', strtotime('+10 year')); - // 校友总数 - $list['schoolmate_total'] = User::where('is_schoolmate', 1)->count(); - // 今年新增校友数(根据schoolmate_time字段统计) - $list['schoolmate_year'] = User::where('is_schoolmate', 1)->whereYear('schoolmate_time', date('Y'))->count(); + // 校友总数(与 study 口径一致:仅统计有课程报名记录的校友) + $list['schoolmate_total'] = User::where('is_schoolmate', 1)->whereHas('courseSigns')->count(); + // 今年新增校友数(根据schoolmate_time字段统计,口径同上) + $list['schoolmate_year'] = User::where('is_schoolmate', 1)->whereHas('courseSigns')->whereYear('schoolmate_time', date('Y'))->count(); // 投后企业 $list['company_invested_total'] = CourseSign::yhInvestedTotal(CourseType::START_DATE, date('Y-m-d'), null); // 元和员工参与人数