Browse Source

Merge branch 'refs/heads/develop_zqc' into develop_rayson

# Conflicts:
#	menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprisejob/EnterpriseJobServiceImpl.java
#	menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobIntegrationServiceImpl.java
rayson 8 months ago
parent
commit
16b9c231b1

+ 3 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/EnterpriseServiceImpl.java

@@ -285,7 +285,9 @@ public class EnterpriseServiceImpl implements EnterpriseService {
             respVO.setEnterprise(EnterpriseConvert.INSTANCE.convert3(enterpriseDO));
             respVO.setBusiness(EnterpriseConvert.INSTANCE.convert4(enterpriseBusinessDOMap.get(enterpriseDO.getId())));
             respVO.setAddressList(EnterpriseConvert.INSTANCE.convertList(addresseListMap.get(enterpriseDO.getId())));
-            respVO.getEnterprise().setScaleName(DictFrameworkUtils.getDictDataLabel(DictTypeConstants.MENDUNER_SCALE, respVO.getEnterprise().getScale()));
+            if(null!=respVO.getEnterprise().getScale()) {
+                respVO.getEnterprise().setScaleName(DictFrameworkUtils.getDictDataLabel(DictTypeConstants.MENDUNER_SCALE, respVO.getEnterprise().getScale()));
+            }
             industrysIds.add(enterpriseDO.getIndustryId());
             appEnterpriseDetailRespVOS.add(respVO);
         }

+ 13 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprisejob/EnterpriseJobServiceImpl.java

@@ -1,6 +1,7 @@
 package com.citu.module.menduner.system.service.enterprisejob;
 
 import cn.hutool.core.collection.CollUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.citu.framework.common.pojo.PageParam;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.dict.core.DictFrameworkUtils;
@@ -11,19 +12,25 @@ import com.citu.module.menduner.system.controller.base.contact.EnterpriseUserCon
 import com.citu.module.menduner.system.controller.base.enterprise.vo.EnterpriseBaseSimpleRespVO;
 import com.citu.module.menduner.system.convert.EnterpriseConvert;
 import com.citu.module.menduner.system.convert.JobAdvertisedConvert;
+import com.citu.module.menduner.system.dal.dataobject.industry.IndustryDO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
 import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseMapper;
+import com.citu.module.menduner.system.dal.mysql.job.JobAdvertisedExtendMapper;
 import com.citu.module.menduner.system.dal.mysql.job.JobAdvertisedMapper;
+import com.citu.module.menduner.system.dal.mysql.job.JobFairDetailMapper;
+import com.citu.module.menduner.system.dal.mysql.job.JobFairMapper;
 import com.citu.module.menduner.system.enums.DictTypeConstants;
 import com.citu.module.menduner.system.service.area.AreaService;
 import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
 import com.citu.module.menduner.system.service.industry.IndustryService;
+import com.citu.module.menduner.system.service.job.fair.JobFairService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
 
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_JOB_ADVERTISED_NOT_EXISTS;
@@ -122,13 +129,15 @@ public class EnterpriseJobServiceImpl implements EnterpriseJobService {
             }
         });
         List<AppEnterpriseJobRespVO> list = result.getList();
-        Set<Long> industrysIds = new HashSet<>();
+        Set<Long>  industrysIds =new HashSet<>();
         for (AppEnterpriseJobRespVO appEnterpriseJobRespVO : list) {
-            appEnterpriseJobRespVO.getEnterprise().setScaleName(DictFrameworkUtils.getDictDataLabel(DictTypeConstants.MENDUNER_SCALE, appEnterpriseJobRespVO.getEnterprise().getScale()));
+            if(null!=appEnterpriseJobRespVO.getEnterprise().getScale()) {
+                appEnterpriseJobRespVO.getEnterprise().setScaleName(DictFrameworkUtils.getDictDataLabel(DictTypeConstants.MENDUNER_SCALE, appEnterpriseJobRespVO.getEnterprise().getScale()));
+            }
             industrysIds.add(appEnterpriseJobRespVO.getEnterprise().getIndustryId());
         }
-        Map<Long, String> map = industryService.getIndustryTitleByIds(industrysIds);
-        list.forEach(item -> item.getEnterprise().setIndustryName(map.get(item.getEnterprise().getIndustryId())));
+        Map<Long,String> map =   industryService.getIndustryTitleByIds(industrysIds);
+        list.forEach(item->item.getEnterprise().setIndustryName(map.get(item.getEnterprise().getIndustryId())));
 
 
         return result;

+ 5 - 6
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/industry/IndustryServiceImpl.java

@@ -299,13 +299,12 @@ public class IndustryServiceImpl implements IndustryService {
         }
 
         List<IndustryDO> industryDOS = industryMapper.selectBatchIds(ids);
-        Set<Long> industryParentIds = industryDOS.stream().map(IndustryDO::getParentId).collect(Collectors.toSet());
-        List<IndustryDO> industryPaerntDOS = industryMapper.selectBatchIds(industryParentIds);
+//        List<IndustryDO> industryPaerntDOS = industryMapper.selectBatchIds(industryParentIds);
+//
+//        Map<Long, String> parentMap  = new HashMap<>();
+//        industryPaerntDOS.forEach(item->parentMap.put(item.getId(), item.getNameCn()));
 
-        Map<Long, String> parentMap  = new HashMap<>();
-        industryPaerntDOS.forEach(item->parentMap.put(item.getId(), item.getNameCn()));
-        
 
         return industryDOS.stream().collect(Collectors.toMap(IndustryDO::getId, IndustryDO::getNameCn));
     }
-}
+}//        Set<Long> industryParentIds = industryDOS.stream().map(IndustryDO::getParentId).collect(Collectors.toSet());

+ 100 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobIntegrationServiceImpl.java

@@ -1,10 +1,17 @@
 package com.citu.module.menduner.system.service.job;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.citu.framework.common.pojo.PageParam;
 import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.dict.core.DictFrameworkUtils;
+import com.citu.framework.mybatis.core.util.MyBatisUtils;
+import com.citu.framework.tenant.core.aop.TenantIgnore;
 import com.citu.module.menduner.common.util.LoginUserContext;
+import com.citu.module.menduner.system.controller.app.jobhunt.flame.AppFlameJobPageReqVO;
+import com.citu.module.menduner.system.controller.app.jobhunt.flame.AppFlameJobRespVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobAdvertisedRespVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobAdvertisedSearchPageReqVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobCvLookRespVO;
@@ -23,19 +30,24 @@ import com.citu.module.menduner.system.convert.JobAdvertisedConvert;
 import com.citu.module.menduner.system.dal.dataobject.area.AreaDO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobCvRelDO;
+import com.citu.module.menduner.system.dal.dataobject.job.JobFairDO;
+import com.citu.module.menduner.system.dal.dataobject.job.JobFairDetailDO;
+import com.citu.module.menduner.system.dal.dataobject.major.MajorDO;
 import com.citu.module.menduner.system.dal.dataobject.position.PositionDO;
 import com.citu.module.menduner.system.dal.es.job.ESJobAdvertisedMergeDO;
 import com.citu.module.menduner.system.dal.mysql.area.AreaMapper;
 import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseMapper;
 import com.citu.module.menduner.system.dal.mysql.job.JobAdvertisedMapper;
 import com.citu.module.menduner.system.dal.mysql.job.JobCvRelMapper;
+import com.citu.module.menduner.system.dal.mysql.job.JobFairDetailMapper;
 import com.citu.module.menduner.system.dal.mysql.major.MajorMapper;
 import com.citu.module.menduner.system.dal.mysql.position.PositionMapper;
 import com.citu.module.menduner.system.dal.mysql.unfit.UnfitCandidateMapper;
 import com.citu.module.menduner.system.service.area.AreaService;
 import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
+import com.citu.module.menduner.system.service.industry.IndustryService;
 import com.citu.module.menduner.system.service.interview.InterviewInviteService;
-import com.citu.module.menduner.system.service.fair.FairService;
+import com.citu.module.menduner.system.service.job.fair.JobFairService;
 import com.citu.module.menduner.system.util.ESQueryBuildUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.elasticsearch.index.query.BoolQueryBuilder;
@@ -49,6 +61,7 @@ import org.springframework.data.elasticsearch.core.SearchHits;
 import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;
 import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
@@ -57,6 +70,8 @@ import java.time.temporal.ChronoUnit;
 import java.util.*;
 import java.util.stream.Collectors;
 
+import static com.citu.module.menduner.system.enums.DictTypeConstants.*;
+
 @Slf4j
 @Service
 @Validated
@@ -101,6 +116,9 @@ public class JobIntegrationServiceImpl implements JobIntegrationService {
     @Resource
     private FairService fairService;
 
+    @Resource
+    private IndustryService industryService;
+
 
     /**
      * 包装职位发布联系人
@@ -366,4 +384,85 @@ public class JobIntegrationServiceImpl implements JobIntegrationService {
         });
     }
 
+    @Override
+    public void joinJobFair(joinJobFairReqVO reqVO) {
+        JobFairDetailDO detailDO = jobFairDetailMapper
+                .selectOne(JobFairDetailDO::getEnterpriseId, LoginUserContext.getEnterpriseId(),
+                        JobFairDetailDO::getJobId, reqVO.getJobId());
+        if (null != detailDO) {
+            // 已经加入
+            return;
+        }
+        JobFairDO jobFairDO = jobFairService.getJobFair(reqVO.getJobFairId());
+        jobFairService.checkJobFairExpired(jobFairDO);
+
+        if (ObjectUtil.isNotEmpty(jobFairDO.getVipRequire())) {
+            // 效验是否符合会员要求
+            // 不符合抛出异常提示
+        }
+        JobFairDetailDO detail = JobFairDetailDO.builder()
+                .jobFairId(jobFairDO.getId())
+                .enterpriseId(LoginUserContext.getEnterpriseId())
+                .jobId(reqVO.getJobId())
+                .build();
+        jobFairDetailMapper.insert(detail);
+    }
+
+    @Override
+    public void quitJobFair(joinJobFairReqVO reqVO) {
+        JobFairDetailDO detailDO = jobFairDetailMapper
+                .selectOne(JobFairDetailDO::getEnterpriseId, LoginUserContext.getEnterpriseId(),
+                        JobFairDetailDO::getJobId, reqVO.getJobId());
+        if (null == detailDO) {
+            // 不在招聘会里面
+            return;
+        }
+        jobFairDetailMapper.deleteById(detailDO.getId());
+    }
+
+    @TenantIgnore
+    @Override
+    public PageResult<AppFlameJobRespVO> getFlameJobPage(AppFlameJobPageReqVO reqVO) {
+        IPage<AppFlameJobRespVO> pageResult = jobFairDetailMapper.search(MyBatisUtils.buildPage(reqVO), reqVO);
+        PageResult<AppFlameJobRespVO> result = new PageResult<>(pageResult.getRecords(), pageResult.getTotal());
+        for (AppFlameJobRespVO record : result.getList()) {
+            if (StringUtils.hasText(record.getJob().getPayUnit())) {
+                record.getJob().setPayUnit(DictFrameworkUtils.getDictDataLabel(MENDUNER_PAY_UNIT, record.getJob().getPayUnit()));
+            }
+            if (StringUtils.hasText(record.getJob().getExpType())) {
+                record.getJob().setExpType(DictFrameworkUtils.getDictDataLabel(MENDUNER_EXP_TYPE, record.getJob().getExpType()));
+            }
+            if (StringUtils.hasText(record.getJob().getEduType())) {
+                record.getJob().setEduType(DictFrameworkUtils.getDictDataLabel(MENDUNER_EDUCATION_TYPE, record.getJob().getEduType()));
+            }
+            if (null != record.getJob().getAreaId()) {
+                AreaDO area = areaService.getArea(record.getJob().getAreaId());
+                record.getJob().setAreaName(null != area ? area.getName() : null);
+            }
+            if (null != record.getJob().getPositionId()) {
+                PositionDO position = positionMapper.selectById(record.getJob().getPositionId());
+                record.getJob().setPositionName(null != position ? position.getNameCn() : null);
+            }
+            if (null != record.getJobExtend().getMajorId()) {
+                MajorDO major = majorMapper.selectById(record.getJobExtend().getMajorId());
+                record.getJobExtend().setMajorName(null != major ? major.getNameCn() : null);
+            }
+            if (StringUtils.hasText(record.getEnterprise().getFinancingStatus())) {
+                record.getEnterprise().setFinancingStatus(DictFrameworkUtils.getDictDataLabel(MENDUNER_FINANCING_STATUS, record.getEnterprise().getFinancingStatus()));
+            }
+            if (StringUtils.hasText(record.getEnterprise().getScale())) {
+                record.getEnterprise().setScale(DictFrameworkUtils.getDictDataLabel(MENDUNER_SCALE, record.getEnterprise().getScale()));
+            }
+            record.getJob().setStatus(DictFrameworkUtils.getDictDataLabel(MENDUNER_JOB_STATUS, record.getJob().getStatus()));
+        }
+        return result;
+    }
+
+    @Override
+    public List<Long> getJobIdListByJobFairIdAndEnterpriseId(Long jobFairId, Long enterpriseId) {
+        return jobFairDetailMapper.selectByJobFairIdAndEnterpriseIdList(jobFairId,  enterpriseId)
+                .stream()
+                .map(JobFairDetailDO::getJobId)
+                .collect(Collectors.toList());
+    }
 }

+ 1 - 1
menduner/menduner-system-biz/src/main/resources/mapper/fair/FairDetailMapper.xml

@@ -111,7 +111,7 @@
                and f.id = #{reqVO.jobFairId}
            </if>
            <if test="reqVO.content != null and reqVO.content != ''">
-               and (a.name like concat('%',#{content},'%') or e.name like concat('%',#{content},'%')) or e.another_name like concat('%',#{content},'%'))
+               and (a.name like concat('%',#{reqVO.content},'%') or e.name like concat('%',#{reqVO.content},'%')) or e.another_name like concat('%',#{reqVO.content},'%'))
            </if>
            <if test="reqVO.areaId != null and 0!=reqVO.areaId">
                and a.area_id = #{reqVO.areaId}