浏览代码

1、解决授企业白名单职位新增职位提示没有权限

rayson 3 月之前
父节点
当前提交
cef564e2e8

+ 6 - 0
menduner/jvm_start_parameter.txt

@@ -0,0 +1,6 @@
+-DnacosHost=192.168.3.80:8848
+-Dspring.cloud.nacos.discovery.namespace=dev
+-Dspring.cloud.nacos.config.namespace=dev
+-Dfile.encoding=utf-8
+-Dspring.cloud.nacos.discovery.ip=192.168.3.120
+-Dspring.mvc.locale=zh_CN

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

@@ -67,6 +67,15 @@ public class AppRecruitFairController {
         return success(BeanUtils.toBean(fairService.list(), JobFairRespVO.class));
     }
 
+    @PreAuthenticated
+    @GetMapping("/list-by-enterprise")
+    @Operation(summary = "获得招聘会列表")
+    public CommonResult<List<JobFairRespVO>> listByEnterpriseId() {
+        return success(BeanUtils.toBean(fairService.listByEnterpriseId(LoginUserContext.getEnterpriseId()),
+                JobFairRespVO.class));
+    }
+
+
     @PreAuthenticated
     @GetMapping("/get")
     @Operation(summary = "根据id查询招聘会")
@@ -151,7 +160,6 @@ public class AppRecruitFairController {
         }
         reqVO.setStatus(MendunerStatusEnum.ENABLE.getStatus());
         return success(jobIntegrationService.page(reqVO));
-
     }
 
 }

+ 3 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/person/StudentDO.java

@@ -1,8 +1,6 @@
 package com.citu.module.menduner.system.dal.dataobject.person;
 
-import com.baomidou.mybatisplus.annotation.KeySequence;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.citu.framework.tenant.core.db.TenantBaseDO;
 import lombok.*;
 
@@ -49,6 +47,7 @@ public class StudentDO extends TenantBaseDO {
     /**
      * 学号
      */
+    @TableField(updateStrategy = FieldStrategy.ALWAYS)
     private String studentNo;
     /**
      * 身份证真实姓名
@@ -81,6 +80,7 @@ public class StudentDO extends TenantBaseDO {
     /**
      * 学生班级id
      */
+    @TableField(updateStrategy = FieldStrategy.ALWAYS)
     private Long schoolClassId;
     /**
      * 学生专业id

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

@@ -6,8 +6,14 @@ 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.JobFairPageReqVO;
 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.enums.MendunerStatusEnum;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.time.LocalDate;
+import java.util.List;
+
 /**
  * 招聘会 Mapper
  *
@@ -28,4 +34,15 @@ public interface FairMapper extends BaseMapperX<FairDO> {
                 .orderByDesc(FairDO::getId));
     }
 
+
+    default List<FairDO> selectListByEnterpriseId(Long enterpriseId) {
+        MPJLambdaWrapper<FairDO> wrapper = new MPJLambdaWrapper<>();
+        wrapper.selectAll(FairDO.class);
+        wrapper.innerJoin(FairWhiteDO.class, FairWhiteDO::getJobFairId, FairDO::getId);
+        wrapper.eq(FairWhiteDO::getEnterpriseId, enterpriseId);
+        wrapper.eq(FairDO::getStatus, MendunerStatusEnum.ENABLE.getStatus())
+                .ge(FairDO::getEndTime, LocalDate.now().atStartOfDay())
+                .orderByDesc(FairDO::getEndTime);
+        return selectJoinList(FairDO.class, wrapper);
+    }
 }

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

@@ -71,6 +71,12 @@ public interface FairService {
      **/
     List<FairDO> list();
 
+    /**
+     * 获取在时间段内的招聘会列表
+     **/
+    List<FairDO> listByEnterpriseId(Long enterpriseId);
+
+
     /**
      * 企业将职位加入招聘会
      **/

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

@@ -210,6 +210,10 @@ public class FairServiceImpl implements FairService {
         );
     }
 
+    @Override
+    public List<FairDO> listByEnterpriseId(Long enterpriseId) {
+        return fairMapper.selectListByEnterpriseId(enterpriseId);
+    }
 
     @Override
     @DSTransactional

+ 2 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/handler/JobEntitlementOperateHandler.java

@@ -23,12 +23,14 @@ public class JobEntitlementOperateHandler implements JobOperateHandler {
     @Lazy
     private VipEntitlementCheckAspect vipEntitlementCheckAspect;
 
+
     @Override
     public void beforeCreate(JobAdvertisedDO job) {
         if (JobSourceEnum.FAIR.getType().equals(job.getSource())) {
             // 招聘会来源不做处理
             return;
         }
+
         // 不是众聘职位 和 不是待开启的职位才需要权益
         boolean triggerVip = !job.getHire() && !JobStatusEnum.WAIT_ENABLE.getStatus().equals(job.getStatus());
         // 扣除额度

+ 48 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/handler/JobFairOperateHandler.java

@@ -1,9 +1,13 @@
 package com.citu.module.menduner.system.service.job.handler;
 
+import com.citu.module.menduner.system.controller.app.recruit.job.vo.joinJobFairReqVO;
+import com.citu.module.menduner.system.dal.dataobject.fair.FairWhiteDO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
 import com.citu.module.menduner.system.enums.job.JobSourceEnum;
 import com.citu.module.menduner.system.enums.job.JobStatusEnum;
 import com.citu.module.menduner.system.service.enterprise.EnterpriseService;
+import com.citu.module.menduner.system.service.fair.FairService;
+import com.citu.module.menduner.system.service.fair.FairWhiteService;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Component;
 
@@ -12,8 +16,7 @@ import java.time.LocalDateTime;
 import java.time.temporal.ChronoUnit;
 
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_JOB_ADVERTISED_SOURCE_ID_NOT_NULL;
-import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_JOB_ADVERTISED_TIME_ERROR_24;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.*;
 
 
 /**
@@ -28,6 +31,13 @@ public class JobFairOperateHandler implements JobOperateHandler {
     @Lazy
     private EnterpriseService enterpriseService;
 
+    @Resource
+    @Lazy
+    private FairWhiteService fairWhiteService;
+
+    @Resource
+    @Lazy
+    private FairService fairService;
 
     @Override
     public void beforeCreate(JobAdvertisedDO job) {
@@ -36,9 +46,28 @@ public class JobFairOperateHandler implements JobOperateHandler {
                 // 没有填写来源(招聘会id)
                 throw exception(MDE_JOB_ADVERTISED_SOURCE_ID_NOT_NULL);
             }
+            FairWhiteDO fairWhite = fairWhiteService.get(job.getEnterpriseId(), job.getBizId());
+            if(null == fairWhite) {
+                throw exception(JOB_FAIR_NO_PERMISSION);
+            }
         }
     }
 
+    @Override
+    public void afterCreate(JobAdvertisedDO job) {
+        if (JobSourceEnum.FAIR.getType().equals(job.getSource())) {
+            // 基于招聘会创建职位
+            if(JobStatusEnum.ENABLE.getStatus().equals(job.getStatus())){
+                // 创建完招聘会后,同步职位到招聘会里面
+                fairService.joinJobFair(joinJobFairReqVO
+                        .builder()
+                        .jobFairId(job.getBizId())
+                        .jobId(job.getId())
+                        .build()
+                );
+            }
+        }
+    }
 
     @Override
     public void beforeUpdate(JobAdvertisedDO job, JobAdvertisedDO oldJob) {
@@ -51,4 +80,21 @@ public class JobFairOperateHandler implements JobOperateHandler {
             }
         }
     }
+
+    @Override
+    public void afterUpdate(JobAdvertisedDO job, JobAdvertisedDO oldJob) {
+        // 判断之前职位不是属于招聘会,现在改为招聘会的情况
+        if (JobSourceEnum.FAIR.getType().equals(job.getSource())) {
+            // 基于招聘会修改职位
+            if(JobStatusEnum.ENABLE.getStatus().equals(job.getStatus())){
+                // 修改完招聘会后,同步职位到招聘会里面
+                fairService.joinJobFair(joinJobFairReqVO
+                        .builder()
+                        .jobFairId(job.getBizId())
+                        .jobId(job.getId())
+                        .build()
+                );
+            }
+        }
+    }
 }