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-20 02:38:07 +00:00
|
|
|
|
import io.swagger.annotations.Api;
|
2023-11-23 14:28:01 +00:00
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
|
import io.swagger.annotations.ApiParam;
|
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-04 16:30:50 +00:00
|
|
|
|
|
|
|
|
|
@PostMapping("/add_job")
|
2023-11-23 14:28:01 +00:00
|
|
|
|
@ApiOperation(value = "添加岗位",notes = "")
|
|
|
|
|
public R addJob(@RequestBody @ApiParam("addInfo:{(List<String>) address,\n" +
|
|
|
|
|
" (String) address_detail,\n" +
|
|
|
|
|
" (String) details,\n" +
|
|
|
|
|
" (String) jobName,\n" +
|
|
|
|
|
" (String) startTime,\n" +
|
|
|
|
|
" (String) endTime,\n" +
|
|
|
|
|
" (List<String>) jobTips,\n" +
|
|
|
|
|
" (Integer) jobType,\n" +
|
|
|
|
|
" (String) min_salary,\n" +
|
|
|
|
|
" (String) max_salary,\n" +
|
|
|
|
|
" (String) min_number,\n" +
|
|
|
|
|
" (String) max_number,\n" +
|
|
|
|
|
" (Integer) requirement,\n" +
|
|
|
|
|
" (Integer) userId,\n" +
|
|
|
|
|
" (String) encoding}") Map<String,Object> addInfo){
|
2023-11-04 16:30:50 +00:00
|
|
|
|
|
|
|
|
|
if (addInfo.size()!=15){
|
|
|
|
|
return R.error("表格数据不全,请检查输入");
|
|
|
|
|
}
|
|
|
|
|
List<String> address = (List<String>) 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<String> jobTips = (List<String>) 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")
|
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);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping("/update_job")
|
2023-11-23 14:28:01 +00:00
|
|
|
|
@ApiOperation(value = "更新岗位信息",notes = "")
|
|
|
|
|
public R updateJob(@RequestBody @ApiParam("updateInfo:{(Integer) id,\n" +
|
|
|
|
|
" (List<String>) address,\n" +
|
|
|
|
|
" (String) address_detail,\n" +
|
|
|
|
|
" (String) details,\n" +
|
|
|
|
|
" (String) jobName,\n" +
|
|
|
|
|
" (String) startTime,\n" +
|
|
|
|
|
" (String) endTime,\n" +
|
|
|
|
|
" (List<String>) jobTips,\n" +
|
|
|
|
|
" (Integer) jobType,\n" +
|
|
|
|
|
" (String) min_salary,\n" +
|
|
|
|
|
" (String) max_salary,\n" +
|
|
|
|
|
" (String) min_number,\n" +
|
|
|
|
|
" (String) max_number,\n" +
|
|
|
|
|
" (Integer) requirement,\n" +
|
|
|
|
|
" (Integer) userId,\n" +
|
|
|
|
|
" (String) encoding}") Map<String,Object> updateInfo){
|
2023-11-04 16:30:50 +00:00
|
|
|
|
|
|
|
|
|
if (updateInfo.size()!=16){
|
|
|
|
|
return R.error("表格数据不全,请检查输入");
|
|
|
|
|
}
|
|
|
|
|
Integer id=(Integer) updateInfo.get("id") ;
|
|
|
|
|
List<String> address = (List<String>) 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<String> jobTips = (List<String>) 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")
|
2023-11-23 14:28:01 +00:00
|
|
|
|
@ApiOperation(value = "更新岗位状态",notes = "")
|
|
|
|
|
|
|
|
|
|
public R changeJobStatus(@RequestBody @ApiParam("updateInfo:{(Integer) id, (Integer) userId}") Map<String,Object> updateInfo){
|
2023-11-04 16:30:50 +00:00
|
|
|
|
|
|
|
|
|
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("修改岗位状态成功");
|
|
|
|
|
}
|
|
|
|
|
|
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("删除岗位成功!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping("/add_jobSetting")
|
2023-11-23 14:28:01 +00:00
|
|
|
|
@ApiOperation(value = "添加面试设置",notes = "")
|
|
|
|
|
public R addJobSetting(@RequestBody @ApiParam("addInfo:{(Integer) jobId,\n" +
|
|
|
|
|
" (Integer) imagesId,\n" +
|
|
|
|
|
" (Integer) backgroundId,\n" +
|
|
|
|
|
" (Integer) logoId,\n" +
|
|
|
|
|
" (Integer) Professional,\n" +
|
|
|
|
|
" (Integer) Comprehensive,\n" +
|
|
|
|
|
" (Integer) Psychology,\n" +
|
|
|
|
|
" (Integer) userId,\n" +
|
|
|
|
|
" (String) jobPromote,\n" +
|
|
|
|
|
" (String) encoding}") Map<String,Object> addInfo){
|
2023-11-04 16:30:50 +00:00
|
|
|
|
|
|
|
|
|
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("添加岗位设置成功!");
|
|
|
|
|
}
|
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-12 09:35:39 +00:00
|
|
|
|
|
2023-11-10 10:28:31 +00:00
|
|
|
|
@PostMapping("/update_jobJobSetting")
|
2023-11-23 14:28:01 +00:00
|
|
|
|
@ApiOperation(value = "更新面试设置",notes = "")
|
|
|
|
|
public R updateJobSetting(@RequestBody @ApiParam("updateInfo:{(Integer) id,\n" +
|
|
|
|
|
" (Integer) jobId,\n" +
|
|
|
|
|
" (Integer) imagesId,\n" +
|
|
|
|
|
" (Integer) backgroundId,\n" +
|
|
|
|
|
" (Integer) logoId,\n" +
|
|
|
|
|
" (Integer) Professional,\n" +
|
|
|
|
|
" (Integer) Comprehensive,\n" +
|
|
|
|
|
" (Integer) Psychology,\n" +
|
|
|
|
|
" (Integer) userId,\n" +
|
|
|
|
|
" (String) jobPromote,\n" +
|
|
|
|
|
" (String) encoding}") Map<String,Object> updateInfo){
|
2023-11-10 10:28:31 +00:00
|
|
|
|
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")
|
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-16 13:22:51 +00:00
|
|
|
|
@PostMapping("/update_companyDetail")
|
2023-11-23 14:28:01 +00:00
|
|
|
|
@ApiOperation(value = "更新公司详情",notes = "")
|
|
|
|
|
public R UpdateCompanyDetail(@RequestBody @ApiParam("updateInfo:{(String) address,\n" +
|
|
|
|
|
" (String) addressDetail,\n" +
|
|
|
|
|
" (String) companyDetail,\n" +
|
|
|
|
|
" (String) companyName,\n" +
|
|
|
|
|
" (String) creditCode,\n" +
|
|
|
|
|
" (String) encoding,\n" +
|
|
|
|
|
" (String) established,\n" +
|
|
|
|
|
" (String) images,\n" +
|
|
|
|
|
" (String) legalRepresentative,\n" +
|
|
|
|
|
" (String) treatment,\n" +
|
|
|
|
|
" (String) registeredCapital,\n" +
|
|
|
|
|
" (Integer) userId}") Map<String,Object> updateInfo){
|
2023-11-16 13:22:51 +00:00
|
|
|
|
|
|
|
|
|
List<String> address=(List<String>) updateInfo.get("address");
|
|
|
|
|
|
|
|
|
|
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 encoding=(String) updateInfo.get("encoding");
|
|
|
|
|
String established=(String) updateInfo.get("established");
|
|
|
|
|
String images=(String) updateInfo.get("images");
|
|
|
|
|
String legalRepresentative=(String) updateInfo.get("legalRepresentative");
|
|
|
|
|
String treatment=(String)updateInfo.get("treatment");
|
|
|
|
|
String registeredCapital=(String) updateInfo.get("registeredCapital");
|
|
|
|
|
Integer userId=(Integer) updateInfo.get("userId");
|
|
|
|
|
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("更新成功");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2023-11-04 16:30:50 +00:00
|
|
|
|
}
|