ProjectController.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package com.bosshand.virgo.api.controller;
  2. import com.bosshand.virgo.api.model.Project;
  3. import com.bosshand.virgo.api.service.ProjectItemTargetRoomService;
  4. import com.bosshand.virgo.api.service.ProjectService;
  5. import com.bosshand.virgo.api.service.QuartzService;
  6. import com.bosshand.virgo.core.response.Response;
  7. import io.swagger.annotations.Api;
  8. import io.swagger.annotations.ApiOperation;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.web.bind.annotation.*;
  11. import java.util.HashMap;
  12. import java.util.List;
  13. import java.util.Map;
  14. @RestController
  15. @RequestMapping("project")
  16. @Api(tags = {"项目管理"})
  17. public class ProjectController {
  18. @Autowired
  19. ProjectService projectService;
  20. @Autowired
  21. ProjectItemTargetRoomService projectItemTargetRoomService;
  22. @Autowired
  23. QuartzService quartzService;
  24. @ApiOperation("获取")
  25. @RequestMapping(value = "/{currPage}/{pageSize}", method = RequestMethod.POST)
  26. public Response list(@RequestBody Project project, @PathVariable int currPage, @PathVariable int pageSize) {
  27. int totalCount = projectService.getTotalCount(project);
  28. List<Project> dataList = projectService.getLimit(project, currPage, pageSize);
  29. Map<String, Object> result = new HashMap<>();
  30. result.put("dataList", dataList);
  31. result.put("totalCount", totalCount);
  32. return Response.ok(result);
  33. }
  34. @ApiOperation("根据id列表获取")
  35. @RequestMapping(value = "/getIds", method = RequestMethod.POST)
  36. public Response getIds(@RequestBody List<Long> ids) {
  37. List<Project> list = projectService.getIds(ids);
  38. return Response.ok(list);
  39. }
  40. @ApiOperation("详情")
  41. @RequestMapping(value = "/getProject/{id}", method = RequestMethod.GET)
  42. public Response getProject(@PathVariable long id) {
  43. return Response.ok(projectService.get(id));
  44. }
  45. @ApiOperation("根据组织获取项目列表")
  46. @RequestMapping(value = "/getOrganization/{organizationId}", method = RequestMethod.GET)
  47. public Response getProjectByOrganizationId(@PathVariable long organizationId) {
  48. return Response.ok(projectService.getProjectByOrganizationId(organizationId));
  49. }
  50. @ApiOperation("新增")
  51. @RequestMapping(value = "", method = RequestMethod.POST)
  52. public Response insertProject(@RequestBody Project project) {
  53. Project p = projectService.insert(project);
  54. // 每天0点定时保存项目地址天气
  55. quartzService.executeJobCityWeatherQuartz(p);
  56. // 定时生成项目周报数据
  57. quartzService.executeJobProjectWeeklyQuartz(p);
  58. return Response.ok();
  59. }
  60. @ApiOperation("删除")
  61. @RequestMapping(value = "/delete/{id}", method = RequestMethod.DELETE)
  62. public Response deleteProject(@PathVariable long id) {
  63. Project project = projectService.getProject(id);
  64. quartzService.deleteJobQuartz(project);
  65. projectService.deleteProject(id);
  66. projectItemTargetRoomService.projectCache.clear();
  67. return Response.ok();
  68. }
  69. @ApiOperation("修改")
  70. @RequestMapping(value = "/update", method = RequestMethod.PUT)
  71. public Response updateProject(@RequestBody Project project) {
  72. projectService.update(project);
  73. projectItemTargetRoomService.projectCache.clear();
  74. return Response.ok();
  75. }
  76. }