Merge remote-tracking branch 'origin/station' into station
This commit is contained in:
commit
1efaa6fe36
|
@ -0,0 +1,9 @@
|
|||
package org.jeecg.common.constant;
|
||||
|
||||
/**
|
||||
* 邮件服务常量
|
||||
*/
|
||||
public class EmailConstant {
|
||||
|
||||
public static final String EMAIL_STATUS_PREFIX = "email_status";
|
||||
}
|
|
@ -50,11 +50,9 @@ public class FTPUtil {
|
|||
// 切换为本地被动模式,可以解决FTP上传后文件为空的问题,但需要服务器将FTP服务添加至防火墙白名单
|
||||
ftp.enterLocalPassiveMode();
|
||||
//连接
|
||||
ftp.connect("182.92.183.230", 21);
|
||||
// ftp.connect(host, port);
|
||||
ftp.connect(host, port);
|
||||
//登录
|
||||
ftp.login("xiao", "123456");
|
||||
// ftp.login(userName, password);
|
||||
ftp.login(userName, password);
|
||||
//判断是否连接成功
|
||||
int reply = ftp.getReplyCode();
|
||||
if (!FTPReply.isPositiveCompletion(reply)) {
|
||||
|
|
|
@ -22,10 +22,10 @@ public class SysEmail implements Serializable {
|
|||
private String id;
|
||||
|
||||
/**
|
||||
* 邮箱名称
|
||||
* email服务地址
|
||||
*/
|
||||
@TableField(value = "name")
|
||||
private String name;
|
||||
@TableField(value = "email_server_address")
|
||||
private String emailServerAddress;
|
||||
|
||||
/**
|
||||
* 邮箱类型(1-收件地址,2-发件地址)
|
||||
|
@ -34,7 +34,7 @@ public class SysEmail implements Serializable {
|
|||
private Integer emilType;
|
||||
|
||||
/**
|
||||
* email地址
|
||||
* 邮箱登录名称
|
||||
*/
|
||||
@TableField(value = "username")
|
||||
private String username;
|
||||
|
@ -49,7 +49,7 @@ public class SysEmail implements Serializable {
|
|||
* 端口
|
||||
*/
|
||||
@TableField(value = "port")
|
||||
private String port;
|
||||
private Integer port;
|
||||
|
||||
/**
|
||||
* 是否启用邮箱(0-不启用,1-启用)
|
||||
|
@ -58,10 +58,10 @@ public class SysEmail implements Serializable {
|
|||
private Integer enabled;
|
||||
|
||||
/**
|
||||
* 监测周期(秒)
|
||||
* 定时获取邮件时间周期(秒)
|
||||
*/
|
||||
@TableField(value = "monitoring_cycle")
|
||||
private Integer monitoringCycle;
|
||||
@TableField(value = "receive_mail_fixed_cycle")
|
||||
private Integer receiveMailFixedCycle;
|
||||
|
||||
/**
|
||||
* 创建日期
|
||||
|
|
|
@ -7,10 +7,12 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 邮件接收日志数据表
|
||||
*/
|
||||
@Data
|
||||
@TableName(value = "sys_email_log")
|
||||
public class SysEmailLog implements Serializable {
|
||||
|
@ -18,34 +20,37 @@ public class SysEmailLog implements Serializable {
|
|||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 邮件id
|
||||
*/
|
||||
@TableField(value = "email_id")
|
||||
private String emailId;
|
||||
|
||||
/**
|
||||
* 邮件主题
|
||||
*/
|
||||
@TableField(value = "subject")
|
||||
private String subject;
|
||||
|
||||
/**
|
||||
* 邮件内容
|
||||
*/
|
||||
@TableField(value = "context")
|
||||
private String context;
|
||||
|
||||
/**
|
||||
* 接收时间
|
||||
*/
|
||||
@TableField(value = "receive_time")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date receiveTime;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
|
||||
@TableField(value = "create_by")
|
||||
private String createBy;
|
||||
|
||||
@TableField(value = "update_time")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(value = "update_by")
|
||||
private String updateBy;
|
||||
|
||||
}
|
||||
|
|
|
@ -16,20 +16,20 @@ public class AlarmLogController {
|
|||
@Autowired
|
||||
private IAlarmLogService alarmLogService;
|
||||
@ApiOperation("报警日志量总览-柱状图")
|
||||
@GetMapping("viewAll")
|
||||
@PostMapping("viewAll")
|
||||
public Result viewAll(@RequestBody AlarmVo alarmVo){ return alarmLogService.viewAll(alarmVo); }
|
||||
@ApiOperation("分页查询报警日志信息")
|
||||
@GetMapping("findPage")
|
||||
@PostMapping("findPage")
|
||||
public Result findPage(@RequestBody AlarmVo alarmVo){
|
||||
return alarmLogService.findPage(alarmVo);
|
||||
}
|
||||
@ApiOperation("各类型报警量统计-饼图")
|
||||
@GetMapping("typeAlarms")
|
||||
@PostMapping("typeAlarms")
|
||||
public Result typeAlarms(@RequestBody AlarmVo alarmVo){
|
||||
return alarmLogService.typeAlarms(alarmVo);
|
||||
}
|
||||
@ApiOperation("报警规则top5-柱状图")
|
||||
@GetMapping("ruleTop")
|
||||
@PostMapping("ruleTop")
|
||||
public Result ruleTop5(@RequestBody AlarmVo alarmVo){
|
||||
return alarmLogService.ruleTop5(alarmVo);
|
||||
}
|
||||
|
|
|
@ -13,9 +13,7 @@ import java.util.Map;
|
|||
|
||||
public interface AlarmLogMapper extends BaseMapper<AlarmLog> {
|
||||
|
||||
List<Date> oneDay(Map<String,Object> params);
|
||||
|
||||
List<Date> oneMoreDay(Map<String,Object> params);
|
||||
List<Date> rangeDay(Map<String,Object> params);
|
||||
List<AlarmHistory> findPage(Map<String,Object> params);
|
||||
|
||||
List<TypeDto> typeAlarms(Map<String,Object> params);
|
||||
|
|
|
@ -1,6 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.jeecg.modules.mapper.AlarmLogMapper">
|
||||
<select id="rangeDay" parameterType="Map" resultType="Date">
|
||||
SELECT
|
||||
l.alarm_start_date
|
||||
FROM
|
||||
alarm_log l
|
||||
INNER JOIN alarm_rule r ON l.rule_id = r.ID
|
||||
<where>
|
||||
<if test="type != null and type != ''">
|
||||
r.source_type = #{type}
|
||||
</if>
|
||||
<if test="startDate != null and startDate != ''">
|
||||
AND l.alarm_start_date >= #{startDate}
|
||||
</if>
|
||||
<if test="endDate != null and endDate != ''">
|
||||
AND l.alarm_start_date <= #{endDate}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="findPage" parameterType="Map" resultType="org.jeecg.modules.entity.AlarmHistory">
|
||||
SELECT
|
||||
*
|
||||
|
@ -37,7 +55,9 @@
|
|||
AND alarm_start_date <= #{endDate}
|
||||
</if>
|
||||
</where>
|
||||
LIMIT #{pageStart}, #{pageSize}
|
||||
<if test="pageFlag == null">
|
||||
LIMIT #{pageSize} OFFSET #{pageStart}
|
||||
</if>
|
||||
</select>
|
||||
<select id="typeAlarms" parameterType="Map" resultType="org.jeecg.modules.dto.TypeDto">
|
||||
SELECT
|
||||
|
@ -88,37 +108,4 @@
|
|||
</where>
|
||||
ORDER BY l.ruleCount DESC
|
||||
</select>
|
||||
<select id="oneDay" parameterType="Map" resultType="Date">
|
||||
SELECT
|
||||
l.alarm_start_date
|
||||
FROM
|
||||
alarm_log l
|
||||
INNER JOIN alarm_rule r ON l.rule_id = r.ID
|
||||
<where>
|
||||
<if test="type != null and type != ''">
|
||||
r.source_type = #{type}
|
||||
</if>
|
||||
<if test="startDate != null and startDate != ''">
|
||||
AND l.alarm_start_date = #{startDate}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="oneMoreDay" parameterType="Map" resultType="Date">
|
||||
SELECT
|
||||
l.alarm_start_date
|
||||
FROM
|
||||
alarm_log l
|
||||
INNER JOIN alarm_rule r ON l.rule_id = r.ID
|
||||
<where>
|
||||
<if test="type != null and type != ''">
|
||||
r.source_type = #{type}
|
||||
</if>
|
||||
<if test="startDate != null and startDate != ''">
|
||||
AND l.alarm_start_date >= #{startDate}
|
||||
</if>
|
||||
<if test="endDate != null and endDate != ''">
|
||||
AND l.alarm_start_date <= #{endDate}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
|
@ -1,6 +1,7 @@
|
|||
package org.jeecg.modules.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
|
@ -37,11 +38,26 @@ public class AlarmLogServiceImpl extends ServiceImpl<AlarmLogMapper, AlarmLog> i
|
|||
public Result viewAll(AlarmVo alarmVo) {
|
||||
String startDate = alarmVo.getStartDate();
|
||||
String endDate = alarmVo.getEndDate();
|
||||
// 拼接日期为合理的日期+时间范围
|
||||
alarmVo.setStartDate(startDate + " 00:00:00");
|
||||
alarmVo.setEndDate(endDate + " 23:59:59");
|
||||
// 定义返回结果
|
||||
Set<String> xData = new HashSet<>();
|
||||
Collection<Integer> YData = new ArrayList<>();
|
||||
Map<String,Object> result = new HashMap<>();
|
||||
// 转换参数 数据查询
|
||||
Map<String, Object> params = BeanUtil.beanToMap(alarmVo);
|
||||
List<Date> allDate;
|
||||
/* 选择日期为同一天 按照小时划分 0-23小时 */
|
||||
List<Date> allDate = baseMapper.rangeDay(params);
|
||||
// 查询数据为空则直接返回空集合
|
||||
if (CollUtil.isEmpty(allDate)){
|
||||
result.put("xData",xData);
|
||||
result.put("yData",YData);
|
||||
return Result.OK(result);
|
||||
}
|
||||
// 分情况处理 1.按小时统计 2.按天统计
|
||||
|
||||
/* 1.选择日期为同一天 按照小时划分 0-23小时 */
|
||||
if (startDate.equals(endDate)){
|
||||
allDate = baseMapper.oneDay(params);
|
||||
Map<Integer, List<Date>> groupTime = allDate.stream()
|
||||
.sorted(Comparator.comparing(Date::getHours))
|
||||
.collect(Collectors.groupingBy(Date::getHours));
|
||||
|
@ -55,17 +71,14 @@ public class AlarmLogServiceImpl extends ServiceImpl<AlarmLogMapper, AlarmLog> i
|
|||
}
|
||||
}
|
||||
// 返回x轴和y轴数据
|
||||
Set<String> xData = statistic.keySet();
|
||||
Collection<Integer> YData = statistic.values();
|
||||
Map<String,Object> result = new HashMap<>();
|
||||
xData = statistic.keySet();
|
||||
YData = statistic.values();
|
||||
result.put("xData",xData);
|
||||
result.put("yData",YData);
|
||||
return Result.OK(result);
|
||||
}
|
||||
/* 选择日期不是同一天 按照天划分(可以跨月选择,但不包括跨年) */
|
||||
/* 2.选择日期不是同一天 按照天划分(可以跨月选择,但不包括跨年) */
|
||||
else {
|
||||
allDate = baseMapper.oneMoreDay(params);
|
||||
|
||||
Map<String,Integer> statistic = new HashMap<>();
|
||||
// 通过mounth分组
|
||||
Map<Integer, List<Date>> groupMounth = allDate.stream()
|
||||
|
@ -102,16 +115,16 @@ public class AlarmLogServiceImpl extends ServiceImpl<AlarmLogMapper, AlarmLog> i
|
|||
return dateStr;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
// 将startDate和endDate中没有预警信息的day设置为0
|
||||
// startDate和endDate范围内无报警信息
|
||||
// 的日期(哪一天),将其报警数量设置为0
|
||||
for (String dateStr : allDateStr) {
|
||||
if (!allDateStr.contains(dateStr)){
|
||||
statistic.put(dateStr,0);
|
||||
}
|
||||
}
|
||||
// 返回x轴和y轴数据
|
||||
Set<String> xData = statistic.keySet();
|
||||
Collection<Integer> YData = statistic.values();
|
||||
Map<String,Object> result = new HashMap<>();
|
||||
xData = statistic.keySet();
|
||||
YData = statistic.values();
|
||||
result.put("xData",xData);
|
||||
result.put("yData",YData);
|
||||
return Result.OK(result);
|
||||
|
@ -134,8 +147,10 @@ public class AlarmLogServiceImpl extends ServiceImpl<AlarmLogMapper, AlarmLog> i
|
|||
List<AlarmHistory> alarmHistories = baseMapper.findPage(params);
|
||||
// 当前页数据
|
||||
page.setRecords(alarmHistories);
|
||||
// 数据总条数
|
||||
page.setTotal(this.count());
|
||||
// 获取数据总条数(经过查询条件过滤后的)
|
||||
params.put("pageFlag","noPage");
|
||||
Integer total = baseMapper.findPage(params).size();
|
||||
page.setTotal(total);
|
||||
return Result.OK(page);
|
||||
}
|
||||
|
||||
|
|
|
@ -11,4 +11,6 @@ public class AlarmVo extends QueryRequest implements Serializable {
|
|||
private String startDate;
|
||||
private String endDate;
|
||||
private Integer pageStart;
|
||||
// 标记:根据条件查询但不进行分页
|
||||
private String pageFlag;
|
||||
}
|
||||
|
|
|
@ -88,7 +88,8 @@ public class LoginController {
|
|||
//update-begin--Author:scott Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
|
||||
|
||||
//update-begin-author:taoyan date:20190828 for:校验验证码
|
||||
String captcha = sysLoginModel.getCaptcha();
|
||||
|
||||
/* String captcha = sysLoginModel.getCaptcha();
|
||||
if(captcha==null){
|
||||
result.error500("验证码无效");
|
||||
return result;
|
||||
|
@ -107,7 +108,7 @@ public class LoginController {
|
|||
// 改成特殊的code 便于前端判断
|
||||
result.setCode(HttpStatus.PRECONDITION_FAILED.value());
|
||||
return result;
|
||||
}
|
||||
}*/
|
||||
//update-end-author:taoyan date:20190828 for:校验验证码
|
||||
|
||||
//1. 校验用户是否有效
|
||||
|
@ -135,7 +136,7 @@ public class LoginController {
|
|||
//用户登录信息
|
||||
userInfo(sysUser, result);
|
||||
//update-begin--Author:liusq Date:20210126 for:登录成功,删除redis中的验证码
|
||||
redisUtil.del(realKey);
|
||||
//redisUtil.del(realKey);
|
||||
//update-begin--Author:liusq Date:20210126 for:登录成功,删除redis中的验证码
|
||||
redisUtil.del(CommonConstant.LOGIN_FAIL + username);
|
||||
LoginUser loginUser = new LoginUser();
|
||||
|
|
|
@ -12,8 +12,12 @@
|
|||
<artifactId>jeecg-abnormal-alarm-start</artifactId>
|
||||
|
||||
<dependencies>
|
||||
|
||||
|
||||
<!-- jeecg-system-cloud-api -->
|
||||
<dependency>
|
||||
<groupId>org.jeecgframework.boot</groupId>
|
||||
<artifactId>jeecg-system-cloud-api</artifactId>
|
||||
</dependency>
|
||||
<!-- jeecg-module-abnormal-alarm模块 -->
|
||||
<dependency>
|
||||
<groupId>org.jeecgframework.boot</groupId>
|
||||
<artifactId>jeecg-module-abnormal-alarm</artifactId>
|
||||
|
|
|
@ -12,6 +12,11 @@
|
|||
<artifactId>jeecg-log-manage-start</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<!-- jeecg-system-cloud-api -->
|
||||
<dependency>
|
||||
<groupId>org.jeecgframework.boot</groupId>
|
||||
<artifactId>jeecg-system-cloud-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jeecgframework.boot</groupId>
|
||||
<artifactId>jeecg-module-log-manage</artifactId>
|
||||
|
|
|
@ -12,6 +12,11 @@
|
|||
<artifactId>jeecg-station-operation-start</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<!-- jeecg-system-cloud-api -->
|
||||
<dependency>
|
||||
<groupId>org.jeecgframework.boot</groupId>
|
||||
<artifactId>jeecg-system-cloud-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jeecgframework.boot</groupId>
|
||||
<artifactId>jeecg-module-station-operation</artifactId>
|
||||
|
|
|
@ -12,6 +12,11 @@
|
|||
<artifactId>jeecg-web-statistics-start</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<!-- jeecg-system-cloud-api -->
|
||||
<dependency>
|
||||
<groupId>org.jeecgframework.boot</groupId>
|
||||
<artifactId>jeecg-system-cloud-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jeecgframework.boot</groupId>
|
||||
<artifactId>jeecg-module-web-statistics</artifactId>
|
||||
|
|
Loading…
Reference in New Issue
Block a user