招聘部分功能完善

This commit is contained in:
Unique-Jerry 2023-11-12 17:35:39 +08:00
parent cdbc9a4571
commit 5c986ff1ef
9 changed files with 406 additions and 30 deletions

View File

@ -160,7 +160,11 @@ public class QuestionController {
return R.success(questionDtoList);
}
@GetMapping("/search_questionList")
public R searchQuestionList(String name,String type,String encoding){
List<QuestionDto> questionDtos = questionService.searchQuestionList(name, type, encoding);
return R.success(questionDtos);
}
/**
* 添加题目
* @param addQuestionInfo 添加题目信息

View File

@ -64,29 +64,18 @@ public class RecruitmentController {
if (encoding==null){
return R.error(401,"身份验证失败,请重新登陆");
}
List<JobEntity> jobList = jobListService.getJobList(encoding);
List<JobDto> jobDtoList=new ArrayList<>();
List<JobDto> jobList = jobListService.getJobList(encoding);
return R.success(jobList);
}
@GetMapping("/search_job")
public R searchJob(String jobName,String jobType,String encoding){
List<JobDto> jobEntities = jobListService.searchJob(jobName, jobType, encoding);
return R.success(jobEntities);
for (JobEntity jobEntity: jobList) {
JobDto jobDto=new JobDto();
jobDto.setId(jobEntity.getId());
jobDto.setJobName(jobEntity.getJobName());
jobDto.setJobType(jobEntity.getJobType());
jobDto.setDetail(jobEntity.getDetails());
String number=jobEntity.getMinNumber()+"-"+jobEntity.getMaxNumber();
jobDto.setNumber(number);
String address= MyStringUtils.convertString(jobEntity.getAddress())+jobEntity.getAddressDetail();
jobDto.setAddress(address);
String salary=jobEntity.getMinSalary()+"-"+jobEntity.getMaxSalary();
jobDto.setSalary(salary);
jobDto.setStatus(jobEntity.getStatus());
jobDto.setCreateUser(jobEntity.getCreateUser());
jobDto.setCreateTime(jobEntity.getCreateTime());
jobDto.setUpdateUser(jobEntity.getUpdateUser());
jobDto.setUpdateTime(jobEntity.getUpdateTime());
jobDtoList.add(jobDto);
}
return R.success(jobDtoList);
}
@GetMapping("/get_jobById")
@ -205,11 +194,19 @@ public class RecruitmentController {
}
return R.success("添加岗位设置成功!");
}
@GetMapping("/get_jobSettingList")
public R getJobSettingList(String encoding){
List<JobSettingDto> jobSettingList = interviewSettingService.getJobSettingList(encoding);
return R.success(jobSettingList);
}
@GetMapping("/search_setting")
public R searchJobSettings(String jobName,String encoding){
List<JobSettingDto> jobSettingDtos = interviewSettingService.searchJobSetting(jobName, encoding);
return R.success(jobSettingDtos);
}
@GetMapping("/delete_jobJobSetting")
public R deleteJobSetting(Integer id){
@ -221,6 +218,7 @@ public class RecruitmentController {
}
return R.success("删除成功!");
}
@PostMapping("/update_jobJobSetting")
public R updateJobSetting(@RequestBody Map<String,Object> updateInfo){
Integer id = (Integer) updateInfo.get("id");

View File

@ -40,6 +40,15 @@ public interface InterviewSettingService extends IService<InterviewSetting> {
* */
List<JobSettingDto> getJobSettingList(String encoding);
/**
* 搜索面试设置
* @param jobName 搜索的面试设置的岗位名称
* @param encoding 公司编码
* @return 搜索列表
*
* */
List<JobSettingDto> searchJobSetting(String jobName,String encoding);
/**
* 根据没你事设置id删除面试设置
* @param id 岗位设置的id

View File

@ -2,6 +2,7 @@ package com.yzdx.AiInterviewer.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yzdx.AiInterviewer.entity.JobEntity;
import com.yzdx.AiInterviewer.entity.dto.JobDto;
import java.util.List;
@ -48,7 +49,16 @@ public interface JobListService extends IService<JobEntity> {
* @param encoding 公司编码
* @return 岗位列表
* */
List<JobEntity> getJobList(String encoding);
List<JobDto> getJobList(String encoding);
/**
* 搜索岗位
* @param jobName 搜索的岗位名称
* @param jobType 搜索的岗位类型
* @param encoding 公司编码
* @return 返回jonList
*
* */
List<JobDto> searchJob(String jobName,String jobType,String encoding);
/**
* 根据id查岗位

View File

@ -14,7 +14,16 @@ public interface QuestionService extends IService<Question> {
* @return 题目列表
* */
List<QuestionDto> getQuestionList(String encoding);
/**
* 搜索题目
* @param name 题目名称
* @param type 题库类型
* @param encoding 公司编码
* @return 题目列表
*
*
* */
List<QuestionDto> searchQuestionList(String name,String type,String encoding);
/**
* 增加题目
* @param encoding 公司编码

View File

@ -151,6 +151,115 @@ public class InterviewSettingServiceImpl extends ServiceImpl<InterviewSettingMap
return jobSettingDtoList;
}
@Override
public List<JobSettingDto> searchJobSetting(String jobName, String encoding) {
if(jobName.equals("")){
return null;
}
LambdaQueryWrapper<JobEntity> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.like(JobEntity::getJobName,jobName).eq(JobEntity::getCompanyEncoding,encoding);
List<JobEntity> jobEntities = jobMapper.selectList(queryWrapper);
List<Integer> jobIdList=jobEntities.stream().map((item)->{
Integer id=item.getId();
return id;
}).collect(Collectors.toList());
System.out.println(jobIdList.toString());
if(jobIdList.size()==0){
return null;
}
LambdaQueryWrapper<InterviewSetting> interviewSettingLambdaQueryWrapper=new LambdaQueryWrapper<>();
interviewSettingLambdaQueryWrapper.in(InterviewSetting::getJobId,jobIdList);
List<InterviewSetting> interviewSettings = interviewSettingMapper.selectList(interviewSettingLambdaQueryWrapper);
//数据处理
List<JobSettingDto> jobSettingDtoList= interviewSettings.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<>();

View File

@ -3,13 +3,18 @@ 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.JobEntity;
import com.yzdx.AiInterviewer.entity.dto.JobDto;
import com.yzdx.AiInterviewer.entity.dto.QuestionDto;
import com.yzdx.AiInterviewer.mapper.JobMapper;
import com.yzdx.AiInterviewer.service.JobListService;
import com.yzdx.AiInterviewer.utiles.MyStringUtils;
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.List;
import java.util.stream.Collectors;
@Service
public class JobListServiceImpl extends ServiceImpl<JobMapper, JobEntity> implements JobListService {
@ -55,14 +60,130 @@ public class JobListServiceImpl extends ServiceImpl<JobMapper, JobEntity> implem
}
@Override
public List<JobEntity> getJobList(String encoding) {
public List<JobDto> getJobList(String encoding) {
LambdaQueryWrapper<JobEntity> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(JobEntity::getCompanyEncoding,encoding);
List<JobEntity> jobEntities = jobMapper.selectList(queryWrapper);
List<JobDto> jobDtoList = jobEntities.stream().map((item) -> {
return jobEntities;
JobDto jobDto=new JobDto();
jobDto.setId(item.getId());
jobDto.setJobName(item.getJobName());
jobDto.setJobType(item.getJobType());
jobDto.setDetail(item.getDetails());
String number=item.getMinNumber()+"-"+item.getMaxNumber();
jobDto.setNumber(number);
String address= MyStringUtils.convertString(item.getAddress())+item.getAddressDetail();
jobDto.setAddress(address);
String salary=item.getMinSalary()+"-"+item.getMaxSalary();
jobDto.setSalary(salary);
jobDto.setStatus(item.getStatus());
jobDto.setCreateUser(item.getCreateUser());
jobDto.setCreateTime(item.getCreateTime());
jobDto.setUpdateUser(item.getUpdateUser());
jobDto.setUpdateTime(item.getUpdateTime());
return jobDto;
}).collect(Collectors.toList());
return jobDtoList;
}
@Override
public List<JobDto> searchJob(String jobName, String jobType, String encoding) {
if(!jobName.equals("")){
if(!jobType.equals("")){
LambdaQueryWrapper<JobEntity> queryWrapper =new LambdaQueryWrapper<>();
queryWrapper.like(JobEntity::getJobName,jobName).eq(JobEntity::getJobType,jobType).eq(JobEntity::getCompanyEncoding,encoding);
List<JobEntity> jobEntities = jobMapper.selectList(queryWrapper);
List<JobDto> jobDtoList = jobEntities.stream().map((item) -> {
JobDto jobDto=new JobDto();
jobDto.setId(item.getId());
jobDto.setJobName(item.getJobName());
jobDto.setJobType(item.getJobType());
jobDto.setDetail(item.getDetails());
String number=item.getMinNumber()+"-"+item.getMaxNumber();
jobDto.setNumber(number);
String address= MyStringUtils.convertString(item.getAddress())+item.getAddressDetail();
jobDto.setAddress(address);
String salary=item.getMinSalary()+"-"+item.getMaxSalary();
jobDto.setSalary(salary);
jobDto.setStatus(item.getStatus());
jobDto.setCreateUser(item.getCreateUser());
jobDto.setCreateTime(item.getCreateTime());
jobDto.setUpdateUser(item.getUpdateUser());
jobDto.setUpdateTime(item.getUpdateTime());
return jobDto;
}).collect(Collectors.toList());
return jobDtoList;
}else{
LambdaQueryWrapper<JobEntity> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.like(JobEntity::getJobName,jobName).eq(JobEntity::getCompanyEncoding,encoding);
List<JobEntity> jobEntities = jobMapper.selectList(queryWrapper);
List<JobDto> jobDtoList = jobEntities.stream().map((item) -> {
JobDto jobDto=new JobDto();
jobDto.setId(item.getId());
jobDto.setJobName(item.getJobName());
jobDto.setJobType(item.getJobType());
jobDto.setDetail(item.getDetails());
String number=item.getMinNumber()+"-"+item.getMaxNumber();
jobDto.setNumber(number);
String address= MyStringUtils.convertString(item.getAddress())+item.getAddressDetail();
jobDto.setAddress(address);
String salary=item.getMinSalary()+"-"+item.getMaxSalary();
jobDto.setSalary(salary);
jobDto.setStatus(item.getStatus());
jobDto.setCreateUser(item.getCreateUser());
jobDto.setCreateTime(item.getCreateTime());
jobDto.setUpdateUser(item.getUpdateUser());
jobDto.setUpdateTime(item.getUpdateTime());
return jobDto;
}).collect(Collectors.toList());
return jobDtoList;
}
}else{
if(!jobType.equals("")){
LambdaQueryWrapper<JobEntity> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(JobEntity::getJobType,jobType).eq(JobEntity::getCompanyEncoding,encoding);
List<JobEntity> jobEntities = jobMapper.selectList(queryWrapper);
List<JobDto> jobDtoList = jobEntities.stream().map((item) -> {
JobDto jobDto=new JobDto();
jobDto.setId(item.getId());
jobDto.setJobName(item.getJobName());
jobDto.setJobType(item.getJobType());
jobDto.setDetail(item.getDetails());
String number=item.getMinNumber()+"-"+item.getMaxNumber();
jobDto.setNumber(number);
String address= MyStringUtils.convertString(item.getAddress())+item.getAddressDetail();
jobDto.setAddress(address);
String salary=item.getMinSalary()+"-"+item.getMaxSalary();
jobDto.setSalary(salary);
jobDto.setStatus(item.getStatus());
jobDto.setCreateUser(item.getCreateUser());
jobDto.setCreateTime(item.getCreateTime());
jobDto.setUpdateUser(item.getUpdateUser());
jobDto.setUpdateTime(item.getUpdateTime());
return jobDto;
}).collect(Collectors.toList());
return jobDtoList;
}else{
return null;
}
}
}
@Override

View File

@ -36,8 +36,8 @@ public class QuestionBankServiceImpl extends ServiceImpl<QuestionBankMapper, Que
@Override
public List<QuestionBank> searchTypeList(String name, String type,String encoding) {
if (name!=null) {
if (type==null) {
if (!name.equals("")) {
if (type.equals("")) {
LambdaQueryWrapper<QuestionBank> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.like(QuestionBank::getTypeName,name).eq(QuestionBank::getCompanyEncoding,encoding);
@ -57,7 +57,7 @@ public class QuestionBankServiceImpl extends ServiceImpl<QuestionBankMapper, Que
}
}else {
if(type!=null){
if(!type.equals("")){
LambdaQueryWrapper<QuestionBank> queryWrapper=new LambdaQueryWrapper<>();

View File

@ -74,6 +74,122 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
return questionDtoList;
}
@Override
public List<QuestionDto> searchQuestionList(String name, String type, String encoding) {
if(!name.equals("")){
if(!type.equals("")){
LambdaQueryWrapper<Question> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.like(Question::getTitle,name).eq(Question::getCompanyEncoding,encoding).eq(Question::getBankId,type);
List<Question> questions = questionMapper.selectList(queryWrapper);
List<QuestionDto> questionDtoList = questions.stream().map((item) -> {
QuestionDto questionDto=new QuestionDto();
BeanUtils.copyProperties(item,questionDto);
Integer createUserId = item.getCreateUser();//创建人id
//根据id查询创建对象名称
User findCreateUser = userService.getUserById(createUserId);
if(findCreateUser != null){
String createUserName = findCreateUser.getUsername();
questionDto.setCreateUserName(createUserName);
}
Integer updateUserId = item.getUpdateUser();
//根据id查询更新对象名称
User findUpdateUser = userService.getUserById(updateUserId);
if(findUpdateUser != null){
String updateUserName = findUpdateUser.getUsername();
questionDto.setUpdateUserName(updateUserName);
}
Integer typeId = item.getBankId();
//根据id查询题库名称
QuestionBank findBank = questionBankService.getBankById(typeId);
if(findBank != null){
String typeNameName = findBank.getTypeName();
questionDto.setTypeName(typeNameName);
}
return questionDto;
}).collect(Collectors.toList());
return questionDtoList;
}else {
LambdaQueryWrapper<Question> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.like(Question::getTitle,name).eq(Question::getCompanyEncoding,encoding);
List<Question> questions = questionMapper.selectList(queryWrapper);
List<QuestionDto> questionDtoList = questions.stream().map((item) -> {
QuestionDto questionDto=new QuestionDto();
BeanUtils.copyProperties(item,questionDto);
Integer createUserId = item.getCreateUser();//创建人id
//根据id查询创建对象名称
User findCreateUser = userService.getUserById(createUserId);
if(findCreateUser != null){
String createUserName = findCreateUser.getUsername();
questionDto.setCreateUserName(createUserName);
}
Integer updateUserId = item.getUpdateUser();
//根据id查询更新对象名称
User findUpdateUser = userService.getUserById(updateUserId);
if(findUpdateUser != null){
String updateUserName = findUpdateUser.getUsername();
questionDto.setUpdateUserName(updateUserName);
}
Integer typeId = item.getBankId();
//根据id查询题库名称
QuestionBank findBank = questionBankService.getBankById(typeId);
if(findBank != null){
String typeNameName = findBank.getTypeName();
questionDto.setTypeName(typeNameName);
}
return questionDto;
}).collect(Collectors.toList());
return questionDtoList;
}
}else{
if(!type.equals("")){
LambdaQueryWrapper<Question> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.like(Question::getCompanyEncoding,encoding).eq(Question::getBankId,type);
List<Question> questions = questionMapper.selectList(queryWrapper);
List<QuestionDto> questionDtoList = questions.stream().map((item) -> {
QuestionDto questionDto=new QuestionDto();
BeanUtils.copyProperties(item,questionDto);
Integer createUserId = item.getCreateUser();//创建人id
//根据id查询创建对象名称
User findCreateUser = userService.getUserById(createUserId);
if(findCreateUser != null){
String createUserName = findCreateUser.getUsername();
questionDto.setCreateUserName(createUserName);
}
Integer updateUserId = item.getUpdateUser();
//根据id查询更新对象名称
User findUpdateUser = userService.getUserById(updateUserId);
if(findUpdateUser != null){
String updateUserName = findUpdateUser.getUsername();
questionDto.setUpdateUserName(updateUserName);
}
Integer typeId = item.getBankId();
//根据id查询题库名称
QuestionBank findBank = questionBankService.getBankById(typeId);
if(findBank != null){
String typeNameName = findBank.getTypeName();
questionDto.setTypeName(typeNameName);
}
return questionDto;
}).collect(Collectors.toList());
return questionDtoList;
}else{
return null;
}
}
}
@Override
public Integer addQuestion(String title, Integer bankId, String details, String promote, String encoding, Integer userId) {
//判断题目标题是否重复