提交 cff8f61b 作者: 张开石

1、添加统计会议纪要推送数据

父级 0bf9ad20
......@@ -15,6 +15,7 @@ import com.cmeeting.util.AESUtils;
import com.cmeeting.util.MinioUtils;
import com.cmeeting.util.R;
import com.cmeeting.vo.EmailPush;
import com.cmeeting.vo.EmailStatisticsVo;
import com.cmeeting.vo.MeetingInfoVO;
import com.deepoove.poi.XWPFTemplate;
import com.fasterxml.jackson.databind.JsonNode;
......@@ -301,9 +302,9 @@ public class MeetingInfoController {
}
@GetMapping("/statistics")
public void statisticsEmail(Integer type, HttpServletResponse response) {
@PostMapping("/statistics")
public void statisticsEmail(@RequestBody EmailStatisticsVo vo, HttpServletResponse response) {
meetingInfoService.statisticsEmail(type, response);
meetingInfoService.statisticsEmail(vo.getType(), vo.getStartTime(), vo.getEndTime(), response);
}
}
......@@ -6,6 +6,7 @@ import com.cmeeting.pojo.MeetingInfo;
import com.cmeeting.vo.MeetingInfoVO;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
public interface MeetingInfoService extends IService<MeetingInfo> {
IPage<MeetingInfo> getPage(MeetingInfoVO vo);
......@@ -17,6 +18,6 @@ public interface MeetingInfoService extends IService<MeetingInfo> {
/**
* 统计邮件推送情况
*/
void statisticsEmail(Integer type, HttpServletResponse response);
void statisticsEmail(Integer type, Date startTime, Date endTime, HttpServletResponse response);
}
......@@ -54,6 +54,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
......@@ -426,23 +427,22 @@ public class MeetingInfoServiceImpl extends ServiceImpl<MeetingInfoMapper, Meeti
* 统计邮件推送情况
*/
@Override
public void statisticsEmail(Integer type, HttpServletResponse response) {
public void statisticsEmail(Integer type, Date startTime, Date endTime, HttpServletResponse response) {
DateTime now = DateUtil.date();
DateTime startDate;
DateTime endTime;
if (1== type) {
startDate = DateUtil.beginOfDay(DateUtil.offset(now, DateField.DAY_OF_MONTH, -2));
endTime = DateUtil.offset(now, DateField.HOUR_OF_DAY, -2);
} else {
startDate = DateUtil.beginOfDay(now);
endTime = now;
if (ObjectUtils.isEmpty(startTime) || ObjectUtils.isEmpty(endTime)) {
if (1== type) {
startTime = DateUtil.beginOfDay(DateUtil.offset(now, DateField.DAY_OF_MONTH, -2));
endTime = DateUtil.offset(now, DateField.HOUR_OF_DAY, -2);
} else {
startTime = DateUtil.beginOfDay(now);
endTime = now;
}
}
List<MeetingInfo> meetingInfoList = meetingInfoMapper.selectList(new LambdaQueryWrapper<MeetingInfo>()
.eq(MeetingInfo::getEmailPushAccess, true)
.between(MeetingInfo::getStartTime, startDate, endTime));
.between(MeetingInfo::getStartTime, startTime, endTime));
Map<String, List<MeetingInfo>> hostUidMeetingInfoMap = meetingInfoList.stream().collect(Collectors.groupingBy(MeetingInfo::getHostUid));
Map<String, String> hostMap = new HashMap<>();
meetingInfoList.forEach(meetingInfo -> {
......@@ -490,7 +490,7 @@ public class MeetingInfoServiceImpl extends ServiceImpl<MeetingInfoMapper, Meeti
OutputStream outputStream = null;
ExcelWriter writer = ExcelUtil.getWriter(true);
try {
String title = String.format("纪要模板推送统计表-%s", DateUtil.format(now, "yyyy-MM-dd_HH:mm"));
String title = String.format("会议纪要推送统计表-%s", DateUtil.format(now, "yyyy-MM-dd"));
outputStream = response.getOutputStream();
String fileName = String.format("%s.xlsx", title);
......
package com.cmeeting.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @Description
* @Author zhang kaishi
* @Date 2025/7/28 18:22
**/
@Data
public class EmailStatisticsVo {
/**
* 统计类型
*/
private Integer type;
@DateTimeFormat(pattern = "yyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
private Date startTime;
@DateTimeFormat(pattern = "yyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
private Date endTime;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论