XiaoLFeng fb5a8c06f6
Some checks failed
代码检查 / 代码检查 (pull_request) Failing after 27s
feat: 代码风格规约调整
2024-04-10 10:34:55 +08:00

304 lines
11 KiB
Java
Executable File

package com.jsl.oa.controllers;
import com.jsl.oa.model.vodata.ProjectCuttingAddVO;
import com.jsl.oa.model.vodata.ProjectCuttingEditVO;
import com.jsl.oa.model.vodata.ProjectEditVO;
import com.jsl.oa.model.vodata.ProjectWorkVO;
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;
import java.util.List;
/**
* 项目控制器
*
* @author xiao_lfeng | xiangZr-hhh | 176yunxuan
* @version 1.1.0
* @since 1.1.0
*/
@Slf4j
@RestController
@RequiredArgsConstructor
public class ProjectController {
/**
* 项目服务
*/
private final ProjectService projectService;
/**
* 项目展示获取
* 项目轮播图
*
* @param id 获取项目 id
* @return {@link BaseResponse}
*/
@GetMapping("/project/header/get")
public BaseResponse projectGetHeader(@RequestParam(required = false) final Integer id) {
log.info("请求接口[GET]: /project/header/get");
return projectService.getHeader(id);
}
/**
* @param id 获取项目 id
* @return {@link BaseResponse}
*/
@GetMapping("/project/get/id")
public BaseResponse projectGetById(@RequestParam Integer id) {
return projectService.getById(id);
}
/**
* @param id 获取项目 id
* @return {@link BaseResponse}
*/
@GetMapping("/project/getwork/id")
public BaseResponse projectWorkGetById(@RequestParam Integer id) {
return projectService.getWorkById(id);
}
/**
* 游客获取项目
*
* @return {@link BaseResponse}
*/
@GetMapping("/project/get/custom")
public BaseResponse projectGetCustom(@RequestParam(required = false) Integer id,
@RequestParam(required = false) List<String> tags,
@RequestParam(required = false) List<Integer> isFinish,
@RequestParam(required = false, defaultValue = "1") Integer page,
@RequestParam(required = false, defaultValue = "10") Integer pageSize) {
log.info("请求接口[GET]: /project/all/get");
return projectService.tget(id, tags, isFinish, page, pageSize);
}
/**
* 我负责的界面的获取项目
*
* @return {@link BaseResponse}
*/
@GetMapping("/project/get")
public BaseResponse projectGet(@RequestParam(required = false) Integer listAll,
@RequestParam(required = false) List<String> tags,
@RequestParam(required = false) List<Integer> isFinish,
@RequestParam(required = false, defaultValue = "1") Integer page,
@RequestParam(required = false, defaultValue = "10") Integer pageSize,
HttpServletRequest request) {
log.info("请求接口[GET]: /project/get");
return projectService.get(listAll, request, tags, isFinish, page, pageSize);
}
/**
* 我管理的查询
*
* @return {@link BaseResponse}
*/
@GetMapping("/project/work/get")
public BaseResponse projectWorkGet(@RequestParam(required = false) Integer listAll,
@RequestParam(required = false) List<String> tags,
@RequestParam(required = false) List<Integer> isFinish,
@RequestParam(required = false) Integer is,
@RequestParam(required = false, defaultValue = "1") Integer page,
@RequestParam(required = false, defaultValue = "10") Integer pageSize,
HttpServletRequest request) {
log.info("请求接口[GET]: /project/work/get");
return projectService.workget(listAll, request, tags, isFinish, is, page, pageSize);
}
/**
* 单个项目的详细
* 项目轮播图
*
* @param name 获取项目名称
* @return {@link BaseResponse}
*/
@GetMapping("/project/header")
public BaseResponse projectGetByName(@RequestParam String name) {
log.info("请求接口[GET]: /project/header");
return projectService.getByName(name);
}
/**
* 增加项目展示
* 项目轮播图
*
* @param projectShowVO 项目展示信息
* @param request 请求
* @param bindingResult 参数校验
* @return {@link BaseResponse}
*/
@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()) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult));
}
return projectService.addHeader(request, projectShowVO);
}
/**
* 编辑展示的项目
* 项目轮播图
*
* @param projectId 项目 id
* @param request 请求
* @param projectEdit 项目信息
* @param bindingResult 参数校验
* @return {@link BaseResponse}
*/
@PutMapping("/project/header/edit/{projectId}")
public BaseResponse projectEditById(@RequestParam Long projectId, HttpServletRequest request, @RequestBody @Validated ProjectEditVO projectEdit, @NotNull BindingResult bindingResult) {
log.info("请求接口[PUT]: /project/header/edit/{projectId}");
// 判断是否有参数错误
if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult));
}
return projectService.projectEdit(request, projectEdit, projectId);
}
/**
* 子系统子模块的增加
*
* @param request 请求
* @param bindingResult 参数校验
* @return {@link BaseResponse}
*/
@PostMapping("/project/work/add")
public BaseResponse projectWorkAdd(HttpServletRequest request, @RequestBody @Validated ProjectWorkVO projectWorkVO, @NotNull BindingResult bindingResult) {
log.info("请求接口[POST]: /project/work/add");
// 判断是否有参数错误
if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult));
}
return projectService.projecWorktAdd(request, projectWorkVO);
}
/**
* 获取负责人id
*
* @return {@link BaseResponse}
*/
@GetMapping("/project/pri")
public BaseResponse projectPrincipalGet() {
return projectService.projectPrincipalGet();
}
/**
* 用户获取所分到的项目模块
*
* @param uid 用户 id
* @return {@link BaseResponse}
*/
@GetMapping("/project/cut/user")
public BaseResponse projectGetUserInCutting(@RequestParam Long uid) {
log.info("请求接口[GET]: /project/cut/user");
// 判断是否有参数错误
if (uid == null) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
}
return projectService.projectGetUserInCutting(uid);
}
/**
* 给某用户分配项目模块
*
* @param uid 用户 id
* @param pid 项目 id
* @return {@link BaseResponse}
*/
@PostMapping("/project/cut/user/add")
public BaseResponse projectAddUserForCutting(HttpServletRequest request, @RequestParam Long uid, @RequestParam Long pid) {
log.info("请求接口[Post]: /project/cut/user/add");
// 判断是否有参数错误
if (uid == null || pid == null) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
}
return projectService.projectAddUserForCutting(request, uid, pid);
}
/**
* 删除某项目记录
*
* @param id 用户 id
* @return {@link BaseResponse}
*/
@DeleteMapping("/project/delete")
public BaseResponse projectDelete(HttpServletRequest request, @RequestParam List<Long> id) {
log.info("请求接口[Delete]: /project/delete");
if (id == null) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
}
return projectService.projectDelete(request, id);
}
/**
* 项目轮播图
*
* @param request 请求
* @param projectCuttingAddVO 项目轮播图信息
* @param bindingResult 参数校验
* @return {@link BaseResponse}
*/
@PostMapping("/project/cut/add")
public BaseResponse projectCuttingAdd(HttpServletRequest request, @RequestBody @Validated ProjectCuttingAddVO projectCuttingAddVO, @NotNull BindingResult bindingResult) {
log.info("请求接口[Post]: /project/cut/add");
// 判断是否有参数错误
if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
}
return projectService.addProjectCutting(request, projectCuttingAddVO);
}
@PutMapping("/project/cut/edit")
public BaseResponse projectCuttingEdit(HttpServletRequest request, @RequestBody @Validated ProjectCuttingEditVO projectCuttingEditVO, @NotNull BindingResult bindingResult) {
log.info("请求接口[Put]: /project/cut/edit");
// 判断是否有参数错误
if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
}
return projectService.editProjectCutting(request, projectCuttingEditVO);
}
@PutMapping("/project/cut/user/to")
public BaseResponse projectToOtherUserForCutting(
HttpServletRequest request,
@RequestParam Long oldUid,
@RequestParam Long pid,
@RequestParam Long newUid
) {
log.info("请求接口[Put]: /project/cut/user/to");
// 判断是否有参数错误
if (oldUid == null || pid == null || newUid == null) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR);
}
return projectService.projectToOtherUserForCutting(request, oldUid, pid, newUid);
}
@GetMapping("/project/file")
public BaseResponse getProjectFile(HttpServletRequest request, @RequestParam Long projectId) {
log.info("请求接口[Get]: /project/file");
//判断是否有参数错误
if (projectId == null) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR);
}
return projectService.projectFileGet(request, projectId);
}
}