浏览代码

系统告警功能 非法IP访问加入系统告警。

wukai 2 年之前
父节点
当前提交
8cca6ecdf8

+ 1 - 1
doc-common/src/main/java/com/doc/common/enums/AlarmType.java

@@ -9,7 +9,7 @@ public enum AlarmType {
     /**
      * 非法访问
      */
-    illegal,
+    ILLEGAL,
 
     /**
      * 监控信息

+ 13 - 0
doc-framework/src/main/java/com/doc/framework/interceptor/WhiteListInterceptor.java

@@ -1,7 +1,11 @@
 package com.doc.framework.interceptor;
 
+import com.doc.common.enums.AlarmType;
+import com.doc.common.enums.EventLevel;
 import com.doc.common.utils.StringUtils;
 import com.doc.common.utils.ip.IpUtils;
+import com.doc.system.domain.SysAlarm;
+import com.doc.system.service.ISysAlarmService;
 import com.doc.system.service.ISysConfigService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
@@ -12,6 +16,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.util.Date;
 
 /**
  * 白名单拦截
@@ -23,6 +28,8 @@ import java.io.PrintWriter;
 public class WhiteListInterceptor implements HandlerInterceptor {
     @Resource
     private ISysConfigService configService;
+    @Resource
+    private ISysAlarmService alarmService;
 
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
@@ -36,6 +43,12 @@ public class WhiteListInterceptor implements HandlerInterceptor {
         if (IpUtils.isMatchedIp(whiteList, IpUtils.getIpAddr())) {
             return true;
         } else {
+            SysAlarm alarm = new SysAlarm();
+            alarm.setAlarmLevel(EventLevel.HIGH.ordinal());
+            alarm.setAlarmType(AlarmType.ILLEGAL.ordinal());
+            alarm.setAlarmContent("发现IP地址:(" + IpUtils.getIpAddr() + ")非法访问!");
+            alarm.setAlarmTime(new Date());
+            alarmService.insertSysAlarm(alarm);
             returnJson(response);
             return false;
         }

+ 25 - 72
doc-system/src/main/java/com/doc/system/domain/SysAlarm.java

@@ -1,14 +1,14 @@
 package com.doc.system.domain;
 
-import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.baomidou.mybatisplus.annotation.TableId;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
 import com.doc.common.annotation.Excel;
 import com.doc.common.core.domain.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
 
 /**
  * 系统告警对象 sys_alarm
@@ -17,90 +17,43 @@ import com.doc.common.core.domain.BaseEntity;
  * @date 2023-11-24
  */
 @ApiModel(value = "SysAlarm", description = "系统告警")
-public class SysAlarm extends BaseEntity
-{
+@Data
+public class SysAlarm extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /** 告警主键 */
+    /**
+     * 告警主键
+     */
     @ApiModelProperty("告警主键")
     @TableId
     private Long alarmId;
 
-    /** 告警内容 */
+    /**
+     * 告警内容
+     */
     @ApiModelProperty("告警内容")
     @Excel(name = "告警内容")
     private String alarmContent;
 
-    /** 告警级别 */
+    /**
+     * 告警级别
+     */
     @ApiModelProperty("告警级别")
     @Excel(name = "告警级别")
-    private Long alarmLevel;
+    private Integer alarmLevel;
 
-    /** 告警类型 */
+    /**
+     * 告警类型
+     */
     @ApiModelProperty("告警类型")
     @Excel(name = "告警类型")
-    private Long alarmType;
+    private Integer alarmType;
 
-    /** 告警时间 */
+    /**
+     * 告警时间
+     */
     @ApiModelProperty("告警时间")
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = "告警时间", width = 30, dateFormat = "yyyy-MM-dd")
     private Date alarmTime;
-
-    public void setAlarmId(Long alarmId)
-    {
-        this.alarmId = alarmId;
-    }
-
-    public Long getAlarmId()
-    {
-        return alarmId;
-    }
-    public void setAlarmContent(String alarmContent)
-    {
-        this.alarmContent = alarmContent;
-    }
-
-    public String getAlarmContent()
-    {
-        return alarmContent;
-    }
-    public void setAlarmLevel(Long alarmLevel)
-    {
-        this.alarmLevel = alarmLevel;
-    }
-
-    public Long getAlarmLevel()
-    {
-        return alarmLevel;
-    }
-    public void setAlarmType(Long alarmType)
-    {
-        this.alarmType = alarmType;
-    }
-
-    public Long getAlarmType()
-    {
-        return alarmType;
-    }
-    public void setAlarmTime(Date alarmTime)
-    {
-        this.alarmTime = alarmTime;
-    }
-
-    public Date getAlarmTime()
-    {
-        return alarmTime;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("alarmId", getAlarmId())
-            .append("alarmContent", getAlarmContent())
-            .append("alarmLevel", getAlarmLevel())
-            .append("alarmType", getAlarmType())
-            .append("alarmTime", getAlarmTime())
-            .toString();
-    }
 }

+ 5 - 4
doc-system/src/main/java/com/doc/system/service/impl/SysAlarmServiceImpl.java

@@ -1,11 +1,12 @@
 package com.doc.system.service.impl;
 
-import java.util.List;
-import org.springframework.stereotype.Service;
-import com.doc.system.mapper.SysAlarmMapper;
 import com.doc.system.domain.SysAlarm;
+import com.doc.system.mapper.SysAlarmMapper;
 import com.doc.system.service.ISysAlarmService;
+import org.springframework.stereotype.Service;
+
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 系统告警Service业务层处理
@@ -48,7 +49,7 @@ public class SysAlarmServiceImpl implements ISysAlarmService {
      */
     @Override
     public int insertSysAlarm(SysAlarm sysAlarm) {
-            return sysAlarmMapper.insertSysAlarm(sysAlarm);
+        return sysAlarmMapper.insertSysAlarm(sysAlarm);
     }
 
     /**