This commit is contained in:
chenyanchang
2026-06-29 09:41:50 +08:00
parent b5b0567350
commit bdbdfbf180

View File

@@ -386,16 +386,16 @@
SELECT SELECT
r.*, r.*,
CASE CASE
WHEN CAST(p.job_category AS TEXT) = ANY(string_to_array(r.job_title_id, ',')) WHEN (CAST(p.job_category AS TEXT) = ANY(string_to_array(r.job_title_id, ',')) OR p.job_category IS NULL)
AND ((CAST(r.salary_min AS INTEGER) <= p.max_salary AND CAST(r.salary_max AS INTEGER) >= p.min_salary) OR p.max_salary IS NULL) AND ((CAST(r.salary_min AS INTEGER) <= p.max_salary AND CAST(r.salary_max AS INTEGER) >= p.min_salary) OR p.max_salary IS NULL)
AND (CAST(r.area AS INTEGER) = CAST(p.job_location_area_code AS INTEGER) OR p.job_location_area_code IS NULL) AND (CAST(r.area AS INTEGER) = CAST(p.job_location_area_code AS INTEGER) OR p.job_location_area_code IS NULL)
AND (CAST(r.education AS INTEGER) >=CAST(p.education AS INTEGER) OR p.education IS NULL OR p.education = '-1') AND (CAST(r.education AS INTEGER) >=CAST(p.education AS INTEGER) OR p.education IS NULL OR p.education = '-1')
THEN 1 THEN 1
WHEN CAST(p.job_category AS TEXT) = ANY(string_to_array(r.job_title_id, ',')) WHEN (CAST(p.job_category AS TEXT) = ANY(string_to_array(r.job_title_id, ',')) OR p.job_category IS NULL)
AND ((CAST(r.salary_min AS INTEGER) <= p.max_salary AND CAST(r.salary_max AS INTEGER) >= p.min_salary) OR p.max_salary IS NULL) AND ((CAST(r.salary_min AS INTEGER) <= p.max_salary AND CAST(r.salary_max AS INTEGER) >= p.min_salary) OR p.max_salary IS NULL)
AND (CAST(r.area AS INTEGER) = CAST(p.job_location_area_code AS INTEGER) OR p.job_location_area_code IS NULL) AND (CAST(r.area AS INTEGER) = CAST(p.job_location_area_code AS INTEGER) OR p.job_location_area_code IS NULL)
THEN 2 THEN 2
WHEN CAST(p.job_category AS TEXT) = ANY(string_to_array(r.job_title_id, ',')) WHEN (CAST(p.job_category AS TEXT) = ANY(string_to_array(r.job_title_id, ',')) OR p.job_category IS NULL)
AND ((CAST(r.salary_min AS INTEGER) <= p.max_salary AND CAST(r.salary_max AS INTEGER) >= p.min_salary) OR p.max_salary IS NULL) AND ((CAST(r.salary_min AS INTEGER) <= p.max_salary AND CAST(r.salary_max AS INTEGER) >= p.min_salary) OR p.max_salary IS NULL)
THEN 3 THEN 3
WHEN (CAST(p.job_category AS TEXT) = ANY(string_to_array(r.job_title_id, ',')) OR p.job_category IS NULL) WHEN (CAST(p.job_category AS TEXT) = ANY(string_to_array(r.job_title_id, ',')) OR p.job_category IS NULL)
@@ -404,7 +404,7 @@
END AS match_level END AS match_level
FROM shz.job p FROM shz.job p
JOIN shz.app_user r ON r.del_flag = '0' JOIN shz.app_user r ON r.del_flag = '0'
WHERE p.job_id = #{jobId} WHERE r.is_company_user = '1' and p.job_id = #{jobId}
) c ) c
) t ) t
WHERE best_rn = 1 WHERE best_rn = 1