Browse Source

1、优化查询参加双选会职位逻辑

rayson 7 months ago
parent
commit
e5b8e0c7b7

+ 11 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/fair/FairController.java

@@ -152,10 +152,20 @@ public class FairController {
     @Operation(summary = "导出参加双选会职位 Excel")
     @ApiAccessLog(operateType = EXPORT)
     public void exportJobFairDetail(@RequestParam("jobFairId") Long jobFairId, HttpServletResponse response) throws IOException {
-        List<JobFairDetailRespVO> list = fairService.getJobFairDetailList(jobFairId);
+        JobFairDetailPageReqVO reqVO = new JobFairDetailPageReqVO();
+        reqVO.setJobFairId(jobFairId);
+        reqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<JobFairDetailRespVO> list = fairService.getJobFairDetailPage(reqVO).getList();
         // 导出 Excel
         ExcelUtils.write(response, "参加双选会职位.xls", "发布职位", JobFairDetailRespVO.class,
                 BeanUtils.toBean(list, JobFairDetailRespVO.class));
     }
 
+    @GetMapping("/detail/page")
+    @Operation(summary = "分页查询参加双选会职位")
+    public CommonResult<PageResult<JobFairDetailRespVO>> jobFairDetailPage(@Valid JobFairDetailPageReqVO reqVO)  {
+        return success(fairService.getJobFairDetailPage(reqVO));
+    }
+
+
 }

+ 44 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/fair/JobFairDetailPageReqVO.java

@@ -0,0 +1,44 @@
+package com.citu.module.menduner.system.controller.base.fair;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.citu.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 招聘会白名单 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class JobFairDetailPageReqVO extends PageParam {
+
+
+    @Schema(description = "招聘会id")
+    private Long jobFairId;
+
+    @Schema(description = "职位id")
+    private Long jobId;
+
+    @Schema(description = "职位名称")
+    private String jobName;
+
+    @Schema(description = "企业id")
+    private Long enterpriseId;
+
+    @Schema(description = "企业id")
+    private List<Long> enterpriseIds;
+
+    @Schema(description = "企业全称")
+    private String enterpriseName;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+}

+ 15 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/fair/FairDetailMapper.java

@@ -4,11 +4,13 @@ package com.citu.module.menduner.system.dal.mysql.fair;
 import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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.app.jobhunt.flame.AppFlameJobPageReqVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.flame.AppFlameJobRespVO;
+import com.citu.module.menduner.system.controller.base.fair.JobFairDetailPageReqVO;
 import com.citu.module.menduner.system.controller.base.fair.JobFairDetailRespVO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
 import com.citu.module.menduner.system.dal.dataobject.fair.FairDO;
@@ -43,7 +45,7 @@ public interface FairDetailMapper extends BaseMapperX<FairDetailDO> {
 
 
     /** 根据招聘会id查询招聘会发布职位的信息 **/
-    default List<JobFairDetailRespVO> selectJobFairDetailList(Long jobFairId) {
+    default PageResult<JobFairDetailRespVO> selectJobFairDetailList(JobFairDetailPageReqVO reqVO) {
         MPJLambdaWrapperX<FairDetailDO> query = new MPJLambdaWrapperX<>();
         query.selectAs(FairDetailDO::getId, JobFairDetailRespVO::getId);
         query.selectAs(FairDetailDO::getJobFairId, JobFairDetailRespVO::getJobFairId);
@@ -62,10 +64,20 @@ public interface FairDetailMapper extends BaseMapperX<FairDetailDO> {
         query.innerJoin(JobAdvertisedDO.class, JobAdvertisedDO::getId, FairDetailDO::getJobId);
         query.innerJoin(EnterpriseDO.class, EnterpriseDO::getId, FairDetailDO::getEnterpriseId);
 
-        query.eq(FairDetailDO::getJobFairId, jobFairId);
+        query.eqIfPresent(FairDetailDO::getJobFairId, reqVO.getJobFairId());
+
+        query.eqIfPresent(FairDetailDO::getEnterpriseId, reqVO.getEnterpriseId());
+        query.inIfPresent(FairDetailDO::getEnterpriseId, reqVO.getEnterpriseIds());
+        query.eqIfExists(EnterpriseDO::getName, reqVO.getEnterpriseName());
+
+        query.eqIfPresent(FairDetailDO::getJobId, reqVO.getJobId());
+        query.eqIfExists(JobAdvertisedDO::getName, reqVO.getJobName());
+
+        query.betweenIfPresent(FairDetailDO::getCreateTime, reqVO.getCreateTime());
+        query.eq(FairDetailDO::getStatus, JobFairStatusEnum.NORMAL.getStatus());
 
         query.orderByDesc(FairDetailDO::getCreateTime);
-        return selectJoinList(JobFairDetailRespVO.class, query);
+        return selectJoinPage(reqVO,JobFairDetailRespVO.class, query);
     }
 
 }

+ 36 - 21
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/fair/FairService.java

@@ -5,13 +5,9 @@ import com.citu.framework.common.pojo.PageResult;
 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.recruit.job.vo.joinJobFairReqVO;
-import com.citu.module.menduner.system.controller.base.fair.FairWhitePageReqVO;
-import com.citu.module.menduner.system.controller.base.fair.JobFairDetailRespVO;
-import com.citu.module.menduner.system.controller.base.fair.JobFairPageReqVO;
-import com.citu.module.menduner.system.controller.base.fair.JobFairSaveReqVO;
+import com.citu.module.menduner.system.controller.base.fair.*;
 import com.citu.module.menduner.system.dal.dataobject.fair.FairDO;
 import com.citu.module.menduner.system.dal.dataobject.fair.FairWhiteDO;
-import org.springframework.security.access.prepost.PreAuthorize;
 
 import javax.validation.Valid;
 import java.util.List;
@@ -61,15 +57,18 @@ public interface FairService {
      */
     PageResult<FairDO> getJobFairPage(JobFairPageReqVO pageReqVO);
 
-    /** 效验招聘会是否过期 **/
+    /**
+     * 效验招聘会是否过期
+     **/
     void checkJobFairExpired(FairDO fairDO);
 
-    /** 获取在时间段内的招聘会列表 **/
+    /**
+     * 获取在时间段内的招聘会列表
+     **/
     List<FairDO> list();
 
     /**
      * 企业将职位加入招聘会
-     *
      **/
     void joinJobFair(joinJobFairReqVO reqVO);
 
@@ -93,29 +92,45 @@ public interface FairService {
      **/
     PageResult<AppFlameJobRespVO> getFlameJobPage(AppFlameJobPageReqVO reqVO);
 
-    /** 根据招聘会id和企业id获取参加招聘会的职位,返回id集合 **/
+    /**
+     * 根据招聘会id和企业id获取参加招聘会的职位,返回id集合
+     **/
     List<Long> getJobIdListByJobFairIdAndEnterpriseId(Long jobFairId, Long enterpriseId);
 
-    /** 添加白名单 **/
-    void addWhiteList(Long jobFairId,List<Long> enterpriseIds);
+    /**
+     * 添加白名单
+     **/
+    void addWhiteList(Long jobFairId, List<Long> enterpriseIds);
 
-    /** 移除白名单 **/
-    void removeWhiteList(Long jobFairId,List<Long> enterpriseIds);
+    /**
+     * 移除白名单
+     **/
+    void removeWhiteList(Long jobFairId, List<Long> enterpriseIds);
 
-    /** 添加白名单 **/
-    void addWhiteList2(Long jobFairId,List<String> enterpriseNames);
+    /**
+     * 添加白名单
+     **/
+    void addWhiteList2(Long jobFairId, List<String> enterpriseNames);
 
-    /** 移除白名单 **/
-    void removeWhiteList2(Long jobFairId,List<String> enterpriseNames);
+    /**
+     * 移除白名单
+     **/
+    void removeWhiteList2(Long jobFairId, List<String> enterpriseNames);
 
-    /** 获取白名单企业,返回企业id **/
+    /**
+     * 获取白名单企业,返回企业id
+     **/
     PageResult<FairWhiteDO> page(FairWhitePageReqVO reqVO);
 
-    /** 效验是否有招聘会权限 **/
+    /**
+     * 效验是否有招聘会权限
+     **/
     void checkFairWhite(Long jobFairId);
 
-    /** 同步职位到招聘会 **/
+    /**
+     * 同步职位到招聘会
+     **/
     void syncJob(Long jobFairId);
 
-    List<JobFairDetailRespVO> getJobFairDetailList(Long jobFairId);
+    PageResult<JobFairDetailRespVO> getJobFairDetailPage(JobFairDetailPageReqVO reqVO);
 }

+ 3 - 6
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/fair/FairServiceImpl.java

@@ -15,10 +15,7 @@ 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.recruit.job.vo.joinJobFairReqVO;
-import com.citu.module.menduner.system.controller.base.fair.FairWhitePageReqVO;
-import com.citu.module.menduner.system.controller.base.fair.JobFairDetailRespVO;
-import com.citu.module.menduner.system.controller.base.fair.JobFairPageReqVO;
-import com.citu.module.menduner.system.controller.base.fair.JobFairSaveReqVO;
+import com.citu.module.menduner.system.controller.base.fair.*;
 import com.citu.module.menduner.system.dal.dataobject.area.AreaDO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
 import com.citu.module.menduner.system.dal.dataobject.fair.FairDO;
@@ -406,7 +403,7 @@ public class FairServiceImpl implements FairService {
     }
 
     @Override
-    public List<JobFairDetailRespVO> getJobFairDetailList(Long jobFairId) {
-        return fairDetailMapper.selectJobFairDetailList(jobFairId);
+    public PageResult<JobFairDetailRespVO> getJobFairDetailPage(JobFairDetailPageReqVO reqVO) {
+        return fairDetailMapper.selectJobFairDetailList(reqVO);
     }
 }