This commit is contained in:
tanghao
2021-05-08 19:33:06 +08:00
parent f6a373eec1
commit cae28168a5
143 changed files with 6716 additions and 0 deletions

101
pom.xml Normal file
View File

@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.nis</groupId>
<artifactId>transfer</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>transfer</name>
<description>data transfer</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.5.2</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- mysql驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.7.1</version>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.45</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.13</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
</dependencies>
<build>
<finalName>transfer</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>8</source>
<target>8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- 跳过单元测试 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,16 @@
package com.nis;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class TransferApplication {
public static void main(String[] args) {
SpringApplication.run(TransferApplication.class, args);
}
}

View File

@@ -0,0 +1,104 @@
package com.nis.config;
import cn.hutool.log.Log;
import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.injector.LogicSqlInjector;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.nis.util.Constant;
import com.nis.util.ToolUtil;
import org.apache.ibatis.mapping.DatabaseIdProvider;
import org.apache.ibatis.mapping.VendorDatabaseIdProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.DependsOn;
import javax.sql.DataSource;
import java.sql.SQLException;
import java.util.Properties;
/**
* mybatis-plus配置
*
*/
@Configuration
public class MybatisPlusConfig {
private static final Log logger = Log.get();
/**
* 分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
/*@Bean
public SeqKeyGenerator seqKeyGenerator() {
return new SeqKeyGenerator();
}*/
@Bean
public ISqlInjector sqlInjector() {
return new LogicSqlInjector();
}
/**
* 自定义主键生成器
* @author fang
*
static class SeqKeyGenerator implements IKeyGenerator {
@Autowired
DatabaseIdProvider databaseIdProvider;
@Autowired
DataSource dataSource;
@Override
public String executeSql(String incrementerName) {
String databaseId = null;
try {
databaseId = databaseIdProvider.getDatabaseId(dataSource);
} catch (SQLException e) {
logger.error(e);
}
if(ToolUtil.isEmpty(databaseId)){
throw new RuntimeException("MybatisPlusConfig databaseId error");
}
switch (databaseId){
case Constant.MYSQL:
return String.format("select seq_nextval('%s')", incrementerName);
case Constant.POSTGRESQL:
return String.format("select seq_nextval('%s')", incrementerName);
case Constant.ORACLE:
return String.format("select %s.nextval from dual", incrementerName);
default:
return String.format("select seq_nextval('%s')", incrementerName);
}
}
}*/
@Bean
public DatabaseIdProvider getDatabaseIdProvider(){
DatabaseIdProvider databaseIdProvider = new VendorDatabaseIdProvider();
Properties properties = new Properties();
properties.setProperty("Oracle","oracle");
properties.setProperty("MySQL","mysql");
properties.setProperty("DB2","db2");
properties.setProperty("Derby","derby");
properties.setProperty("H2","h2");
properties.setProperty("HSQL","hsql");
properties.setProperty("Informix","informix");
properties.setProperty("MS-SQL","ms-sql");
properties.setProperty("PostgreSQL","postgresql");
properties.setProperty("Sybase","sybase");
properties.setProperty("Hana","hana");
databaseIdProvider.setProperties(properties);
return databaseIdProvider;
}
}

View File

@@ -0,0 +1,16 @@
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.Account;
import com.nis.entity.Asset;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
/**
* 资产 dao
*/
@Mapper
@Repository
public interface AccountDao extends BaseMapper<Account> {
}

View File

@@ -0,0 +1,12 @@
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.AlertMessageActiveEntity;
import com.nis.entity.AlertMessageEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface AlertMessageActiveDao extends BaseMapper<AlertMessageActiveEntity> {
}

View File

@@ -0,0 +1,17 @@
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nis.entity.AlertMessageEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Mapper
public interface AlertMessageDao extends BaseMapper<AlertMessageEntity> {
}

View File

@@ -0,0 +1,14 @@
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.AlertMessageActiveEntity;
import com.nis.entity.AlertMessageEntity;
import com.nis.entity.AlertMessageHistoryEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface AlertMessageHistoryDao extends BaseMapper<AlertMessageHistoryEntity> {
}

View File

@@ -0,0 +1,14 @@
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.AlertMessageActiveEntity;
import com.nis.entity.AlertMessageEntity;
import com.nis.entity.AlertRuleEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface AlertRuleDao extends BaseMapper<AlertRuleEntity> {
}

View File

@@ -0,0 +1,17 @@
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.Asset;
import com.nis.entity.AssetAsset;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
/**
* 资产 dao
*/
@Mapper
@Repository
public interface AssetAssetDao extends BaseMapper<AssetAsset> {
}

View File

@@ -0,0 +1,17 @@
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.Asset;
import com.nis.entity.AssetBrand;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
/**
* 资产 dao
*/
@Mapper
@Repository
public interface AssetBrandDao extends BaseMapper<AssetBrand> {
}

View File

@@ -0,0 +1,19 @@
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.Asset;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
/**
* 资产 dao
*/
@Mapper
@Repository
public interface AssetDao extends BaseMapper<Asset> {
}

View File

@@ -0,0 +1,18 @@
package com.nis.dao;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nis.entity.AssetFieldMeta;
@Mapper
@Repository
public interface AssetFieldMetaDao extends BaseMapper<AssetFieldMeta>{
}

View File

@@ -0,0 +1,12 @@
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.AssetFieldValue;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface AssetFieldValueDao extends BaseMapper<AssetFieldValue>{
}

View File

@@ -0,0 +1,15 @@
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.Asset;
import com.nis.entity.AssetModel;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface AssetModelDao extends BaseMapper<AssetModel> {
}

View File

@@ -0,0 +1,13 @@
package com.nis.dao;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.AssetTag;
@Mapper
@Repository
public interface AssetTagDao extends BaseMapper<AssetTag>{
}

View File

@@ -0,0 +1,22 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.AssetTypeConf;
import com.nis.entity.Dc;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface AssetTypeConfDao extends BaseMapper<AssetTypeConf> {
}

View File

@@ -0,0 +1,22 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.Chart;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface ChartDao extends BaseMapper<Chart> {
}

View File

@@ -0,0 +1,22 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.ChartElement;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface ChartElementDao extends BaseMapper<ChartElement> {
}

View File

@@ -0,0 +1,21 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.Dc;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface DcDao extends BaseMapper<Dc> {
}

View File

@@ -0,0 +1,21 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.Endpoint;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface EndpointDao extends BaseMapper<Endpoint> {
}

View File

@@ -0,0 +1,23 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.Dc;
import com.nis.entity.Idc;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface IdcDao extends BaseMapper<Idc> {
}

View File

@@ -0,0 +1,24 @@
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nis.entity.Model;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
/**
* 资产型号 dao
*
* @author shizhendong
* @date 2019-11-21
*/
@Mapper
@Repository
public interface ModelDao extends BaseMapper<Model> {
}

View File

@@ -0,0 +1,24 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.Dc;
import com.nis.entity.Idc;
import com.nis.entity.Module;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface ModuleDao extends BaseMapper<Module> {
}

View File

@@ -0,0 +1,24 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.Dc;
import com.nis.entity.Idc;
import com.nis.entity.MonitorEndpoint;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface MonitorEndpointDao extends BaseMapper<MonitorEndpoint> {
}

View File

@@ -0,0 +1,24 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.Dc;
import com.nis.entity.Idc;
import com.nis.entity.MonitorModule;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface MonitorModuleDao extends BaseMapper<MonitorModule> {
}

View File

@@ -0,0 +1,24 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.Dc;
import com.nis.entity.Idc;
import com.nis.entity.MonitorProject;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface MonitorProjectDao extends BaseMapper<MonitorProject> {
}

View File

@@ -0,0 +1,23 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.Panel;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface PanelDao extends BaseMapper<Panel> {
}

View File

@@ -0,0 +1,24 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.Dc;
import com.nis.entity.Idc;
import com.nis.entity.Project;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface ProjectDao extends BaseMapper<Project> {
}

View File

@@ -0,0 +1,11 @@
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.SnmpCredential;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SnmpCredentialDao extends BaseMapper<SnmpCredential>{
}

View File

@@ -0,0 +1,24 @@
package com.nis.dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface SqlDao {
// 获取数据库所有表名
public List<String> allTables();
// 查询所有删除_copy表的sql语句
public List<String> allRemoveCopyTables();
// 执行用户传入的sql语句
public void execute(@Param("sql")String sql);
// 查询所有触发器
public List<String> allTriggers(String databaseName);
}

View File

@@ -0,0 +1,19 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.SysDictEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SysDictDao extends BaseMapper<SysDictEntity> {
}

View File

@@ -0,0 +1,23 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.VisualChart;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface VisualChartDao extends BaseMapper<VisualChart> {
}

View File

@@ -0,0 +1,21 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.VisualChartElement;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface VisualChartElementDao extends BaseMapper<VisualChartElement> {
}

View File

@@ -0,0 +1,21 @@
/**
*
*
*/
package com.nis.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nis.entity.VisualPanel;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface VisualPanelDao extends BaseMapper<VisualPanel> {
}

View File

@@ -0,0 +1,27 @@
package com.nis.entity;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Map;
@Data
@TableName("account")
public class Account {
@TableId
private Integer id;
private Integer assetId;
private String protocol;
private Integer port;
private Object params;
private String seq;
}

View File

@@ -0,0 +1,123 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
@TableName("alert_message_active")
public class AlertMessageActiveEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.INPUT)
private Integer id;
/**
* 告警规则id
*/
private Integer ruleId;
/**
* 告警级别
*/
private Integer severityId;
/**
* 告警摘要
*/
private String summary;
/**
* 告警描述
*/
private String description;
/**
* 告警labels信息
*/
private String labels;
/**
* 开始时间
*/
private Date startAt;
/**
* 结束时间
*/
private Date endAt;
/**
* 状态
*/
private Integer state;
/**
* 关联project id
*/
private Integer projectId;
/**
* 关联module Id
*/
private Integer moduleId;
/**
* 关联endpoint_id
*/
private Integer endpointId;
/**
* 关联asset id
*/
private Integer assetId;
/**
* 关联dc
*/
private Integer dcId;
/**
* redis hash key
* */
private String hashKey;
/**
* remark 修改时使用此参数 记录手动关闭的备注信息
*/
private String remark;
/**
* linkId对应实体类
* */
@TableField(exist = false)
private Object linkObject;
@TableField(exist = false)
private AlertRuleEntity alertRule;
/**
* 对应的project
*/
@TableField(exist = false)
private Project project;
/**
* module
*/
@TableField(exist = false)
private Module module;
/**
* endpoint
*/
@TableField(exist = false)
private Endpoint endpoint;
/**
* dc
*/
@TableField(exist = false)
private Dc dc;
private String severity;
}

View File

@@ -0,0 +1,116 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
@TableName("alert_message")
public class AlertMessageEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId
private Integer id;
/**
* 告警规则id
*/
private Integer ruleId;
/**
* 告警级别
*/
@TableField(exist = false)
private Integer severityId;
/**
* 告警摘要
*/
private String summary;
/**
* 告警描述
*/
private String description;
/**
* 告警labels信息
*/
private String labels;
/**
* 开始时间
*/
private Date startAt;
/**
* 结束时间
*/
private Date endAt;
/**
* 状态
*/
private Integer state;
/**
* 关联project id
*/
private Integer projectId;
/**
* 关联module Id
*/
private Integer moduleId;
/**
* 关联endpoint_id
*/
private Integer endpointId;
/**
* 关联asset id
*/
private Integer assetId;
/**
* 关联dc
*/
private Integer dcId;
/**
* redis hash key
* */
private String hashKey;
/**
* remark 修改时使用此参数 记录手动关闭的备注信息
*/
private String remark;
/**
* linkId对应实体类
* */
@TableField(exist = false)
private Object linkObject;
@TableField(exist = false)
private AlertRuleEntity alertRule;
/**
* 对应的project
*/
@TableField(exist = false)
private Project project;
/**
* module
*/
@TableField(exist = false)
private Module module;
/**
* endpoint
*/
@TableField(exist = false)
private Endpoint endpoint;
private String severity;
}

View File

@@ -0,0 +1,122 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
@TableName("alert_message_history")
public class AlertMessageHistoryEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.INPUT)
private Integer id;
/**
* 告警规则id
*/
private Integer ruleId;
/**
* 告警级别
*/
private Integer severityId;
/**
* 告警摘要
*/
private String summary;
/**
* 告警描述
*/
private String description;
/**
* 告警labels信息
*/
private String labels;
/**
* 开始时间
*/
private Date startAt;
/**
* 结束时间
*/
private Date endAt;
/**
* 状态
*/
private Integer state;
/**
* 关联project id
*/
private Integer projectId;
/**
* 关联module Id
*/
private Integer moduleId;
/**
* 关联endpoint_id
*/
private Integer endpointId;
/**
* 关联asset id
*/
private Integer assetId;
/**
* 关联dc
*/
private Integer dcId;
/**
* redis hash key
* */
private String hashKey;
/**
* remark 修改时使用此参数 记录手动关闭的备注信息
*/
private String remark;
/**
* linkId对应实体类
* */
@TableField(exist = false)
private Object linkObject;
@TableField(exist = false)
private AlertRuleEntity alertRule;
/**
* 对应的project
*/
@TableField(exist = false)
private Project project;
/**
* module
*/
@TableField(exist = false)
private Module module;
/**
* endpoint
*/
@TableField(exist = false)
private Endpoint endpoint;
/**
* dc
*/
@TableField(exist = false)
private Dc dc;
private String severity;
}

View File

@@ -0,0 +1,82 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
@TableName("alert_rule")
public class AlertRuleEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(type = IdType.INPUT)
private Integer id;
/**
* 告警名称
*/
private String name;
/**
* 运算表达式
*/
private String expr;
/**
* 比较符号
*/
private String operator;
/**
* 阈值
*/
private Double threshold;
/**
* 单位
*/
private Integer unit;
/**
* 持续时间,单位s
*/
private Integer last;
/**
* 告警级别
*/
private Integer severityId;
/**
* 告警摘要
*/
private String summary;
/**
* 告警详细描述
*/
private String description;
/**
* 通知用户ids 可多个
*/
private String receiver;
/**
* 是否为内置规则
*/
private Integer buildIn;
/**
* 导入唯一标识
*/
private String seq;
private String severity;
private Integer method;
}

View File

@@ -0,0 +1,29 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@Data
@TableName("alert_severity_conf")
public class AlertSeverityConf {
@TableId
private Integer id;
private String name;
private String color;
private Integer weight;
private String remark;
private String methods;
}

View File

@@ -0,0 +1,58 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
@TableName("alert_silence_conf")
public class AlertSilenceConf {
@TableId
private Integer id;
private Integer ruleId;
private String type;
private Integer linkId;
private String reason;
private Date startAt;
private Date endAt;
private Date utime;
private Integer state;
private String seq;
@TableField(exist = false)
private Dc datacenter;
@TableField(exist = false)
private Project project;
@TableField(exist = false)
private Module module;
@TableField(exist = false)
private Asset asset;
@TableField(exist = false)
private Endpoint endpoint;
@TableField(exist = false)
private AlertRuleEntity alertRule;
@TableField(exist = false)
private String ruleName;
@TableField(exist = false)
private String linkName;
}

View File

@@ -0,0 +1,95 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
@TableName("asset")
public class Asset implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.AUTO)
private Integer id;
/**
* 资产序列化 (唯一)
*/
private String sn;
/**
* 产品型号ID 与model表关联
*/
private Integer modelId;
/**
* 数据中心id
*/
private Integer idcId;
/**
* 机柜编号
*/
@TableField(strategy = FieldStrategy.IGNORED)
private Integer cabinetId;
/**
* 主机地址 ip
*/
private String host;
/**
* 资产状态
*/
private Integer state;
/**
* 购买日期
*/
private String purchaseDate;
/**
* 添加日期
*/
private Date createAt;
/**
* 更新日期
*/
private Date updateAt;
/**
* 添加人 user表关联
*/
private Long createBy;
/**
* 更新人
*/
private Long updateBy;
/**
* 用于撤销具体某次批量导入的uuid
*/
private String seq;
/**
* 机柜开始位置
*/
@TableField(strategy = FieldStrategy.IGNORED)
private Integer cabinetStart;
/**
* 机柜结束位置
*/
@TableField(strategy = FieldStrategy.IGNORED)
private Integer cabinetEnd;
}

View File

@@ -0,0 +1,180 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 资产实体
*
* @author shizhendong
* @date 2019-11-21
*/
@Data
@TableName("asset_asset")
public class AssetAsset implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.INPUT)
private Integer id;
/**
* 资产名称 唯一
*/
private String name;
/**
* 资产编号 不重复
*/
private String number;
/**
* 资产序列化 (唯一)
*/
private String sn;
/**
* 默认:-1 只有type vm = 1可以且必须填写此字段且 pid.type vmh = 1
*/
@TableField(strategy = FieldStrategy.IGNORED)
private Integer pid;
/**
* 资产状态
*/
private Integer stateId;
/**
* 资产类型
*/
private Integer typeId;
/**
* 品牌
*/
private Integer brandId;
/**
* 产品型号ID 与model表关联
*/
private Integer modelId;
/**
* 数据中心id
*/
private Integer dcId;
/**
* 认证服务端口
*/
@TableField(strategy = FieldStrategy.IGNORED)
private Integer authProtocolPort;
/**
* 认证方式
*/
@TableField(strategy = FieldStrategy.IGNORED)
private Integer authType;
/**
* 用户名
*/
@TableField(strategy = FieldStrategy.IGNORED)
private String authUsername;
/**
* 密码
*/
@TableField(strategy = FieldStrategy.IGNORED)
private String authPin;
/**
* 秘钥
*/
@TableField(strategy = FieldStrategy.IGNORED)
private String authPriKey;
/**
* 用户名提示
*/
@TableField(strategy = FieldStrategy.IGNORED)
private String authUserTip;
/**
* 密码提示
*/
@TableField(strategy = FieldStrategy.IGNORED)
private String authPinTip;
/**
* 协议 SSH / TELNET
*/
@TableField(exist = false)
private String protocol;
/**
* snmp凭证id
*/
private Integer snmpCredentialId;
/**
* 机柜编号
*/
@TableField(strategy = FieldStrategy.IGNORED)
private Integer cabinetId;
/**
* 机柜开始位置
*/
@TableField(strategy = FieldStrategy.IGNORED)
private Integer cabinetStart;
/**
* 机柜结束位置
*/
@TableField(strategy = FieldStrategy.IGNORED)
private Integer cabinetEnd;
/**
* 管理ip
*/
private String manageIp;
/**
* 购买日期
*/
private String purchaseDate;
/**
* 添加日期
*/
private Date createAt;
/**
* 更新日期
*/
private Date updateAt;
/**
* 添加人 user表关联
*/
private Long createBy;
/**
* 更新人
*/
private Long updateBy;
/**
* 用于撤销具体某次批量导入的uuid
*/
private String seq;
}

View File

@@ -0,0 +1,36 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
@Data
@TableName("asset_brand")
public class AssetBrand implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Integer id;
/**
* 名称
*/
private String name;
/**
* 备注
*/
private String remark;
/**
* 导入seq
*/
private String seq;
}

View File

@@ -0,0 +1,21 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("asset_field_group")
public class AssetFieldGroup {
private Integer id;
private String name;
private String remark;
private Integer buildIn;
private String seq;
}

View File

@@ -0,0 +1,53 @@
package com.nis.entity;
import java.util.List;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("asset_field_meta")
public class AssetFieldMeta {
private Integer id;
private String name;
private String metaKey;
private String groupId;
private Integer search;
private Integer display;
private String type;
private String param;
private Integer buildIn;
private String seq;
private String remark;
@TableField(exist = false)
private AssetFieldGroup group;
@TableField(exist = false)
private String key;
/**
* field value value
*/
@TableField(exist = false)
private List<String> value;
/**
* field value assetId
*/
@TableField(exist = false)
private Integer assetId;
}

View File

@@ -0,0 +1,21 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("asset_field_value")
public class AssetFieldValue {
private Integer id;
private Integer assetId;
private Integer metaId;
private String value;
private String seq;
}

View File

@@ -0,0 +1,53 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
@TableName("asset_model")
public class AssetModel implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.INPUT)
private Integer id;
/**
* 品牌id
*/
private Integer brandId;
/**
* 名称
*/
private String name;
/**
* 备注
*/
private String remark;
/**
* 导入seq
*/
private String seq;
/**
* u位大小
*/
private Integer usize;
private String chartIds;
}

View File

@@ -0,0 +1,51 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
@Data
@TableName("asset_state_conf")
public class AssetStateConf implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Integer id;
/**
* 名称
*/
private String name;
/**
* 开启ping 0关闭 1开启
*/
private Integer ping;
/**
* 开启监控 0关闭 1开启
*/
private Integer monitor;
/**
* 开启告警 0关闭 1开启
*/
private Integer alert;
/**
* 是否内置 1:内置0非内置默认0 内置数据不允许删除
*/
private Integer buildIn;
/**
* 描述
*/
private String remark;
}

View File

@@ -0,0 +1,40 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
@Data
@TableName("asset_tag")
public class AssetTag implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Integer id;
/**
* 关联assetId
*/
private Integer assetId;
/**
* 键
*/
private String tag;
/**
* 值
*/
private String value;
/**
* 导入UUID
*/
private String seq;
}

View File

@@ -0,0 +1,83 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
@TableName("asset_type_conf")
public class AssetTypeConf implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Integer id;
/**
* 父id
*/
private Integer pid;
/**
* 父名称
*/
@TableField(exist = false)
private String pname;
/**
* 是否为虚拟机宿主 0:不是宿主机,不支持挂载 虚拟机 1:是宿主机,支持挂载虚拟机
*/
private Integer vm;
/**
* 是否为虚拟机宿主 0:不是宿主机,不支持挂载 虚拟机 1:是宿主机,支持挂载虚拟机
*/
private Integer vmh;
/**
* 名称
*/
private String name;
/**
* 认证协议
*/
private Integer authProtocol;
/**
* 是否支持snmp
*/
private Integer snmpEnable;
/**
* 是否开启snmp采集
*/
private Integer snmpCollect;
/**
* 是否开启ssh采集
*/
private Integer sshCollect;
/**
* ssh自动化采集脚本路径
*/
private String sshCollectScript;
/**
* 描述
*/
private String remark;
/**
* 是否内置 1:内置0非内置默认0 内置数据不允许删除
*/
private Integer buildIn;
}

View File

@@ -0,0 +1,81 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
@TableName("chart")
public class Chart{
@TableId
public Integer id;
/**
* 排序字段,前一个元素
*/
public Integer prev;
/**
* 排序字段,后一个元素
*/
public Integer next;
/**
* 图表id关联panel表
* */
private Integer panelId;
/**
*图表标题
* */
private String title;
/**
* 宽
* */
private Integer span;
/**
* 高
* */
private Integer height;
/**
* 创建时间
* */
private Date createAt;
/**
* 图标类型 line,bar,table
* */
private String type;
/**
* 单位
*/
private Integer unit;
/**
* 默认为 0用于chart排序
*/
private Integer weight;
/**
* 模板ID
*/
private Integer pid;
/**
* 是否为内置规则
*/
private Integer buildIn;
/**
* 导入唯一标识
*/
private String seq;
private String param;
}

View File

@@ -0,0 +1,44 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("chart_element")
public class ChartElement {
@TableId
private Integer id;
/**
*图表id
* */
private Integer chartId;
/**
* promql表达式
* */
private String expression;
/**
* 表达式类型
* normal简单表达式可页面解析up{asset="192.168.40.40",module="kafka"}
*
* expert用户输入表达式解析困难直接在页面显示
* */
private String type;
/**
* 图表legend表达式
*/
private String legend;
/**
* 是否为内置规则
*/
private Integer buildIn;
/**
* 导入唯一标识
*/
private String seq;
}

View File

@@ -0,0 +1,80 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
/**
* 数据中心实体
*
*/
@Data
@TableName("dc")
public class Dc implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.INPUT)
private Integer id;
/**
* 数据中心名称
*/
private String name;
/**
* 数据中心位置
*/
private String location;
/**
* 联系电话
*/
private String tel;
/**
* 机房负责人
*/
private Integer principal;
/**
* 用于撤销具体某次批量导入的uuid
*/
private String seq;
/**
* 列
*/
private Integer x;
/**
* 行
*/
private Integer y;
/**
* 经度
*/
@TableField(strategy = FieldStrategy.IGNORED)
private Double longitude;
/**
* 纬度
*/
@TableField(strategy = FieldStrategy.IGNORED)
private Double latitude;
/**
* 状态
*/
private String state;
}

View File

@@ -0,0 +1,44 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("endpoint")
public class Endpoint {
@TableId
private Integer id;
private Integer moduleId;
private Integer assetId;
private String host;
private Integer port;
@TableField(strategy = FieldStrategy.IGNORED)
private String param;
@TableField(strategy = FieldStrategy.IGNORED)
private String labels;
private String path;
private Integer enabled;
@TableField(exist = false)
private Module module;
@TableField(exist = false)
private Asset asset;
@TableField(exist = false)
private Project project;
@TableField(exist = false)
private Long lastUpdate;
@TableField(exist = false)
private Integer state;
private String seq;
@TableField(exist = false)
private StateInfo stateInfo;
@TableField(exist = false)
private Promserver promserver;
@TableField(exist = false)
private Integer alertNum;
}

View File

@@ -0,0 +1,77 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Map;
@Data
@TableName("idc")
public class Idc implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId
private Integer id;
/**
* 数据中心名称
*/
private String name;
/**
* 数据中心位置
*/
private String location;
/**
* 联系电话
*/
private String tel;
/**
* 机房负责人
*/
private Integer principal;
/**
* 用于撤销具体某次批量导入的uuid
*/
private String seq;
/**
* 列
*/
private Integer x;
/**
* 行
*/
private Integer y;
/**
* 经度
*/
@TableField(strategy = FieldStrategy.IGNORED)
private Double longitude;
/**
* 纬度
*/
@TableField(strategy = FieldStrategy.IGNORED)
private Double latitude;
/**
* 状态
*/
private String state;
}

View File

@@ -0,0 +1,59 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
/**
* 资产型号实体
*
* @author shizhendong
* @date 2019-11-21
*/
@Data
@TableName("model")
public class Model implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId
private Integer id;
/**
* 型号名称
*/
private String name;
/**
* 厂商
*/
@TableField(value = "vendor")
private Integer vendorCode;
/**
* 类型
*/
@TableField(value = "type")
private Integer typeCode;
/**
* 备注
*/
private String remark;
/**
* 用于撤销具体某次批量导入的uuid
*/
private String seq;
/**
* u位大小
*/
private Integer usize;
}

View File

@@ -0,0 +1,39 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("module")
public class Module {
@TableId
private Integer id;
@TableField(exist = false)
private Project project;
private Integer projectId;
private String name;
private Integer port;
private String param;
private String labels;
private String path;
private String remark;
private Integer buildIn;
private String seq;
/**
* modulle 类型 可选值 http 、snmp
*/
private String type;
/**
* snmp配置参数
*/
private String snmpParam;
/**
* snmp_exporter需要的配置部分 由web端根据snmp_param生成
*/
private String snmpYml;
}

View File

@@ -0,0 +1,79 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Map;
@Data
@TableName("monitor_endpoint")
public class MonitorEndpoint implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.INPUT)
private Integer id;
/**
* 名称
*/
private String name;
/**
* 组件id
*/
private Integer moduleId;
/**
* 资产id
*/
private Integer assetId;
/**
* 配置参数 当type=HTTP,默认为 module.configs
*/
private String configs;
@TableField(exist = false)
private Map config;
/**
* 计算 moduleId + assetId + host + port + configs 的hash值用于确保相同配置不重复
*/
private String hash;
/**
* 是否启用 可选值
* 0停用
* 1启用
*/
private Integer enabled;
private String seq;
@TableField(exist = false)
private Integer state;
@TableField(exist = false)
private MonitorModule module;
@TableField(exist = false)
private AssetAsset asset;
@TableField(exist = false)
private Dc dc;
@TableField(exist = false)
private MonitorProject project;
@TableField(exist = false)
private Integer alertNum;
@TableField(exist = false)
private Promserver promserver;
}

View File

@@ -0,0 +1,69 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
@TableName("monitor_module")
public class MonitorModule implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.INPUT)
private Integer id;
/**
* 组件名称
*/
private String name;
/**
* 业务系统id
*/
private Integer projectId;
/**
* modulle 类型 可选值 http 、snmp
*/
private String type;
/**
* endpoint name模板
* 支持 {{}} 变量替换assetmodule
* 例:{{asset.name}}-{{module.name}}
* 最终endpoint的name为 192.168.40.1-mysql
*/
private String endpointNameTmpl;
/**
* 描述
*/
private String remark;
/**
* 配置参数
*/
private String configs;
/**
* snmp_exporter需要的配置部分 由web端根据snmp_param生成
*/
private String snmpYml;
/**
* 是否内置 1:内置0非内置默认0 内置数据不允许删除
*/
private Integer buildIn;
private String seq;
}

View File

@@ -0,0 +1,74 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@Data
@TableName("monitor_project")
public class MonitorProject implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.INPUT)
private Integer id;
/**
* 应用名称
*/
private String name;
/**
* 描述
*/
private String remark;
/**
* 是否内置 1:内置0非内置默认0 内置数据不允许删除
*/
private Integer buildIn;
private String seq;
@TableField(exist = false)
private List<Integer> alertStat = new ArrayList<Integer>();
/**
* module 列表
*/
@TableField(exist = false)
private List<MonitorModule> children;
/**
* module数量
*/
@TableField(exist = false)
private Integer moduleNum;
/**
* endpoint数量
*/
@TableField(exist = false)
private Integer endpointNum;
/**
* asset数量
*/
@TableField(exist = false)
private Integer assetNum;
/**
* alert数量
*/
@TableField(exist = false)
private Integer alertNum;
}

View File

@@ -0,0 +1,53 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.List;
@Data
@TableName("panel")
public class Panel{
private Integer id;
/**
* 图表名
* */
private String name;
/**
*创建人id
* */
private Integer createBy;
/**
* panel类型
*/
private String type;
/**
* 关联id
*/
private Integer link;
/**
* 是否为内置规则
*/
private Integer buildIn;
/**
* 导入唯一标识
*/
private String seq;
/**
* 父ID
*/
private Integer pid;
/**
* 排序
*/
private Integer weight;
}

View File

@@ -0,0 +1,17 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("project")
public class Project {
@TableId
private Integer id;
private String name;
private String remark;
private Integer buildIn;
private String seq;
}

View File

@@ -0,0 +1,42 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
@TableName("prom_server")
public class Promserver {
@TableId
private Integer id;
private Integer dcId;
private String host;
private Integer type;
private Integer port;
/**
* 默认1
* 1正常
* 0异常
* -1认证失败
*/
private Integer status;
private Date checkTime;
/**
* json格式保存状态详情
* {
* "prometheus": "UP",
* "confagent": "UP",
* "snmp_exporter": "UP"
* }
*/
private String statusInfo;
/**
* confagent令牌
*/
private String token;
}

View File

@@ -0,0 +1,23 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("snmp_credential")
public class SnmpCredential {
private Integer id;
private String name;
private String remark;
private Integer type;
private String config;
private Integer port;
}

View File

@@ -0,0 +1,9 @@
package com.nis.entity;
import lombok.Data;
@Data
public class StateInfo {
private Integer code;
private String msg;
}

View File

@@ -0,0 +1,30 @@
/**
*
*
*/
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 系统配置信息
*
*/
@Data
@TableName("sys_config")
public class SysConfigEntity {
@TableId
private Long id;
private String paramKey;
private String paramValue;
private String status;
private String remark;
}

View File

@@ -0,0 +1,82 @@
/**
*
*
*/
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 数据字典
*
*/
@Data
@TableName("sys_dict")
public class SysDictEntity implements Serializable {
private static final long serialVersionUID = 1L;
@TableId
private Long id;
/**
* 字典名称
*/
private String name;
/**
* 字典类型
*/
private String type;
/**
* 字典码
*/
private Integer code;
/**
* 字典值
*/
private String value;
/**
* 排序
*/
private Integer orderNum;
/**
* 备注
*/
private String remark;
/**
* 删除标记 -1已删除 0正常
*/
@TableLogic
private Integer delFlag;
/**
* 操作人
*/
private Long operator;
/**
* 操作时间
*/
private Date opTime;
/**
* 国际化code
*/
private String i18nCode;
/**
* 用于撤销具体某次批量导入的uuid
*/
private String seq;
}

View File

@@ -0,0 +1,57 @@
package com.nis.entity;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("visual_chart")
public class VisualChart {
@TableId(type = IdType.INPUT)
private Integer id;
private String name;
private Integer panelId;
private Integer groupId;
private Integer span;
private Integer height;
private Integer updateBy;
private Date updateAt;
private String type;
private Integer unit;
private Integer weight;
private Object param;
private Integer pid;
private Integer buildIn;
private String remark;
private String seq;
@TableField(exist = false)
private List<VisualChartElement> elements;
private Integer varType;
private Integer varId;
}

View File

@@ -0,0 +1,27 @@
package com.nis.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("visual_chart_element")
public class VisualChartElement {
@TableId(type = IdType.INPUT)
private Integer id;
private Integer chartId;
private String expression;
private String type;
private String legend;
private Integer buildIn;
private String seq;
}

View File

@@ -0,0 +1,43 @@
package com.nis.entity;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("visual_panel")
public class VisualPanel {
@TableId(type = IdType.INPUT)
private Integer id;
private String name;
private Integer createBy;
private String type;
private Integer link;
private Integer pid;
private Integer weight;
private Integer buildIn;
private String seq;
@TableField(exist = false)
private List<VisualPanel> children;
@TableField(exist = false)
private VisualPanel parent;
@TableField(exist = false)
private Integer chartNum;
}

View File

@@ -0,0 +1,39 @@
package com.nis.handler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.context.annotation.DependsOn;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import cn.hutool.log.Log;
/**
* 此类用于数据同步完成后 清除无用表
* @author admin
*
*/
@Component
@Order(3)
public class AfterHandler implements CommandLineRunner {
private Log log = Log.get();
@Autowired
private SqlHandler sqlHandler;
@Override
public void run(String... args) throws Exception {
sqlHandler.removeTable();
log.info("remove table successful");
sqlHandler.removeCopy();
log.info("remove copy back successful");
log.info("-----------------program end-----------------------");
log.info("-----------------transfer data success-----------------------");
}
}

View File

@@ -0,0 +1,53 @@
package com.nis.handler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import com.nis.util.Constant;
import cn.hutool.core.util.RuntimeUtil;
import cn.hutool.log.Log;
/**
*
* 此类主要用于数据处理前的数据备份 执行数据库结构变更的sql 如清除触发器 个别表的字段信息变更
* @author admin
*
*/
@Component
@Order(1)
public class BeforeHandler implements CommandLineRunner {
private Log log = Log.get();
@Value("{spring.datasource.druid.password}")
private String password;
@Autowired
private SqlHandler sqlHandler;
@Override
public void run(String... args) throws Exception {
// 每个表进行复制 进行双重备份
sqlHandler.tableCopy();
log.info("backup database successful");
// 删除触发器
sqlHandler.dropTriggers();
log.info("drop all trigger successful");
// 修改表结构
sqlHandler.alterTable();
log.info("alter table successful");
// 新增表
sqlHandler.batchAddTable();
log.info("all sql execute successful , before handler close");
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,41 @@
package com.nis.handler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.context.annotation.DependsOn;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import com.nis.service.AssetService;
import cn.hutool.log.Log;
/**
* 此类用于数据库的数据处理操作
* @author admin
*
*/
@Component
@Order(2)
public class TransferDataHandler implements CommandLineRunner {
private Log log = Log.get();
@Autowired
private SqlHandler sqlHandler;
@Override
public void run(String... args) throws Exception {
// 数据同步前相关新增表数据初始化
sqlHandler.initData();
log.info("init data successful");
// 新旧表数据同步
sqlHandler.transferData();
log.info("transfer data successful");
// 表清空数据
sqlHandler.removeData();
log.info("remove data successful");
}
}

View File

@@ -0,0 +1,10 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.Account;
import com.nis.entity.Asset;
public interface AccountService extends IService<Account> {
}

View File

@@ -0,0 +1,14 @@
package com.nis.service;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.AlertMessageActiveEntity;
import com.nis.entity.AlertMessageEntity;
public interface AlertMessageActiveService extends IService<AlertMessageActiveEntity> {
}

View File

@@ -0,0 +1,14 @@
package com.nis.service;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.AlertMessageEntity;
import com.nis.entity.AlertMessageHistoryEntity;
public interface AlertMessageHistoryService extends IService<AlertMessageHistoryEntity> {
}

View File

@@ -0,0 +1,14 @@
package com.nis.service;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.AlertMessageEntity;
public interface AlertMessageService extends IService<AlertMessageEntity> {
public void handler();
}

View File

@@ -0,0 +1,15 @@
package com.nis.service;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.AlertMessageEntity;
import com.nis.entity.AlertMessageHistoryEntity;
import com.nis.entity.AlertRuleEntity;
public interface AlertRuleService extends IService<AlertRuleEntity> {
}

View File

@@ -0,0 +1,12 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.AssetAsset;
/**
* 资产 service
*/
public interface AssetAssetService extends IService<AssetAsset> {
public void handler();
}

View File

@@ -0,0 +1,12 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.AssetBrand;
/**
* 资产品牌 service
*/
public interface AssetBrandService extends IService<AssetBrand> {
public void handler();
}

View File

@@ -0,0 +1,12 @@
package com.nis.service;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.AssetFieldMeta;
public interface AssetFieldMetaService extends IService<AssetFieldMeta>{
}

View File

@@ -0,0 +1,8 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.AssetFieldValue;
public interface AssetFieldValueService extends IService<AssetFieldValue>{
}

View File

@@ -0,0 +1,13 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.AssetModel;
/**
* 资产类型 service
*/
public interface AssetModelService extends IService<AssetModel> {
public void handler();
}

View File

@@ -0,0 +1,8 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.Asset;
public interface AssetService extends IService<Asset> {
}

View File

@@ -0,0 +1,10 @@
package com.nis.service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.AssetTag;
public interface AssetTagService extends IService<AssetTag> {
}

View File

@@ -0,0 +1,10 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.AssetTypeConf;
public interface AssetTypeConfService extends IService<AssetTypeConf> {
}

View File

@@ -0,0 +1,12 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.ChartElement;
import com.nis.entity.Dc;
import com.nis.entity.Idc;
import com.nis.entity.Module;
public interface ChartElementService extends IService<ChartElement> {
}

View File

@@ -0,0 +1,14 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.Chart;
import com.nis.entity.Dc;
import com.nis.entity.Idc;
import com.nis.entity.Module;
public interface ChartService extends IService<Chart> {
public void handler();
}

View File

@@ -0,0 +1,13 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.Asset;
import com.nis.entity.Dc;
/**
* 资产 service
*/
public interface DcService extends IService<Dc> {
public void handler();
}

View File

@@ -0,0 +1,13 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.Dc;
import com.nis.entity.Endpoint;
import com.nis.entity.Idc;
public interface EndpointService extends IService<Endpoint> {
public void handler();
}

View File

@@ -0,0 +1,10 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.Dc;
import com.nis.entity.Idc;
public interface IdcService extends IService<Idc> {
}

View File

@@ -0,0 +1,11 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.Model;
import java.util.Map;
public interface ModelService extends IService<Model> {
}

View File

@@ -0,0 +1,11 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.Dc;
import com.nis.entity.Idc;
import com.nis.entity.Module;
public interface ModuleService extends IService<Module> {
}

View File

@@ -0,0 +1,11 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.Dc;
import com.nis.entity.Idc;
import com.nis.entity.MonitorEndpoint;
public interface MonitorEndpointService extends IService<MonitorEndpoint> {
}

View File

@@ -0,0 +1,11 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.Dc;
import com.nis.entity.Idc;
import com.nis.entity.MonitorModule;
public interface MonitorModuleService extends IService<MonitorModule> {
}

View File

@@ -0,0 +1,11 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.Dc;
import com.nis.entity.Idc;
import com.nis.entity.MonitorProject;
public interface MonitorProjectService extends IService<MonitorProject> {
}

View File

@@ -0,0 +1,12 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.Dc;
import com.nis.entity.Idc;
import com.nis.entity.Module;
import com.nis.entity.Panel;
public interface PanelService extends IService<Panel> {
}

View File

@@ -0,0 +1,11 @@
package com.nis.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.entity.Dc;
import com.nis.entity.Idc;
import com.nis.entity.Project;
public interface ProjectService extends IService<Project> {
}

Some files were not shown because too many files have changed in this diff Show More