浏览代码

1、优化招聘会白名单

rayson 8 月之前
父节点
当前提交
d87561945f
共有 14 个文件被更改,包括 167 次插入34 次删除
  1. 25 15
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/fair/FairController.java
  2. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/fair/AppFairController.java
  3. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/fair/AppRecruitFairController.java
  4. 21 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/fair/FairWhitePageReqVO.java
  5. 32 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/fair/FairWhiteRespVO.java
  6. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/fair/JobFairPageReqVO.java
  7. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/fair/JobFairRespVO.java
  8. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/fair/JobFairSaveReqVO.java
  9. 5 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/fair/FairWhiteDO.java
  10. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/fair/FairMapper.java
  11. 23 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/fair/FairWhiteMapper.java
  12. 11 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/fair/FairService.java
  13. 42 8
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/fair/FairServiceImpl.java
  14. 2 2
      menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/job/FairServiceImplTest.java

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

@@ -2,6 +2,7 @@ package com.citu.module.menduner.system.controller.admin.fair;
 
 
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.citu.framework.apilog.core.annotation.ApiAccessLog;
 import com.citu.framework.common.pojo.CommonResult;
 import com.citu.framework.common.pojo.PageParam;
@@ -9,12 +10,9 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.common.util.string.StrUtils;
 import com.citu.framework.excel.core.util.ExcelUtils;
-import com.citu.module.menduner.system.controller.base.enterprise.vo.EnterpriseRespVO;
-import com.citu.module.menduner.system.controller.base.job.fair.JobFairPageReqVO;
-import com.citu.module.menduner.system.controller.base.job.fair.JobFairRespVO;
-import com.citu.module.menduner.system.controller.base.job.fair.JobFairSaveReqVO;
-import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
+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 com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseMapper;
 import com.citu.module.menduner.system.service.fair.FairService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -31,6 +29,7 @@ import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 import static com.citu.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
 import static com.citu.framework.common.pojo.CommonResult.success;
@@ -105,17 +104,14 @@ public class FairController {
 
     @GetMapping("/get-white-enterprise")
     @Operation(summary = "获得招聘会白名单企业")
-    public CommonResult<Map<String, Object>> getWhiteListByFairId() {
-        List<Long> enterpriseIds = fairService.getWhiteListByFairId(1L);
-        if (ObjectUtil.isEmpty(enterpriseIds)) {
-            return success(null);
+    public CommonResult<PageResult<FairWhiteRespVO>> page(@Valid FairWhitePageReqVO reqVO) {
+        reqVO.setJobFairId(1L);
+        PageResult<FairWhiteDO> fairWhiteList =  fairService.page(reqVO);
+        PageResult<FairWhiteRespVO> resp=  BeanUtils.toBean(fairWhiteList, FairWhiteRespVO.class);
+        for (FairWhiteRespVO fairWhiteRespVO : resp.getList()) {
+            fairWhiteRespVO.setJobFair(BeanUtils.toBean(fairService.getJobFair(fairWhiteRespVO.getJobFairId()), JobFairRespVO.class));
         }
-        List<EnterpriseDO> enterpriseList = enterpriseMapper.selectBatchIds(enterpriseIds);
-        List<EnterpriseRespVO> respList = BeanUtils.toBean(enterpriseList, EnterpriseRespVO.class);
-        Map<String, Object> map = new HashMap<>();
-        map.put("fair", fairService.getJobFair(1L));
-        map.put("enterpriseList", respList);
-        return success(map);
+        return success(resp);
     }
 
     @PutMapping("/add-white-list")
@@ -132,4 +128,18 @@ public class FairController {
         return success(true);
     }
 
+    @PutMapping("/add-white-list2")
+    @Operation(summary = "添加企业白名单2")
+    public CommonResult<Boolean> addWhiteList2(@RequestParam("enterpriseNames") String enterpriseNames) {
+        fairService.addWhiteList2(1L, StrUtil.split(enterpriseNames, ","));
+        return success(true);
+    }
+
+    @PutMapping("/remove-white-list2")
+    @Operation(summary = "移除企业白名单2")
+    public CommonResult<Boolean> removeWhiteList2(@RequestParam("enterpriseNames") String enterpriseNames) {
+        fairService.removeWhiteList2(1L, StrUtil.split(enterpriseNames, ","));
+        return success(true);
+    }
+
 }

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/fair/AppFairController.java

@@ -2,7 +2,7 @@ package com.citu.module.menduner.system.controller.app.jobhunt.fair;
 
 import com.citu.framework.common.pojo.CommonResult;
 import com.citu.framework.common.util.object.BeanUtils;
-import com.citu.module.menduner.system.controller.base.job.fair.JobFairRespVO;
+import com.citu.module.menduner.system.controller.base.fair.JobFairRespVO;
 import com.citu.module.menduner.system.service.fair.FairService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/fair/AppRecruitFairController.java

@@ -7,7 +7,7 @@ import com.citu.framework.security.core.annotations.PreAuthenticated;
 import com.citu.module.menduner.common.util.LoginUserContext;
 import com.citu.module.menduner.system.controller.app.recruit.job.vo.AppRecruitJobSimpleRespVO;
 import com.citu.module.menduner.system.controller.app.recruit.job.vo.joinJobFairReqVO;
-import com.citu.module.menduner.system.controller.base.job.fair.JobFairRespVO;
+import com.citu.module.menduner.system.controller.base.fair.JobFairRespVO;
 import com.citu.module.menduner.system.service.fair.FairService;
 import com.citu.module.menduner.system.service.job.JobAdvertisedService;
 import io.swagger.v3.oas.annotations.Operation;

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

@@ -0,0 +1,21 @@
+package com.citu.module.menduner.system.controller.base.fair;
+
+import com.citu.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+
+@Schema(description = "管理后台 - 招聘会白名单 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class FairWhitePageReqVO extends PageParam {
+
+    @Schema(description = "招聘会id", example = "1")
+    private Long jobFairId;
+
+    @Schema(description = "企业名称", example = "1")
+    private String name;
+
+}

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

@@ -0,0 +1,32 @@
+package com.citu.module.menduner.system.controller.base.fair;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.citu.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+
+@Schema(description = "管理后台 - 招聘会白名单 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class FairWhiteRespVO  {
+
+
+    @Schema(description = "id", example = "1")
+    private Long id;
+
+    @Schema(description = "企业id", example = "1")
+    private Long enterpriseId;
+
+    @Schema(description = "招聘会id", example = "1")
+    private Long jobFairId;
+
+    @Schema(description = "企业名称", example = "1")
+    private String name;
+
+    @Schema(description = "招聘会信息")
+    private JobFairRespVO jobFair;
+
+}

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/job/fair/JobFairPageReqVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/fair/JobFairPageReqVO.java

@@ -1,4 +1,4 @@
-package com.citu.module.menduner.system.controller.base.job.fair;
+package com.citu.module.menduner.system.controller.base.fair;
 
 
 import com.citu.framework.common.pojo.PageParam;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/job/fair/JobFairRespVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/fair/JobFairRespVO.java

@@ -1,4 +1,4 @@
-package com.citu.module.menduner.system.controller.base.job.fair;
+package com.citu.module.menduner.system.controller.base.fair;
 
 
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/job/fair/JobFairSaveReqVO.java → menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/fair/JobFairSaveReqVO.java

@@ -1,4 +1,4 @@
-package com.citu.module.menduner.system.controller.base.job.fair;
+package com.citu.module.menduner.system.controller.base.fair;
 
 
 import io.swagger.v3.oas.annotations.media.Schema;

+ 5 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/fair/FairWhiteDO.java

@@ -36,4 +36,9 @@ public class FairWhiteDO extends TenantBaseDO {
      * 企业id
      */
     private Long enterpriseId;
+
+    /**
+     * 企业名称
+     */
+    private String name;
 }

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

@@ -4,7 +4,7 @@ package com.citu.module.menduner.system.dal.mysql.fair;
 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.module.menduner.system.controller.base.job.fair.JobFairPageReqVO;
+import com.citu.module.menduner.system.controller.base.fair.JobFairPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.fair.FairDO;
 import org.apache.ibatis.annotations.Mapper;
 

+ 23 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/fair/FairWhiteMapper.java

@@ -1,8 +1,12 @@
 package com.citu.module.menduner.system.dal.mysql.fair;
 
+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.module.menduner.system.controller.base.fair.FairWhitePageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.fair.FairWhiteDO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -18,7 +22,26 @@ public interface FairWhiteMapper extends BaseMapperX<FairWhiteDO> {
         return selectOne(FairWhiteDO::getJobFairId, jobFairId, FairWhiteDO::getEnterpriseId, enterpriseId);
     }
 
+    default FairWhiteDO selectByJobFairIdAndEnterpriseName(Long jobFairId, String name) {
+        return selectOne(FairWhiteDO::getJobFairId, jobFairId, FairWhiteDO::getName, name);
+    }
+
+    default FairWhiteDO selectByJobFairIdAndEnterpriseName(@Param("jobFairId") Long jobFairId, @Param("name") String name, @Param("anotherName") String anotherName) {
+        return selectOne(new LambdaQueryWrapperX<FairWhiteDO>()
+                .eq(FairWhiteDO::getJobFairId, jobFairId)
+                .eq(FairWhiteDO::getName, name).or().eq(FairWhiteDO::getName, anotherName)
+        );
+    }
+
     default List<FairWhiteDO> selectByJobFairIdList(Long jobFairId) {
         return selectList(FairWhiteDO::getJobFairId, jobFairId);
     }
+
+    default PageResult<FairWhiteDO> selectPage(FairWhitePageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<FairWhiteDO>()
+                .eqIfPresent(FairWhiteDO::getJobFairId, reqVO.getJobFairId())
+                .likeIfPresent(FairWhiteDO::getName, reqVO.getName())
+                .orderByDesc(FairWhiteDO::getUpdateTime)
+        );
+    }
 }

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

@@ -5,9 +5,11 @@ 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.job.fair.JobFairPageReqVO;
-import com.citu.module.menduner.system.controller.base.job.fair.JobFairSaveReqVO;
+import com.citu.module.menduner.system.controller.base.fair.FairWhitePageReqVO;
+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;
+import com.citu.module.menduner.system.dal.dataobject.fair.FairWhiteDO;
 
 import javax.validation.Valid;
 import java.util.List;
@@ -91,8 +93,14 @@ public interface FairService {
     /** 移除白名单 **/
     void removeWhiteList(Long fairId,List<Long> enterpriseIds);
 
+    /** 添加白名单 **/
+    void addWhiteList2(Long fairId,List<String> enterpriseNames);
+
+    /** 移除白名单 **/
+    void removeWhiteList2(Long fairId,List<String> enterpriseNames);
+
     /** 获取白名单企业,返回企业id **/
-    List<Long> getWhiteListByFairId(Long fairId);
+    PageResult<FairWhiteDO> page(FairWhitePageReqVO reqVO);
 
     /** 效验是否有招聘会权限 **/
     void checkFairWhite(Long jobFairId);

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

@@ -13,14 +13,17 @@ 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.job.fair.JobFairPageReqVO;
-import com.citu.module.menduner.system.controller.base.job.fair.JobFairSaveReqVO;
+import com.citu.module.menduner.system.controller.base.fair.FairWhitePageReqVO;
+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;
+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.fair.FairWhiteDO;
 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.mysql.enterprise.EnterpriseMapper;
 import com.citu.module.menduner.system.dal.mysql.fair.FairDetailMapper;
 import com.citu.module.menduner.system.dal.mysql.fair.FairMapper;
 import com.citu.module.menduner.system.dal.mysql.fair.FairWhiteMapper;
@@ -74,6 +77,9 @@ public class FairServiceImpl implements FairService {
     @Resource
     private IndustryService industryService;
 
+    @Resource
+    private EnterpriseMapper enterpriseMapper;
+
 
     @Override
     public Long createJobFair(JobFairSaveReqVO createReqVO) {
@@ -138,8 +144,11 @@ public class FairServiceImpl implements FairService {
 
     @Override
     public void checkFairWhite(Long jobFairId) {
+       EnterpriseDO enterpriseDO = enterpriseMapper.selectById(LoginUserContext.getEnterpriseId());
+//        FairWhiteDO fairWhiteDO = fairWhiteMapper
+//                .selectByJobFairIdAndEnterpriseId(jobFairId, LoginUserContext.getEnterpriseId());
         FairWhiteDO fairWhiteDO = fairWhiteMapper
-                .selectByJobFairIdAndEnterpriseId(jobFairId, LoginUserContext.getEnterpriseId());
+                .selectByJobFairIdAndEnterpriseName(jobFairId,enterpriseDO.getName(),enterpriseDO.getAnotherName());
         if (null == fairWhiteDO) {
             throw exception(JOB_FAIR_NO_PERMISSION);
         }
@@ -268,11 +277,36 @@ public class FairServiceImpl implements FairService {
         }
     }
 
+
     @Override
-    public List<Long> getWhiteListByFairId(Long fairId) {
-        return fairWhiteMapper.selectByJobFairIdList(fairId)
-                .stream()
-                .map(FairWhiteDO::getEnterpriseId)
-                .collect(Collectors.toList());
+    @DSTransactional
+    public void addWhiteList2(Long fairId, List<String> enterpriseNames) {
+        for (String name : enterpriseNames) {
+            FairWhiteDO fairWhiteDO = fairWhiteMapper.selectByJobFairIdAndEnterpriseName(fairId, name);
+            if (null != fairWhiteDO) {
+                return;
+            }
+            fairWhiteMapper.insert(FairWhiteDO.builder()
+                    .jobFairId(fairId)
+                    .name(name)
+                    .build());
+        }
+    }
+
+    @Override
+    @DSTransactional
+    public void removeWhiteList2(Long fairId, List<String> enterpriseNames) {
+        for (String name : enterpriseNames) {
+            FairWhiteDO fairWhiteDO = fairWhiteMapper.selectByJobFairIdAndEnterpriseName(fairId, name);
+            if (null == fairWhiteDO) {
+                return;
+            }
+            fairWhiteMapper.deleteById(fairWhiteDO.getId());
+        }
+    }
+
+    @Override
+    public  PageResult<FairWhiteDO> page(FairWhitePageReqVO reqVO) {
+        return fairWhiteMapper.selectPage(reqVO);
     }
 }

+ 2 - 2
menduner/menduner-system-biz/src/test/java/com/citu/module/menduner/system/service/job/FairServiceImplTest.java

@@ -3,8 +3,8 @@ package com.citu.module.menduner.system.service.job;
 
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.test.core.ut.BaseDbUnitTest;
-import com.citu.module.menduner.system.controller.base.job.fair.JobFairPageReqVO;
-import com.citu.module.menduner.system.controller.base.job.fair.JobFairSaveReqVO;
+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;
 import com.citu.module.menduner.system.dal.mysql.fair.FairMapper;
 import com.citu.module.menduner.system.service.fair.FairServiceImpl;