ProjectController.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package seecoder.devcloud.web.controller.project;
  2. import io.swagger.annotations.Api;
  3. import io.swagger.annotations.ApiImplicitParam;
  4. import io.swagger.annotations.ApiOperation;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.web.bind.annotation.*;
  7. import seecoder.devcloud.web.model.po.project.Project;
  8. import seecoder.devcloud.web.service.project.ProjectService;
  9. import seecoder.devcloud.web.model.vo.Response;
  10. import seecoder.devcloud.web.model.vo.project.ProjectVO;
  11. import java.util.List;
  12. /**
  13. * @author Chenyz
  14. * @date 2021/3/10
  15. * @description: 项目接口
  16. */
  17. @Api(tags = "项目相关 API")
  18. @RestController
  19. @RequestMapping("/project")
  20. public class ProjectController {
  21. @Autowired
  22. ProjectService projectService;
  23. @ApiOperation(value = "根据group获取Project列表", httpMethod = "GET")
  24. @GetMapping("/listByGroup/{groupId}")
  25. @ApiImplicitParam(value = "groupId",dataType ="int", paramType = "path")
  26. public Response<List<ProjectVO>> listProjectsByGroupId(@PathVariable("groupId")int groupId){
  27. return Response.buildSuccess(projectService.listProjectsByGroupId(groupId));
  28. }
  29. @ApiOperation(value = "根据user获取Project列表", httpMethod = "GET")
  30. @GetMapping("/listByUser/{userId}")
  31. @ApiImplicitParam(value = "userId",dataType ="int", paramType = "path")
  32. public Response<List<ProjectVO>> listProjectsByUserId(@PathVariable("userId")int userId){
  33. return Response.buildSuccess(projectService.listProjectsByUserId(userId));
  34. }
  35. @ApiOperation(value = "根据projectId获取Project", httpMethod = "GET")
  36. @GetMapping("/{projectId}")
  37. @ApiImplicitParam(value = "projectId",dataType ="int", paramType = "path")
  38. public Response<ProjectVO> getProjectById(@PathVariable("projectId")int projectId){
  39. return Response.buildSuccess(projectService.getProjectById(projectId));
  40. }
  41. @ApiOperation(value = "创建项目,传入的参数中不必带有效的projectId字段,返回一个创建后的结果,注入id", httpMethod = "POST")
  42. @PostMapping("/create")
  43. @ApiImplicitParam(value = "project",dataType = "object", paramType = "body")
  44. public Response<ProjectVO> createProject(@RequestBody ProjectVO project){
  45. return Response.buildSuccess(projectService.createProject(project));
  46. }
  47. @ApiOperation(value = "根据projectId删除项目", httpMethod = "DELETE")
  48. @DeleteMapping("/delete/{projectId}")
  49. @ApiImplicitParam(value = "projectId",dataType ="int", paramType = "path")
  50. public Response deleteProject(@PathVariable("projectId")int projectId){
  51. projectService.deleteProject(projectId);
  52. return Response.buildSuccess();
  53. }
  54. }