Browse Source

Merge remote-tracking branch 'origin/master'

liao-sea 11 months ago
parent
commit
7307e92103

+ 4 - 0
h5app/src/views/pages/recommendMgt/list.vue

@@ -61,6 +61,7 @@ import {arrowBackOutline} from 'ionicons/icons';
 import {IonIcon, onIonViewDidEnter} from '@ionic/vue';
 import BEmpty from "@/components/empty.vue";
 import {getList} from '@/api/recommendmgt/index'
+import {useUserStore} from "@/store/modules/user";
 
 export default defineComponent({
   name: 'recommendMgtList',
@@ -79,11 +80,14 @@ export default defineComponent({
       pageIndex: 1,
       pageSize: 5,
       name: '',
+      loginUserID: "",
     });
     const dataList = ref<any>([]);
 
     const loadData = async function () {
       loading.value = true;
+      const loginUserInfo = useUserStore().getUserInfo;
+      searchParams.loginUserID = loginUserInfo.userID == undefined ? "" : loginUserInfo.userID;
       getList(searchParams).then(data => {
         dataList.value = dataList.value.concat(data.list);
         total.value = data.total;

+ 2 - 2
src/main/java/com/hz/employmentsite/controller/jobUserManager/RecommendMgtController.java

@@ -29,9 +29,9 @@ public class RecommendMgtController {
                                 @RequestParam(required = false) String pushName, @RequestParam(required = false) String qzProfessionName,
                                 @RequestParam(required = false) String zpProfessionName, @RequestParam(required = false) String siteID,
                                 @RequestParam(required = false) String regionCode, @RequestParam(required = false) Date startDate,
-                                @RequestParam(required = false) Date endDate) {
+                                @RequestParam(required = false) Date endDate, @RequestParam(required = false) String loginUserID) {
 
-        PageInfo<RecommendMgtVo> result = recommendMgtService.getList(pageIndex, pageSize, name, companyName, recommendType, entryState, pushName, qzProfessionName, zpProfessionName, siteID, regionCode, startDate, endDate);
+        PageInfo<RecommendMgtVo> result = recommendMgtService.getList(pageIndex, pageSize, name, companyName, recommendType, entryState, pushName, qzProfessionName, zpProfessionName, siteID, regionCode, startDate, endDate, loginUserID);
         return RespGenerstor.success(result);
     }
 

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

@@ -1,6 +1,5 @@
 package com.hz.employmentsite.mapper.cquery;
 
-import com.hz.employmentsite.model.PcProfession;
 import com.hz.employmentsite.vo.jobUserManager.*;
 import org.apache.ibatis.annotations.Param;
 
@@ -20,7 +19,8 @@ public interface RecommendMgtCQuery {
                                              @Param("siteID") String siteID,
                                              @Param("regionCode") String regionCode,
                                              @Param("startDate") Date startDate,
-                                             @Param("endDate") Date endDate);
+                                             @Param("endDate") Date endDate,
+                                             @Param("curLoginUserSiteJobHuntIDs") String curLoginUserSiteJobHuntIDs);
 
     /**
      * 获取推荐岗位信息

+ 44 - 7
src/main/java/com/hz/employmentsite/services/impl/jobUserManager/RecommendMgtServiceImpl.java

@@ -3,11 +3,12 @@ package com.hz.employmentsite.services.impl.jobUserManager;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.hz.employmentsite.filter.exception.BaseException;
+import com.hz.employmentsite.mapper.PcJobhuntMapper;
+import com.hz.employmentsite.mapper.PcJobuserMapper;
 import com.hz.employmentsite.mapper.PcRecommendMgtMapper;
+import com.hz.employmentsite.mapper.PcSiteUserMapper;
 import com.hz.employmentsite.mapper.cquery.RecommendMgtCQuery;
-import com.hz.employmentsite.model.PcRecommendMgt;
-import com.hz.employmentsite.model.WxMessagetempsetting;
-import com.hz.employmentsite.model.WxMessagetempsettingField;
+import com.hz.employmentsite.model.*;
 import com.hz.employmentsite.services.service.WechatService;
 import com.hz.employmentsite.services.service.jobUserManager.RecommendMgtService;
 import com.hz.employmentsite.util.StringUtils;
@@ -32,15 +33,51 @@ public class RecommendMgtServiceImpl implements RecommendMgtService {
     @Autowired
     private WechatService wechatService;
 
+    @Autowired
+    private PcSiteUserMapper pcSiteUserMapper;
+
+    @Autowired
+    private PcJobuserMapper pcJobuserMapper;
+
+    @Autowired
+    private PcJobhuntMapper pcJobhuntMapper;
+
+
     @Override
     public PageInfo<RecommendMgtVo> getList(Integer page, Integer rows, String name,
                                             String companyName, Integer recommendType, Integer entryState,
                                             String pushName, String qzProfessionName, String zpProfessionName,
                                             String siteID, String regionCode, Date startDate,
-                                            Date endDate) {
-        PageHelper.startPage(page, rows);
+                                            Date endDate, String loginUserID) {
+        List<String> curLoginUserSiteJobHuntIDs = new ArrayList<>();
+        if (!stringUtils.IsNullOrEmpty(loginUserID)) {
+            // 查询APP登录人员的驿站信息
+            PcSiteUserExample siteUserExp = new PcSiteUserExample();
+            siteUserExp.or().andUserIDEqualTo(loginUserID);
+            // 获取到登录人员的所属驿站ID
+            String curLoginUserSiteID = pcSiteUserMapper.selectByExample(siteUserExp).get(0).getSiteID();
+            // 查询该驿站下录入的求职人员信息
+            PcJobuserExample jobUserExp = new PcJobuserExample();
+            jobUserExp.or().andSiteIDEqualTo(curLoginUserSiteID);
+            // 获取到求职人员ID
+            List<String> jobUserIDs = pcJobuserMapper.selectByExample(jobUserExp).stream().map(item -> item.getJobuserID()).toList();
+            if (!jobUserIDs.isEmpty()) {
+                // 查询求职人员的求职意向
+                PcJobhuntExample jobHuntExample = new PcJobhuntExample();
+                jobHuntExample.or().andJobUserIDIn(jobUserIDs);
+                // 获取求职意向ID
+                curLoginUserSiteJobHuntIDs = pcJobhuntMapper.selectByExample(jobHuntExample).stream().map(item -> item.getJobHuntID()).toList();
+            }
+        }
 
-        List<RecommendMgtVo> list = recommendMgtCQuery.getRecommendMgtList(null, name, companyName, recommendType, entryState, pushName, qzProfessionName, zpProfessionName, siteID, regionCode, startDate, endDate);
+        PageHelper.startPage(page, rows);
+        List<RecommendMgtVo> list;
+        if (!stringUtils.IsNullOrEmpty(loginUserID) && curLoginUserSiteJobHuntIDs.isEmpty()) {
+            // APP查询时,当前驿站没有录入求职人员与求职记录信息,返回空,防止curLoginUserSiteJobHuntIDs为空字符,查询语句不能触发
+            list = new ArrayList<>();
+        } else {
+            list = recommendMgtCQuery.getRecommendMgtList(null, name, companyName, recommendType, entryState, pushName, qzProfessionName, zpProfessionName, siteID, regionCode, startDate, endDate, stringUtils.ListToInSql(curLoginUserSiteJobHuntIDs));
+        }
 
         PageInfo<RecommendMgtVo> result = new PageInfo(list);
 
@@ -49,7 +86,7 @@ public class RecommendMgtServiceImpl implements RecommendMgtService {
 
     @Override
     public RecommendMgtVo getListById(String recommendMgtID) {
-        RecommendMgtVo data = recommendMgtCQuery.getRecommendMgtList(recommendMgtID, null, null, null, null, null, null, null, null, null, null, null).stream().findFirst().orElse(null);
+        RecommendMgtVo data = recommendMgtCQuery.getRecommendMgtList(recommendMgtID, null, null, null, null, null, null, null, null, null, null, null, null).stream().findFirst().orElse(null);
         if(data==null){
             throw new BaseException("500","未查询到数据");
         }

+ 1 - 1
src/main/java/com/hz/employmentsite/services/service/jobUserManager/RecommendMgtService.java

@@ -12,7 +12,7 @@ public interface RecommendMgtService {
                                      String companyName, Integer recommendType, Integer entryState,
                                      String pushName, String qzProfessionName, String zpProfessionName,
                                      String siteID, String regionCode, Date startDate,
-                                     Date endDate);
+                                     Date endDate, String loginUserID);
 
     RecommendMgtVo getListById(String recommendMgtID);
 

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

@@ -73,6 +73,9 @@
                 and a.CreateTime <![CDATA[ >= ]]> #{startDate}
                 and a.CreateTime <![CDATA[ <= ]]> #{endDate}
             </if>
+            <if test="curLoginUserSiteJobHuntIDs != '' and curLoginUserSiteJobHuntIDs != null">
+                and a.JobHuntID in (${curLoginUserSiteJobHuntIDs})
+            </if>
         </where>
         order by a.createtime desc
     </select>