|
@@ -24,9 +24,14 @@ import com.citu.module.menduner.system.dal.dataobject.interview.InterviewInviteD
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobCvRelDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobCvRelDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
|
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.person.StudentDO;
|
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.person.StudentPracticeRecordDO;
|
|
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.person.StudentMapper;
|
|
|
|
+import com.citu.module.menduner.system.dal.mysql.person.StudentPracticeRecordMapper;
|
|
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.interview.InterviewInviteStatusEnum;
|
|
import com.citu.module.menduner.system.enums.interview.InterviewInviteStatusEnum;
|
|
|
|
+import com.citu.module.menduner.system.enums.person.StudentPracticeStatusEnum;
|
|
import com.citu.module.menduner.system.service.area.AreaService;
|
|
import com.citu.module.menduner.system.service.area.AreaService;
|
|
import com.citu.module.menduner.system.service.enterprise.EnterpriseService;
|
|
import com.citu.module.menduner.system.service.enterprise.EnterpriseService;
|
|
import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
|
|
import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
|
|
@@ -92,6 +97,10 @@ public class InterviewInviteServiceImpl implements InterviewInviteService {
|
|
@Resource
|
|
@Resource
|
|
private PersonInfoService personInfoService;
|
|
private PersonInfoService personInfoService;
|
|
@Resource
|
|
@Resource
|
|
|
|
+ private StudentMapper studentMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ private StudentPracticeRecordMapper studentPracticeRecordMapper;
|
|
|
|
+ @Resource
|
|
private AreaService areaService;
|
|
private AreaService areaService;
|
|
@Resource
|
|
@Resource
|
|
private RedisUtils redisUtils;
|
|
private RedisUtils redisUtils;
|
|
@@ -354,6 +363,27 @@ public class InterviewInviteServiceImpl implements InterviewInviteService {
|
|
InterviewInviteDO interviewInvite = validateInterviewInviteExists(id);
|
|
InterviewInviteDO interviewInvite = validateInterviewInviteExists(id);
|
|
setStatus(interviewInvite, InterviewInviteStatusEnum.COMPLETED);
|
|
setStatus(interviewInvite, InterviewInviteStatusEnum.COMPLETED);
|
|
mapper.updateById(interviewInvite);
|
|
mapper.updateById(interviewInvite);
|
|
|
|
+ if (null != interviewInvite.getPracticeStartTime() && null != interviewInvite.getPracticeEndTime()) {
|
|
|
|
+ // 创建实习记录
|
|
|
|
+ StudentDO student = studentMapper.selectByUserId(interviewInvite.getUserId());
|
|
|
|
+ if (null == student) {
|
|
|
|
+ log.error("面试通过,找不到学生信息{}", interviewInvite.getUserId());
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ StudentPracticeRecordDO practiceRecord = StudentPracticeRecordDO.builder()
|
|
|
|
+ .userId(student.getUserId())
|
|
|
|
+ .personId(student.getPersonId())
|
|
|
|
+ .studentId(student.getId())
|
|
|
|
+ .enterpriseId(interviewInvite.getEnterpriseId())
|
|
|
|
+ .jobId(interviewInvite.getJobId())
|
|
|
|
+ .inviteId(interviewInvite.getId())
|
|
|
|
+ .startTime(interviewInvite.getPracticeStartTime())
|
|
|
|
+ .endTime(interviewInvite.getPracticeEndTime())
|
|
|
|
+ .status(StudentPracticeStatusEnum.WAITING.getStatus())
|
|
|
|
+ .build();
|
|
|
|
+ // 创建记录
|
|
|
|
+ studentPracticeRecordMapper.insert(practiceRecord);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -397,6 +427,16 @@ public class InterviewInviteServiceImpl implements InterviewInviteService {
|
|
mapper.updateById(interviewInvite);
|
|
mapper.updateById(interviewInvite);
|
|
|
|
|
|
//TODO 发送推送消息
|
|
//TODO 发送推送消息
|
|
|
|
+
|
|
|
|
+ if (null != interviewInvite.getPracticeStartTime() && null != interviewInvite.getPracticeEndTime()) {
|
|
|
|
+ StudentPracticeRecordDO practiceRecord = studentPracticeRecordMapper.selectByInviteId(id);
|
|
|
|
+ if (null != practiceRecord) {
|
|
|
|
+ // 标记为进行中
|
|
|
|
+ practiceRecord.setStatus(StudentPracticeStatusEnum.IN_PROGRESS.getStatus());
|
|
|
|
+ studentPracticeRecordMapper.updateById(practiceRecord);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|