Ai-interviewer-system/src/main/java/com/yzdx/AiInterviewer/controller/RecruitmentController.java

362 lines
16 KiB
Java
Raw Normal View History

2023-11-04 16:30:50 +00:00
package com.yzdx.AiInterviewer.controller;
import com.yzdx.AiInterviewer.comment.R;
2023-11-10 10:28:31 +00:00
import com.yzdx.AiInterviewer.entity.Company;
2023-11-04 16:30:50 +00:00
import com.yzdx.AiInterviewer.entity.JobEntity;
import com.yzdx.AiInterviewer.entity.dto.JobDto;
import com.yzdx.AiInterviewer.entity.dto.JobSettingDto;
2023-11-10 10:28:31 +00:00
import com.yzdx.AiInterviewer.service.CompanyService;
2023-11-04 16:30:50 +00:00
import com.yzdx.AiInterviewer.service.InterviewSettingService;
import com.yzdx.AiInterviewer.service.JobListService;
2023-11-27 11:38:14 +00:00
import io.swagger.annotations.*;
2023-11-04 16:30:50 +00:00
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
2023-11-10 10:28:31 +00:00
import java.util.*;
2023-11-04 16:30:50 +00:00
@RestController
@RequestMapping("/recruitment")
public class RecruitmentController {
@Autowired
private JobListService jobListService;
@Autowired
private InterviewSettingService interviewSettingService;
2023-11-10 10:28:31 +00:00
@Autowired
private CompanyService companyService;
2023-11-27 11:38:14 +00:00
@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),
})
2023-11-04 16:30:50 +00:00
@PostMapping("/add_job")
2023-11-23 14:28:01 +00:00
@ApiOperation(value = "添加岗位",notes = "")
2023-11-29 11:23:43 +00:00
public R addJob(@RequestBody Map<String,Object> addInfo){
List<String> address=(List<String>) addInfo.get("address");
String encoding=(String) addInfo.get("encoding");
String address_detail=(String) addInfo.get("address_detail");
Integer jobType=(Integer) addInfo.get("jobType");
Integer userId=(Integer) addInfo.get("userId");
String details=(String) addInfo.get("details");
String jobName=(String) addInfo.get("jobName");
String startTime=(String) addInfo.get("startTime");
String endTime=(String) addInfo.get("endTime");
String min_salary=(String) addInfo.get("min_salary");
String max_salary=(String) addInfo.get("max_salary");
String min_number=(String) addInfo.get("min_number");
String max_number=(String) addInfo.get("max_number");
List<String> jobTips=(List<String>) addInfo.get("jobTips");
Integer requirement=(Integer) addInfo.get("requirement");
Integer rows=jobListService.addJob(address,address_detail,details,jobName,startTime,endTime,
jobTips,jobType,min_salary,max_salary,min_number,max_number,requirement,userId,encoding);
2023-11-04 16:30:50 +00:00
if(rows==-2){
return R.error("岗位名称已存在!");
}
return R.success("添加岗位成功");
}
@GetMapping("/get_jobList")
2023-11-23 14:28:01 +00:00
@ApiOperation(value = "根据公司编码获取岗位列表",notes = "")
public R getJobList(@ApiParam("String encoding") String encoding){
2023-11-04 16:30:50 +00:00
if (encoding==null){
return R.error(401,"身份验证失败,请重新登陆");
}
2023-11-12 09:35:39 +00:00
List<JobDto> jobList = jobListService.getJobList(encoding);
return R.success(jobList);
}
@GetMapping("/search_job")
2023-11-23 14:28:01 +00:00
@ApiOperation(value = "搜索岗位",notes = "")
public R searchJob(@ApiParam("(String) jobName,(String) jobType,(String) encoding 注释jobName和jobType可选填一个encoding必填")String jobName,String jobType,String encoding){
2023-11-12 09:35:39 +00:00
List<JobDto> jobEntities = jobListService.searchJob(jobName, jobType, encoding);
return R.success(jobEntities);
2023-11-04 16:30:50 +00:00
}
@GetMapping("/get_jobById")
2023-11-23 14:28:01 +00:00
@ApiOperation(value = "根据岗位ID获取岗位信息",notes = "")
public R getJobById(@ApiParam("Integer id") Integer id){
2023-11-04 16:30:50 +00:00
if(id==null){
return R.error("获取失败");
}
JobEntity jobById = jobListService.getJobById(id);
if(jobById==null){
return R.error("出错了,请联系管理员!");
}
return R.success(jobById);
}
2023-11-29 11:23:43 +00:00
2023-11-27 11:38:14 +00:00
@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),
})
2023-11-04 16:30:50 +00:00
@PostMapping("/update_job")
2023-11-23 14:28:01 +00:00
@ApiOperation(value = "更新岗位信息",notes = "")
2023-11-29 11:23:43 +00:00
public R updateJob(@RequestBody Map<String,Object> updateInfo){
Integer id=(Integer) updateInfo.get("id");
List<String> address=(List<String>) updateInfo.get("address");
String encoding=(String) updateInfo.get("encoding");
String address_detail=(String) updateInfo.get("address_detail");
Integer jobType=(Integer) updateInfo.get("jobType");
Integer userId=(Integer) updateInfo.get("userId");
String details=(String) updateInfo.get("details");
String jobName=(String) updateInfo.get("jobName");
String startTime=(String) updateInfo.get("startTime");
String endTime=(String) updateInfo.get("endTime");
String min_salary=(String) updateInfo.get("min_salary");
String max_salary=(String) updateInfo.get("max_salary");
String min_number=(String) updateInfo.get("min_number");
String max_number=(String) updateInfo.get("max_number");
List<String> jobTips=(List<String>) updateInfo.get("jobTips");
Integer requirement=(Integer) updateInfo.get("requirement");
2023-11-04 16:30:50 +00:00
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("修改岗位成功");
}
2023-11-29 11:23:43 +00:00
2023-11-27 11:38:14 +00:00
@ApiImplicitParams({
@ApiImplicitParam(name = "id",required = true),
@ApiImplicitParam(name = "userId",required = true),
})
2023-11-04 16:30:50 +00:00
@PostMapping("/update_jobStatus")
2023-11-23 14:28:01 +00:00
@ApiOperation(value = "更新岗位状态",notes = "")
2023-11-29 11:23:43 +00:00
public R changeJobStatus(@RequestBody Map<String,Object> updateInfo){
Integer id=(Integer) updateInfo.get("id");
Integer userId=(Integer) updateInfo.get("userId");
2023-11-04 16:30:50 +00:00
Integer row = jobListService.changeJobStatus(id, userId);
if (row==-1){
return R.error("修改失败,请联系管理员!");
}
return R.success("修改岗位状态成功");
}
2023-11-20 02:38:07 +00:00
@DeleteMapping("/delete_job")
2023-11-23 14:28:01 +00:00
@ApiOperation(value = "删除岗位",notes = "")
public R deleteJob(@ApiParam("Integer id") Integer id) {
2023-11-04 16:30:50 +00:00
if (id == null) {
return R.error("出错了,请联系管理员!");
}
Integer rows = jobListService.deleteJob(id);
if (rows != 1) {
return R.error("删除失败! 请联系管理员!");
}
return R.success("删除岗位成功!");
}
2023-11-27 11:38:14 +00:00
@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),
})
2023-11-04 16:30:50 +00:00
@PostMapping("/add_jobSetting")
2023-11-23 14:28:01 +00:00
@ApiOperation(value = "添加面试设置",notes = "")
2023-11-29 11:23:43 +00:00
public R addJobSetting(@RequestBody Map<String,Object> addInfo){
String encoding=(String) addInfo.get("encoding");
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 userId=(Integer) addInfo.get("userId");
Integer Professional=(Integer) addInfo.get("Professional");
Integer Comprehensive=(Integer) addInfo.get("Comprehensive");
Integer Psychology=(Integer) addInfo.get("Psychology");
String jobPromote=(String) addInfo.get("jobPromote");
Integer rows = interviewSettingService.addJobSetting(jobId, imagesId, backgroundId, logoId, Professional, Comprehensive,
Psychology, userId, jobPromote, encoding);
2023-11-04 16:30:50 +00:00
if(rows==-1){
return R.error("添加设置失败,岗位的设置已存在!");
}
return R.success("添加岗位设置成功!");
}
2023-11-12 09:35:39 +00:00
2023-11-04 16:30:50 +00:00
@GetMapping("/get_jobSettingList")
2023-11-23 14:28:01 +00:00
@ApiOperation(value = "获取面试设置",notes = "")
public R getJobSettingList(@ApiParam("String encoding") String encoding){
2023-11-04 16:30:50 +00:00
List<JobSettingDto> jobSettingList = interviewSettingService.getJobSettingList(encoding);
return R.success(jobSettingList);
}
2023-11-12 09:35:39 +00:00
@GetMapping("/search_setting")
2023-11-23 14:28:01 +00:00
@ApiOperation(value = "搜索面试设置",notes = "")
public R searchJobSettings(@ApiParam("String jobName,String encoding")String jobName,String encoding){
2023-11-12 09:35:39 +00:00
List<JobSettingDto> jobSettingDtos = interviewSettingService.searchJobSetting(jobName, encoding);
return R.success(jobSettingDtos);
}
2023-11-10 10:28:31 +00:00
2023-11-20 02:38:07 +00:00
@DeleteMapping("/delete_jobJobSetting")
2023-11-23 14:28:01 +00:00
@ApiOperation(value = "删除面试设置",notes = "")
2023-11-10 10:28:31 +00:00
public R deleteJobSetting(Integer id){
Integer rows = interviewSettingService.deleteJobSetting(id);
if(rows==-1){
R.error("删除失败,请联系管理员");
}
return R.success("删除成功!");
}
2023-11-29 11:23:43 +00:00
2023-11-27 11:38:14 +00:00
@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),
})
2023-11-10 10:28:31 +00:00
@PostMapping("/update_jobJobSetting")
2023-11-23 14:28:01 +00:00
@ApiOperation(value = "更新面试设置",notes = "")
2023-11-29 11:23:43 +00:00
public R updateJobSetting(@RequestBody Map<String,Object> updateInfo){
String encoding=(String) updateInfo.get("encoding");
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 id=(Integer)updateInfo.get("id");
Integer userId=(Integer) updateInfo.get("userId");
Integer Professional=(Integer) updateInfo.get("Professional");
Integer Comprehensive=(Integer) updateInfo.get("Comprehensive");
Integer Psychology=(Integer) updateInfo.get("Psychology");
String jobPromote=(String) updateInfo.get("jobPromote");
Integer rows= interviewSettingService.updateJobSetting(id,jobId, imagesId, backgroundId, logoId,
Professional, Comprehensive, Psychology, userId, jobPromote, encoding);
2023-11-10 10:28:31 +00:00
if(rows==-1){
return R.error("修改失败");
}
return R.success("修改成功");
}
@GetMapping("/get_companyDetail")
2023-11-23 14:28:01 +00:00
@ApiOperation(value = "获取公司详情",notes = "")
public R getCompanyDetail(@ApiParam ("String encoding") String encoding){
2023-11-10 10:28:31 +00:00
if(encoding==null){
return R.error("获取失败");
}
Company companyDetail = companyService.getCompanyDetail(encoding);
if(companyDetail==null){
return R.error("获取失败");
}
return R.success(companyDetail);
}
2023-11-29 11:23:43 +00:00
2023-11-27 11:38:14 +00:00
@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),
})
2023-11-16 13:22:51 +00:00
@PostMapping("/update_companyDetail")
2023-11-23 14:28:01 +00:00
@ApiOperation(value = "更新公司详情",notes = "")
2023-11-29 11:23:43 +00:00
public R UpdateCompanyDetail(@RequestBody Map<String,Object> updateInfo){
String encoding=(String) updateInfo.get("encoding");
2023-11-30 03:16:47 +00:00
String type=(String) updateInfo.get("type");
2023-11-29 11:23:43 +00:00
List<String> address=(List<String>) updateInfo.get("address");
Integer userId=(Integer) updateInfo.get("userId");
2023-11-30 03:16:47 +00:00
String companyAllName=(String) updateInfo.get("companyAllName");
2023-11-29 11:23:43 +00:00
String addressDetail=(String) updateInfo.get("addressDetail");
String companyDetail=(String) updateInfo.get("companyDetail");
String companyName=(String) updateInfo.get("companyName");
String creditCode=(String) updateInfo.get("creditCode");
String established=(String) updateInfo.get("established");
String legalRepresentative=(String) updateInfo.get("legalRepresentative");
String treatment=(String) updateInfo.get("treatment");
String registeredCapital=(String) updateInfo.get("registeredCapital");
String images=(String) updateInfo.get("images");
String companyLogo=(String) updateInfo.get("companyLogo");
String staffNumber=(String) updateInfo.get("staffNumber");
2023-11-30 03:16:47 +00:00
System.out.println(address.toString());
2023-11-29 11:23:43 +00:00
2023-11-30 03:16:47 +00:00
Integer row = companyService.updateCompanyDetail(address.toString(), addressDetail,type,companyAllName,
2023-11-16 13:22:51 +00:00
companyDetail, companyName,
creditCode, encoding, established,
images, legalRepresentative,
2023-11-29 11:23:43 +00:00
treatment, registeredCapital, userId,
companyLogo,staffNumber);
2023-11-16 13:22:51 +00:00
if (row==-1){
return R.error("更新失败");
}
return R.success("更新成功");
}
2023-11-04 16:30:50 +00:00
}