DataCountController.java 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. package com.fdkankan.tk.controller;
  2. import cn.hutool.core.date.DateTime;
  3. import cn.hutool.core.date.DateUtil;
  4. import com.alibaba.excel.EasyExcel;
  5. import com.alibaba.excel.ExcelWriter;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import com.fdkankan.tk.common.PageInfo;
  8. import com.fdkankan.tk.common.ResultData;
  9. import com.fdkankan.tk.request.DataParam;
  10. import com.fdkankan.tk.response.RoomListDataVo;
  11. import com.fdkankan.tk.response.UserMsgVo;
  12. import com.fdkankan.tk.service.DataCountService;
  13. import com.fdkankan.tk.service.IExcelService;
  14. import com.fdkankan.tk.service.IRoomService;
  15. import com.fdkankan.tk.util.Dateutils;
  16. import org.omg.CORBA.INTERNAL;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.web.bind.annotation.*;
  19. import javax.servlet.http.HttpServletRequest;
  20. import javax.servlet.http.HttpServletResponse;
  21. import java.net.URLDecoder;
  22. import java.util.Date;
  23. import java.util.List;
  24. @RestController
  25. public class DataCountController extends BaseController {
  26. @Autowired
  27. DataCountService dataCountService;
  28. @Autowired
  29. IRoomService roomService;
  30. @Autowired
  31. IExcelService excelService;
  32. /**
  33. * 整体概况
  34. */
  35. @GetMapping("/roomData")
  36. public ResultData roomData(){
  37. return ResultData.ok(dataCountService.roomData(getToken()));
  38. }
  39. /**
  40. * 排行榜
  41. */
  42. @GetMapping("/takeLookTop5")
  43. public ResultData takeLookTop5(){
  44. return ResultData.ok(dataCountService.takeLookTop5(getToken()));
  45. }
  46. /**
  47. * 各时间段在线人数
  48. */
  49. @GetMapping("/onlineTimeCount")
  50. public ResultData onlineTimeCount(){
  51. return ResultData.ok(dataCountService.onlineTimeCount(getToken()));
  52. }
  53. @GetMapping("/allRoomList")
  54. public ResultData allRoomList(){
  55. return ResultData.ok(roomService.list());
  56. }
  57. /**
  58. * 房间使用情况,用户流量量,用户分享数,留言人数,留言总数
  59. */
  60. @PostMapping("/roomVisitData")
  61. public ResultData roomVisitData(@RequestBody DataParam param){
  62. return ResultData.ok(dataCountService.roomVisitData(getToken(),param.getRoomTitle(),param.getStartTime(),param.getEndTime()));
  63. }
  64. /**
  65. * 整体数据列表
  66. */
  67. @PostMapping("/roomDataList")
  68. public ResultData roomDataList(@RequestBody DataParam param){
  69. roomDataParam = param;
  70. Page<RoomListDataVo> page = dataCountService.roomDataList(getToken(),
  71. param.getRoomTitle(), param.getStartTime(), param.getEndTime(), param.getPageNum(), param.getPageSize());
  72. return ResultData.ok(PageInfo.PageInfo(page));
  73. }
  74. static DataParam roomDataParam = new DataParam();
  75. /**
  76. */
  77. @PostMapping("/exportRoomData")
  78. public void exportRoomData(
  79. HttpServletRequest request,
  80. HttpServletResponse response) throws Exception {
  81. Page<RoomListDataVo> page = dataCountService.roomDataList(getToken(),
  82. roomDataParam.getRoomTitle(), roomDataParam.getStartTime(), roomDataParam.getEndTime(), 1, 9999);
  83. ExcelWriter excelWriter = null;
  84. try {
  85. excelWriter = EasyExcel.write(response.getOutputStream(),RoomListDataVo.class).build();
  86. excelService.commonExport(request,response,"房间数据", page.getRecords(),excelWriter);
  87. }catch (Exception e){
  88. e.printStackTrace();
  89. }finally {
  90. if(excelWriter != null){
  91. excelWriter.finish();
  92. }
  93. }
  94. }
  95. /**
  96. * 房间留言列表
  97. */
  98. @PostMapping("/roomMsgList")
  99. public ResultData roomMsgList(@RequestBody DataParam param){
  100. roomListParam = param;
  101. Page<UserMsgVo> page = dataCountService.roomMsgList(getToken(),
  102. param.getRoomTitle(), param.getStartTime(), param.getEndTime(), param.getPageNum(), param.getPageSize());
  103. return ResultData.ok(PageInfo.PageInfo(page));
  104. }
  105. static DataParam roomListParam = new DataParam();
  106. /**
  107. */
  108. @PostMapping("/exportRoomMsg")
  109. public void exportRoomMsg(
  110. HttpServletRequest request,
  111. HttpServletResponse response) throws Exception {
  112. Page<UserMsgVo> pageInfo = dataCountService.roomMsgList(getToken(),
  113. roomListParam.getRoomTitle(), roomListParam.getStartTime(), roomListParam.getEndTime(), 1, 9999);
  114. ExcelWriter excelWriter = null;
  115. try {
  116. excelWriter = EasyExcel.write(response.getOutputStream(),UserMsgVo.class).build();
  117. excelService.commonExport(request,response,"房间留言", pageInfo.getRecords(),excelWriter);
  118. }catch (Exception e){
  119. e.printStackTrace();
  120. }finally {
  121. if(excelWriter != null){
  122. excelWriter.finish();
  123. }
  124. }
  125. }
  126. }