|
@@ -22,12 +22,10 @@ import com.citu.module.menduner.system.dal.dataobject.job.JobCvRelDO;
|
|
import com.citu.module.menduner.system.dal.mysql.interview.InterviewInviteMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.interview.InterviewInviteMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.job.JobAdvertisedMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.job.JobAdvertisedMapper;
|
|
import com.citu.module.menduner.system.enums.cv.ConversationStatusEnum;
|
|
import com.citu.module.menduner.system.enums.cv.ConversationStatusEnum;
|
|
-import com.citu.module.menduner.system.enums.cv.JobCvRelStatusEnum;
|
|
|
|
import com.citu.module.menduner.system.enums.interview.InterviewInviteStatusEnum;
|
|
import com.citu.module.menduner.system.enums.interview.InterviewInviteStatusEnum;
|
|
import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
|
|
import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
|
|
import com.citu.module.menduner.system.service.hire.HireCommissionRatioService;
|
|
import com.citu.module.menduner.system.service.hire.HireCommissionRatioService;
|
|
import com.citu.module.menduner.system.service.job.JobCvRelService;
|
|
import com.citu.module.menduner.system.service.job.JobCvRelService;
|
|
-import com.citu.module.menduner.system.service.record.UserAccountRecordService;
|
|
|
|
import com.citu.module.pay.api.wallet.PayWalletApi;
|
|
import com.citu.module.pay.api.wallet.PayWalletApi;
|
|
import com.citu.module.pay.api.wallet.dto.PayWalletAddBalanceDTO;
|
|
import com.citu.module.pay.api.wallet.dto.PayWalletAddBalanceDTO;
|
|
import com.citu.module.pay.enums.wallet.PayWalletBizTypeEnum;
|
|
import com.citu.module.pay.enums.wallet.PayWalletBizTypeEnum;
|
|
@@ -41,6 +39,7 @@ import java.time.LocalDateTime;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
|
+import static com.citu.framework.common.util.validation.ValidationUtils.isMobile;
|
|
import static com.citu.module.menduner.system.enums.ErrorCodeConstants.*;
|
|
import static com.citu.module.menduner.system.enums.ErrorCodeConstants.*;
|
|
import static com.citu.module.menduner.system.util.RecruitAnalysisUtils.generateDateTimeRange;
|
|
import static com.citu.module.menduner.system.util.RecruitAnalysisUtils.generateDateTimeRange;
|
|
|
|
|
|
@@ -215,13 +214,18 @@ public class InterviewInviteServiceImpl implements InterviewInviteService {
|
|
Long userId = LoginUserContext.getUserId(loginUser);
|
|
Long userId = LoginUserContext.getUserId(loginUser);
|
|
InterviewInviteDO interviewInvite = BeanUtils.toBean(reqVO, InterviewInviteDO.class);
|
|
InterviewInviteDO interviewInvite = BeanUtils.toBean(reqVO, InterviewInviteDO.class);
|
|
// 检查时间是否小于当前时间
|
|
// 检查时间是否小于当前时间
|
|
- if(LocalDateTime.now().isAfter(reqVO.getTime())) {
|
|
|
|
|
|
+ if (LocalDateTime.now().isAfter(reqVO.getTime())) {
|
|
throw exception(INTERVIEW_INVITE_TIME_LESS_THAN_NOW);
|
|
throw exception(INTERVIEW_INVITE_TIME_LESS_THAN_NOW);
|
|
}
|
|
}
|
|
- if(mapper.checkExistsTime(reqVO.getId(),enterpriseId, userId, reqVO.getJobId(),reqVO.getTime())) {
|
|
|
|
|
|
+ if (mapper.checkExistsTime(reqVO.getId(), enterpriseId, userId, reqVO.getJobId(), reqVO.getTime())) {
|
|
// 该时间段已有其他面试者预约
|
|
// 该时间段已有其他面试者预约
|
|
throw exception(INTERVIEW_INVITE_TIME_OVERLAP);
|
|
throw exception(INTERVIEW_INVITE_TIME_OVERLAP);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if (isMobile(reqVO.getInvitePhone())) {
|
|
|
|
+ throw exception(INTERVIEW_INVITE_INVITE_PHONE_FORMAT_ERROR);
|
|
|
|
+ }
|
|
|
|
+
|
|
// 默认
|
|
// 默认
|
|
setStatus(interviewInvite, InterviewInviteStatusEnum.PENDING_ACCEPTANCE);
|
|
setStatus(interviewInvite, InterviewInviteStatusEnum.PENDING_ACCEPTANCE);
|
|
interviewInvite.setEnterpriseId(enterpriseId);
|
|
interviewInvite.setEnterpriseId(enterpriseId);
|
|
@@ -298,14 +302,14 @@ public class InterviewInviteServiceImpl implements InterviewInviteService {
|
|
public PageResult<RecruitInterviewInviteAnalysisRespVO> getWaitInterview(RecruitAnalysisReqVO reqVO) {
|
|
public PageResult<RecruitInterviewInviteAnalysisRespVO> getWaitInterview(RecruitAnalysisReqVO reqVO) {
|
|
LocalDateTime[] timeRange = generateDateTimeRange(reqVO);
|
|
LocalDateTime[] timeRange = generateDateTimeRange(reqVO);
|
|
return mapper.getAnalysisDetail(
|
|
return mapper.getAnalysisDetail(
|
|
- reqVO,timeRange[0], timeRange[1], InterviewInviteStatusEnum.PENDING_INTERVIEW.getStatus());
|
|
|
|
|
|
+ reqVO, timeRange[0], timeRange[1], InterviewInviteStatusEnum.PENDING_INTERVIEW.getStatus());
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public PageResult<RecruitInterviewInviteAnalysisRespVO> getCompleteInterview(RecruitAnalysisReqVO reqVO) {
|
|
public PageResult<RecruitInterviewInviteAnalysisRespVO> getCompleteInterview(RecruitAnalysisReqVO reqVO) {
|
|
LocalDateTime[] timeRange = generateDateTimeRange(reqVO);
|
|
LocalDateTime[] timeRange = generateDateTimeRange(reqVO);
|
|
return mapper.getAnalysisDetail(
|
|
return mapper.getAnalysisDetail(
|
|
- reqVO,timeRange[0], timeRange[1], InterviewInviteStatusEnum.COMPLETED.getStatus());
|
|
|
|
|
|
+ reqVO, timeRange[0], timeRange[1], InterviewInviteStatusEnum.COMPLETED.getStatus());
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -365,10 +369,10 @@ public class InterviewInviteServiceImpl implements InterviewInviteService {
|
|
// 猎头 (平台自己)
|
|
// 猎头 (平台自己)
|
|
if (headhuntPrice > 0) {
|
|
if (headhuntPrice > 0) {
|
|
walletApi.addWalletBalance(PayWalletAddBalanceDTO.builder()
|
|
walletApi.addWalletBalance(PayWalletAddBalanceDTO.builder()
|
|
- .userId(0L)
|
|
|
|
- .bizId(job.getId().toString())
|
|
|
|
- .price(Math.toIntExact(headhuntPrice))
|
|
|
|
- .bizType(PayWalletBizTypeEnum.PLATFORM_COMMISSION.getType())
|
|
|
|
|
|
+ .userId(0L)
|
|
|
|
+ .bizId(job.getId().toString())
|
|
|
|
+ .price(Math.toIntExact(headhuntPrice))
|
|
|
|
+ .bizType(PayWalletBizTypeEnum.PLATFORM_COMMISSION.getType())
|
|
.build()
|
|
.build()
|
|
);
|
|
);
|
|
}
|
|
}
|