Browse Source

1、修改职位搜索查询逻辑

rayson 1 year ago
parent
commit
eb5526778d

+ 4 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/job/vo/AppEnterpriseJobHomeRespVO.java

@@ -14,7 +14,10 @@ import java.util.List;
 @NoArgsConstructor
 @AllArgsConstructor
 @Builder
-public class AppEnterpriseJobHomeRespVO extends AppEnterpriseSimpleRespVO {
+public class AppEnterpriseJobHomeRespVO  {
+
+    @Schema(description = "企业信息", example = "{}")
+    AppEnterpriseSimpleRespVO enterprise;
 
     @Schema(description = "企业发布职位", example = "{}")
     private List<AppJobAdvertisedSimpleRespVO> jobList;

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/convert/JobAdvertisedConvert.java

@@ -6,6 +6,8 @@ import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
 import org.mapstruct.Mapper;
 import org.mapstruct.factory.Mappers;
 
+import java.util.List;
+
 @Mapper
 public interface JobAdvertisedConvert {
 
@@ -15,4 +17,6 @@ public interface JobAdvertisedConvert {
     AppJobAdvertisedDetailRespVO convert(JobAdvertisedDO bean);
 
     AppJobAdvertisedSimpleRespVO convertSimple(JobAdvertisedDO bean);
+
+    List<AppJobAdvertisedSimpleRespVO> convertListSimple(List<JobAdvertisedDO> list);
 }

+ 11 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/enterprise/EnterpriseMapper.java

@@ -1,11 +1,16 @@
 package com.citu.module.menduner.system.dal.mysql.enterprise;
 
+import com.citu.framework.common.pojo.PageParam;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.mybatis.core.mapper.BaseMapperX;
 import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.citu.framework.mybatis.core.query.MPJLambdaWrapperX;
 import com.citu.module.menduner.system.controller.admin.enterprise.vo.EnterpriseListReqVO;
 import com.citu.module.menduner.system.controller.admin.enterprise.vo.EnterprisePageReqVO;
+import com.citu.module.menduner.system.controller.app.enterprise.vo.AppEnterpriseSimpleRespVO;
+import com.citu.module.menduner.system.controller.app.job.vo.AppJobAdvertisedRespVO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
+import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.Collection;
@@ -32,6 +37,12 @@ public interface EnterpriseMapper extends BaseMapperX<EnterpriseDO> {
                 .orderByDesc(EnterpriseDO::getId));
     }
 
+    default PageResult<AppEnterpriseSimpleRespVO> selectPage(PageParam pageParam){
+        MPJLambdaWrapperX<EnterpriseDO> query = new MPJLambdaWrapperX<>();
+        query.selectAll(EnterpriseDO.class);
+        return selectJoinPage(pageParam, AppEnterpriseSimpleRespVO.class, query);
+    }
+
     default List<EnterpriseDO> selectList(EnterpriseListReqVO reqVO) {
         return selectList(new LambdaQueryWrapperX<EnterpriseDO>()
                 .likeIfPresent(EnterpriseDO::getName, reqVO.getName())

+ 8 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobAdvertisedMapper.java

@@ -7,12 +7,16 @@ import com.citu.framework.mybatis.core.mapper.BaseMapperX;
 import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.framework.mybatis.core.query.MPJLambdaWrapperX;
 import com.citu.module.menduner.system.controller.admin.job.vo.JobAdvertisedPageReqVO;
+import com.citu.module.menduner.system.controller.app.enterprise.vo.AppEnterpriseSimpleRespVO;
+import com.citu.module.menduner.system.controller.app.job.vo.AppEnterpriseJobHomeRespVO;
 import com.citu.module.menduner.system.controller.app.job.vo.AppJobAdvertisedRespVO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
 import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * 门墩儿-招聘职位 Mapper
  *
@@ -43,6 +47,9 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
         return selectCount(JobAdvertisedDO::getEnterpriseId, enterpriseId);
     }
 
+    default List<JobAdvertisedDO> selectByEnterpriseId(Long enterpriseId) {
+        return selectList(JobAdvertisedDO::getEnterpriseId, enterpriseId);
+    }
 
     default PageResult<AppJobAdvertisedRespVO> selectPage(PageParam pageParam) {
         MPJLambdaWrapperX<JobAdvertisedDO> query = new MPJLambdaWrapperX<>();
@@ -52,4 +59,5 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
         return selectJoinPage(pageParam, AppJobAdvertisedRespVO.class, query);
     }
 
+
 }

+ 9 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/EnterpriseService.java

@@ -1,5 +1,6 @@
 package com.citu.module.menduner.system.service.enterprise;
 
+import com.citu.framework.common.pojo.PageParam;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.module.menduner.system.controller.admin.enterprise.vo.EnterpriseListReqVO;
 import com.citu.module.menduner.system.controller.admin.enterprise.vo.EnterprisePageReqVO;
@@ -112,4 +113,12 @@ public interface EnterpriseService {
      * @return 企业信息
      **/
     AppEnterpriseSimpleRespVO getEnterpriseSimple(Long id);
+
+    /**
+     * 分页获取简易的企业信息
+     *
+     * @param pageReqVO 分页查询
+     * @return 企业信息
+     */
+    PageResult<AppEnterpriseSimpleRespVO> getEnterpriseSimplePage(PageParam pageReqVO);
 }

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

@@ -2,6 +2,7 @@ package com.citu.module.menduner.system.service.enterprise;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.ListUtil;
+import com.citu.framework.common.pojo.PageParam;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.datapermission.core.annotation.DataPermission;
@@ -224,4 +225,9 @@ public class EnterpriseServiceImpl implements EnterpriseService {
         }
         return  EnterpriseConvert.INSTANCE.convert(enterprise);
     }
+
+    @Override
+    public PageResult<AppEnterpriseSimpleRespVO> getEnterpriseSimplePage(PageParam pageReqVO) {
+        return enterpriseMapper.selectPage(pageReqVO);
+    }
 }

+ 104 - 94
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobAdvertisedServiceImpl.java

@@ -278,6 +278,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
     public PageResult<AppJobAdvertisedRespVO> getUrgentJobPage(PageParam pageParam) {
         return jobAdvertisedMapper.selectPage(pageParam);
     }
+
     @Override
     public PageResult<AppJobAdvertisedRespVO> getAcquaintedJobAdvertised(AppJobAdvertisedPageReqVO pageReqVO) {
         return jobAdvertisedMapper.selectPage(pageReqVO);
@@ -286,105 +287,115 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
     @Override
     public PageResult<AppEnterpriseJobHomeRespVO> getHotEnterpriseJobPage(PageParam pageParam) {
         PageResult<AppEnterpriseJobHomeRespVO> result = new PageResult<>();
+//        List<AppEnterpriseJobHomeRespVO> list = new ArrayList<>();
+//
+//        AppEnterpriseJobHomeRespVO respVO1 = new AppEnterpriseJobHomeRespVO();
+//        respVO1.setId(1L);
+//        respVO1.setAnotherName("门墩儿科技");
+//        respVO1.setIndustryId(1L);
+//        respVO1.setScale(0);
+//        respVO1.setFinancingStatus(0);
+//        respVO1.setLogoUrl("https://www.menduner.com/static/img/loginlogo2.7924c12.png");
+//        List<AppJobAdvertisedSimpleRespVO> list1 = new ArrayList<>();
+//        AppJobAdvertisedSimpleRespVO job1 = new AppJobAdvertisedRespVO();
+//        job1.setId(1L);
+//        job1.setAreaId(110000L);
+//        job1.setPositionId(1L);
+//        job1.setPayFrom(BigDecimal.valueOf(5000));
+//        job1.setPayTo(BigDecimal.valueOf(12000));
+//        job1.setPayUnit(1);
+//        job1.setName("项目经理");
+//        job1.setExpType(0);
+//        job1.setEduType(0);
+//        job1.setTagList(ListUtil.of("无经验要求", "金融产品", "不限", "不接受居家办公", "教育培训", "互联网金融"));
+//        list1.add(job1);
+//
+//        AppJobAdvertisedSimpleRespVO job2 = new AppJobAdvertisedRespVO();
+//        job2.setId(2L);
+//        job2.setAreaId(440100L);
+//        job2.setPositionId(2L);
+//        job2.setPayFrom(BigDecimal.valueOf(900));
+//        job2.setPayTo(BigDecimal.valueOf(2200));
+//        job2.setPayUnit(2);
+//        job2.setName("车间主任");
+//        job2.setExpType(1);
+//        job2.setEduType(1);
+//        job2.setTagList(ListUtil.of("无经验要求", "金融产品", "不限", "不接受居家办公", "教育培训", "互联网金融"));
+//        list1.add(job1);
+//
+//        AppJobAdvertisedSimpleRespVO job3 = new AppJobAdvertisedRespVO();
+//        job3.setId(8L);
+//        job3.setAreaId(441700L);
+//        job3.setPositionId(8L);
+//        job3.setPayFrom(BigDecimal.valueOf(1.2));
+//        job3.setPayTo(BigDecimal.valueOf(3.8));
+//        job3.setPayUnit(0);
+//        job3.setName("程序员");
+//        job3.setExpType(7);
+//        job3.setEduType(99);
+//        job3.setTagList(new ArrayList<>());
+//        list1.add(job3);
+//
+//        respVO1.setJobList(list1);
+//        list.add(respVO1);
+//
+//
+//        AppEnterpriseJobHomeRespVO respVO2 = new AppEnterpriseJobHomeRespVO();
+//        respVO2.setId(33L);
+//        respVO2.setAnotherName("XX科技");
+//        respVO2.setIndustryId(33L);
+//        respVO2.setScale(0);
+//        respVO2.setFinancingStatus(6);
+//        respVO2.setLogoUrl("https://www.menduner.com/static/img/loginlogo2.7924c12.png");
+//        List<AppJobAdvertisedSimpleRespVO> list2 = new ArrayList<>();
+//        AppJobAdvertisedSimpleRespVO job4 = new AppJobAdvertisedRespVO();
+//        job4.setId(1L);
+//        job4.setAreaId(110000L);
+//        job4.setPositionId(1L);
+//        job4.setPayFrom(BigDecimal.valueOf(5));
+//        job4.setPayTo(BigDecimal.valueOf(12));
+//        job4.setPayUnit(2);
+//        job4.setName("项目经理");
+//        job4.setExpType(0);
+//        job4.setEduType(0);
+//        job4.setTagList(new ArrayList<>());
+//        list2.add(job4);
+//
+//        AppJobAdvertisedSimpleRespVO job5 = new AppJobAdvertisedRespVO();
+//        job5.setId(2L);
+//        job5.setAreaId(440100L);
+//        job5.setPositionId(2L);
+//        job5.setPayFrom(BigDecimal.valueOf(18));
+//        job5.setPayTo(BigDecimal.valueOf(22));
+//        job5.setPayUnit(1);
+//        job5.setName("车间主任");
+//        job5.setExpType(1);
+//        job5.setEduType(1);
+//        job5.setTagList(new ArrayList<>());
+//        list2.add(job5);
+//
+//        respVO2.setJobList(list2);
+//        list.add(respVO2);
+//
+//
+//        result.setList(list);
+//        result.setTotal(2L);
+
+        PageResult<AppEnterpriseSimpleRespVO> enterpriseSimplePage = enterpriseService.getEnterpriseSimplePage(pageParam);
+        result.setTotal(enterpriseSimplePage.getTotal());
         List<AppEnterpriseJobHomeRespVO> list = new ArrayList<>();
-
-        AppEnterpriseJobHomeRespVO respVO1 = new AppEnterpriseJobHomeRespVO();
-        respVO1.setId(1L);
-        respVO1.setAnotherName("门墩儿科技");
-        respVO1.setIndustryId(1L);
-        respVO1.setScale(0);
-        respVO1.setFinancingStatus(0);
-        respVO1.setLogoUrl("https://www.menduner.com/static/img/loginlogo2.7924c12.png");
-        List<AppJobAdvertisedSimpleRespVO> list1 = new ArrayList<>();
-        AppJobAdvertisedSimpleRespVO job1 = new AppJobAdvertisedRespVO();
-        job1.setId(1L);
-        job1.setAreaId(110000L);
-        job1.setPositionId(1L);
-        job1.setPayFrom(BigDecimal.valueOf(5000));
-        job1.setPayTo(BigDecimal.valueOf(12000));
-        job1.setPayUnit(1);
-        job1.setName("项目经理");
-        job1.setExpType(0);
-        job1.setEduType(0);
-        job1.setTagList(ListUtil.of("无经验要求", "金融产品", "不限", "不接受居家办公", "教育培训", "互联网金融"));
-        list1.add(job1);
-
-        AppJobAdvertisedSimpleRespVO job2 = new AppJobAdvertisedRespVO();
-        job2.setId(2L);
-        job2.setAreaId(440100L);
-        job2.setPositionId(2L);
-        job2.setPayFrom(BigDecimal.valueOf(900));
-        job2.setPayTo(BigDecimal.valueOf(2200));
-        job2.setPayUnit(2);
-        job2.setName("车间主任");
-        job2.setExpType(1);
-        job2.setEduType(1);
-        job2.setTagList(ListUtil.of("无经验要求", "金融产品", "不限", "不接受居家办公", "教育培训", "互联网金融"));
-        list1.add(job1);
-
-        AppJobAdvertisedSimpleRespVO job3 = new AppJobAdvertisedRespVO();
-        job3.setId(8L);
-        job3.setAreaId(441700L);
-        job3.setPositionId(8L);
-        job3.setPayFrom(BigDecimal.valueOf(1.2));
-        job3.setPayTo(BigDecimal.valueOf(3.8));
-        job3.setPayUnit(0);
-        job3.setName("程序员");
-        job3.setExpType(7);
-        job3.setEduType(99);
-        job3.setTagList(new ArrayList<>());
-        list1.add(job3);
-
-        respVO1.setJobList(list1);
-        list.add(respVO1);
-
-
-        AppEnterpriseJobHomeRespVO respVO2 = new AppEnterpriseJobHomeRespVO();
-        respVO2.setId(33L);
-        respVO2.setAnotherName("XX科技");
-        respVO2.setIndustryId(33L);
-        respVO2.setScale(0);
-        respVO2.setFinancingStatus(6);
-        respVO2.setLogoUrl("https://www.menduner.com/static/img/loginlogo2.7924c12.png");
-        List<AppJobAdvertisedSimpleRespVO> list2 = new ArrayList<>();
-        AppJobAdvertisedSimpleRespVO job4 = new AppJobAdvertisedRespVO();
-        job4.setId(1L);
-        job4.setAreaId(110000L);
-        job4.setPositionId(1L);
-        job4.setPayFrom(BigDecimal.valueOf(5));
-        job4.setPayTo(BigDecimal.valueOf(12));
-        job4.setPayUnit(2);
-        job4.setName("项目经理");
-        job4.setExpType(0);
-        job4.setEduType(0);
-        job4.setTagList(new ArrayList<>());
-        list2.add(job4);
-
-        AppJobAdvertisedSimpleRespVO job5 = new AppJobAdvertisedRespVO();
-        job5.setId(2L);
-        job5.setAreaId(440100L);
-        job5.setPositionId(2L);
-        job5.setPayFrom(BigDecimal.valueOf(18));
-        job5.setPayTo(BigDecimal.valueOf(22));
-        job5.setPayUnit(1);
-        job5.setName("车间主任");
-        job5.setExpType(1);
-        job5.setEduType(1);
-        job5.setTagList(new ArrayList<>());
-        list2.add(job5);
-
-        respVO2.setJobList(list2);
-        list.add(respVO2);
-
-
+        enterpriseSimplePage.getList().forEach(enterprise -> {
+            AppEnterpriseJobHomeRespVO respVO = new AppEnterpriseJobHomeRespVO();
+            respVO.setEnterprise(enterprise);
+            List<JobAdvertisedDO> jobList = jobAdvertisedMapper.selectByEnterpriseId(enterprise.getId());
+            respVO.setJobList(JobAdvertisedConvert.INSTANCE.convertListSimple(jobList));
+            list.add(respVO);
+        });
         result.setList(list);
-        result.setTotal(2L);
-
         return result;
     }
 
 
-
     @Override
     public AppJobAdvertisedDetailRespVO getJobAdvertisedDetail(Long id) {
         JobAdvertisedDO job = jobAdvertisedMapper.selectById(id);
@@ -409,7 +420,6 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
     }
 
 
-
     @Override
     public PageResult<AppJobAdvertisedSearchRespVO> search(AppJobAdvertisedSearchPageReqVO reqVO) {