AnalysisCommonController.java 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. package com.redxun.knowledge.analysis.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.redxun.common.annotation.ClassDefine;
  4. import com.redxun.common.base.entity.JsonPageResult;
  5. import com.redxun.common.base.entity.JsonResult;
  6. import com.redxun.common.base.entity.QueryData;
  7. import com.redxun.knowledge.analysis.entity.vo.*;
  8. import com.redxun.knowledge.analysis.service.*;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.*;
  14. import java.util.List;
  15. import java.util.Map;
  16. /**
  17. * 文件名: CommonController
  18. * 作者: zizg
  19. * 时间: 2023/3/17
  20. * 描述:
  21. * 修改人:
  22. * 修改时间:
  23. * 修改内容:
  24. */
  25. @Slf4j
  26. @RestController
  27. @RequestMapping("/api-knowledge/analysis")
  28. @Api(tags = "业务--系统页面访问量统计")
  29. @ClassDefine(title = "业务--系统页面访问量统计", alias = "CommonController", path = "/api-knowledge/analysis", packages = "analysis", packageName = "子系统名称")
  30. public class AnalysisCommonController {
  31. @Autowired
  32. private AnalysisCommonServiceImpl analysisCommonService;
  33. @Autowired
  34. private AnalysisAlbumServiceImpl analysisAlbumService;
  35. @Autowired
  36. private AnalysisMapServiceImpl analysisMapService;
  37. @Autowired
  38. private AnalysisSearchServiceImpl analysisSearchService;
  39. @Autowired
  40. private AnalysisSynthesizeServiceImpl analysisSynthesizeService;
  41. @ApiOperation("PC 各模块整体数量统计")
  42. @GetMapping("totalAmount")
  43. public JsonResult totalAmount() {
  44. Map<String, Object> result = analysisCommonService.totalAmount();
  45. return JsonResult.getSuccessResult(result);
  46. }
  47. @ApiOperation("PC 获取搜索服务访问量分布柱状图数据")
  48. @GetMapping("searchVisitHistogram")
  49. public JsonResult searchVisitHistogram(){
  50. SearchVisitHistogramVo searchVisitHistogramVo = analysisCommonService.searchVisitHistogram();
  51. return JsonResult.getSuccessResult(searchVisitHistogramVo);
  52. }
  53. @ApiOperation("PC 获取搜索服务分词的词云数据")
  54. @GetMapping("searchParticipleWordCloud")
  55. public JsonResult searchParticipleWordCloud(@RequestParam(value = "tops", required = false, defaultValue = "100") Integer tops) {
  56. List<SearchParticipleWordCloudVo> result = analysisCommonService.searchParticipleWordCloud(tops);
  57. return JsonResult.getSuccessResult(result);
  58. }
  59. @ApiOperation("PC 查询各类型(维基、文档)知识数量")
  60. @GetMapping("knowledgeTypeAmount")
  61. public JsonResult knowledgeTypeAmount() {
  62. Map<String, Object> result = analysisCommonService.knowledgeTypeAmount();
  63. return JsonResult.getSuccessResult(result);
  64. }
  65. @ApiOperation("知识类型访问量分布")
  66. @GetMapping("knowledgeTypeVisitProportion")
  67. public JsonResult knowledgeTypeVisitProportion(@RequestParam("type") String type){
  68. Map<String, Object> result = analysisCommonService.knowledgeTypeVisitProportion(type);
  69. return JsonResult.getSuccessResult(result);
  70. }
  71. @ApiOperation("各一级分类知识创建数量")
  72. @GetMapping("level1KnowledgeHistogram")
  73. public JsonResult level1KnowledgeHistogram(@RequestParam("type") String type,
  74. @RequestParam(value = "sort",required = false) String sort){
  75. List<KnowledgeCategoryVo> knowledgeCategoryVoList = analysisCommonService.level1KnowledgeHistogram(type,sort);
  76. return JsonResult.getSuccessResult(knowledgeCategoryVoList);
  77. }
  78. @ApiOperation("组织创建知识数量")
  79. @PostMapping("organizationKnowledges")
  80. public JsonPageResult organizationKnowledges(@RequestBody QueryData queryData){
  81. JsonPageResult jsonResult = JsonPageResult.getSuccess("");
  82. IPage knowledgeCompanyVoList = analysisCommonService.organizationKnowledges(queryData);
  83. jsonResult.setPageData(knowledgeCompanyVoList);
  84. return jsonResult;
  85. }
  86. @ApiOperation("专辑创建总量")
  87. @GetMapping("albumAmount")
  88. public JsonResult albumAmount(@RequestParam("type") String type){
  89. CreateCountTotal result = analysisAlbumService.albumAmount(type);
  90. return JsonResult.getSuccessResult(result);
  91. }
  92. @ApiOperation("专辑详情Top访问量(pv)统计")
  93. @GetMapping("albumDetailVisits")
  94. public JsonResult albumDetailVisits(@RequestParam("type") String type,
  95. @RequestParam(value = "tops",required = false,defaultValue = "10") Integer tops){
  96. List<AlbumDetailVisitsVo> result = analysisAlbumService.albumDetailVisits(type,tops);
  97. return JsonResult.getSuccessResult(result);
  98. }
  99. @ApiOperation("各一级分类专辑创建数量")
  100. @GetMapping("level1AlbumHistogram")
  101. public JsonResult level1AlbumHistogram(@RequestParam("type") String type,
  102. @RequestParam(value = "sort",required = false) String sort){
  103. List<AlbumCategoryVo> result = analysisAlbumService.level1AlbumHistogram(type,sort);
  104. return JsonResult.getSuccessResult(result);
  105. }
  106. @ApiOperation("组织创建和访问专辑数量")
  107. @PostMapping("organizationAlbums")
  108. public JsonPageResult organizationAlbums(@RequestBody QueryData queryData){
  109. JsonPageResult jsonResult = JsonPageResult.getSuccess("");
  110. IPage result = analysisAlbumService.organizationAlbums(queryData);
  111. jsonResult.setPageData(result);
  112. return jsonResult;
  113. }
  114. @ApiOperation("地图创建总量")
  115. @GetMapping("mapAmount")
  116. public JsonResult mapAmount(@RequestParam("type") String type){
  117. CreateCountTotal result = analysisMapService.mapAmount(type);
  118. return JsonResult.getSuccessResult(result);
  119. }
  120. @ApiOperation("各类型地图创建数量")
  121. @GetMapping("typeMapPie")
  122. public JsonResult typeMapPie(@RequestParam("type") String type){
  123. List<MapTypeCountVo> result = analysisMapService.typeMapPie(type);
  124. return JsonResult.getSuccessResult(result);
  125. }
  126. @ApiOperation("地图页面访问量")
  127. @GetMapping("mapPageHistogram")
  128. public JsonResult mapPageHistogram(@RequestParam("type") String type){
  129. List<MapPagePvVo> result = analysisMapService.mapPageHistogram(type);
  130. return JsonResult.getSuccessResult(result);
  131. }
  132. @ApiOperation("组织创建和访问地图数量")
  133. @PostMapping("organizationMaps")
  134. public JsonPageResult organizationMaps(@RequestBody QueryData queryData){
  135. JsonPageResult jsonResult = JsonPageResult.getSuccess("");
  136. IPage result = analysisMapService.organizationMaps(queryData);
  137. jsonResult.setPageData(result);
  138. return jsonResult;
  139. }
  140. @ApiOperation("各业务系统分布")
  141. @GetMapping("searchSystemDetailVisits")
  142. public JsonResult searchSystemDetailVisits(@RequestParam("type") String type){
  143. Map<String,Double> result = analysisSearchService.searchSystemDetailVisits(type);
  144. return JsonResult.getSuccessResult(result);
  145. }
  146. @ApiOperation("组织访问量")
  147. @PostMapping("organizationSearchs")
  148. public JsonPageResult organizationSearchs(@RequestBody QueryData queryData){
  149. JsonPageResult jsonResult = JsonPageResult.getSuccess("");
  150. IPage result = analysisSearchService.organizationSearchs(queryData);
  151. jsonResult.setPageData(result);
  152. return jsonResult;
  153. }
  154. @ApiOperation("各板块访问量分布")
  155. @GetMapping("moduleUserVisits")
  156. public JsonResult moduleUserVisits(@RequestParam("type") String type){
  157. Map<String,Object> map = analysisSynthesizeService.moduleUserVisits(type);
  158. return JsonResult.getSuccessResult(map);
  159. }
  160. }