Browse Source

feat:DAO 增加查询用户标签skillName

王秋森 7 months ago
parent
commit
ca3251b2a8
1 changed files with 35 additions and 26 deletions
  1. 35 26
      src/main/resources/mapper/resumes/ResumesDao.xml

+ 35 - 26
src/main/resources/mapper/resumes/ResumesDao.xml

@@ -68,16 +68,17 @@
         </where>
         order by r.update_time desc
     </select>
+
     <select id="selectResumesListHr" resultType="com.sqx.modules.resumes.entity.ResumesListDto">
         SELECT
         u.user_name AS userName,
         u.avatar AS userAvatar,
-        u.sex As userSex,
+        u.sex AS userSex,
         u.age AS userAge,
         last_work.type AS workType,
         last_work.company_name AS companyName,
-        intent.intentIndustry as intentIndustry,
-        last_work.start_time As lastWorkStartTime,
+        intent.intentIndustry AS intentIndustry,
+        last_work.start_time AS lastWorkStartTime,
         last_work.end_time AS lastWorkEndTime,
         last_work.work_content AS workContent,
         e.school AS school,
@@ -85,48 +86,56 @@
         intent.all_expected_positions AS expectedPosition,
         intent.all_expected_cities AS expectedCity,
         intent.min_salary AS minSalary,
-        intent.max_salary AS maxSalary,
-        --         resumes.status AS resumesStatus,
+        intent.max_salary AS maxSalary,--         resumes.status AS resumesStatus,
         resumes.resumes_education AS resumesEducation,
         resumes.resumes_work_experience AS resumesWorkExperience,
         resumes.resumes_id AS resumesId,
         resumes.is_recommend AS isRecommend,
-        resumes.resumes_status AS resumesStatus
+        resumes.resumes_status AS resumesStatus,
+        GROUP_CONCAT( DISTINCT s.skill_name SEPARATOR ',' ) AS skillName
         FROM
         tb_user u
-        INNER JOIN resumes
-        ON u.user_id = resumes.user_id
+        LEFT JOIN skill s ON s.user_id = u.user_id
+        INNER JOIN resumes ON u.user_id = resumes.user_id
         AND resumes.`status` = 1
         INNER JOIN (
         SELECT
         edu.*,
-        ROW_NUMBER() OVER (PARTITION BY edu.user_id ORDER BY edu.end_time DESC) AS edu_rn
-        FROM edu
-        WHERE edu.is_use = 1
-        ) e ON u.user_id = e.user_id AND e.edu_rn = 1
+        ROW_NUMBER() OVER ( PARTITION BY edu.user_id ORDER BY edu.end_time DESC ) AS edu_rn
+        FROM
+        edu
+        WHERE
+        edu.is_use = 1
+        ) e ON u.user_id = e.user_id
+        AND e.edu_rn = 1
         INNER JOIN (
         SELECT
         wed.*,
         we.type,
         we.company_name,
         we.user_id,
-        ROW_NUMBER() OVER (PARTITION BY we.user_id ORDER BY wed.end_time DESC) AS work_rn
-        FROM work_exp we
+        ROW_NUMBER() OVER ( PARTITION BY we.user_id ORDER BY wed.end_time DESC ) AS work_rn
+        FROM
+        work_exp we
         INNER JOIN work_exp_detail wed ON we.work_exp_id = wed.work_exp_id
-        WHERE we.is_use = 1
-        ) last_work ON u.user_id = last_work.user_id AND last_work.work_rn = 1
-
+        WHERE
+        we.is_use = 1
+        ) last_work ON u.user_id = last_work.user_id
+        AND last_work.work_rn = 1
         INNER JOIN (
         SELECT
         user_id,
-        GROUP_CONCAT(DISTINCT rule_classify_name SEPARATOR ',') AS all_expected_positions,
-        GROUP_CONCAT(DISTINCT citys SEPARATOR ',') AS all_expected_cities,
-        GROUP_CONCAT(DISTINCT industry SEPARATOR',') AS intentIndustry,
-        MIN(min_salary) AS min_salary,
-        MAX(max_salary) AS max_salary
-        FROM intention
-        WHERE is_default = 1
-        GROUP BY user_id
+        GROUP_CONCAT( DISTINCT rule_classify_name SEPARATOR ',' ) AS all_expected_positions,
+        GROUP_CONCAT( DISTINCT citys SEPARATOR ',' ) AS all_expected_cities,
+        GROUP_CONCAT( DISTINCT industry SEPARATOR ',' ) AS intentIndustry,
+        MIN( min_salary ) AS min_salary,
+        MAX( max_salary ) AS max_salary
+        FROM
+        intention
+        WHERE
+        is_default = 1
+        GROUP BY
+        user_id
         ) intent ON u.user_id = intent.user_id
         <where>
             <if test="resumesListDto.expectedCity!=null and resumesListDto.expectedCity!=''">
@@ -144,8 +153,8 @@
             <if test="resumesListDto.resumesStatus != null">
                 AND resumes.resumes_status = #{resumesListDto.resumesStatus}
             </if>
-            <!--        <if test=""-->
         </where>
+        order by r.update_time desc
     </select>
     <select id="selectResumesListByCompany" resultType="com.sqx.modules.resumes.entity.Resumes">
         SELECT