ProjectsController.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. package com.ruoyi.web.controller.system;
  2. import cn.hutool.core.util.ObjectUtil;
  3. import cn.hutool.core.util.StrUtil;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.ruoyi.common.core.domain.AjaxResult;
  6. import com.ruoyi.web.domain.dto.projects.ProjectsAddRequest;
  7. import com.ruoyi.web.domain.dto.projects.ProjectsCompletedRequest;
  8. import com.ruoyi.web.domain.dto.projects.ProjectsEditRequest;
  9. import com.ruoyi.web.domain.dto.projects.ProjectsQueryRequest;
  10. import com.ruoyi.web.domain.vo.ProjectsVO;
  11. import com.ruoyi.web.service.ProjectsService;
  12. import io.swagger.annotations.Api;
  13. import io.swagger.annotations.ApiOperation;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.util.Date;
  17. import java.util.Map;
  18. import static com.ruoyi.common.core.domain.AjaxResult.error;
  19. import static com.ruoyi.common.core.domain.AjaxResult.success;
  20. @Api(tags ="项目信息管理")
  21. @RestController
  22. @RequestMapping("/system/projects")
  23. public class ProjectsController {
  24. @Autowired
  25. private ProjectsService projectsService;
  26. /**
  27. * 添加项目
  28. *
  29. * @param projectsAddRequest
  30. * @return
  31. */
  32. @ApiOperation("添加项目")
  33. @PostMapping("/add")
  34. public AjaxResult addProjects(@RequestBody ProjectsAddRequest projectsAddRequest) {
  35. if (projectsAddRequest == null) {
  36. return error("请求参数为空");
  37. }
  38. Integer id = projectsService.addProjects(projectsAddRequest);
  39. return success(id);
  40. }
  41. /**
  42. * 删除项目
  43. *
  44. * @param paramsMap
  45. * @return
  46. */
  47. @ApiOperation("删除项目")
  48. @PostMapping("/delete")
  49. public AjaxResult deleteProjects(@RequestBody Map<String, String> paramsMap) {
  50. String ids = paramsMap.get("ids");
  51. if (StrUtil.isBlank(ids)) {
  52. return error("请求参数为空");
  53. }
  54. boolean b = projectsService.deleteProjects(ids);
  55. if (b) {
  56. return success("删除成功");
  57. }
  58. return error("删除失败");
  59. }
  60. /**
  61. * 编辑项目
  62. *
  63. * @param projectsEditRequest
  64. * @return
  65. */
  66. @ApiOperation("编辑项目")
  67. @PostMapping("/edit")
  68. public AjaxResult editFacility(@RequestBody ProjectsEditRequest projectsEditRequest) {
  69. if (projectsEditRequest == null) {
  70. return error("请求参数为空");
  71. }
  72. projectsService.editProjects(projectsEditRequest);
  73. return AjaxResult.success();
  74. }
  75. /**
  76. * 项目建成
  77. *
  78. * @param projectsCompletedRequest
  79. * @return
  80. */
  81. @ApiOperation("项目建成")
  82. @PostMapping("/completed")
  83. public AjaxResult completedProjects(@RequestBody ProjectsCompletedRequest projectsCompletedRequest) {
  84. Integer id = projectsCompletedRequest.getId();
  85. Date actualCompletionDate = projectsCompletedRequest.getActualCompletionDate();
  86. if (id <= 0 || actualCompletionDate == null) {
  87. return error("请求参数为空");
  88. }
  89. boolean b = projectsService.completedProjects(id, actualCompletionDate);
  90. if (b) {
  91. return AjaxResult.success("操作成功");
  92. } else {
  93. return AjaxResult.error("操作失败");
  94. }
  95. }
  96. /**
  97. * 根据id获取项目
  98. *
  99. * @param id
  100. * @return
  101. */
  102. @ApiOperation("根据id获取项目")
  103. @GetMapping("/get")
  104. public AjaxResult getProjectsById(@RequestParam int id) {
  105. if (ObjectUtil.isEmpty(id)) {
  106. return error("请求参数为空");
  107. }
  108. ProjectsVO projectsVO = projectsService.getProjectsById(id);
  109. return success(projectsVO);
  110. }
  111. /**
  112. * 分页获取项目列表 mybatis-plus
  113. *
  114. * @param projectsQueryRequest
  115. * @return
  116. */
  117. @ApiOperation("分页获取项目列表")
  118. @PostMapping("/list/page")
  119. public AjaxResult listProjectsByPage(@RequestBody ProjectsQueryRequest projectsQueryRequest) {
  120. if (projectsQueryRequest == null) {
  121. return error("请求参数为空");
  122. }
  123. Page<ProjectsVO> listProjectsVOByPage = projectsService.getListProjectsByPage(projectsQueryRequest);
  124. return success(listProjectsVOByPage);
  125. }
  126. }