This commit is contained in:
ran.shang
2025-06-11 09:42:13 +08:00
commit 7e38b8d971
1935 changed files with 132836 additions and 0 deletions

View File

@@ -0,0 +1,194 @@
package com.newyetai.recruit.position.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import com.newyetai.common.AlitaResult;
import com.newyetai.common.exception.BusinessException;
import com.newyetai.tkmybatis.pojo.Page;
import com.newyetai.recruit.position.dto.*;
import com.newyetai.recruit.position.service.PositionRegistrationService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
/**
* 岗位报名信息表
*
* @author guixinman
* @since 1.0.0 2024-04-15
*/
@Api(tags = "岗位报名信息表")
@RestController
@RequestMapping("/position_registration")
@Slf4j
public class PositionRegistrationController {
@Autowired
private PositionRegistrationService positionRegistrationService;
@PostMapping("/create")
@ApiOperation("岗位报名信息表-创建")
public AlitaResult<String> create(@RequestBody @Validated PositionRegistrationOperatorDTO operatorDTO) {
if (CollectionUtils.isEmpty(operatorDTO.getUserIds())) {
throw new BusinessException("缺失参数");
}
int successrows = operatorDTO.getUserIds().size();
for (Long userId : operatorDTO.getUserIds()) {
try {
operatorDTO.setUserId(userId);
positionRegistrationService.create(operatorDTO);
} catch (Exception e) {
successrows = successrows - 1;
log.error(String.format("用户id:%s 操作加入招聘失败,失败原因:%s",userId,e.getMessage()));
}
}
return AlitaResult.success(String.format("成功数: %s条,失败数: %s条", successrows, operatorDTO.getUserIds().size() - successrows));
}
@PutMapping("/modify")
@ApiOperation("岗位报名信息表-修改")
public AlitaResult<PositionRegistrationDTO> modify(@RequestBody PositionRegistrationOperatorDTO operatorDTO) {
return AlitaResult.success(positionRegistrationService.modify(operatorDTO));
}
@DeleteMapping("/{id}")
@ApiOperation("岗位报名信息表-删除")
public AlitaResult<PositionRegistrationDTO> delete(@PathVariable("id") Long id) {
return AlitaResult.success(positionRegistrationService.delete(id));
}
@GetMapping("/{id}")
@ApiOperation("岗位报名信息表-查询单个")
public AlitaResult<PositionRegistrationDTO> findById(@PathVariable("id") Long id, @RequestParam("childrenOrgAll") Boolean childrenOrgAll) {
return AlitaResult.success(positionRegistrationService.findByIdAndChildrenOrgAll(id,childrenOrgAll));
}
@GetMapping("/list")
@ApiOperation("岗位报名信息表-列表查询")
public AlitaResult<List<PositionRegistrationDTO>> list(PositionRegistrationPageQueryDTO queryDTO) {
return AlitaResult.success(positionRegistrationService.list(queryDTO));
}
@GetMapping("/page")
@ApiOperation("岗位报名信息表-分页查询")
public AlitaResult<Page<PositionRegistrationDTO>> page(PositionRegistrationPageQueryDTO queryDTO) {
positionRegistrationService.page(queryDTO);
return AlitaResult.success(queryDTO.getPageResult());
}
/**
* @description: 用户端报名岗位
* @return:
* @author: guixinman
* @param:
*/
@PostMapping("/user_create")
public AlitaResult<Void> userCreate(@RequestBody @Validated UserPositionRegistrationDTO dto) {
positionRegistrationService.userCreate(dto);
return AlitaResult.success();
}
@PostMapping("/invite")
@ApiOperation("岗位报名信息表-邀约面试")
public AlitaResult<String> invite(@RequestBody PositionRegistrationOperatorDTO operatorDTO) {
if (CollectionUtils.isEmpty(operatorDTO.getIds())) {
throw new BusinessException("缺失参数");
}
int successrows = operatorDTO.getIds().size();
for (Long id : operatorDTO.getIds()) {
try {
operatorDTO.setId(id);
positionRegistrationService.invite(operatorDTO);
} catch (Exception e) {
successrows = successrows - 1;
log.error(String.format("邀约面试id:%s 操作邀约面试,失败原因:%s",id,e.getMessage()));
}
}
return AlitaResult.success(String.format("成功数: %s条,失败数: %s条", successrows, operatorDTO.getIds().size() - successrows));
}
@PostMapping("/termination")
@ApiOperation("岗位报名信息表-结束招聘")
public AlitaResult<String> termination(@RequestBody PositionRegistrationOperatorDTO operatorDTO) {
if (CollectionUtils.isEmpty(operatorDTO.getIds())) {
throw new BusinessException("缺失参数");
}
int successrows = operatorDTO.getIds().size();
for (Long id : operatorDTO.getIds()) {
try {
operatorDTO.setId(id);
positionRegistrationService.termination(operatorDTO);
} catch (Exception e) {
successrows = successrows - 1;
log.error(String.format("结束招聘id:%s 操作结束招聘,失败原因:%s",id,e.getMessage()));
}
}
return AlitaResult.success(String.format("成功数: %s条,失败数: %s条", successrows, operatorDTO.getIds().size() - successrows));
}
@PostMapping("/fulfillInterview")
@ApiOperation("岗位报名信息表-完成面试")
public AlitaResult<String> fulfillInterview(@RequestBody PositionRegistrationOperatorDTO operatorDTO) {
if (CollectionUtils.isEmpty(operatorDTO.getIds())) {
throw new BusinessException("缺失参数");
}
int successrows = operatorDTO.getIds().size();
for (Long id : operatorDTO.getIds()) {
try {
operatorDTO.setId(id);
positionRegistrationService.fulfillInterview(operatorDTO);
} catch (Exception e) {
successrows = successrows - 1;
log.error(String.format("完成面试id:%s 操作完成面试,失败原因:%s",id,e.getMessage()));
}
}
return AlitaResult.success(String.format("成功数: %s条,失败数: %s条", successrows, operatorDTO.getIds().size() - successrows));
}
@PostMapping("/onTheJob")
@ApiOperation("岗位报名信息表-入职")
public AlitaResult<Void> onTheJob(@RequestBody @Validated OnTheJobDTO dto) {
positionRegistrationService.onTheJob(dto);
return AlitaResult.success();
}
@PostMapping("/resigned")
@ApiOperation("岗位报名信息表-离职")
public AlitaResult<Void> resigned(@RequestBody @Validated ResignedDTO dto) {
positionRegistrationService.resigned(dto);
return AlitaResult.success();
}
@GetMapping("/export")
@ApiOperation("岗位报名信息表-导出")
public void export(PositionRegistrationPageQueryDTO queryDTO) {
positionRegistrationService.export(queryDTO);
}
@GetMapping("/userPage")
@ApiOperation("岗位报名信息表-用户端分页查询")
public AlitaResult<Page<UserPositionRegistrationResDTO>> userPage(UserPositionRegistrationPageQueryDTO queryDTO) {
positionRegistrationService.userPage(queryDTO);
return AlitaResult.success(queryDTO.getPageResult());
}
@GetMapping("/user_cancel")
@ApiOperation("岗位报名信息表-用户端取消报名")
public AlitaResult<Void> cancel(@RequestParam("positionId") Long positionId) {
positionRegistrationService.cancel(positionId);
return AlitaResult.success();
}
@ApiOperation("查看")
@PutMapping("/show")
public AlitaResult<Void> show(@RequestParam("id") Long id){
positionRegistrationService.show(id);
return AlitaResult.success();
}
}