wukai преди 2 години
родител
ревизия
401c9cc33f

+ 100 - 0
doc-admin/src/main/java/com/doc/web/controller/system/SysAlarmController.java

@@ -0,0 +1,100 @@
+package com.doc.web.controller.system;
+
+import com.doc.common.annotation.Log;
+import com.doc.common.core.controller.BaseController;
+import com.doc.common.core.domain.AjaxResult;
+import com.doc.common.core.page.TableDataInfo;
+import com.doc.common.enums.BusinessType;
+import com.doc.common.utils.poi.ExcelUtil;
+import com.doc.system.domain.SysAlarm;
+import com.doc.system.service.ISysAlarmService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 系统告警Controller
+ *
+ * @author wukai
+ * @date 2023-11-24
+ */
+@Api(tags = "系统告警")
+@RestController
+@RequestMapping("/system/alarm")
+public class SysAlarmController extends BaseController {
+    @Resource
+    private ISysAlarmService sysAlarmService;
+
+    /**
+     * 查询系统告警列表
+     */
+    @ApiOperation("查询系统告警列表")
+    @PreAuthorize("@ss.hasPermi('alarm:alarm:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SysAlarm sysAlarm) {
+        startPage();
+        List<SysAlarm> list = sysAlarmService.selectSysAlarmList(sysAlarm);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出系统告警列表
+     */
+    @ApiOperation("导出系统告警列表")
+    @PreAuthorize("@ss.hasPermi('alarm:alarm:export')")
+    @Log(title = "系统告警", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SysAlarm sysAlarm) {
+        List<SysAlarm> list = sysAlarmService.selectSysAlarmList(sysAlarm);
+        ExcelUtil<SysAlarm> util = new ExcelUtil<SysAlarm>(SysAlarm.class);
+        util.exportExcel(response, list, "系统告警数据");
+    }
+
+    /**
+     * 获取系统告警详细信息
+     */
+    @ApiOperation("获取系统告警详细信息")
+    @PreAuthorize("@ss.hasPermi('alarm:alarm:query')")
+    @GetMapping(value = "/{alarmId}")
+    public AjaxResult getInfo(@PathVariable("alarmId") Long alarmId) {
+        return success(sysAlarmService.selectSysAlarmByAlarmId(alarmId));
+    }
+
+    /**
+     * 新增系统告警
+     */
+    @ApiOperation("新增系统告警")
+    @PreAuthorize("@ss.hasPermi('alarm:alarm:add')")
+    @Log(title = "系统告警", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SysAlarm sysAlarm) {
+        return toAjax(sysAlarmService.insertSysAlarm(sysAlarm));
+    }
+
+    /**
+     * 修改系统告警
+     */
+    @ApiOperation("修改系统告警")
+    @PreAuthorize("@ss.hasPermi('alarm:alarm:edit')")
+    @Log(title = "系统告警", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SysAlarm sysAlarm) {
+        return toAjax(sysAlarmService.updateSysAlarm(sysAlarm));
+    }
+
+    /**
+     * 删除系统告警
+     */
+    @ApiOperation("删除系统告警")
+    @PreAuthorize("@ss.hasPermi('alarm:alarm:remove')")
+    @Log(title = "系统告警", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{alarmIds}")
+    public AjaxResult remove(@PathVariable Long[] alarmIds) {
+        return toAjax(sysAlarmService.deleteSysAlarmByAlarmIds(alarmIds));
+    }
+}

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

@@ -0,0 +1,18 @@
+package com.doc.common.enums;
+
+/**
+ * 事件类型
+ *
+ * @author ruoyi
+ */
+public enum AlarmType {
+    /**
+     * 非法访问
+     */
+    illegal,
+
+    /**
+     * 监控信息
+     */
+    MONITOR
+}

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

@@ -31,7 +31,6 @@ public class WhiteListInterceptor implements HandlerInterceptor {
         if (StringUtils.isEmpty(whiteList) || no.equals(whiteList)) {
             return true;
         }
-        System.err.println(IpUtils.getIpAddr());
         //需要排除本机和docker的访问
         whiteList += ";127.0.0.1";
         if (IpUtils.isMatchedIp(whiteList, IpUtils.getIpAddr())) {

+ 106 - 0
doc-system/src/main/java/com/doc/system/domain/SysAlarm.java

@@ -0,0 +1,106 @@
+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;
+
+/**
+ * 系统告警对象 sys_alarm
+ *
+ * @author wukai
+ * @date 2023-11-24
+ */
+@ApiModel(value = "SysAlarm", description = "系统告警")
+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;
+
+    /** 告警类型 */
+    @ApiModelProperty("告警类型")
+    @Excel(name = "告警类型")
+    private Long 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();
+    }
+}

+ 62 - 0
doc-system/src/main/java/com/doc/system/mapper/SysAlarmMapper.java

@@ -0,0 +1,62 @@
+package com.doc.system.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doc.system.domain.SysAlarm;
+
+/**
+ * 系统告警Mapper接口
+ * 
+ * @author wukai
+ * @date 2023-11-24
+ */
+public interface SysAlarmMapper extends BaseMapper<SysAlarm>
+{
+    /**
+     * 查询系统告警
+     * 
+     * @param alarmId 系统告警主键
+     * @return 系统告警
+     */
+    public SysAlarm selectSysAlarmByAlarmId(Long alarmId);
+
+    /**
+     * 查询系统告警列表
+     * 
+     * @param sysAlarm 系统告警
+     * @return 系统告警集合
+     */
+    public List<SysAlarm> selectSysAlarmList(SysAlarm sysAlarm);
+
+    /**
+     * 新增系统告警
+     * 
+     * @param sysAlarm 系统告警
+     * @return 结果
+     */
+    public int insertSysAlarm(SysAlarm sysAlarm);
+
+    /**
+     * 修改系统告警
+     * 
+     * @param sysAlarm 系统告警
+     * @return 结果
+     */
+    public int updateSysAlarm(SysAlarm sysAlarm);
+
+    /**
+     * 删除系统告警
+     * 
+     * @param alarmId 系统告警主键
+     * @return 结果
+     */
+    public int deleteSysAlarmByAlarmId(Long alarmId);
+
+    /**
+     * 批量删除系统告警
+     * 
+     * @param alarmIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteSysAlarmByAlarmIds(Long[] alarmIds);
+}

+ 61 - 0
doc-system/src/main/java/com/doc/system/service/ISysAlarmService.java

@@ -0,0 +1,61 @@
+package com.doc.system.service;
+
+import java.util.List;
+import com.doc.system.domain.SysAlarm;
+
+/**
+ * 系统告警Service接口
+ * 
+ * @author wukai
+ * @date 2023-11-24
+ */
+public interface ISysAlarmService 
+{
+    /**
+     * 查询系统告警
+     * 
+     * @param alarmId 系统告警主键
+     * @return 系统告警
+     */
+    public SysAlarm selectSysAlarmByAlarmId(Long alarmId);
+
+    /**
+     * 查询系统告警列表
+     * 
+     * @param sysAlarm 系统告警
+     * @return 系统告警集合
+     */
+    public List<SysAlarm> selectSysAlarmList(SysAlarm sysAlarm);
+
+    /**
+     * 新增系统告警
+     * 
+     * @param sysAlarm 系统告警
+     * @return 结果
+     */
+    public int insertSysAlarm(SysAlarm sysAlarm);
+
+    /**
+     * 修改系统告警
+     * 
+     * @param sysAlarm 系统告警
+     * @return 结果
+     */
+    public int updateSysAlarm(SysAlarm sysAlarm);
+
+    /**
+     * 批量删除系统告警
+     * 
+     * @param alarmIds 需要删除的系统告警主键集合
+     * @return 结果
+     */
+    public int deleteSysAlarmByAlarmIds(Long[] alarmIds);
+
+    /**
+     * 删除系统告警信息
+     * 
+     * @param alarmId 系统告警主键
+     * @return 结果
+     */
+    public int deleteSysAlarmByAlarmId(Long alarmId);
+}

+ 86 - 0
doc-system/src/main/java/com/doc/system/service/impl/SysAlarmServiceImpl.java

@@ -0,0 +1,86 @@
+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.service.ISysAlarmService;
+import javax.annotation.Resource;
+
+/**
+ * 系统告警Service业务层处理
+ *
+ * @author wukai
+ * @date 2023-11-24
+ */
+@Service
+public class SysAlarmServiceImpl implements ISysAlarmService {
+    @Resource
+    private SysAlarmMapper sysAlarmMapper;
+
+    /**
+     * 查询系统告警
+     *
+     * @param alarmId 系统告警主键
+     * @return 系统告警
+     */
+    @Override
+    public SysAlarm selectSysAlarmByAlarmId(Long alarmId) {
+        return sysAlarmMapper.selectSysAlarmByAlarmId(alarmId);
+    }
+
+    /**
+     * 查询系统告警列表
+     *
+     * @param sysAlarm 系统告警
+     * @return 系统告警
+     */
+    @Override
+    public List<SysAlarm> selectSysAlarmList(SysAlarm sysAlarm) {
+        return sysAlarmMapper.selectSysAlarmList(sysAlarm);
+    }
+
+    /**
+     * 新增系统告警
+     *
+     * @param sysAlarm 系统告警
+     * @return 结果
+     */
+    @Override
+    public int insertSysAlarm(SysAlarm sysAlarm) {
+            return sysAlarmMapper.insertSysAlarm(sysAlarm);
+    }
+
+    /**
+     * 修改系统告警
+     *
+     * @param sysAlarm 系统告警
+     * @return 结果
+     */
+    @Override
+    public int updateSysAlarm(SysAlarm sysAlarm) {
+        return sysAlarmMapper.updateSysAlarm(sysAlarm);
+    }
+
+    /**
+     * 批量删除系统告警
+     *
+     * @param alarmIds 需要删除的系统告警主键
+     * @return 结果
+     */
+    @Override
+    public int deleteSysAlarmByAlarmIds(Long[] alarmIds) {
+        return sysAlarmMapper.deleteSysAlarmByAlarmIds(alarmIds);
+    }
+
+    /**
+     * 删除系统告警信息
+     *
+     * @param alarmId 系统告警主键
+     * @return 结果
+     */
+    @Override
+    public int deleteSysAlarmByAlarmId(Long alarmId) {
+        return sysAlarmMapper.deleteSysAlarmByAlarmId(alarmId);
+    }
+}

+ 71 - 0
doc-system/src/main/resources/mapper/system/SysAlarmMapper.xml

@@ -0,0 +1,71 @@
+<?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="com.doc.system.mapper.SysAlarmMapper">
+    
+    <resultMap type="SysAlarm" id="SysAlarmResult">
+        <result property="alarmId"    column="ALARM_ID"    />
+        <result property="alarmContent"    column="ALARM_CONTENT"    />
+        <result property="alarmLevel"    column="ALARM_LEVEL"    />
+        <result property="alarmType"    column="ALARM_TYPE"    />
+        <result property="alarmTime"    column="ALARM_TIME"    />
+    </resultMap>
+
+    <sql id="selectSysAlarmVo">
+        select ALARM_ID, ALARM_CONTENT, ALARM_LEVEL, ALARM_TYPE, ALARM_TIME from sys_alarm
+    </sql>
+
+    <select id="selectSysAlarmList" parameterType="SysAlarm" resultMap="SysAlarmResult">
+        <include refid="selectSysAlarmVo"/>
+        <where>  
+            <if test="alarmContent != null  and alarmContent != ''"> and ALARM_CONTENT like concat('%', #{alarmContent}, '%')</if>
+            <if test="alarmLevel != null "> and ALARM_LEVEL = #{alarmLevel}</if>
+            <if test="alarmType != null "> and ALARM_TYPE = #{alarmType}</if>
+            <if test="alarmTime != null "> and ALARM_TIME = #{alarmTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectSysAlarmByAlarmId" parameterType="Long" resultMap="SysAlarmResult">
+        <include refid="selectSysAlarmVo"/>
+        where ALARM_ID = #{alarmId}
+    </select>
+        
+    <insert id="insertSysAlarm" parameterType="SysAlarm" useGeneratedKeys="true" keyProperty="alarmId">
+        insert into sys_alarm
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="alarmContent != null">ALARM_CONTENT,</if>
+            <if test="alarmLevel != null">ALARM_LEVEL,</if>
+            <if test="alarmType != null">ALARM_TYPE,</if>
+            <if test="alarmTime != null">ALARM_TIME,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="alarmContent != null">#{alarmContent},</if>
+            <if test="alarmLevel != null">#{alarmLevel},</if>
+            <if test="alarmType != null">#{alarmType},</if>
+            <if test="alarmTime != null">#{alarmTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSysAlarm" parameterType="SysAlarm">
+        update sys_alarm
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="alarmContent != null">ALARM_CONTENT = #{alarmContent},</if>
+            <if test="alarmLevel != null">ALARM_LEVEL = #{alarmLevel},</if>
+            <if test="alarmType != null">ALARM_TYPE = #{alarmType},</if>
+            <if test="alarmTime != null">ALARM_TIME = #{alarmTime},</if>
+        </trim>
+        where ALARM_ID = #{alarmId}
+    </update>
+
+    <delete id="deleteSysAlarmByAlarmId" parameterType="Long">
+        delete from sys_alarm where ALARM_ID = #{alarmId}
+    </delete>
+
+    <delete id="deleteSysAlarmByAlarmIds" parameterType="String">
+        delete from sys_alarm where ALARM_ID in 
+        <foreach item="alarmId" collection="array" open="(" separator="," close=")">
+            #{alarmId}
+        </foreach>
+    </delete>
+</mapper>