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 io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.*; @RestController @RequestMapping("/recruitment") public class RecruitmentController { @Autowired private JobListService jobListService; @Autowired private InterviewSettingService interviewSettingService; @Autowired private CompanyService companyService; @ResponseBody @ApiImplicitParams({ @ApiImplicitParam(name = "address",required = true), @ApiImplicitParam(name = "addressDetail",required = true), @ApiImplicitParam(name = "details",required = true), @ApiImplicitParam(name = "jobName",required = true), @ApiImplicitParam(name = "startTime",required = true), @ApiImplicitParam(name = "endTime",required = true), @ApiImplicitParam(name = "jobTips",required = true), @ApiImplicitParam(name = "jobType",required = true), @ApiImplicitParam(name = "minSalary",required = true), @ApiImplicitParam(name = "maxSalary",required = true), @ApiImplicitParam(name = "minNumber",required = true), @ApiImplicitParam(name = "maxNumber",required = true), @ApiImplicitParam(name = "requirement",required = true), @ApiImplicitParam(name = "userId",required = true), @ApiImplicitParam(name = "encoding",required = true), }) @PostMapping("/add_job") @ApiOperation(value = "添加岗位",notes = "") public R addJob(@RequestParam(required = true, value = "address") List address, @RequestParam(required = true, value = "addressDetail") String address_detail, @RequestParam(required = true, value = "details") String details, @RequestParam(required = true, value = "jobName") String jobName, @RequestParam(required = true, value = "startTime") String startTime, @RequestParam(required = true, value = "endTime") String endTime, @RequestParam(required = true, value = "jobTips") List jobTips, @RequestParam(required = true, value = "jobType") Integer jobType, @RequestParam(required = true, value = "minSalary") String min_salary, @RequestParam(required = true, value = "maxSalary") String max_salary, @RequestParam(required = true, value = "minNumber") String min_number, @RequestParam(required = true, value = "maxNumber") String max_number, @RequestParam(required = true, value = "requirement") Integer requirement, @RequestParam(required = true, value = "userId") Integer userId, @RequestParam(required = true, value = "encoding") String 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") @ApiOperation(value = "根据公司编码获取岗位列表",notes = "") public R getJobList(@ApiParam("String encoding") String encoding){ if (encoding==null){ return R.error(401,"身份验证失败,请重新登陆"); } List jobList = jobListService.getJobList(encoding); return R.success(jobList); } @GetMapping("/search_job") @ApiOperation(value = "搜索岗位",notes = "") public R searchJob(@ApiParam("(String) jobName,(String) jobType,(String) encoding 注释:jobName和jobType可选填一个,encoding必填")String jobName,String jobType,String encoding){ List jobEntities = jobListService.searchJob(jobName, jobType, encoding); return R.success(jobEntities); } @GetMapping("/get_jobById") @ApiOperation(value = "根据岗位ID获取岗位信息",notes = "") public R getJobById(@ApiParam("Integer id") Integer id){ if(id==null){ return R.error("获取失败"); } JobEntity jobById = jobListService.getJobById(id); if(jobById==null){ return R.error("出错了,请联系管理员!"); } return R.success(jobById); } @ResponseBody @ApiImplicitParams({ @ApiImplicitParam(name = "id",required = true), @ApiImplicitParam(name = "address",required = true), @ApiImplicitParam(name = "address_detail",required = true), @ApiImplicitParam(name = "details",required = true), @ApiImplicitParam(name = "jobName",required = true), @ApiImplicitParam(name = "startTime",required = true), @ApiImplicitParam(name = "endTime",required = true), @ApiImplicitParam(name = "jobTips",required = true), @ApiImplicitParam(name = "jobType",required = true), @ApiImplicitParam(name = "min_salary",required = true), @ApiImplicitParam(name = "maxSalary",required = true), @ApiImplicitParam(name = "min_number",required = true), @ApiImplicitParam(name = "max_number",required = true), @ApiImplicitParam(name = "requirement",required = true), @ApiImplicitParam(name = "userId",required = true), @ApiImplicitParam(name = "encoding",required = true), }) @PostMapping("/update_job") @ApiOperation(value = "更新岗位信息",notes = "") public R updateJob(@RequestParam(required = true, value = "id") Integer id, @RequestParam(required = true, value = "address") List address, @RequestParam(required = true, value = "address_detail") String address_detail, @RequestParam(required = true, value = "details") String details, @RequestParam(required = true, value = "jobName") String jobName, @RequestParam(required = true, value = "startTime") String startTime, @RequestParam(required = true, value = "endTime") String endTime, @RequestParam(required = true, value = "jobTips") List jobTips, @RequestParam(required = true, value = "jobType") Integer jobType, @RequestParam(required = true, value = "min_salary") String min_salary, @RequestParam(required = true, value = "maxSalary") String max_salary, @RequestParam(required = true, value = "min_number") String min_number, @RequestParam(required = true, value = "requirement") Integer requirement, @RequestParam(required = true, value = "max_number") String max_number, @RequestParam(required = true, value = "userId") Integer userId, @RequestParam(required = true, value = "encoding") String 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("修改岗位成功"); } @ResponseBody @ApiImplicitParams({ @ApiImplicitParam(name = "id",required = true), @ApiImplicitParam(name = "userId",required = true), }) @PostMapping("/update_jobStatus") @ApiOperation(value = "更新岗位状态",notes = "") public R changeJobStatus( @RequestParam(required = true, value = "id") Integer id, @RequestParam(required = true, value = "userId") Integer userId ){ Integer row = jobListService.changeJobStatus(id, userId); if (row==-1){ return R.error("修改失败,请联系管理员!"); } return R.success("修改岗位状态成功"); } @DeleteMapping("/delete_job") @ApiOperation(value = "删除岗位",notes = "") public R deleteJob(@ApiParam("Integer id") Integer id) { if (id == null) { return R.error("出错了,请联系管理员!"); } Integer rows = jobListService.deleteJob(id); if (rows != 1) { return R.error("删除失败! 请联系管理员!"); } return R.success("删除岗位成功!"); } @ResponseBody @ApiImplicitParams({ @ApiImplicitParam(name = "jobId",required = true), @ApiImplicitParam(name = "imagesId",required = true), @ApiImplicitParam(name = "backgroundId",required = true), @ApiImplicitParam(name = "logoId",required = true), @ApiImplicitParam(name = "Professional",required = true), @ApiImplicitParam(name = "Comprehensive",required = true), @ApiImplicitParam(name = "Psychology",required = true), @ApiImplicitParam(name = "userId",required = true), @ApiImplicitParam(name = "jobPromote",required = true), @ApiImplicitParam(name = "encoding",required = true), }) @PostMapping("/add_jobSetting") @ApiOperation(value = "添加面试设置",notes = "") public R addJobSetting(@RequestParam(required = true, value = "jobId") Integer jobId, @RequestParam(required = true, value = "imagesId") Integer imagesId, @RequestParam(required = true, value = "backgroundId") Integer backgroundId, @RequestParam(required = true, value = "logoId") Integer logoId, @RequestParam(required = true, value = "Professional") Integer Professional, @RequestParam(required = true, value = "Comprehensive") Integer Comprehensive, @RequestParam(required = true, value = "Psychology") Integer Psychology, @RequestParam(required = true, value = "userId") Integer userId, @RequestParam(required = true, value = "jobPromote") String jobPromote, @RequestParam(required = true, value = "encoding") String 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") @ApiOperation(value = "获取面试设置",notes = "") public R getJobSettingList(@ApiParam("String encoding") String encoding){ List jobSettingList = interviewSettingService.getJobSettingList(encoding); return R.success(jobSettingList); } @GetMapping("/search_setting") @ApiOperation(value = "搜索面试设置",notes = "") public R searchJobSettings(@ApiParam("String jobName,String encoding")String jobName,String encoding){ List jobSettingDtos = interviewSettingService.searchJobSetting(jobName, encoding); return R.success(jobSettingDtos); } @DeleteMapping("/delete_jobJobSetting") @ApiOperation(value = "删除面试设置",notes = "") public R deleteJobSetting(Integer id){ Integer rows = interviewSettingService.deleteJobSetting(id); if(rows==-1){ R.error("删除失败,请联系管理员"); } return R.success("删除成功!"); } @ResponseBody @ApiImplicitParams({ @ApiImplicitParam(name = "jobId",required = true), @ApiImplicitParam(name = "id",required = true), @ApiImplicitParam(name = "imagesId",required = true), @ApiImplicitParam(name = "backgroundId",required = true), @ApiImplicitParam(name = "logoId",required = true), @ApiImplicitParam(name = "Professional",required = true), @ApiImplicitParam(name = "Comprehensive",required = true), @ApiImplicitParam(name = "Psychology",required = true), @ApiImplicitParam(name = "userId",required = true), @ApiImplicitParam(name = "jobPromote",required = true), @ApiImplicitParam(name = "encoding",required = true), }) @PostMapping("/update_jobJobSetting") @ApiOperation(value = "更新面试设置",notes = "") public R updateJobSetting(@RequestParam(required = true, value = "id") Integer id, @RequestParam(required = true, value = "jobId") Integer jobId, @RequestParam(required = true, value = "imagesId") Integer imagesId, @RequestParam(required = true, value = "backgroundId") Integer backgroundId, @RequestParam(required = true, value = "logoId") Integer logoId, @RequestParam(required = true, value = "Professional") Integer Professional, @RequestParam(required = true, value = "Comprehensive") Integer Comprehensive, @RequestParam(required = true, value = "Psychology") Integer Psychology, @RequestParam(required = true, value = "userId") Integer userId, @RequestParam(required = true, value = "jobPromote") String jobPromote, @RequestParam(required = true, value = "encoding") String 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") @ApiOperation(value = "获取公司详情",notes = "") public R getCompanyDetail(@ApiParam ("String encoding") String encoding){ if(encoding==null){ return R.error("获取失败"); } Company companyDetail = companyService.getCompanyDetail(encoding); if(companyDetail==null){ return R.error("获取失败"); } return R.success(companyDetail); } @ResponseBody @ApiImplicitParams({ @ApiImplicitParam(name = "jobId",required = true), @ApiImplicitParam(name = "id",required = true), @ApiImplicitParam(name = "imagesId",required = true), @ApiImplicitParam(name = "backgroundId",required = true), @ApiImplicitParam(name = "logoId",required = true), @ApiImplicitParam(name = "Professional",required = true), @ApiImplicitParam(name = "Comprehensive",required = true), @ApiImplicitParam(name = "Psychology",required = true), @ApiImplicitParam(name = "userId",required = true), @ApiImplicitParam(name = "jobPromote",required = true), @ApiImplicitParam(name = "encoding",required = true), }) @PostMapping("/update_companyDetail") @ApiOperation(value = "更新公司详情",notes = "") public R UpdateCompanyDetail(@RequestParam(required = true, value = "address") List address, @RequestParam(required = true, value = "addressDetail") String addressDetail, @RequestParam(required = true, value = "companyDetail") String companyDetail, @RequestParam(required = true, value = "companyName") String companyName, @RequestParam(required = true, value = "creditCode") String creditCode, @RequestParam(required = true, value = "established") String established, @RequestParam(required = true, value = "images") String images, @RequestParam(required = true, value = "legalRepresentative") String legalRepresentative, @RequestParam(required = true, value = "treatment") String treatment, @RequestParam(required = true, value = "registeredCapital") String registeredCapital, @RequestParam(required = true, value = "userId") Integer userId, @RequestParam(required = true, value = "encoding") String encoding){ Integer row = companyService.updateCompanyDetail(address.toString(), addressDetail, companyDetail, companyName, creditCode, encoding, established, images, legalRepresentative, treatment, registeredCapital, userId ); if (row==-1){ return R.error("更新失败"); } return R.success("更新成功"); } }