fix:邮件服务器邮件量
This commit is contained in:
parent
74c54c98f0
commit
8472cf96fb
|
@ -1,7 +1,9 @@
|
||||||
package org.jeecg.modules.mapper;
|
package org.jeecg.modules.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.jeecg.modules.base.dto.EmailDto;
|
import org.jeecg.modules.base.dto.EmailDto;
|
||||||
|
import org.jeecg.modules.base.dto.IdCount;
|
||||||
import org.jeecg.modules.base.entity.postgre.SysEmail;
|
import org.jeecg.modules.base.entity.postgre.SysEmail;
|
||||||
import org.jeecg.modules.entity.AlarmHistory;
|
import org.jeecg.modules.entity.AlarmHistory;
|
||||||
|
|
||||||
|
@ -13,4 +15,8 @@ public interface SysEmailMapper extends BaseMapper<SysEmail> {
|
||||||
List<AlarmHistory> findAlarmHistory(Map<String,Object> params);
|
List<AlarmHistory> findAlarmHistory(Map<String,Object> params);
|
||||||
|
|
||||||
List<EmailDto> findPage(Map<String,Object> params);
|
List<EmailDto> findPage(Map<String,Object> params);
|
||||||
|
|
||||||
|
List<IdCount> counts(@Param("emailIds") List<String> emailIds,
|
||||||
|
@Param("startDate") String startDate,
|
||||||
|
@Param("endDate") String endDate);
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,5 +49,21 @@
|
||||||
LIMIT #{pageSize} OFFSET #{pageStart}
|
LIMIT #{pageSize} OFFSET #{pageStart}
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
<select id="counts" resultType="org.jeecg.modules.base.dto.IdCount">
|
||||||
|
SELECT
|
||||||
|
email_id AS id,
|
||||||
|
count(email_id)
|
||||||
|
FROM
|
||||||
|
sys_email_log
|
||||||
|
<where>
|
||||||
|
receive_time BETWEEN #{startDate} AND #{endDate}
|
||||||
|
<if test="emailIds != null and emailIds.size() > 0">
|
||||||
|
AND email_id IN
|
||||||
|
<foreach collection="emailIds" index="index" open="(" close=")" item="item" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
GROUP BY email_id
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
|
@ -11,7 +11,7 @@ import java.util.List;
|
||||||
|
|
||||||
public interface ISysEmailService extends IService<SysEmail> {
|
public interface ISysEmailService extends IService<SysEmail> {
|
||||||
|
|
||||||
Result findPage(QueryRequest query);
|
Result<?> findPage(QueryRequest query);
|
||||||
|
|
||||||
Result findInfo(String id);
|
Result findInfo(String id);
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,8 @@ package org.jeecg.modules.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.collection.ListUtil;
|
||||||
|
import cn.hutool.core.map.MapUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
@ -14,6 +16,7 @@ import org.jeecg.common.constant.DateConstant;
|
||||||
import org.jeecg.common.constant.Prompt;
|
import org.jeecg.common.constant.Prompt;
|
||||||
import org.jeecg.common.email.emuns.SysMailType;
|
import org.jeecg.common.email.emuns.SysMailType;
|
||||||
import org.jeecg.modules.base.dto.EmailDto;
|
import org.jeecg.modules.base.dto.EmailDto;
|
||||||
|
import org.jeecg.modules.base.dto.IdCount;
|
||||||
import org.jeecg.modules.base.dto.SourceDto;
|
import org.jeecg.modules.base.dto.SourceDto;
|
||||||
import org.jeecg.modules.base.entity.postgre.SysEmail;
|
import org.jeecg.modules.base.entity.postgre.SysEmail;
|
||||||
import org.jeecg.modules.base.bizVo.SourceVo;
|
import org.jeecg.modules.base.bizVo.SourceVo;
|
||||||
|
@ -26,12 +29,13 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service("sysEmailService")
|
@Service("sysEmailService")
|
||||||
public class SysEmailServiceImpl extends ServiceImpl<SysEmailMapper, SysEmail> implements ISysEmailService {
|
public class SysEmailServiceImpl extends ServiceImpl<SysEmailMapper, SysEmail> implements ISysEmailService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result findPage(QueryRequest query) {
|
public Result<?> findPage(QueryRequest query) {
|
||||||
Integer pageNo = query.getPageNo();
|
Integer pageNo = query.getPageNo();
|
||||||
Integer pageSize = query.getPageSize();
|
Integer pageSize = query.getPageSize();
|
||||||
Integer pageStart = (pageNo - 1) * pageSize;
|
Integer pageStart = (pageNo - 1) * pageSize;
|
||||||
|
@ -45,12 +49,33 @@ public class SysEmailServiceImpl extends ServiceImpl<SysEmailMapper, SysEmail> i
|
||||||
String endDate = date + DateConstant.TIME_END;
|
String endDate = date + DateConstant.TIME_END;
|
||||||
params.put("startDate",startDate);
|
params.put("startDate",startDate);
|
||||||
params.put("endDate",endDate);
|
params.put("endDate",endDate);
|
||||||
|
|
||||||
List<EmailDto> emailDtos = baseMapper.findPage(params);
|
List<EmailDto> emailDtos = baseMapper.findPage(params);
|
||||||
|
// 查询当日 昨日 最近一周邮件接受量
|
||||||
|
List<String> emailIds = emailDtos.stream()
|
||||||
|
.map(EmailDto::getId).collect(Collectors.toList());
|
||||||
|
LocalDate today = LocalDate.now();
|
||||||
|
String todayStart = today + DateConstant.TIME_START;
|
||||||
|
String todayEnd = today + DateConstant.TIME_END;
|
||||||
|
LocalDate yesterday = LocalDate.now().minusDays(1);
|
||||||
|
String yesterdayStart = yesterday + DateConstant.TIME_START;
|
||||||
|
String yesterdayEnd = yesterday + DateConstant.TIME_END;
|
||||||
|
LocalDate passWeek = LocalDate.now().minusWeeks(1);
|
||||||
|
String weekStart = passWeek + DateConstant.TIME_START;
|
||||||
|
Map<String, Integer> todayMap = baseMapper.counts(emailIds, todayStart, todayEnd)
|
||||||
|
.stream().collect(Collectors.toMap(IdCount::getId, IdCount::getCount));
|
||||||
|
Map<String, Integer> yestMap = baseMapper.counts(emailIds, yesterdayStart, yesterdayEnd)
|
||||||
|
.stream().collect(Collectors.toMap(IdCount::getId, IdCount::getCount));
|
||||||
|
Map<String, Integer> weekMap = baseMapper.counts(emailIds, weekStart, todayEnd)
|
||||||
|
.stream().collect(Collectors.toMap(IdCount::getId, IdCount::getCount));
|
||||||
for (EmailDto emailDto : emailDtos) {
|
for (EmailDto emailDto : emailDtos) {
|
||||||
emailDto.setOnline(true).setToday(2)
|
String id = emailDto.getId();
|
||||||
.setYesterday(5).setWeekly(7)
|
emailDto.setOnline(true).setStoerCapacity("100%").setStoerRed(true)
|
||||||
.setStoerCapacity("100%").setStoerRed(true);
|
.setToday(todayMap.getOrDefault(id, 0))
|
||||||
|
.setYesterday(yestMap.getOrDefault(id, 0))
|
||||||
|
.setWeekly(weekMap.getOrDefault(id, 0));
|
||||||
}
|
}
|
||||||
|
// 不分页 查询记录总数
|
||||||
params.put("pageFlag","noPage");
|
params.put("pageFlag","noPage");
|
||||||
long total = baseMapper.findPage(params).size();
|
long total = baseMapper.findPage(params).size();
|
||||||
Page<EmailDto> page = new Page<>(pageNo, pageSize, total);
|
Page<EmailDto> page = new Page<>(pageNo, pageSize, total);
|
||||||
|
|
|
@ -279,11 +279,12 @@ public class QuartzJobController {
|
||||||
return Result.error("The specified task entity class was not found");
|
return Result.error("The specified task entity class was not found");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
return quartzJobService.execute(quartzJob);
|
quartzJobService.execute(quartzJob);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return Result.error(Prompt.EXEC_Faild);
|
return Result.error(Prompt.EXEC_Faild);
|
||||||
}
|
}
|
||||||
|
return Result.ok(Prompt.EXEC_SUCC);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,19 +23,15 @@ public class NuclideParamJob implements Job {
|
||||||
|
|
||||||
private AbnormalAlarmClient alarmClient;
|
private AbnormalAlarmClient alarmClient;
|
||||||
|
|
||||||
private boolean success = true;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(JobExecutionContext context) throws JobExecutionException {
|
public void execute(JobExecutionContext context) throws JobExecutionException {
|
||||||
try {
|
try {
|
||||||
init();
|
init();
|
||||||
success = alarmClient.refreshParam();
|
alarmClient.refreshParam();
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
success = false;
|
|
||||||
}finally {
|
}finally {
|
||||||
destroy();
|
destroy();
|
||||||
context.getJobDetail().getJobDataMap().put("success",success);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,19 +23,15 @@ public class NucliedAvgJob implements Job {
|
||||||
|
|
||||||
private AbnormalAlarmClient alarmClient;
|
private AbnormalAlarmClient alarmClient;
|
||||||
|
|
||||||
private boolean success = true;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(JobExecutionContext context) throws JobExecutionException {
|
public void execute(JobExecutionContext context) throws JobExecutionException {
|
||||||
try {
|
try {
|
||||||
init();
|
init();
|
||||||
success = alarmClient.calculateConc();
|
alarmClient.calculateConc();
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
success = false;
|
|
||||||
}finally {
|
}finally {
|
||||||
destroy();
|
destroy();
|
||||||
context.getJobDetail().getJobDataMap().put("success",success);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,19 +17,15 @@ public class SyncServerItemJob implements Job {
|
||||||
|
|
||||||
private AbnormalAlarmClient alarmClient;
|
private AbnormalAlarmClient alarmClient;
|
||||||
|
|
||||||
private boolean success = true;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(JobExecutionContext context) throws JobExecutionException {
|
public void execute(JobExecutionContext context) throws JobExecutionException {
|
||||||
try {
|
try {
|
||||||
init();
|
init();
|
||||||
success = alarmClient.syncServerItem();
|
alarmClient.syncServerItem();
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
success = false;
|
|
||||||
}finally {
|
}finally {
|
||||||
destroy();
|
destroy();
|
||||||
context.getJobDetail().getJobDataMap().put("success",success);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,7 @@ public interface IQuartzJobService extends IService<QuartzJob> {
|
||||||
* @param quartzJob
|
* @param quartzJob
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
Result<?> execute(QuartzJob quartzJob) throws Exception;
|
void execute(QuartzJob quartzJob) throws Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 暂停任务
|
* 暂停任务
|
||||||
|
|
|
@ -106,7 +106,7 @@ public class QuartzJobServiceImpl extends ServiceImpl<QuartzJobMapper, QuartzJob
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result<?> execute(QuartzJob quartzJob) throws Exception {
|
public void execute(QuartzJob quartzJob) throws Exception {
|
||||||
String jobName = quartzJob.getJobClassName().trim();
|
String jobName = quartzJob.getJobClassName().trim();
|
||||||
Date startDate = new Date();
|
Date startDate = new Date();
|
||||||
String ymd = DateUtils.date2Str(startDate,DateUtils.yyyymmddhhmmss.get());
|
String ymd = DateUtils.date2Str(startDate,DateUtils.yyyymmddhhmmss.get());
|
||||||
|
@ -130,12 +130,12 @@ public class QuartzJobServiceImpl extends ServiceImpl<QuartzJobMapper, QuartzJob
|
||||||
scheduler.scheduleJob(jobDetail, trigger);
|
scheduler.scheduleJob(jobDetail, trigger);
|
||||||
// 启动scheduler
|
// 启动scheduler
|
||||||
scheduler.start();
|
scheduler.start();
|
||||||
// TODO 获取 JobDetail 对象
|
/*// TODO 获取 JobDetail 对象
|
||||||
JobDetail detail = scheduler.getJobDetail(new JobKey(identity));
|
JobDetail detail = scheduler.getJobDetail(new JobKey(identity));
|
||||||
if (ObjectUtil.isNull(detail))
|
if (ObjectUtil.isNull(detail))
|
||||||
return Result.OK(Prompt.EXEC_SUCC);
|
return Result.OK(Prompt.EXEC_SUCC);
|
||||||
boolean success = detail.getJobDataMap().getBoolean("success");
|
boolean success = detail.getJobDataMap().getBoolean("success");
|
||||||
return success ? Result.OK(Prompt.EXEC_SUCC) : Result.error(Prompt.EXEC_Faild);
|
return success ? Result.OK(Prompt.EXEC_SUCC) : Result.error(Prompt.EXEC_Faild);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue
Block a user