package com.fdkankan.tk.controller; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fdkankan.tk.common.PageInfo; import com.fdkankan.tk.common.ResultData; import com.fdkankan.tk.request.DataParam; import com.fdkankan.tk.response.RoomListDataVo; import com.fdkankan.tk.response.UserMsgVo; import com.fdkankan.tk.service.DataCountService; import com.fdkankan.tk.service.IExcelService; import com.fdkankan.tk.service.IRoomService; import com.fdkankan.tk.util.Dateutils; import org.omg.CORBA.INTERNAL; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.net.URLDecoder; import java.util.Date; import java.util.List; @RestController public class DataCountController extends BaseController { @Autowired DataCountService dataCountService; @Autowired IRoomService roomService; @Autowired IExcelService excelService; /** * 整体概况 */ @GetMapping("/roomData") public ResultData roomData(){ return ResultData.ok(dataCountService.roomData(getToken())); } /** * 排行榜 */ @GetMapping("/takeLookTop5") public ResultData takeLookTop5(){ return ResultData.ok(dataCountService.takeLookTop5(getToken())); } /** * 各时间段在线人数 */ @GetMapping("/onlineTimeCount") public ResultData onlineTimeCount(){ return ResultData.ok(dataCountService.onlineTimeCount(getToken())); } @GetMapping("/allRoomList") public ResultData allRoomList(){ return ResultData.ok(roomService.list()); } /** * 房间使用情况,用户流量量,用户分享数,留言人数,留言总数 */ @PostMapping("/roomVisitData") public ResultData roomVisitData(@RequestBody DataParam param){ return ResultData.ok(dataCountService.roomVisitData(getToken(),param.getRoomTitle(),param.getStartTime(),param.getEndTime())); } /** * 整体数据列表 */ @PostMapping("/roomDataList") public ResultData roomDataList(@RequestBody DataParam param){ roomDataParam = param; Page page = dataCountService.roomDataList(getToken(), param.getRoomTitle(), param.getStartTime(), param.getEndTime(), param.getPageNum(), param.getPageSize()); return ResultData.ok(PageInfo.PageInfo(page)); } static DataParam roomDataParam = new DataParam(); /** */ @PostMapping("/exportRoomData") public void exportRoomData( HttpServletRequest request, HttpServletResponse response) throws Exception { Page page = dataCountService.roomDataList(getToken(), roomDataParam.getRoomTitle(), roomDataParam.getStartTime(), roomDataParam.getEndTime(), 1, 9999); ExcelWriter excelWriter = null; try { excelWriter = EasyExcel.write(response.getOutputStream(),RoomListDataVo.class).build(); excelService.commonExport(request,response,"房间数据", page.getRecords(),excelWriter); }catch (Exception e){ e.printStackTrace(); }finally { if(excelWriter != null){ excelWriter.finish(); } } } /** * 房间留言列表 */ @PostMapping("/roomMsgList") public ResultData roomMsgList(@RequestBody DataParam param){ roomListParam = param; Page page = dataCountService.roomMsgList(getToken(), param.getRoomTitle(), param.getStartTime(), param.getEndTime(), param.getPageNum(), param.getPageSize()); return ResultData.ok(PageInfo.PageInfo(page)); } static DataParam roomListParam = new DataParam(); /** */ @PostMapping("/exportRoomMsg") public void exportRoomMsg( HttpServletRequest request, HttpServletResponse response) throws Exception { Page pageInfo = dataCountService.roomMsgList(getToken(), roomListParam.getRoomTitle(), roomListParam.getStartTime(), roomListParam.getEndTime(), 1, 9999); ExcelWriter excelWriter = null; try { excelWriter = EasyExcel.write(response.getOutputStream(),UserMsgVo.class).build(); excelService.commonExport(request,response,"房间留言", pageInfo.getRecords(),excelWriter); }catch (Exception e){ e.printStackTrace(); }finally { if(excelWriter != null){ excelWriter.finish(); } } } }