Просмотр исходного кода

1、优化邮箱空格问题
2、增加招聘会发布职位导出逻辑

rayson 8 месяцев назад
Родитель
Сommit
51ced6fc3a

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

@@ -40,9 +40,6 @@ public class FairController {
     @Resource
     private FairService fairService;
 
-    @Resource
-    private EnterpriseMapper enterpriseMapper;
-
     @PostMapping("/create")
     @Operation(summary = "创建招聘会")
     @PreAuthorize("@ss.hasPermission('menduner:system:job-fair:create')")
@@ -138,4 +135,14 @@ public class FairController {
         return success(true);
     }
 
+    @GetMapping("/detail/export-excel")
+    @Operation(summary = "导出参加双选会职位 Excel")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportJobFairDetail(HttpServletResponse response) throws IOException {
+        List<JobFairDetailRespVO> list = fairService.getJobFairDetailList(1L);
+        // 导出 Excel
+        ExcelUtils.write(response, "参加双选会职位.xls", "发布职位", JobFairDetailRespVO.class,
+                BeanUtils.toBean(list, JobFairDetailRespVO.class));
+    }
+
 }

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

@@ -0,0 +1,55 @@
+package com.citu.module.menduner.system.controller.base.fair;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 参加招聘会的企业职位 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class JobFairDetailRespVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("id")
+    private Long id;
+
+    @Schema(description = "招聘会id", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("招聘会id")
+    private Long jobFairId;
+
+    @Schema(description = "职位id", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("职位id")
+    private Long jobId;
+
+    @Schema(description = "双选会主题", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("双选会主题")
+    private String title;
+
+    @Schema(description = "发布职位名称", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("发布职位名称")
+    private String jobName;
+
+    @Schema(description = "发布企业名称", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("发布企业名称")
+    private String enterpriseName;
+
+    @Schema(description = "发布企业别称", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("发布企业别称")
+    private String enterpriseAnotherName;
+
+    @Schema(description = "工作地址", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("工作地址")
+    private String jobAddress;
+
+    @Schema(description = "职位过期时间")
+    @ExcelProperty("职位过期时间")
+    private LocalDateTime expireTime;
+
+    @Schema(description = "职位加入招聘会时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("职位加入招聘会时间")
+    private LocalDateTime createTime;
+
+}

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

@@ -6,9 +6,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.JobFairDetailRespVO;
+import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
+import com.citu.module.menduner.system.dal.dataobject.fair.FairDO;
 import com.citu.module.menduner.system.dal.dataobject.fair.FairDetailDO;
+import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
 import com.citu.module.menduner.system.enums.fair.JobFairStatusEnum;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -24,7 +29,6 @@ import java.util.List;
 public interface FairDetailMapper extends BaseMapperX<FairDetailDO> {
 
 
-
     @InterceptorIgnore(tenantLine = "true")
     IPage<AppFlameJobRespVO> search(Page<?> page, @Param("reqVO") AppFlameJobPageReqVO reqVO);
 
@@ -37,4 +41,29 @@ public interface FairDetailMapper extends BaseMapperX<FairDetailDO> {
         );
     }
 
+
+    /** 根据招聘会id查询招聘会发布职位的信息 **/
+    default List<JobFairDetailRespVO> selectJobFairDetailList(Long jobFairId) {
+        MPJLambdaWrapperX<FairDetailDO> query = new MPJLambdaWrapperX<>();
+        query.selectAs(FairDetailDO::getId, JobFairDetailRespVO::getId);
+        query.selectAs(FairDetailDO::getJobFairId, JobFairDetailRespVO::getJobFairId);
+        query.selectAs(FairDetailDO::getJobId, JobFairDetailRespVO::getJobId);
+        query.selectAs(FairDO::getTitle, JobFairDetailRespVO::getTitle);
+        query.selectAs(JobAdvertisedDO::getName, JobFairDetailRespVO::getJobName);
+        query.selectAs(EnterpriseDO::getName, JobFairDetailRespVO::getEnterpriseName);
+        query.selectAs(EnterpriseDO::getAnotherName, JobFairDetailRespVO::getEnterpriseAnotherName);
+
+        query.selectAs(JobAdvertisedDO::getAddress, JobFairDetailRespVO::getJobAddress);
+        query.selectAs(JobAdvertisedDO::getExpireTime, JobFairDetailRespVO::getExpireTime);
+
+        query.selectAs(FairDetailDO::getCreateTime, JobFairDetailRespVO::getCreateTime);
+
+        query.innerJoin(FairDO.class, FairDO::getId, FairDetailDO::getJobFairId);
+        query.innerJoin(JobAdvertisedDO.class, JobAdvertisedDO::getId, FairDetailDO::getJobId);
+        query.innerJoin(EnterpriseDO.class, EnterpriseDO::getId, FairDetailDO::getEnterpriseId);
+
+        query.orderByDesc(FairDetailDO::getCreateTime);
+        return selectJoinList(JobFairDetailRespVO.class, query);
+    }
+
 }

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

@@ -176,10 +176,10 @@ public class EnterpriseUserBindServiceImpl implements EnterpriseUserBindService
         }
     }
 
-
     @Override
     @DSTransactional
     public void createUser(EnterpriseUserBindDO userBindDO) {
+        userBindDO.setEmail(userBindDO.getEmail().trim());
         if(!StringUtils.hasText(userBindDO.getEmail())) {
             throw exception(MDE_ENTERPRISE_USER_BIND_EMAIL_NOT_NULL);
         }

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

@@ -6,6 +6,7 @@ import com.citu.module.menduner.system.controller.app.jobhunt.flame.AppFlameJobP
 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.dal.dataobject.fair.FairDO;
@@ -107,4 +108,6 @@ public interface FairService {
 
     /** 同步职位到招聘会 **/
     void syncJob(Long jobFairId);
+
+    List<JobFairDetailRespVO> getJobFairDetailList(Long jobFairId);
 }

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

@@ -14,6 +14,7 @@ import com.citu.module.menduner.system.controller.app.jobhunt.flame.AppFlameJobP
 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.dal.dataobject.area.AreaDO;
@@ -342,4 +343,9 @@ public class FairServiceImpl implements FairService {
     public PageResult<FairWhiteDO> page(FairWhitePageReqVO reqVO) {
         return fairWhiteMapper.selectPage(reqVO);
     }
+
+    @Override
+    public List<JobFairDetailRespVO> getJobFairDetailList(Long jobFairId) {
+        return fairDetailMapper.selectJobFairDetailList(jobFairId);
+    }
 }