Browse Source

web-岗位可以重复推荐给求职人员调整

liao-sea 9 months ago
parent
commit
eae2fa4202

+ 1 - 1
src/main/java/com/hz/employmentsite/mapper/cquery/RecommendMgtCQuery.java

@@ -56,7 +56,7 @@ public interface RecommendMgtCQuery {
                                              @Param("cultureRank") Integer cultureRank, @Param("keyPersonType") Integer keyPersonType,
                                              @Param("parentProfessionID") String parentProfessionID,
                                              @Param("workYear") Integer workYear, @Param("minSalary") Integer minSalary,
-                                             @Param("maxSalary") Integer maxSalary);
+                                             @Param("maxSalary") Integer maxSalary,@Param("recommendedJobHuntIDList") String recommendedJobHuntIDList);
 
     List<ProfessionLevel> getProfessionLevelList();
 

+ 12 - 1
src/main/java/com/hz/employmentsite/services/impl/jobUserManager/RecommendMgtServiceImpl.java

@@ -12,6 +12,7 @@ import com.hz.employmentsite.util.CalculateUtils;
 import com.hz.employmentsite.util.DesUtils;
 import com.hz.employmentsite.util.StringUtils;
 import com.hz.employmentsite.vo.jobUserManager.*;
+import jdk.jfr.consumer.RecordedObject;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -178,7 +179,16 @@ public class RecommendMgtServiceImpl implements RecommendMgtService {
                                                         String userName, Integer type, Integer cultureRank, Integer keyPersonType,
                                                         String parentProfessionID, Integer workYear,Integer minSalary,Integer maxSalary) {
         PageHelper.startPage(page, rows);
-        List<RecommendJobVo> list = recommendMgtCQuery.getRecommendJobList(postID, professionID, userName, type, cultureRank, keyPersonType, parentProfessionID, workYear, minSalary, maxSalary);
+        List<String> recommendedJobHuntIDList = new ArrayList<>();
+        PcRecommendMgtExample recommendMgtExp = new PcRecommendMgtExample();
+        recommendMgtExp.or().andPostIDEqualTo(postID);
+        var recommendedList = pcRecommendMgtMapper.selectByExample(recommendMgtExp);
+        if( recommendedList.size()>0){
+            for(PcRecommendMgt curRecommended:recommendedList){
+                recommendedJobHuntIDList.add(curRecommended.getJobHuntID());
+            }
+        }
+        List<RecommendJobVo> list = recommendMgtCQuery.getRecommendJobList(postID, professionID, userName, type, cultureRank, keyPersonType, parentProfessionID, workYear, minSalary, maxSalary,stringUtils.ListToInSql(recommendedJobHuntIDList));
         list.forEach(x -> {
             if (stringUtils.IsNullOrEmpty(x.getRecommendMgtID())) {
                 x.setRecommendMgtID(UUID.randomUUID().toString());
@@ -186,6 +196,7 @@ public class RecommendMgtServiceImpl implements RecommendMgtService {
 
             x.setUserMobile(calculateUtils.maskMobile(desUtils.decoderText(x.getUserMobile())));
         });
+
         PageInfo<RecommendJobVo> result = new PageInfo(list);
         return result;
     }

+ 2 - 4
src/main/java/com/hz/employmentsite/vo/taskAndLog/DoWorkVo.java

@@ -1,9 +1,6 @@
 package com.hz.employmentsite.vo.taskAndLog;
 
-import com.hz.employmentsite.util.datarange.annotations.DoWorkID;
-import com.hz.employmentsite.util.datarange.annotations.InstitutionID;
-import com.hz.employmentsite.util.datarange.annotations.RegionID;
-import com.hz.employmentsite.util.datarange.annotations.SiteID;
+import com.hz.employmentsite.util.datarange.annotations.*;
 import lombok.Data;
 
 import java.sql.Date;
@@ -17,6 +14,7 @@ public class DoWorkVo {
     public String siteUserID;
 
     public String userName;
+    @UserID
     public String userId;
 
     public Integer doTypeID;

+ 3 - 0
src/main/resources/mapping/cquery/RecommendMgtCQuery.xml

@@ -189,6 +189,9 @@
                 </when>
                 <otherwise>and 1=1</otherwise>
             </choose>
+            <if test="recommendedJobHuntIDList!='' and recommendedJobHuntIDList!=null">
+                and a.jobhuntid not in (${recommendedJobHuntIDList})
+            </if>
         </where>
         order by a.CreateTime desc
     </select>

+ 17 - 7
vue/src/views/companyService/post/recommend.vue

@@ -195,8 +195,8 @@ export default defineComponent({
         customRender: (item) =>
           `${searchParams.pageSize * (searchParams.pageIndex - 1) + item.index + 1}`,
       },
-      {title: '求职岗位', dataIndex: 'professionName', key: 'professionName', align: "center",},
       {title: '求职人员姓名', dataIndex: 'userName', key: 'userName', align: "center",},
+      {title: '求职岗位', dataIndex: 'professionName', key: 'professionName', align: "center",},
       {title: '联系电话', dataIndex: 'userMobile', key: 'userMobile', align: "center",},
       {title: '所属驿站', dataIndex: 'siteName', key: 'siteName', align: "center",},
       {title: '工作年限', dataIndex: 'workYear', key: 'workYear', align: "center",},
@@ -279,15 +279,22 @@ export default defineComponent({
     }
 
     const onRecommend = (item: any) => {
+      formState.selectedRowKeys = [];
+      if(item){
+        formState.selectedRowKeys.push(item.recommendMgtID as never);
+      }
       addRecommendList.value.push({
         recommendMgtID: item.recommendMgtID,
         jobHuntID: item.jobhuntID,
         postID: searchParams.postID,
         recommendType: 0
       });
-      addRecommend(addRecommendList.value).then(() => {
-        loadData();
-        addRecommendList.value = [];
+      addRecommend(addRecommendList.value).then((data) => {
+        if(data!=-1){
+          message.info("提交成功!");
+          loadData();
+          addRecommendList.value = [];
+        }
       });
     };
 
@@ -307,9 +314,12 @@ export default defineComponent({
           });
         }
       })
-      addRecommend(addRecommendList.value).then(() => {
-        loadData();
-        addRecommendList.value = [];
+      addRecommend(addRecommendList.value).then((data) => {
+        if(data!=-1){
+          message.info("提交成功!");
+          loadData();
+          addRecommendList.value = [];
+        }
       });
     };
 

+ 1 - 2
vue/src/views/jobUserManager/jobhunt/index.vue

@@ -405,8 +405,7 @@ export default defineComponent({
 
     const onRecommendCompanyPost = (item) => {
       recommendRef.value.show(item.professionID, item.professionName, item.jobHuntID, item.jobUserName, 0,
-        item.parentProfessionID, item.cultureRank, item.workYear, item.minSalary, item.maxSalary,
-        "推荐求职人员");
+        item.parentProfessionID, item.cultureRank, item.workYear, item.minSalary, item.maxSalary, "推荐企业岗位");
     }
 
     const onRecommendInfo = (item) => {

+ 4 - 0
vue/src/views/jobUserManager/jobhunt/recommend.vue

@@ -289,6 +289,10 @@ export default defineComponent({
     }
 
     const onRecommend = (item: any) => {
+      formState.selectedRowKeys = [];
+      if(item){
+        formState.selectedRowKeys.push(item.recommendMgtID as never);
+      }
       addRecommendList.value.push({
         recommendMgtID: item.recommendMgtID,
         postID: item.postID,