提交 3f7622e8 作者: 洪东保

用户登录统计及导出-debug

父级 80e40c16
......@@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cmeeting.annotation.OperLog;
import com.cmeeting.pojo.SysUserSyncCategory;
import com.cmeeting.service.IUserAccessRecordService;
......@@ -14,17 +14,19 @@ import com.cmeeting.util.R;
import com.cmeeting.util.page.PageUtil;
import com.cmeeting.vo.StatisticVO;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.weaver.ast.Var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
......@@ -80,8 +82,8 @@ public class StatisticsController {
return R.ok();
}
@PostMapping("/useInfoByCompany")
public R useInfoByCompany(@Validated @RequestBody StatisticVO vo) throws ParseException {
@PostMapping("/recordByCompany")
public R recordByCompany(@Validated @RequestBody StatisticVO vo) throws ParseException {
List<SysUserSyncCategory> tree = sysUserSyncService.getTreeList();
String search = vo.getSearch();
if (StrUtil.isNotBlank(search)) {
......@@ -96,8 +98,8 @@ public class StatisticsController {
return PageUtil.getDataTable(list);
}
@PostMapping("/exportUseInfoByCompany")
public void exportUseInfoByCompany(@Validated @RequestBody StatisticVO vo, HttpServletResponse response) throws ParseException, IOException {
@PostMapping("/exportRecordByCompany")
public void exportRecordByCompany(@Validated @RequestBody StatisticVO vo, HttpServletResponse response) throws ParseException, IOException {
String search = vo.getSearch();
List<SysUserSyncCategory> tree = sysUserSyncService.getTreeList();
if (StrUtil.isNotBlank(search)) {
......@@ -107,7 +109,10 @@ public class StatisticsController {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String title = "会议纪要推送次数统计.docx";
String title = "会议使用次数统计(按公司)";
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
String fileName = String.format("%s.xlsx", title);
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "utf8"));
meetingInfoService.statisticsEmail(title, simpleDateFormat1.parse(simpleDateFormat.format(vo.getStartTime()) + " 00:00:00"),
simpleDateFormat1.parse(simpleDateFormat.format(vo.getEndTime()) + " 23:59:59"), response.getOutputStream(), collect);
}
......@@ -118,11 +123,11 @@ public class StatisticsController {
}
@PostMapping("/exportUserAccessRecord")
public void exportUserAccessRecord(@Validated @RequestBody StatisticVO vo, HttpServletResponse response){
List<Map<String, String>> statistics = iUserAccessRecordService.statistics(vo.getSearch(), vo.getStartTime(), vo.getEndTime(), vo.getCurrent(), vo.getSize());
Page<Map<String, String>> statistics = iUserAccessRecordService.statistics(vo.getSearch(), vo.getStartTime(), vo.getEndTime(), vo.getCurrent(), vo.getSize());
List<String> dateList = DateUtil.rangeToList(vo.getStartTime(), vo.getEndTime(), DateField.DAY_OF_YEAR).stream()
.map(date -> DateUtil.format(date, "yyyy-MM-dd"))
.collect(Collectors.toList());
iUserAccessRecordService.exportUserAccessRecord(statistics, dateList, response);
iUserAccessRecordService.exportUserAccessRecord(statistics.getRecords(), dateList, response);
}
@PostMapping("/userAccessRecordByCompany")
public R userAccessRecordByCompany(@Validated @RequestBody StatisticVO vo){
......
package com.cmeeting.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cmeeting.pojo.UserAccessRecord;
......@@ -10,7 +11,7 @@ import java.util.List;
import java.util.Map;
public interface IUserAccessRecordService extends IService<UserAccessRecord> {
List<Map<String, String>> statistics(String search, Date startTime, Date endTime, Integer current, Integer size);
Page<Map<String, String>> statistics(String search, Date startTime, Date endTime, Integer current, Integer size);
List<Map<String, String>> statisticsByCompany(Date startTime, Date endTime, List<String> deptMap);
......
......@@ -46,7 +46,7 @@ public class UserAccessRecordServiceImpl extends ServiceImpl<UserAccessRecordMap
private ISysUserSyncCategoryService iSysUserSyncCategoryService;
@Override
public List<Map<String, String>> statistics(String search, Date startTime, Date endTime, Integer current, Integer size) {
public Page<Map<String, String>> statistics(String search, Date startTime, Date endTime, Integer current, Integer size) {
List<String> dateList = DateUtil.rangeToList(startTime, endTime, DateField.DAY_OF_YEAR).stream()
.map(date -> DateUtil.format(date, "yyyy-MM-dd"))
.collect(Collectors.toList());
......@@ -79,7 +79,7 @@ public class UserAccessRecordServiceImpl extends ServiceImpl<UserAccessRecordMap
}
if (records.isEmpty()) {
return new ArrayList<>();
return page;
}
// 初始化一行用来纵向加和
......@@ -98,8 +98,8 @@ public class UserAccessRecordServiceImpl extends ServiceImpl<UserAccessRecordMap
}
lastRowMap.put("userId", "总计");
records.add(lastRowMap);
return records;
page.setRecords(records);
return page;
}
@Override
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论