ProjectInfoController.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.zswl.dataservice.controller.user;
  2. import com.zswl.dataservice.model.mqtt.ProjectInfoAddParam;
  3. import com.zswl.dataservice.model.mqtt.ProjectInfoModel;
  4. import com.zswl.dataservice.model.mqtt.ProjectInfoSearchParam;
  5. import com.zswl.dataservice.service.mqtt.DeviceInfoService;
  6. import com.zswl.dataservice.service.mqtt.ProjectInfoService;
  7. import com.zswl.dataservice.utils.result.ResultContent;
  8. import io.swagger.v3.oas.annotations.Operation;
  9. import io.swagger.v3.oas.annotations.Parameter;
  10. import io.swagger.v3.oas.annotations.tags.Tag;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.data.domain.Page;
  13. import org.springframework.data.domain.Pageable;
  14. import org.springframework.data.web.PageableDefault;
  15. import org.springframework.validation.annotation.Validated;
  16. import org.springframework.web.bind.annotation.RequestBody;
  17. import org.springframework.web.bind.annotation.RequestMapping;
  18. import org.springframework.web.bind.annotation.RequestMethod;
  19. import org.springframework.web.bind.annotation.RestController;
  20. import java.util.List;
  21. /**
  22. * 项目 服务
  23. *
  24. * @author TRX
  25. * @date 2024/3/21
  26. */
  27. @RequestMapping("/project")
  28. @RestController
  29. @Validated
  30. @Tag(name = "项目管理")
  31. public class ProjectInfoController {
  32. @Autowired
  33. DeviceInfoService deviceInfoService;
  34. @Autowired
  35. ProjectInfoService projectInfoService;
  36. @Operation(summary = "添加-编辑项目")
  37. @RequestMapping(value = "addProjectInfo", method = {RequestMethod.POST})
  38. public ResultContent addProjectInfo(@RequestBody ProjectInfoAddParam param) {
  39. return projectInfoService.addProjectInfo(param);
  40. }
  41. @Operation(summary = "项目列表-分页查询")
  42. @RequestMapping(value = {"pageProject"}, method = {RequestMethod.POST})
  43. public ResultContent<Page<ProjectInfoModel>> pageProject(@Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable, ProjectInfoSearchParam param) {
  44. return projectInfoService.page(pageable, param);
  45. }
  46. @Operation(summary = "删除项目")
  47. @RequestMapping(value = "deleteProjectInfo", method = {RequestMethod.GET})
  48. public ResultContent deleteProjectInfo(String id) {
  49. return projectInfoService.deleteProjectInfo(id);
  50. }
  51. @Operation(summary = "查询项目详情")
  52. @RequestMapping(value = "getProjectInfo", method = {RequestMethod.GET})
  53. @Parameter(name = "id", description = "数据ID")
  54. public ResultContent<ProjectInfoModel> getProjectInfo(String id) {
  55. return projectInfoService.getProjectInfo(id);
  56. }
  57. @Operation(summary = "查询所有可用的项目列表")
  58. @RequestMapping(value = "getAllProject", method = {RequestMethod.GET})
  59. public ResultContent<List<ProjectInfoModel>> getAllProject() {
  60. return projectInfoService.getAllProject();
  61. }
  62. }