Selaa lähdekoodia

2、招聘页面关键词查询(个人、企业)重新优化
3、优化已发职位的关键词检索 重新优化

rayson 1 vuosi sitten
vanhempi
commit
a6774be53d

+ 3 - 3
src/main/java/com/wechat/controller/EnterpriseController.java

@@ -213,14 +213,14 @@ public class EnterpriseController {
      * @author rayson
      * @date 2023-09-12 14:41
      **/
-    @RequestMapping(value = "searchKeyWord", method = RequestMethod.POST)
+    @RequestMapping(value = "searchAlreadyPublishByKeyWord", method = RequestMethod.POST)
     @ResponseBody
-    public ResultEntity<AlreadyPublishResp> searchPersonAbility(HttpServletRequest req,
+    public ResultEntity<AlreadyPublishResp> searchAlreadyPublishByKeyWord(HttpServletRequest req,
                                                                 HttpServletResponse resp, @RequestBody KeyWordReq keyWordReq) {
         String userCode = commonService.getUserCode(req);
         AlreadyPublishResp response = new AlreadyPublishResp();
         // 检索已发职位
-        response.setList(enterpriseService.searchKeyWord(keyWordReq, userCode, req));
+        response.setList(enterpriseService.searchAlreadyPublishByKeyWord(keyWordReq, userCode, req));
         // 获取首推数据
         response.setRecommendNum(jobAdvertisedService.getAvailableAndUsedCount(userCode));
 

+ 1 - 2
src/main/java/com/wechat/controller/PersonCeneterController.java

@@ -353,13 +353,12 @@ public class PersonCeneterController {
     public ResultEntity<Integer> uploadUserCv(HttpServletRequest request) throws Exception {
         ResultEntity<Integer> rest = new ResultEntity<Integer>();
         String userCode = commonService.getUserCode(request);
-        String system = commonHelper.getDeviceType(request).getSystem();
         List<MultipartFile> file = ((MultipartHttpServletRequest) request).getFiles("file");
         if (file.size() != 1) {
             rest.setMsg(InfoMsg.ERROR_EMPTY_REQUEST);
         } else {
             try {
-                int i = personCenterService.uploadUserCv(file.get(0), userCode + "", system);
+                int i = personCenterService.uploadUserCv(file.get(0), userCode + "");
                 rest.setResult(i);
             } catch (CustomException e) {
                 rest.setMsg(e.getMessage());

+ 3 - 3
src/main/java/com/wechat/dao/MdeJobAdvertisedDao.java

@@ -303,9 +303,9 @@ public class MdeJobAdvertisedDao extends BaseDao {
      * @author rayson
      * @date 2023-09-12 14:52
      **/
-    public PagingResult<JobAdvertisedResp> searchKeyWord(Pagination page) {
-        return super.selectPagination("MdeJobAdvertisedMapper.searchKeyWord",
-                "MdeJobAdvertisedMapper.searchKeyWordCount", page);
+    public PagingResult<JobAdvertisedResp> searchAlreadyPublishByKeyWord(Pagination page) {
+        return super.selectPagination("MdeJobAdvertisedMapper.searchAlreadyPublishByKeyWord",
+                "MdeJobAdvertisedMapper.searchAlreadyPublishByKeyWordCount", page);
     }
 
     /**

+ 2 - 2
src/main/java/com/wechat/service/EnterpriseService.java

@@ -573,7 +573,7 @@ public class EnterpriseService extends BaseService {
      * @author rayson
      * @date 2023-09-12 14:42
      **/
-    public PagingResult<JobAdvertisedResp> searchKeyWord(KeyWordReq keyWordReq, String userCode, HttpServletRequest req) {
+    public PagingResult<JobAdvertisedResp> searchAlreadyPublishByKeyWord(KeyWordReq keyWordReq, String userCode, HttpServletRequest req) {
         if (keyWordReq != null && StringsUtils.isEmpty(keyWordReq.getKeyWord())) {
             PagingResult<JobAdvertisedResp> pagingResult = new PagingResult<>();
             pagingResult.setCurrentPage(keyWordReq.getIndex());
@@ -592,7 +592,7 @@ public class EnterpriseService extends BaseService {
         pageParam.put("lang", language);
         pageParam.put("keyWord", keyWordReq.getKeyWord());
         page.setParams(pageParam);
-        PagingResult<JobAdvertisedResp> list = mdeJobAdvertisedDao.searchKeyWord(page);
+        PagingResult<JobAdvertisedResp> list = mdeJobAdvertisedDao.searchAlreadyPublishByKeyWord(page);
         return list;
     }
 

+ 3 - 10
src/main/java/com/wechat/service/PersonCeneterService.java

@@ -534,7 +534,7 @@ public class PersonCeneterService {
      * @return
      */
     @Transactional
-    public int uploadUserCv(MultipartFile file, String userCode, String system) {
+    public int uploadUserCv(MultipartFile file, String userCode ) {
         String fileName = file.getOriginalFilename();
         int count = 0;
         if (fileName.length() >= 60) {
@@ -542,7 +542,7 @@ public class PersonCeneterService {
         }
         if (fileName.indexOf(".") > 0) {
             String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
-            if (!checkFileType(fileType, system)) {
+            if (!checkFileType(fileType)) {
                 throw new CustomException(InfoMsg.ERROR_FILE_TYPE_ERROR);
             }
 
@@ -570,7 +570,7 @@ public class PersonCeneterService {
         return count;
     }
 
-    public boolean checkFileType(String fileName, String system) {
+    public boolean checkFileType(String fileName) {
         // ========== 20230911 更改 【STORY】1000170 ==========
         if (fileName.equalsIgnoreCase("pdf")
                 || fileName.equalsIgnoreCase("doc")
@@ -579,13 +579,6 @@ public class PersonCeneterService {
                 || fileName.equalsIgnoreCase("xlsx")) {
             return true;
         }
-        if (system.toLowerCase().contains("ios")) {
-            if (fileName.equalsIgnoreCase("png")
-                    || fileName.equalsIgnoreCase("jpg")
-                    || fileName.equalsIgnoreCase("jpeg")) {
-                return true;
-            }
-        }
         return false;
     }
 

+ 31 - 11
src/main/resources/mybatis/MdeJobAdvertisedMapper.xml

@@ -670,7 +670,7 @@
             <if test="keyWord !=null">
                 AND
                 (
-                    MATCH(a.JOB_NAME, a.JOB_DESCRIBE,a.JOB_REQUIREMENT) AGAINST(#{keyWord} IN BOOLEAN MODE)
+                    MATCH(a.JOB_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
                     or
                     MATCH( u.NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
                     or
@@ -680,7 +680,7 @@
                     or
                     MATCH( s3.NAME,s3.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
                 )
-                ORDER BY MATCH(a.JOB_NAME, a.JOB_DESCRIBE,a.JOB_REQUIREMENT) AGAINST(#{keyWord} IN BOOLEAN MODE) desc
+                ORDER BY MATCH(a.JOB_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE) desc
             </if>
         </where>
     </select>
@@ -704,7 +704,7 @@
             <if test="keyWord !=null">
                 AND
                 (
-                    MATCH(a.JOB_NAME, a.JOB_DESCRIBE,a.JOB_REQUIREMENT) AGAINST(#{keyWord} IN BOOLEAN MODE)
+                    MATCH(a.JOB_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
                     or
                     MATCH( u.NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
                     or
@@ -714,7 +714,7 @@
                     or
                     MATCH( s3.NAME,s3.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
                 )
-                ORDER BY MATCH(a.JOB_NAME, a.JOB_DESCRIBE,a.JOB_REQUIREMENT) AGAINST(#{keyWord} IN BOOLEAN MODE) desc
+                ORDER BY MATCH(a.JOB_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE) desc
             </if>
         </where>
     </select>
@@ -1000,29 +1000,49 @@
     </select>
 
     <!-- 已发职位关键词检索 统计 -->
-    <select id="searchKeyWordCount" resultType="java.lang.Integer">
+    <select id="searchAlreadyPublishByKeyWordCount" resultType="java.lang.Integer">
         SELECT
         count(1)
         FROM
         mde_job_advertised ad
         <include refid="mdeJobAdvertisedJoinCommon"/>
         <if test="keyWord !=null">
-            AND MATCH(ad.JOB_NAME,ad.JOB_DESCRIBE,ad.JOB_REQUIREMENT) AGAINST(#{keyWord} IN BOOLEAN MODE)
+            AND
+            (
+                MATCH(ad.JOB_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
+                or
+                MATCH(p.POSITION_NAME_CN,p.POSITION_NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
+                or
+                MATCH(s1.NAME,s1.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
+                or
+                MATCH(s2.NAME,s2.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
+                or
+                edu.label like concat('%',#{keyWord},'%')
+            )
         </if>
     </select>
 
     <!-- 已发职位关键词检索 -->
-    <select id="searchKeyWord" resultType="com.wechat.model.responseDto.JobAdvertisedResp">
+    <select id="searchAlreadyPublishByKeyWord" resultType="com.wechat.model.responseDto.JobAdvertisedResp">
         SELECT
         <include refid="mdeJobAdvertisedSelectCommon"/>
         FROM
         mde_job_advertised ad
         <include refid="mdeJobAdvertisedJoinCommon"/>
         <if test="keyWord !=null">
-            AND MATCH(ad.JOB_NAME,ad.JOB_DESCRIBE,ad.JOB_REQUIREMENT) AGAINST(#{keyWord} IN BOOLEAN MODE)
-            order by
-            MATCH(ad.JOB_NAME,ad.JOB_DESCRIBE,ad.JOB_REQUIREMENT) AGAINST(#{keyWord} IN BOOLEAN MODE) desc,
-            ad.update_date desc
+            AND
+            (
+                MATCH(ad.JOB_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
+                or
+                MATCH(p.POSITION_NAME_CN,p.POSITION_NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
+                or
+                MATCH(s1.NAME,s1.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
+                or
+                MATCH(s2.NAME,s2.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
+                or
+                edu.label like concat('%',#{keyWord},'%')
+            )
+            order by ad.JOB_STATUS,ad.RECOMMEND_FLAG desc,ad.update_date desc
         </if>
     </select>
 

+ 14 - 4
src/main/resources/mybatis/MdeUserMapper.xml

@@ -1005,14 +1005,19 @@
 		FROM mde_user u
 		LEFT JOIN mde_work_experience e ON e.USER_CODE = u.USER_CODE
 		LEFT JOIN  mde_education_experience w ON u.USER_CODE = w.USER_CODE
+		LEFT JOIN mde_interested_adds adds ON u.USER_CODE = adds.USER_CODE	AND adds.DEL_FLAG =0
 		<where>
-			e.DEL_FLAG = 0 AND u.DEL_FLAG = 0 AND u.IDENTITY_FLAG = 0 and u.ALLOW_FLAG = 0 AND u.WORK_STATUS != 0
+			e.DEL_FLAG = 0
+			AND u.DEL_FLAG = 0
+			AND u.IDENTITY_FLAG = 0
+			AND u.ALLOW_FLAG = 0
+			AND u.WORK_STATUS != 0
 			<if test="keyWord != null">
 				AND
 				(
 					MATCH(e.CO_NAME,e.POSITION_TITLE) AGAINST(#{keyWord} IN BOOLEAN MODE)
 					OR
-					MATCH(u.ADDR_PROVINCE,u.ADDR_CITY,u.ADDR_AREA) AGAINST(#{keyWord} IN BOOLEAN MODE)
+					MATCH(adds.INTD_PROVINCE_NAME,adds.INTD_CITY_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
 				)
 			</if>
 			and e.SHOW_FLAG = 0
@@ -1054,14 +1059,19 @@
 		FROM mde_user u
 		LEFT JOIN mde_work_experience e ON e.USER_CODE = u.USER_CODE
 		LEFT JOIN  mde_education_experience w ON u.USER_CODE = w.USER_CODE
+		LEFT JOIN mde_interested_adds adds ON u.USER_CODE = adds.USER_CODE AND adds.DEL_FLAG =0
 		<where>
-			e.DEL_FLAG = 0 AND u.DEL_FLAG = 0 AND u.IDENTITY_FLAG = 0 and u.ALLOW_FLAG = 0 AND u.WORK_STATUS != 0
+			e.DEL_FLAG = 0
+			AND u.DEL_FLAG = 0
+			AND u.IDENTITY_FLAG = 0
+			AND u.ALLOW_FLAG = 0
+			AND u.WORK_STATUS != 0
 			<if test="keyWord != null">
 				AND
 				(
 					MATCH(e.CO_NAME,e.POSITION_TITLE) AGAINST(#{keyWord} IN BOOLEAN MODE)
 					OR
-					MATCH(u.ADDR_PROVINCE,u.ADDR_CITY,u.ADDR_AREA) AGAINST(#{keyWord} IN BOOLEAN MODE)
+					MATCH(adds.INTD_PROVINCE_NAME,adds.INTD_CITY_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
 				)
 			</if>
 			and e.SHOW_FLAG = 0