DataScreeningController.java 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package edp.davinci.controller;
  2. import edp.davinci.common.controller.BaseController;
  3. import edp.davinci.core.common.Constants;
  4. import edp.davinci.dto.catalogue.CatalogueOrigin;
  5. import edp.davinci.dto.viewDto.ViewBaseInfo;
  6. import edp.davinci.dto.viewDto.ViewExt;
  7. import edp.davinci.model.Catalogue;
  8. import edp.davinci.model.View;
  9. import edp.davinci.service.CatalogueService;
  10. import edp.davinci.service.ViewService;
  11. import io.swagger.annotations.Api;
  12. import io.swagger.annotations.ApiOperation;
  13. import io.swagger.annotations.ApiResponse;
  14. import io.swagger.annotations.ApiResponses;
  15. import lombok.extern.slf4j.Slf4j;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.http.HttpStatus;
  18. import org.springframework.http.MediaType;
  19. import org.springframework.http.ResponseEntity;
  20. import org.springframework.web.bind.annotation.GetMapping;
  21. import org.springframework.web.bind.annotation.RequestMapping;
  22. import org.springframework.web.bind.annotation.RestController;
  23. import javax.servlet.http.HttpServletRequest;
  24. import java.util.ArrayList;
  25. import java.util.HashMap;
  26. import java.util.List;
  27. import java.util.Map;
  28. import java.util.stream.Collectors;
  29. /**
  30. * 数据总览
  31. */
  32. @Api(value = "/dataScreening", tags = "check", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
  33. @ApiResponses(@ApiResponse(code = 404, message = "dataScreening not found"))
  34. @Slf4j
  35. @RestController
  36. @RequestMapping(value = Constants.BASE_API_PATH + "/dataScreening", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
  37. public class DataScreeningController extends BaseController
  38. {
  39. @Autowired
  40. private CatalogueService catalogueService;
  41. @Autowired
  42. private ViewService viewService;
  43. @ApiOperation(value = "get dataScreening")
  44. @GetMapping
  45. public ResponseEntity dataScreening(
  46. HttpServletRequest request)
  47. {
  48. Map<String, Object> result = new HashMap<String, Object>();
  49. List<ViewExt> viewList = viewService.getAllViews();
  50. if (null == viewList)
  51. {
  52. viewList = new ArrayList<ViewExt>();
  53. }
  54. // 数据资源数量
  55. int dataSource = 0;
  56. result.put("dataSource", viewList.size());
  57. // 来源部门数量
  58. int originDept = 0;
  59. List<CatalogueOrigin> catalogueOrigins = catalogueService.getCatalogueOriginDept();
  60. result.put("originDept", catalogueOrigins.size());
  61. // 来源系统数量
  62. int originSystem = 0;
  63. List<CatalogueOrigin> catalogueOriginList = catalogueService.getCatalogueOriginSystem();
  64. result.put("originSystem", catalogueOriginList.size());
  65. // 近一个月目录增长数量
  66. int countCatalogue = 0;
  67. List<Catalogue> catalogueList = catalogueService.getCatalogueMonth();
  68. result.put("countCatalogue", catalogueList.size());
  69. // 行业分类饼图
  70. Map<String, List<ViewExt>> mapIndustry = viewList.stream().collect(Collectors.groupingBy(ViewExt::getIndustry));
  71. result.put("industryData", mapIndustry);
  72. // 数据资源来源部门柱状图
  73. Map<String, List<ViewExt>> mapOriginDept = viewList.stream().collect(Collectors.groupingBy(ViewExt::getOriginDept));
  74. result.put("originDeptData", mapOriginDept);
  75. return ResponseEntity.status(HttpStatus.OK).body(result);
  76. }
  77. }