2023-11-04 16:30:50 +00:00
|
|
|
|
package com.yzdx.AiInterviewer.service.impl;
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
import com.yzdx.AiInterviewer.entity.*;
|
|
|
|
|
import com.yzdx.AiInterviewer.entity.dto.JobSettingDto;
|
|
|
|
|
import com.yzdx.AiInterviewer.mapper.*;
|
|
|
|
|
import com.yzdx.AiInterviewer.service.InterviewSettingService;
|
|
|
|
|
import com.yzdx.AiInterviewer.utiles.TimeUtil;
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
|
public class InterviewSettingServiceImpl extends ServiceImpl<InterviewSettingMapper, InterviewSetting> implements InterviewSettingService {
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private InterviewSettingMapper interviewSettingMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
private JobMapper jobMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
private InterviewBackgroundMapper backgroundMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
private InterviewImagesMapper imagesMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
private InterviewLogoMapper logoMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
private QuestionBankMapper bankMapper;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Integer addJobSetting(Integer jobId, Integer imagesId, Integer backgroundId,
|
|
|
|
|
Integer logoId, Integer Professional, Integer Comprehensive,
|
|
|
|
|
Integer Psychology, Integer userId, String jobPromote,String encoding) {
|
|
|
|
|
//查询jobId是否存在,存在的话只能修改
|
|
|
|
|
LambdaQueryWrapper<InterviewSetting> queryWrapper=new LambdaQueryWrapper<>();
|
|
|
|
|
|
|
|
|
|
queryWrapper.eq(InterviewSetting::getJobId,jobId);
|
|
|
|
|
|
|
|
|
|
InterviewSetting findSetting = interviewSettingMapper.selectOne(queryWrapper);
|
|
|
|
|
|
|
|
|
|
if(findSetting!=null){
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
//不存在,继续添加
|
|
|
|
|
InterviewSetting newSetting=new InterviewSetting();
|
|
|
|
|
|
|
|
|
|
newSetting.setJobId(jobId);
|
|
|
|
|
newSetting.setImagesId(imagesId);
|
|
|
|
|
newSetting.setBackgroundId(backgroundId);
|
|
|
|
|
newSetting.setJobPromote(jobPromote);
|
|
|
|
|
newSetting.setLogoId(logoId);
|
|
|
|
|
newSetting.setProfessional(Professional);
|
|
|
|
|
newSetting.setComprehensive(Comprehensive);
|
|
|
|
|
newSetting.setPsychology(Psychology);
|
|
|
|
|
newSetting.setCreateUser(userId);
|
|
|
|
|
newSetting.setCreateTime(TimeUtil.getTime());
|
|
|
|
|
newSetting.setEncoding(encoding);
|
|
|
|
|
|
|
|
|
|
return interviewSettingMapper.insert(newSetting);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<JobSettingDto> getJobSettingList(String encoding) {
|
|
|
|
|
LambdaQueryWrapper<InterviewSetting> queryWrapper=new LambdaQueryWrapper<>();
|
|
|
|
|
|
|
|
|
|
queryWrapper.eq(InterviewSetting::getEncoding,encoding);
|
|
|
|
|
|
|
|
|
|
List<InterviewSetting> interviewSettingList = interviewSettingMapper.selectList(queryWrapper);
|
|
|
|
|
|
|
|
|
|
List<JobSettingDto> jobSettingDtoList= interviewSettingList.stream().map((item) -> {
|
|
|
|
|
JobSettingDto jobSettingDto=new JobSettingDto();
|
|
|
|
|
|
|
|
|
|
BeanUtils.copyProperties(item,jobSettingDto);
|
|
|
|
|
|
|
|
|
|
//得到岗位名称
|
|
|
|
|
LambdaQueryWrapper<JobEntity> jobEntityLambdaQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
|
|
|
|
|
|
|
jobEntityLambdaQueryWrapper.eq(JobEntity::getId,jobSettingDto.getJobId());
|
|
|
|
|
|
|
|
|
|
JobEntity findJob = jobMapper.selectOne(jobEntityLambdaQueryWrapper);
|
|
|
|
|
|
|
|
|
|
jobSettingDto.setJobName(findJob.getJobName());
|
|
|
|
|
|
|
|
|
|
//得到背景图片Url地址
|
|
|
|
|
LambdaQueryWrapper<BackgroundEntity> backgroundEntityLambdaQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
|
|
|
|
|
|
|
backgroundEntityLambdaQueryWrapper.eq(BackgroundEntity::getId,jobSettingDto.getBackgroundId());
|
|
|
|
|
|
|
|
|
|
BackgroundEntity findBackground = backgroundMapper.selectOne(backgroundEntityLambdaQueryWrapper);
|
|
|
|
|
|
|
|
|
|
jobSettingDto.setBackgroundUrl(findBackground.getImage());
|
|
|
|
|
|
|
|
|
|
//得到形象图片Url地址
|
|
|
|
|
LambdaQueryWrapper<ImagesEntity> imagesEntityLambdaQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
|
|
|
|
|
|
|
imagesEntityLambdaQueryWrapper.eq(ImagesEntity::getId,jobSettingDto.getImagesId());
|
|
|
|
|
|
|
|
|
|
ImagesEntity findImage = imagesMapper.selectOne(imagesEntityLambdaQueryWrapper);
|
|
|
|
|
|
|
|
|
|
jobSettingDto.setImageUrl(findImage.getImage());
|
|
|
|
|
|
|
|
|
|
//得到logo地址
|
|
|
|
|
LambdaQueryWrapper<LogoEntity> logoEntityLambdaQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
|
|
|
|
|
|
|
logoEntityLambdaQueryWrapper.eq(LogoEntity::getId,jobSettingDto.getLogoId());
|
|
|
|
|
|
|
|
|
|
LogoEntity findLogo = logoMapper.selectOne(logoEntityLambdaQueryWrapper);
|
|
|
|
|
|
|
|
|
|
jobSettingDto.setLogoUrl(findLogo.getImage());
|
|
|
|
|
|
|
|
|
|
List<String> questionTypes=new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
if (jobSettingDto.getProfessional()!=0) {
|
|
|
|
|
LambdaQueryWrapper<QuestionBank> professionalQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
|
|
|
|
|
|
|
professionalQueryWrapper.eq(QuestionBank::getId,jobSettingDto.getProfessional());
|
|
|
|
|
|
|
|
|
|
QuestionBank findProfessional = bankMapper.selectOne(professionalQueryWrapper);
|
|
|
|
|
|
|
|
|
|
questionTypes.add(findProfessional.getTypeName());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (jobSettingDto.getComprehensive()!=0) {
|
|
|
|
|
LambdaQueryWrapper<QuestionBank> comprehensiveQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
|
|
|
|
|
|
|
comprehensiveQueryWrapper.eq(QuestionBank::getId,jobSettingDto.getComprehensive());
|
|
|
|
|
|
|
|
|
|
QuestionBank findComprehensive = bankMapper.selectOne(comprehensiveQueryWrapper);
|
|
|
|
|
|
|
|
|
|
questionTypes.add(findComprehensive.getTypeName());
|
|
|
|
|
}
|
|
|
|
|
if (jobSettingDto.getPsychology()!=0) {
|
|
|
|
|
LambdaQueryWrapper<QuestionBank> psychologyQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
|
|
|
|
|
|
|
psychologyQueryWrapper.eq(QuestionBank::getId,jobSettingDto.getPsychology());
|
|
|
|
|
|
|
|
|
|
QuestionBank findPsychology = bankMapper.selectOne(psychologyQueryWrapper);
|
|
|
|
|
|
|
|
|
|
questionTypes.add(findPsychology.getTypeName());
|
|
|
|
|
}
|
|
|
|
|
jobSettingDto.setQuestionTypes(questionTypes);
|
|
|
|
|
|
|
|
|
|
return jobSettingDto;
|
|
|
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
return jobSettingDtoList;
|
|
|
|
|
}
|
2023-11-10 10:28:31 +00:00
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Integer deleteJobSetting(Integer id) {
|
|
|
|
|
LambdaQueryWrapper<InterviewSetting> queryWrapper=new LambdaQueryWrapper<>();
|
|
|
|
|
|
|
|
|
|
queryWrapper.eq(InterviewSetting::getId,id);
|
|
|
|
|
|
|
|
|
|
InterviewSetting findJobSetting = interviewSettingMapper.selectOne(queryWrapper);
|
|
|
|
|
|
|
|
|
|
if(findJobSetting==null){
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
Integer rows = interviewSettingMapper.deleteById(id);
|
|
|
|
|
|
|
|
|
|
return rows;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Integer updateJobSetting(Integer id, Integer jobId, Integer imagesId, Integer backgroundId, Integer logoId, Integer Professional, Integer Comprehensive, Integer Psychology, Integer userId, String jobPromote, String encoding) {
|
|
|
|
|
//根据id查找岗位设置
|
|
|
|
|
LambdaQueryWrapper<InterviewSetting> queryWrapper=new LambdaQueryWrapper<>();
|
|
|
|
|
|
|
|
|
|
queryWrapper.eq(InterviewSetting::getId,id);
|
|
|
|
|
|
|
|
|
|
InterviewSetting findSetting = interviewSettingMapper.selectOne(queryWrapper);
|
|
|
|
|
|
|
|
|
|
if(findSetting==null){
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
findSetting.setImagesId(imagesId);
|
|
|
|
|
findSetting.setLogoId(logoId);
|
|
|
|
|
findSetting.setBackgroundId(backgroundId);
|
|
|
|
|
findSetting.setPsychology(Psychology);
|
|
|
|
|
findSetting.setProfessional(Professional);
|
|
|
|
|
findSetting.setComprehensive(Comprehensive);
|
|
|
|
|
findSetting.setUpdateTime(TimeUtil.getTime());
|
|
|
|
|
findSetting.setUpdateUser(userId);
|
|
|
|
|
|
|
|
|
|
return interviewSettingMapper.updateById(findSetting);
|
|
|
|
|
|
|
|
|
|
}
|
2023-11-04 16:30:50 +00:00
|
|
|
|
}
|