116 lines
4.7 KiB
Java
Executable File
116 lines
4.7 KiB
Java
Executable File
package com.jsl.oa.controllers;
|
|
|
|
import com.jsl.oa.model.voData.ProjectInfoVO;
|
|
import com.jsl.oa.model.voData.business.info.ProjectShowVO;
|
|
import com.jsl.oa.services.ProjectService;
|
|
import com.jsl.oa.utils.BaseResponse;
|
|
import com.jsl.oa.utils.ErrorCode;
|
|
import com.jsl.oa.utils.Processing;
|
|
import com.jsl.oa.utils.ResultUtil;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.springframework.validation.BindingResult;
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
@Slf4j
|
|
@RestController
|
|
@RequiredArgsConstructor
|
|
public class ProjectController {
|
|
|
|
private final ProjectService projectService;
|
|
|
|
@GetMapping("/project/header/get")
|
|
public BaseResponse projectGetHeader(@RequestParam(required = false) Integer id) {
|
|
log.info("请求接口[GET]: /project/header/get");
|
|
return projectService.getHeader(id);
|
|
}
|
|
|
|
@GetMapping("/project/get")
|
|
public BaseResponse projectGet() {
|
|
return projectService.get();
|
|
}
|
|
|
|
@GetMapping("/project/header")
|
|
public BaseResponse projectGetByName(@RequestParam String name) {
|
|
log.info("请求接口[GET]: /project/header");
|
|
return projectService.getByName(name);
|
|
}
|
|
|
|
@PostMapping("/project/header/add")
|
|
public BaseResponse projectAddHeader(@RequestBody @Validated ProjectShowVO projectShowVO, HttpServletRequest request, @NotNull BindingResult bindingResult) {
|
|
log.info("请求接口[POST]: /project/header/add");
|
|
// 参数校验
|
|
if (bindingResult.hasErrors()) {
|
|
log.warn("参数校验失败: {}", Processing.getValidatedErrorList(bindingResult));
|
|
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult));
|
|
}
|
|
return projectService.addHeader(request, projectShowVO);
|
|
}
|
|
|
|
@PutMapping("/project/header/edit")
|
|
public BaseResponse projectEditHeader(@RequestBody @Validated ProjectShowVO projectShowVO, @RequestParam Integer id, HttpServletRequest request, @NotNull BindingResult bindingResult) {
|
|
log.info("请求接口[PUT]: /project/header/del");
|
|
// 参数校验
|
|
if (bindingResult.hasErrors()) {
|
|
log.warn("参数校验失败: {}", Processing.getValidatedErrorList(bindingResult));
|
|
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult));
|
|
}
|
|
if (id == null) {
|
|
log.warn("参数校验失败: {}", "id不能为空");
|
|
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, "id不能为空");
|
|
}
|
|
return projectService.editHeader(request, projectShowVO, id);
|
|
}
|
|
|
|
|
|
@DeleteMapping("/project/header/del")
|
|
public BaseResponse projectDelHeader(@RequestParam Integer id, HttpServletRequest request) {
|
|
log.info("请求接口[Delete]: /project/header/del");
|
|
return projectService.delHeader(id, request);
|
|
}
|
|
|
|
@PostMapping("/project/add")
|
|
public BaseResponse projectAdd(@RequestBody @Validated ProjectInfoVO projectAdd, @NotNull BindingResult bindingResult) {
|
|
log.info("请求接口[PUT]: /project/header/del");
|
|
// 判断是否有参数错误
|
|
if (bindingResult.hasErrors()) {
|
|
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
|
|
}
|
|
return projectService.projectAdd(projectAdd);
|
|
}
|
|
|
|
@PutMapping("/project/edit")
|
|
public BaseResponse projectEdit(@RequestBody @Validated ProjectInfoVO projectEdit, @NotNull BindingResult bindingResult) {
|
|
log.info("请求接口[PUT]: /project/header/del");
|
|
// 判断是否有参数错误
|
|
if (bindingResult.hasErrors()) {
|
|
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
|
|
}
|
|
return projectService.projectEdit(projectEdit);
|
|
}
|
|
|
|
@GetMapping("/project/cut/user")
|
|
public BaseResponse projectGetUserInCutting(@RequestParam Long uid) {
|
|
log.info("请求接口[PUT]: /project/header/del");
|
|
// 判断是否有参数错误
|
|
if (uid == null) {
|
|
return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
|
|
}
|
|
return projectService.projectGetUserInCutting(uid);
|
|
}
|
|
|
|
@PostMapping("/project/cut/user/add")
|
|
public BaseResponse projectAddUserForCutting(@RequestParam Long uid, @RequestParam Long pid) {
|
|
log.info("请求接口[PUT]: /project/header/del");
|
|
// 判断是否有参数错误
|
|
if (uid == null || pid == null) {
|
|
return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
|
|
}
|
|
return projectService.projectAddUserForCutting(uid, pid);
|
|
}
|
|
}
|