Ai-interviewer-system/src/main/java/com/yzdx/AiInterviewer/service/impl/InterviewSettingServiceImpl...

196 lines
7.5 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
@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);
}
}