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 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 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 getJobSettingList(String encoding) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(InterviewSetting::getEncoding,encoding); List interviewSettingList = interviewSettingMapper.selectList(queryWrapper); List jobSettingDtoList= interviewSettingList.stream().map((item) -> { JobSettingDto jobSettingDto=new JobSettingDto(); BeanUtils.copyProperties(item,jobSettingDto); //得到岗位名称 LambdaQueryWrapper jobEntityLambdaQueryWrapper=new LambdaQueryWrapper<>(); jobEntityLambdaQueryWrapper.eq(JobEntity::getId,jobSettingDto.getJobId()); JobEntity findJob = jobMapper.selectOne(jobEntityLambdaQueryWrapper); jobSettingDto.setJobName(findJob.getJobName()); //得到背景图片Url地址 LambdaQueryWrapper backgroundEntityLambdaQueryWrapper=new LambdaQueryWrapper<>(); backgroundEntityLambdaQueryWrapper.eq(BackgroundEntity::getId,jobSettingDto.getBackgroundId()); BackgroundEntity findBackground = backgroundMapper.selectOne(backgroundEntityLambdaQueryWrapper); jobSettingDto.setBackgroundUrl(findBackground.getImage()); //得到形象图片Url地址 LambdaQueryWrapper imagesEntityLambdaQueryWrapper=new LambdaQueryWrapper<>(); imagesEntityLambdaQueryWrapper.eq(ImagesEntity::getId,jobSettingDto.getImagesId()); ImagesEntity findImage = imagesMapper.selectOne(imagesEntityLambdaQueryWrapper); jobSettingDto.setImageUrl(findImage.getImage()); //得到logo地址 LambdaQueryWrapper logoEntityLambdaQueryWrapper=new LambdaQueryWrapper<>(); logoEntityLambdaQueryWrapper.eq(LogoEntity::getId,jobSettingDto.getLogoId()); LogoEntity findLogo = logoMapper.selectOne(logoEntityLambdaQueryWrapper); jobSettingDto.setLogoUrl(findLogo.getImage()); List questionTypes=new ArrayList<>(); if (jobSettingDto.getProfessional()!=0) { LambdaQueryWrapper professionalQueryWrapper=new LambdaQueryWrapper<>(); professionalQueryWrapper.eq(QuestionBank::getId,jobSettingDto.getProfessional()); QuestionBank findProfessional = bankMapper.selectOne(professionalQueryWrapper); questionTypes.add(findProfessional.getTypeName()); } if (jobSettingDto.getComprehensive()!=0) { LambdaQueryWrapper comprehensiveQueryWrapper=new LambdaQueryWrapper<>(); comprehensiveQueryWrapper.eq(QuestionBank::getId,jobSettingDto.getComprehensive()); QuestionBank findComprehensive = bankMapper.selectOne(comprehensiveQueryWrapper); questionTypes.add(findComprehensive.getTypeName()); } if (jobSettingDto.getPsychology()!=0) { LambdaQueryWrapper 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 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 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); } }