package com.redxun.knowledge.analysis.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.redxun.common.annotation.ClassDefine; import com.redxun.common.base.entity.JsonPageResult; import com.redxun.common.base.entity.JsonResult; import com.redxun.common.base.entity.QueryData; import com.redxun.knowledge.analysis.entity.vo.*; import com.redxun.knowledge.analysis.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** * 文件名: CommonController * 作者: zizg * 时间: 2023/3/17 * 描述: * 修改人: * 修改时间: * 修改内容: */ @Slf4j @RestController @RequestMapping("/api-knowledge/analysis") @Api(tags = "业务--系统页面访问量统计") @ClassDefine(title = "业务--系统页面访问量统计", alias = "CommonController", path = "/api-knowledge/analysis", packages = "analysis", packageName = "子系统名称") public class AnalysisCommonController { @Autowired private AnalysisCommonServiceImpl analysisCommonService; @Autowired private AnalysisAlbumServiceImpl analysisAlbumService; @Autowired private AnalysisMapServiceImpl analysisMapService; @Autowired private AnalysisSearchServiceImpl analysisSearchService; @Autowired private AnalysisSynthesizeServiceImpl analysisSynthesizeService; @ApiOperation("PC 各模块整体数量统计") @GetMapping("totalAmount") public JsonResult totalAmount() { Map result = analysisCommonService.totalAmount(); return JsonResult.getSuccessResult(result); } @ApiOperation("PC 获取搜索服务访问量分布柱状图数据") @GetMapping("searchVisitHistogram") public JsonResult searchVisitHistogram(){ SearchVisitHistogramVo searchVisitHistogramVo = analysisCommonService.searchVisitHistogram(); return JsonResult.getSuccessResult(searchVisitHistogramVo); } @ApiOperation("PC 获取搜索服务分词的词云数据") @GetMapping("searchParticipleWordCloud") public JsonResult searchParticipleWordCloud(@RequestParam(value = "tops", required = false, defaultValue = "100") Integer tops) { List result = analysisCommonService.searchParticipleWordCloud(tops); return JsonResult.getSuccessResult(result); } @ApiOperation("PC 查询各类型(维基、文档)知识数量") @GetMapping("knowledgeTypeAmount") public JsonResult knowledgeTypeAmount() { Map result = analysisCommonService.knowledgeTypeAmount(); return JsonResult.getSuccessResult(result); } @ApiOperation("知识类型访问量分布") @GetMapping("knowledgeTypeVisitProportion") public JsonResult knowledgeTypeVisitProportion(@RequestParam("type") String type){ Map result = analysisCommonService.knowledgeTypeVisitProportion(type); return JsonResult.getSuccessResult(result); } @ApiOperation("各一级分类知识创建数量") @GetMapping("level1KnowledgeHistogram") public JsonResult level1KnowledgeHistogram(@RequestParam("type") String type, @RequestParam(value = "sort",required = false) String sort){ List knowledgeCategoryVoList = analysisCommonService.level1KnowledgeHistogram(type,sort); return JsonResult.getSuccessResult(knowledgeCategoryVoList); } @ApiOperation("组织创建知识数量") @PostMapping("organizationKnowledges") public JsonPageResult organizationKnowledges(@RequestBody QueryData queryData){ JsonPageResult jsonResult = JsonPageResult.getSuccess(""); IPage knowledgeCompanyVoList = analysisCommonService.organizationKnowledges(queryData); jsonResult.setPageData(knowledgeCompanyVoList); return jsonResult; } @ApiOperation("专辑创建总量") @GetMapping("albumAmount") public JsonResult albumAmount(@RequestParam("type") String type){ CreateCountTotal result = analysisAlbumService.albumAmount(type); return JsonResult.getSuccessResult(result); } @ApiOperation("专辑详情Top访问量(pv)统计") @GetMapping("albumDetailVisits") public JsonResult albumDetailVisits(@RequestParam("type") String type, @RequestParam(value = "tops",required = false,defaultValue = "10") Integer tops){ List result = analysisAlbumService.albumDetailVisits(type,tops); return JsonResult.getSuccessResult(result); } @ApiOperation("各一级分类专辑创建数量") @GetMapping("level1AlbumHistogram") public JsonResult level1AlbumHistogram(@RequestParam("type") String type, @RequestParam(value = "sort",required = false) String sort){ List result = analysisAlbumService.level1AlbumHistogram(type,sort); return JsonResult.getSuccessResult(result); } @ApiOperation("组织创建和访问专辑数量") @PostMapping("organizationAlbums") public JsonPageResult organizationAlbums(@RequestBody QueryData queryData){ JsonPageResult jsonResult = JsonPageResult.getSuccess(""); IPage result = analysisAlbumService.organizationAlbums(queryData); jsonResult.setPageData(result); return jsonResult; } @ApiOperation("地图创建总量") @GetMapping("mapAmount") public JsonResult mapAmount(@RequestParam("type") String type){ CreateCountTotal result = analysisMapService.mapAmount(type); return JsonResult.getSuccessResult(result); } @ApiOperation("各类型地图创建数量") @GetMapping("typeMapPie") public JsonResult typeMapPie(@RequestParam("type") String type){ List result = analysisMapService.typeMapPie(type); return JsonResult.getSuccessResult(result); } @ApiOperation("地图页面访问量") @GetMapping("mapPageHistogram") public JsonResult mapPageHistogram(@RequestParam("type") String type){ List result = analysisMapService.mapPageHistogram(type); return JsonResult.getSuccessResult(result); } @ApiOperation("组织创建和访问地图数量") @PostMapping("organizationMaps") public JsonPageResult organizationMaps(@RequestBody QueryData queryData){ JsonPageResult jsonResult = JsonPageResult.getSuccess(""); IPage result = analysisMapService.organizationMaps(queryData); jsonResult.setPageData(result); return jsonResult; } @ApiOperation("各业务系统分布") @GetMapping("searchSystemDetailVisits") public JsonResult searchSystemDetailVisits(@RequestParam("type") String type){ Map result = analysisSearchService.searchSystemDetailVisits(type); return JsonResult.getSuccessResult(result); } @ApiOperation("组织访问量") @PostMapping("organizationSearchs") public JsonPageResult organizationSearchs(@RequestBody QueryData queryData){ JsonPageResult jsonResult = JsonPageResult.getSuccess(""); IPage result = analysisSearchService.organizationSearchs(queryData); jsonResult.setPageData(result); return jsonResult; } @ApiOperation("各板块访问量分布") @GetMapping("moduleUserVisits") public JsonResult moduleUserVisits(@RequestParam("type") String type){ Map map = analysisSynthesizeService.moduleUserVisits(type); return JsonResult.getSuccessResult(map); } }