package com.wechat.controller; import com.wechat.global.CustomException; import com.wechat.global.message.InfoMsg; import com.wechat.model.requestDto.*; import com.wechat.model.responseDto.AlreadyPublishResp; import com.wechat.model.responseDto.ContactUserInfoResp; import com.wechat.model.responseDto.ResultEntity; import com.wechat.service.CommonService; import com.wechat.service.EnterpriseService; import com.wechat.service.MdeJobAdvertisedService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.IOException; import java.util.Map; /** * 企业查看简历 * * @author zhouyd */ @Controller @RequestMapping(value = "enterprise") public class EnterpriseController { @Autowired private EnterpriseService enterpriseService; @Autowired private CommonService commonService; @Resource private MdeJobAdvertisedService jobAdvertisedService; /** * 企业点击收到的简历 * * @return * @throws Exception */ /* @RequestMapping(value = "receive", method = RequestMethod.POST) @ResponseBody public ResultEntity> receiveUserCv(HttpServletRequest req, HttpServletResponse resp, @RequestBody Page page) throws Exception { Map maps = enterpriseService.receiveUserCv(req, page); return new ResultEntity<>(InfoMsg.SUCCESS_REQUEST, maps); }*/ /** * 查看简历 * * @param userCode * @return */ @RequestMapping(value = "lookUserCv", method = RequestMethod.POST) @ResponseBody public ResultEntity lookUserCv(@RequestBody Map param, HttpServletRequest req) { String lang = commonService.getLanguage(req); String hotelCode = commonService.getUserCode(req); ContactUserInfoResp contactUserInfoResp = enterpriseService.lookUserCv(hotelCode, param, lang); return new ResultEntity<>(InfoMsg.SUCCESS_REQUEST, contactUserInfoResp); } /** * 更新职位发布状态 * * @param req * @param resp * @param params * @return * @throws Exception */ @RequestMapping(value = "updateJobAdvertisedStatus", method = RequestMethod.POST) @ResponseBody public ResultEntity updateJobAdvertisedStatus(HttpServletRequest req, HttpServletResponse resp, @RequestBody Map params) throws Exception { return enterpriseService.updateJobAdvertisedStatus(req, params); } /** * 更新职位首推状态 * * @param req * @param resp * @param params * @return */ @RequestMapping(value = "updateJobRecommend", method = RequestMethod.POST) @ResponseBody public ResultEntity updateJobRecommend(HttpServletRequest req, HttpServletResponse resp, @RequestBody Map params) { return enterpriseService.updateJobRecommend(req, params); } /** * 下载简历 * * @param req * @param resp * @return * @throws IOException * @throws Exception */ @RequestMapping(value = "download", method = RequestMethod.POST) @ResponseBody public ResultEntity downloadUserCv(HttpServletRequest req, HttpServletResponse resp, @RequestBody Map param) { String infoMsg = enterpriseService.downloadUserCv(req, resp, param); return new ResultEntity<>(InfoMsg.SUCCESS_REQUEST, infoMsg); } /** * 切换简历类型 根据类型判断 ( 0-新投递;1-已查看;2-已下载;3-邀请面试;4-录取;5-淘汰;6-储备) * * @param req * @param resp * @return * @throws Exception */ @RequestMapping(value = "getUserCvStateListInfo", method = RequestMethod.POST) @ResponseBody public ResultEntity> getUserCvStateListInfo(HttpServletRequest req, @Valid @RequestBody UserCvStatusReq param) { Map maps = enterpriseService.getUserCvStateListInfo2(req, param, "0"); return new ResultEntity<>(InfoMsg.SUCCESS_REQUEST, maps); } /** * PC端专用 * 切换简历类型 根据类型判断 ( 0-新投递;1-已查看;2-已下载;3-邀请面试;4-录取;5-淘汰;6-储备) * * @param req * @param resp * @return * @throws Exception */ @RequestMapping(value = "getUserCvStateListInfoPc", method = RequestMethod.POST) @ResponseBody public ResultEntity> getUserCvStateListInfoPc(HttpServletRequest req, @Valid @RequestBody UserCvStatusReq param) { Map maps = enterpriseService.getUserCvStateListInfo2(req, param, "1"); return new ResultEntity<>(InfoMsg.SUCCESS_REQUEST, maps); } /** * PC端专用 * 按职位显示投递列表 * * @param req * @param resp * @return * @throws Exception */ @RequestMapping(value = "getUserCvListInfoByJobPc", method = RequestMethod.POST) @ResponseBody public ResultEntity> getUserCvListInfoByJobPc(HttpServletRequest req, @RequestBody UserCvByJobReq param) { Map maps = enterpriseService.getUserCvStateListInfoByJob(req, param, "1"); return new ResultEntity<>(InfoMsg.SUCCESS_REQUEST, maps); } /** * @description 已发简历关键词搜索 * @author rayson * @param keyWordReq * @date 2023-09-18 17:04 * @return ResultEntity> **/ @RequestMapping(value = "searchUserCvByKeyWord", method = RequestMethod.POST) @ResponseBody public ResultEntity> searchUserCvByKeyWord(HttpServletRequest req, @RequestBody KeyWordReq keyWordReq) { return new ResultEntity<>(InfoMsg.SUCCESS_REQUEST, enterpriseService.searchUserCvByKeyWord(req,keyWordReq,"0")); } /** * 邀请面试/录用/淘汰 更新简历状态 type ( 0-新投递;1-已查看;2-已下载;3-邀请面试;4-录取;5-淘汰;6-储备) * * @param req * @param resp * @return * @throws Exception */ @RequestMapping(value = "updateUserCvStatus", method = RequestMethod.POST) @ResponseBody public ResultEntity updateUserCvStatus(HttpServletRequest req, @RequestBody UpdUserCvReq param) throws Exception { InfoMsg infoMsg = enterpriseService.updateUserCvStatus(req, param, new InterviewCreateReq()); return new ResultEntity<>(infoMsg); } /** * @description 批量更新发布日期(招聘中职位) * @author rayson * @date 2023-09-18 14:46 * @return ResultEntity> **/ @RequestMapping(value = "batchUpdatePublishDate", method = RequestMethod.POST) @ResponseBody public ResultEntity> batchUpdatePublishDate(HttpServletRequest req) { String userCode = commonService.getUserCode(req); enterpriseService.batchUpdatePublishDate(userCode); return new ResultEntity<>(InfoMsg.SUCCESS_REQUEST); } /** * @description 根据职位id更新发布日期 * @author rayson * @date 2023-09-18 14:46 * @return ResultEntity> **/ @RequestMapping(value = "updatePublishDate", method = RequestMethod.POST) @ResponseBody public ResultEntity> updatePublishDate(HttpServletRequest req, @RequestBody Map param) { String JobId = "jobId"; if (!param.containsKey(JobId)) { throw new CustomException(InfoMsg.ERROR_NULL_PARAM); } String userCode = commonService.getUserCode(req); enterpriseService.updatePublishDate(userCode, Integer.valueOf(param.get(JobId))); return new ResultEntity<>(InfoMsg.SUCCESS_REQUEST); } /** * 已发布信息 * * @param req * @param resp * @return */ @RequestMapping(value = "alreadyPublish", method = RequestMethod.POST) @ResponseBody public ResultEntity alreadyPublish(@RequestBody JobAdvertisedReqDto jobReq, HttpServletRequest req, HttpServletResponse resp) { String userCode = commonService.getUserCode(req); AlreadyPublishResp response = new AlreadyPublishResp(); // 获取已发布职位信息 response.setList(enterpriseService.alreadyPublish(req, resp, userCode, jobReq)); // 获取首推数据 response.setRecommendNum(jobAdvertisedService.getAvailableAndUsedCount(userCode)); return new ResultEntity<>(InfoMsg.SUCCESS_REQUEST, response); } /** * @param req * @param resp * @param keyWordReq 关键词 * @return ResultEntity * @description 已发职位关键词检索 * @author rayson * @date 2023-09-12 14:41 **/ @RequestMapping(value = "searchAlreadyPublishByKeyWord", method = RequestMethod.POST) @ResponseBody public ResultEntity searchAlreadyPublishByKeyWord(HttpServletRequest req, @RequestBody KeyWordReq keyWordReq) { String userCode = commonService.getUserCode(req); AlreadyPublishResp response = new AlreadyPublishResp(); // 检索已发职位 response.setList(enterpriseService.searchAlreadyPublishByKeyWord(keyWordReq, userCode, req)); // 获取首推数据 response.setRecommendNum(jobAdvertisedService.getAvailableAndUsedCount(userCode)); return new ResultEntity<>(InfoMsg.SUCCESS_REQUEST, response); } }