package com.hz.employmentsite.controller.jobUserManager; import com.github.pagehelper.PageInfo; import com.hz.employmentsite.filter.exception.BaseErrorEnum; import com.hz.employmentsite.filter.exception.BaseException; import com.hz.employmentsite.filter.exception.BaseResponse; import com.hz.employmentsite.filter.exception.RespGenerstor; import com.hz.employmentsite.services.service.AccountService; import com.hz.employmentsite.services.service.jobUserManager.JobHuntService; import com.hz.employmentsite.util.DateUtils; import com.hz.employmentsite.util.ExcelHelper; import com.hz.employmentsite.vo.jobUserManager.JobHuntVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.util.*; @RestController @RequestMapping(value = "/api/jobUserService/jobHunt") public class JobHuntController { @Autowired private AccountService accountService; @Autowired private JobHuntService jobhuntService; @Autowired private ExcelHelper excelHelper; @Autowired private DateUtils dataUtils; @ResponseBody @GetMapping("/getList") public BaseResponse getList(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize, @RequestParam(required = false) List jobHuntIDList, @RequestParam(required = false) String jobUserID, @RequestParam(required = false) String jobUserName, @RequestParam(required = false) String professionName, @RequestParam(required = false) BigDecimal minWorkYear, @RequestParam(required = false) BigDecimal maxWorkYear, @RequestParam(required = false) Integer jobHuntTypeID, @RequestParam(required = false) Integer jobUserTypeID, @RequestParam(required = false) BigDecimal minSalary, @RequestParam(required = false) BigDecimal maxSalary, @RequestParam(required = false) Integer isAccomplish, @RequestParam(required = false) String loginUserID, @RequestParam(required = false) String siteID, @RequestParam(required = false) String regionCode, @RequestParam(required = false) Date startDate, @RequestParam(required = false) Date endDate, @RequestParam(required = false) boolean isAllJobHunt, @RequestParam(required = false) String createUserName, @RequestParam(required = false) Integer dataSource) { //loginUserID暂用来过滤app的当前登录人驿站的求职人员 PageInfo result = jobhuntService.getList(pageIndex, pageSize, jobHuntIDList, jobUserID, jobUserName, professionName, minWorkYear, maxWorkYear, jobHuntTypeID, jobUserTypeID, minSalary, maxSalary, isAccomplish, loginUserID, siteID, regionCode, startDate, endDate,isAllJobHunt, createUserName, dataSource); return RespGenerstor.success(result); } @GetMapping("get") public BaseResponse get(@RequestParam(required = false) String jobHuntID) { var data = jobhuntService.get(jobHuntID); if (data == null) { data = new JobHuntVo(); data.jobHuntID = UUID.randomUUID().toString(); data.setInDate(new Date()); } return RespGenerstor.success(data); } @ResponseBody @PostMapping("/delete") public BaseResponse delete(HttpServletRequest request, @RequestBody List idList, @RequestParam String loginUserID){ var result = jobhuntService.delete(request, idList, loginUserID); if (result <= 0) { throw new BaseException(BaseErrorEnum.DELETE_NOT_DATA_ERROR); } return RespGenerstor.success(result); } @ResponseBody @PostMapping("/deleteJobHuntAndRecommendMgt") public BaseResponse deleteJobHuntAndRecommendMgt(HttpServletRequest request, String id, String loginUserID) { Integer result = jobhuntService.deleteJobHuntAndRecommendMgt(request, id, loginUserID); if (result <= 0) throw new BaseException(BaseErrorEnum.DELETE_NOT_DATA_ERROR); return RespGenerstor.success(1); } @PostMapping("save") public BaseResponse save(@RequestBody JobHuntVo data) { String loginUserID = data.loginUserID; try { loginUserID = accountService.getLoginUserID(); } catch (Exception e) { } return RespGenerstor.success(jobhuntService.save(data, loginUserID)); } @PostMapping("saveJobHunt") public BaseResponse saveJobHunt(@RequestBody JobHuntVo data) { return RespGenerstor.success(jobhuntService.save(data, accountService.getLoginUserID())); } @PostMapping("/importJobHunt") public BaseResponse importJobHunt(@RequestBody List dataList) { List result = jobhuntService.importJobHunt(dataList, accountService.getLoginUserID()); if (result != null && result.size() > 0) { return RespGenerstor.importFail(BaseErrorEnum.IMPORT_DATA_ERROR, result); } else { return RespGenerstor.success(true); } } @GetMapping("export") public BaseResponse export(HttpServletResponse response, @RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize, @RequestParam(required = false) List jobHuntIDList, @RequestParam(required = false) String jobUserID, @RequestParam(required = false) String jobUserName, @RequestParam(required = false) String workName, @RequestParam(required = false) BigDecimal minWorkYear, @RequestParam(required = false) BigDecimal maxWorkYear, @RequestParam(required = false) Integer jobHuntTypeID, @RequestParam(required = false) Integer jobUserTypeID, @RequestParam(required = false) BigDecimal minSalary, @RequestParam(required = false) BigDecimal maxSalary, @RequestParam(required = false) Integer isAccomplish, @RequestParam(required = false) String siteID, @RequestParam(required = false) String regionCode, @RequestParam(required = false) Date startDate, @RequestParam(required = false) Date endDate,@RequestParam(required = false) boolean isAllJobHunt, @RequestParam(required = false) String createUserName, @RequestParam(required = false) Integer dataSource) throws Exception { PageInfo result = jobhuntService.getList(pageIndex, pageSize, jobHuntIDList, jobUserID, jobUserName, workName, minWorkYear, maxWorkYear, jobHuntTypeID, jobUserTypeID, minSalary, maxSalary, isAccomplish, null, siteID, regionCode, startDate, endDate, isAllJobHunt, createUserName, dataSource); ExcelHelper.ExcelData data = excelHelper.new ExcelData(); data.setTitles(Arrays.asList(new String[]{"序号", "姓名", "希望工作地区", "可到职日期", "工作年限", "求职类型", "求职岗位", "人才类型", "月薪要求"})); int i = 0; List> rowDatas = new ArrayList(); for (JobHuntVo item : result.getList()) { List row = new ArrayList(); ++i; row.add(i); row.add(item.jobUserName); row.add(item.areaWork); row.add(dataUtils.dateToStrFormat(item.inDate,"yyyy-MM-dd")); row.add(item.workYear); row.add(item.jobHuntTypeStr); row.add(item.professionName); row.add(item.jobUserTypeStr); row.add(item.minSalary+"-"+item.maxSalary); rowDatas.add(row); } data.setRows(rowDatas); excelHelper.exportExcel(response, data); return null; } }