package com.yzdx.AiInterviewer.controller; import com.yzdx.AiInterviewer.comment.R; import com.yzdx.AiInterviewer.entity.Company; import com.yzdx.AiInterviewer.entity.JobEntity; import com.yzdx.AiInterviewer.entity.dto.JobDto; import com.yzdx.AiInterviewer.entity.dto.JobSettingDto; import com.yzdx.AiInterviewer.service.CompanyService; import com.yzdx.AiInterviewer.service.InterviewSettingService; import com.yzdx.AiInterviewer.service.JobListService; import com.yzdx.AiInterviewer.utiles.MyStringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpSession; import java.io.File; import java.io.IOException; import java.util.*; @RestController @RequestMapping("/recruitment") public class RecruitmentController { @Autowired private JobListService jobListService; @Autowired private InterviewSettingService interviewSettingService; @Autowired private CompanyService companyService; @PostMapping("/add_job") public R addJob(@RequestBody Map addInfo){ if (addInfo.size()!=15){ return R.error("表格数据不全,请检查输入"); } List address = (List) addInfo.get("address"); String address_detail = (String) addInfo.get("addressDetail"); String details = (String) addInfo.get("details"); String jobName = (String) addInfo.get("jobName"); String startTime = (String) addInfo.get("startTime"); String endTime = (String) addInfo.get("endTime"); List jobTips = (List) addInfo.get("jobTips"); Integer jobType = (Integer) addInfo.get("jobType"); String min_salary = (String) addInfo.get("minSalary"); String max_salary = (String) addInfo.get("maxSalary"); String min_number = (String) addInfo.get("minNumber"); String max_number = (String) addInfo.get("maxNumber"); Integer requirement = (Integer) addInfo.get("requirement"); Integer userId = (Integer) addInfo.get("userId"); String encoding = (String) addInfo.get("encoding"); Integer rows=jobListService.addJob(address,address_detail,details,jobName,startTime,endTime,jobTips,jobType,min_salary,max_salary,min_number,max_number,requirement,userId,encoding); if(rows==-2){ return R.error("岗位名称已存在!"); } return R.success("添加岗位成功"); } @GetMapping("/get_jobList") public R getJobList(String encoding){ if (encoding==null){ return R.error(401,"身份验证失败,请重新登陆"); } List jobList = jobListService.getJobList(encoding); List jobDtoList=new ArrayList<>(); 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") public R getJobById(Integer id){ if(id==null){ return R.error("获取失败"); } JobEntity jobById = jobListService.getJobById(id); if(jobById==null){ return R.error("出错了,请联系管理员!"); } return R.success(jobById); } @PostMapping("/update_job") public R updateJob(@RequestBody Map updateInfo){ if (updateInfo.size()!=16){ return R.error("表格数据不全,请检查输入"); } Integer id=(Integer) updateInfo.get("id") ; List address = (List) updateInfo.get("address"); String address_detail = (String) updateInfo.get("addressDetail"); String details = (String) updateInfo.get("details"); String jobName = (String) updateInfo.get("jobName"); String startTime = (String) updateInfo.get("startTime"); String endTime = (String) updateInfo.get("endTime"); List jobTips = (List) updateInfo.get("jobTips"); Integer jobType = (Integer) updateInfo.get("jobType"); String min_salary = (String) updateInfo.get("minSalary"); String max_salary = (String) updateInfo.get("maxSalary"); String min_number = (String) updateInfo.get("minNumber"); String max_number = (String) updateInfo.get("maxNumber"); Integer requirement = (Integer) updateInfo.get("requirement"); Integer userId = (Integer) updateInfo.get("userId"); String encoding = (String) updateInfo.get("encoding"); Integer rows=jobListService.updateJob(id,address,address_detail,details,jobName,startTime,endTime,jobTips,jobType,min_salary,max_salary,min_number,max_number,requirement,userId,encoding); if (rows==-1){ return R.error("获取岗位信息失败,请稍后再试!"); } if(rows==-2){ return R.error("岗位名称已存在!"); } return R.success("修改岗位成功"); } @PostMapping("/update_jobStatus") public R changeJobStatus(@RequestBody Map updateInfo){ if(updateInfo.size()!=2){ // 修改状态失败 return R.error("修改状态失败"); } Integer id=(Integer) updateInfo.get("id"); Integer userId=(Integer) updateInfo.get("userId"); Integer row = jobListService.changeJobStatus(id, userId); if (row==-1){ return R.error("修改失败,请联系管理员!"); } return R.success("修改岗位状态成功"); } @GetMapping("/delete_job") public R deleteJob(Integer id) { if (id == null) { return R.error("出错了,请联系管理员!"); } Integer rows = jobListService.deleteJob(id); if (rows != 1) { return R.error("删除失败! 请联系管理员!"); } return R.success("删除岗位成功!"); } @PostMapping("/add_jobSetting") public R addJobSetting(@RequestBody Map addInfo){ Integer jobId = (Integer) addInfo.get("jobId"); Integer imagesId = (Integer) addInfo.get("imagesId"); Integer backgroundId = (Integer) addInfo.get("backgroundId"); Integer logoId = (Integer) addInfo.get("logoId"); Integer Professional = null; try { Professional = (Integer) addInfo.get("Professional"); } catch (Exception e) { } Integer Comprehensive = null; try { Comprehensive = (Integer) addInfo.get("Comprehensive"); } catch (Exception e) { } Integer Psychology = null; try { Psychology = (Integer) addInfo.get("Psychology"); } catch (Exception e) { } Integer userId = (Integer) addInfo.get("userId"); String jobPromote = (String) addInfo.get("jobPromote"); String encoding = (String) addInfo.get("encoding"); Integer rows = interviewSettingService.addJobSetting(jobId, imagesId, backgroundId, logoId, Professional, Comprehensive, Psychology, userId, jobPromote, encoding); if(rows==-1){ return R.error("添加设置失败,岗位的设置已存在!"); } return R.success("添加岗位设置成功!"); } @GetMapping("/get_jobSettingList") public R getJobSettingList(String encoding){ List jobSettingList = interviewSettingService.getJobSettingList(encoding); return R.success(jobSettingList); } @GetMapping("/delete_jobJobSetting") public R deleteJobSetting(Integer id){ Integer rows = interviewSettingService.deleteJobSetting(id); if(rows==-1){ R.error("删除失败,请联系管理员"); } return R.success("删除成功!"); } @PostMapping("/update_jobJobSetting") public R updateJobSetting(@RequestBody Map updateInfo){ Integer id = (Integer) updateInfo.get("id"); Integer jobId = (Integer) updateInfo.get("jobId"); Integer imagesId = (Integer) updateInfo.get("imagesId"); Integer backgroundId = (Integer) updateInfo.get("backgroundId"); Integer logoId = (Integer) updateInfo.get("logoId"); Integer Professional = null; try { Professional = (Integer) updateInfo.get("professional"); } catch (Exception e) { } Integer Comprehensive = null; try { Comprehensive = (Integer) updateInfo.get("comprehensive"); } catch (Exception e) { } Integer Psychology = null; try { Psychology = (Integer) updateInfo.get("psychology"); } catch (Exception e) { } Integer userId = (Integer) updateInfo.get("userId"); String jobPromote = (String) updateInfo.get("jobPromote"); String encoding = (String) updateInfo.get("encoding"); Integer rows= interviewSettingService.updateJobSetting(id,jobId, imagesId, backgroundId, logoId, Professional, Comprehensive, Psychology, userId, jobPromote, encoding); if(rows==-1){ return R.error("修改失败"); } return R.success("修改成功"); } @GetMapping("/get_companyDetail") public R getCompanyDetail(String encoding){ if(encoding==null){ return R.error("获取失败"); } Company companyDetail = companyService.getCompanyDetail(encoding); if(companyDetail==null){ return R.error("获取失败"); } return R.success(companyDetail); } }