use `device-platform`;
-- ----------------------------
-- 设备表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_device`;
CREATE TABLE `mortals_xhx_device`
(
    `id`                       bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
    `deviceName`               varchar(20) NOT NULL COMMENT '设备名称',
    `deviceCode`               varchar(256) DEFAULT NULL COMMENT '设备编码',
    `deviceSN`                 varchar(512) DEFAULT NULL COMMENT '设备SN码',
    `deviceMac`                varchar(64)  DEFAULT NULL COMMENT '设备的MAC地址',
    `siteId`                   bigint(20) DEFAULT NULL COMMENT '站点Id，来源基础服务平台',
    `siteCode`                 varchar(256) DEFAULT NULL COMMENT '站点编号，来源基础服务平台',
    `siteName`                 varchar(256) DEFAULT NULL COMMENT '站点名称',
    `platformId`               bigint(20) DEFAULT NULL COMMENT '平台系统Id',
    `platformName`             varchar(256) DEFAULT NULL COMMENT '平台系统名称',
    `productId`                bigint(20) DEFAULT NULL COMMENT '产品Id',
    `productName`              varchar(256) DEFAULT NULL COMMENT '产品名称',
    `skinId`                   bigint(20) DEFAULT NULL COMMENT '皮肤id',
    `skinName`                 varchar(512) DEFAULT NULL COMMENT '皮肤名称',
    `homeUrl`                  varchar(512) DEFAULT NULL COMMENT '首页地址',
    `deviceFirmId`             bigint(20) DEFAULT NULL COMMENT '设备生产厂商ID',
    `deviceFirmname`           varchar(20)  DEFAULT NULL COMMENT '设备生产厂商名称',
    `deviceSrc`                tinyint(2) DEFAULT NULL COMMENT '设备来源(0.子设备，1.网关设备，2.直连设备)',
    `deviceDataSourceWay`      tinyint(2) DEFAULT NULL COMMENT '数据获取方式(0.主动上报，1被动拉取)',
    `lon`                      varchar(32)  DEFAULT NULL COMMENT '经度',
    `lati`                     varchar(32)  DEFAULT NULL COMMENT '经度',
    `deviceInBuilding`         tinyint(2) DEFAULT NULL COMMENT '所属楼栋',
    `deviceInFloor`            tinyint(2) DEFAULT NULL COMMENT '所属楼层',
    `defectsLiabilityPeriod`   datetime     DEFAULT NULL COMMENT '保修期至',
    `leadingOfficial`          varchar(10)  DEFAULT NULL COMMENT '负责人',
    `leadingOfficialTelephone` varchar(11)  DEFAULT NULL COMMENT '联系电话',
    `isReceiveMess`            tinyint(2) DEFAULT NULL COMMENT '是否接收异常短(0.否，1.是)',
    `ip`                       varchar(64)  DEFAULT NULL COMMENT '设备访问ip',
    `centernum`                varchar(64)  DEFAULT NULL COMMENT '中心设备编码',
    `port`                     varchar(64)  DEFAULT NULL COMMENT '端口',
    `deviceTopic`              varchar(100) DEFAULT NULL COMMENT '设备topic信息',
    `deviceStatus`             tinyint(2) DEFAULT NULL COMMENT '设备状态 (0.未激活，1.离线,2.在线)',
    `enabled`                  tinyint(2) DEFAULT NULL COMMENT '启用状态 (0.停止，1.启用)',
    `deviceAuthCode`           varchar(255) DEFAULT NULL,
    `deviceRemark`             varchar(256) DEFAULT NULL COMMENT '备注',
    `onlineTime`               datetime     DEFAULT NULL COMMENT '最近上线时间',
    `offlineTime`              datetime     DEFAULT NULL COMMENT '最近离线时间',
    `devicePhotoPath`          varchar(255) DEFAULT NULL,
    `deleted`                  tinyint(2) DEFAULT NULL COMMENT '是否删除，(0.否，1.是)',
    `deviceVersion`            varchar(64)  DEFAULT NULL COMMENT '设备版本',
    `source`                   tinyint(2) DEFAULT NULL,
    `createUserId`             bigint(20) NOT NULL COMMENT '创建用户',
    `createTime`               datetime    NOT NULL COMMENT '创建时间',
    `updateUserId`             bigint(20) DEFAULT NULL COMMENT '更新用户',
    `updateTime`               datetime     DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='设备';



-- ----------------------------
-- 平台系统表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_platform`;
CREATE TABLE mortals_xhx_platform
(
    `id`             bigint(20) AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
    `platformName`   varchar(20)  NOT NULL COMMENT '平台名称，名称唯一',
    `platformSn`     varchar(256) NOT NULL COMMENT '平台编码，编码唯一(编码加上站点编码，如phxt-51010251-1做Vhost虚拟机编码)',
    `sendMsgType`    tinyint(2) NOT NULL COMMENT '发送第三方平台消息类型(0.http,1.jms)',
    `sendUrl`        varchar(512) COMMENT '发送参数请求地址',
    `callbackUrl`    varchar(512) COMMENT '回调参数地址',
    `sendSwitch`     tinyint(2) NOT NULL COMMENT '是否启用发送消息(0.停用,1.启用)',
    `homeUrl`        varchar(512) COMMENT '首页地址',
    `platformRemark` varchar(256) COMMENT '备注',
    `createUserId`   bigint(20) NOT NULL COMMENT '创建用户',
    `createTime`     datetime     NOT NULL COMMENT '创建时间',
    `updateUserId`   bigint(20) COMMENT '更新用户',
    `updateTime`     datetime COMMENT '更新时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='平台系统';

-- ----------------------------
-- 产品表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_product`;
CREATE TABLE mortals_xhx_product
(
    `id`            bigint(20) AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
    `platformId`    bigint(20) NOT NULL AUTO_INCREMENT COMMENT '关联平台',
    `productName`   varchar(20) NOT NULL COMMENT '产品名称，名称唯一',
    `productCode`   varchar(256) COMMENT '产品编码',
    `skinId`        bigint(20) NOT NULL COMMENT '皮肤id',
    `skinName`      varchar(20) COMMENT '皮肤名称',
    `homeUrl`       varchar(512) COMMENT '首页地址',
    `eventUrl`      varchar(512) COMMENT '事件地址，评价器使用',
    `productRemark` varchar(256) COMMENT '备注',
    `createUserId`  bigint(20) NOT NULL COMMENT '创建用户',
    `createTime`    datetime    NOT NULL COMMENT '创建时间',
    `updateUserId`  bigint(20) COMMENT '更新用户',
    `updateTime`    datetime COMMENT '更新时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='产品';



-- ----------------------------
-- 设备生产厂商表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_firm`;
CREATE TABLE mortals_xhx_firm
(
    `id`           bigint(20) AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
    `firmName`     varchar(128) NOT NULL COMMENT '设备生产厂商名称',
    `firmCode`     varchar(128) COMMENT '设备生产商编码',
    `firmRemark`   varchar(64) COMMENT '备注',
    `createUserId` bigint(20) NOT NULL COMMENT '创建用户',
    `createTime`   datetime     NOT NULL COMMENT '创建时间',
    `updateUserId` bigint(20) COMMENT '更新用户',
    `updateTime`   datetime COMMENT '更新时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='设备生产厂商';

-- ----------------------------
-- 设备告警日志表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_device_alarm_info`;
CREATE TABLE mortals_xhx_device_alarm_info
(
    `id`                        bigint(20) AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
    `alarmTime`                 datetime     NOT NULL COMMENT '告警时间',
    `alarmDevice`               bigint(20) NOT NULL COMMENT '告警设备Id',
    `siteId`                    bigint(20) COMMENT '站点Id，来源基础服务平台',
    `alarmType`                 tinyint(2) NOT NULL COMMENT '告警类型,(0.离线)',
    `alarmLevel`                tinyint(2) NOT NULL COMMENT '告警级别(0.危险，1.次要，2.一般)',
    `alarmReceivePersonnel`     varchar(32)  NOT NULL COMMENT '接收人员[设备管理的责任人]',
    `receivePersonnelTelephone` varchar(11)  NOT NULL COMMENT '接收人员电话',
    `alarmStatus`               tinyint(2) COMMENT '告警状态,来自工单系统(0.未清除，1.清除未确认，2.清除已确认)',
    `alarmContent`              varchar(512) NOT NULL COMMENT '告警详细内容',
    `createTime`                datetime     NOT NULL COMMENT '创建时间',
    `updateUserId`              bigint(20) COMMENT '更新用户',
    `updateTime`                datetime COMMENT '更新时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='设备告警日志';



-- ----------------------------
-- 设备模块信息表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_device_module`;
CREATE TABLE mortals_xhx_device_module
(
    `id`            bigint(20) AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
    `moduleName`    varchar(256) NOT NULL COMMENT '模块名称',
    `moduleMsgCode` varchar(256) NOT NULL COMMENT '模块消息编码，与上报消息头编码一致，唯一',
    `createTime`    datetime COMMENT '创建时间',
    `updateUserId`  bigint(20) COMMENT '更新用户',
    `updateTime`    datetime COMMENT '更新时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='设备模块信息';

-- ----------------------------
-- 设备模块使用频率表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_device_module_use`;
CREATE TABLE mortals_xhx_device_module_use
(
    `id`            bigint(20) AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
    `moduleName`    varchar(256) NOT NULL COMMENT '模块名称',
    `moduleMsgCode` varchar(256) NOT NULL COMMENT '模块消息编码',
    `deviceId`      bigint(20) NOT NULL COMMENT '所属设备',
    `useNum`        int COMMENT '调用次数',
    `createTime`    datetime COMMENT '创建时间',
    `updateUserId`  bigint(20) COMMENT '更新用户',
    `updateTime`    datetime COMMENT '更新时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='设备模块使用频率';


-- ----------------------------
-- 设备告警配置表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_alarm_config`;
CREATE TABLE mortals_xhx_alarm_config
(
    `id`           bigint(20) AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
    `productId`    bigint(20) NOT NULL COMMENT '产品',
    `alarmType`    tinyint(2) NOT NULL COMMENT '告警类型(0.离线)',
    `alarmLevel`   tinyint(2) NOT NULL COMMENT '告警级别,(0.危险，1.次要，2.一般)',
    `alarmPusW1ay` tinyint(2) NOT NULL COMMENT '推送方式,(0.不推送，1.短信)',
    `enabled`      tinyint(2) NOT NULL COMMENT '是否启用(0.不启用，1.启用)',
    `remark`       varchar(2048) COMMENT '备注',
    `createTime`   datetime NOT NULL COMMENT '创建时间',
    `updateUserId` bigint(20) COMMENT '更新用户',
    `updateTime`   datetime COMMENT '更新时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='设备告警配置';



-- ----------------------------
-- 短信发送记录表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_alarm_sms_send`;
CREATE TABLE mortals_xhx_alarm_sms_send
(
    `id`           bigint(20) AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
    `mobile`       varchar(11)  NOT NULL COMMENT '联系电话',
    `receiver`     varchar(200) NOT NULL COMMENT '接收人员',
    `sendMess`     varchar(200) NOT NULL COMMENT '发送内容',
    `sendStatus`   tinyint(2) NOT NULL COMMENT '发送状态(0.未发送，1.提交，2.发送成功，3.发生失败)',
    `sendTime`     datetime     NOT NULL COMMENT '发送时间',
    `siteId`       bigint(20) COMMENT '站点Id，来源基础服务平台',
    `createTime`   datetime     NOT NULL COMMENT '创建时间',
    `updateUserId` bigint(20) COMMENT '更新用户',
    `updateTime`   datetime COMMENT '更新时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='短信发送记录';


-- ----------------------------
-- 设备日志表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_device_log`;
CREATE TABLE mortals_xhx_device_log
(
    `id`           bigint(20) AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
    `traceID`      varchar(64) COMMENT 'traceId,日志追踪id',
    `siteId`       bigint(20) COMMENT '站点Id，来源基础服务平台',
    `deviceId`     bigint(20) COMMENT '设备ID',
    `deviceCode`   varchar(32) NOT NULL COMMENT '设备编号',
    `deviceName`   varchar(32) NOT NULL COMMENT '设备名称，设置设备名称。',
    `messageHead`  varchar(64) NOT NULL COMMENT '业务消息头标识',
    `logType`      tinyint(2) NOT NULL COMMENT '消息类型，(0.上行，1.下行)',
    `content`      varchar(2048) COMMENT '内容',
    `createUserId` bigint(20) NOT NULL COMMENT '创建用户',
    `createTime`   datetime    NOT NULL COMMENT '创建时间',
    `updateUserId` bigint(20) COMMENT '更新用户',
    `updateTime`   datetime COMMENT '更新时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='设备日志';



-- ----------------------------
-- 站点统计表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_sitestat`;
CREATE TABLE mortals_xhx_sitestat
(
    `id`            bigint(20) AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
    `siteId`        bigint(20) COMMENT '站点Id，来源基础服务平台',
    `siteCode`      varchar(256) COMMENT '站点编号，来源基础服务平台',
    `siteName`      varchar(256) COMMENT '站点名称',
    `deviceTotal`   int(9) COMMENT '设备总数',
    `onlineCount`   int(9) COMMENT '在线数量',
    `offlineCount`  int(9) COMMENT '离线数量',
    `stopCount`     int(9) COMMENT '停用数量',
    `unActiveCount` int(9) NOT NULL COMMENT '待激活数量',
    `createTime`    datetime NOT NULL COMMENT '创建时间',
    `updateUserId`  bigint(20) COMMENT '更新用户',
    `updateTime`    datetime COMMENT '更新时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='站点统计';

-- ----------------------------
-- 设备统计表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_device_stat`;
CREATE TABLE mortals_xhx_device_stat
(
    `id`                bigint(20) AUTO_INCREMENT COMMENT 'ID',
    `siteId`            bigint(20) COMMENT '站点Id，来源基础服务平台',
    `deviceTotalCount`  int(9) COMMENT '设备总数',
    `deviceAddCount`    int(9) COMMENT '昨日新增减少设备数量',
    `siteTotalCount`    int(9) COMMENT '监控站点数量',
    `siteAddCount`      int(9) COMMENT '昨日新增站点数量',
    `deviceOnlineCount` int(9) COMMENT '在线设备数量',
    `deviceOnlineRatio` double(6, 2
) COMMENT '在线率',
    `deviceOfflineCount` int(9) NOT NULL    COMMENT '离线设备数量',
    `deviceOfflineRatio` double(6,2) NOT NULL    COMMENT '离线率',
    `deviceStopCount` int(9) NOT NULL    COMMENT '停用设备数量',
    `deviceStopRatio` double(6,2) NOT NULL    COMMENT '停用率',
    `deviceUnActiveCount` int(9) NOT NULL    COMMENT '未激活设备数量',
    `deviceUnActiveRatio` double(6,2) NOT NULL    COMMENT '未激活率',
    `alarmTotalCount` int(9) NOT NULL    COMMENT '今日告警数量',
    `alarmAddCount` int(9) NOT NULL    COMMENT '昨日新增减少数量',
    `pushTotalCount` int(9) NOT NULL    COMMENT '今日消息推送数量',
    `pushAddCount` int(9) NOT NULL    COMMENT '昨日新增减少数量',
    `uploadMessageTotalCount` int(9) NOT NULL    COMMENT '今日上行消息数量',
    `downloadMessageTotalCount` int(9) NOT NULL    COMMENT '今日下行消息数量',
    `year` int(9) NOT NULL    COMMENT '年',
    `month` int(9) NOT NULL    COMMENT '月',
    `day` int(9) NOT NULL    COMMENT '日',
    `createTime` datetime NOT NULL    COMMENT '创建时间',
    `updateUserId` bigint(20)     COMMENT '更新用户',
    `updateTime` datetime     COMMENT '更新时间',
PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='设备统计';



-- ----------------------------
-- 产品客户端版本表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_product_version`;
CREATE TABLE mortals_xhx_product_version
(
    `id`           bigint(20) AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
    `productId`    bigint(20) COMMENT '产品Id',
    `productCode`  varchar(256) COMMENT '产品编码',
    `productName`  varchar(256) COMMENT '产品名称',
    `filePath`     varchar(256) COMMENT '文件相对路径地址',
    `version`      int(4) COMMENT '版本号',
    `remark`       varchar(256) COMMENT '备注信息',
    `createTime`   datetime COMMENT '创建时间',
    `updateUserId` bigint(20) COMMENT '更新用户',
    `updateTime`   datetime COMMENT '更新时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='产品客户端版本';



