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

196 lines
7.5 KiB
Java
Raw Normal View History

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
}