Browse Source

1、增加付款后职位过期时间逻辑

rayson 8 months ago
parent
commit
5cfce495e2

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

@@ -71,7 +71,7 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
         wrapper.likeIfExists(JobCvRelDO::getPhone, reqVO.getPhone());
 
         // 投递的职位 inner 人才信息 (投递人)
-        wrapper.innerJoin(PersonInfoDO.class, "person", PersonInfoDO::getUserId, JobCvRelDO::getUserId);
+        wrapper.leftJoin(PersonInfoDO.class, "person", PersonInfoDO::getUserId, JobCvRelDO::getUserId);
         // 人才相关的条件
         wrapper.likeIfExists("person.name", reqVO.getName());
         wrapper.eqIfExists("person.job_status", reqVO.getJobStatus());

+ 5 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/consumer/PublishJobConsumer.java

@@ -11,6 +11,7 @@ import org.apache.rocketmq.spring.core.RocketMQListener;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
+import java.time.LocalDateTime;
 
 /**
  * 职位完成支付 消费
@@ -33,6 +34,9 @@ public class PublishJobConsumer implements RocketMQListener<Long> {
     public void onMessage(Long orderId) {
         log.info("接收到队列消息[{}]", orderId);
         TradeOrderDO order = tradeOrderService.getOrder(orderId);
-        service.enable(order.getSpuId());
+        // 计算新的过期时间,支付时间+120天
+        LocalDateTime updateTime = order.getPayTime();
+        LocalDateTime newExpireTime = updateTime.plusDays(120);
+        service.enableAndUpdateExpireTime(order.getSpuId(), newExpireTime);
     }
 }

+ 2 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/consumer/PublishJobHireConsumer.java

@@ -33,6 +33,7 @@ public class PublishJobHireConsumer implements RocketMQListener<Long> {
     public void onMessage(Long orderId) {
         log.info("接收到队列消息[{}]", orderId);
         TradeOrderDO order = tradeOrderService.getOrder(orderId);
-        service.enable(order.getSpuId());
+        // TODO 众聘职位过期时间不知道
+        service.enableAndUpdateExpireTime(order.getSpuId(),null);
     }
 }

+ 3 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobAdvertisedService.java

@@ -20,6 +20,7 @@ import com.citu.module.menduner.system.controller.base.job.JobAdvertisedSaveReqV
 import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
 
 import javax.validation.Valid;
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
 
@@ -156,9 +157,9 @@ public interface JobAdvertisedService {
     void enable(List<Long> ids);
 
     /**
-     * 开启职位(内部使用)
+     * 开启职位并修改过期时间
      **/
-    void enable(Long id);
+    void enableAndUpdateExpireTime(Long id, LocalDateTime expireTime);
 
     /**
      * 关闭职位

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

@@ -492,13 +492,16 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
     }
 
     @Override
-    public void enable(Long id) {
+    public void enableAndUpdateExpireTime(Long id, LocalDateTime expireTime) {
         JobAdvertisedDO job = get(id);
         if (JobStatusEnum.ENABLE.getStatus().equals(job.getStatus())) {
             // 已经是开启状态
             return;
         }
         job.setStatus(JobStatusEnum.ENABLE.getStatus());
+        if(null != expireTime) {
+            job.setExpireTime(expireTime);
+        }
         mapper.updateById(job);
         jobDataSync(job, SyncConstants.UPDATE);
     }