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

305 lines
11 KiB
Java

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<String,Object> addInfo){
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")
public R getJobList(String encoding){
if (encoding==null){
return R.error(401,"身份验证失败,请重新登陆");
}
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);
}
@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<String,Object> updateInfo){
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")
public R changeJobStatus(@RequestBody Map<String,Object> 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<String,Object> 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<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){
Integer rows = interviewSettingService.deleteJobSetting(id);
if(rows==-1){
R.error("删除失败,请联系管理员");
}
return R.success("删除成功!");
}
@PostMapping("/update_jobJobSetting")
public R updateJobSetting(@RequestBody Map<String,Object> 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);
}
@PostMapping("/update_companyDetail")
public R UpdateCompanyDetail(@RequestBody Map<String,Object> updateInfo){
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("更新成功");
}
}