-- ----------------------------
-- 设备表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_customer`;
CREATE TABLE `mortals_xhx_customer`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
  `loginName` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户账号',
  `password` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码',
  `custType` tinyint(2) NOT NULL COMMENT '客户类型',
  `tradeId` tinyint(2) NOT NULL COMMENT '行业类型',
  `custName` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '客户名称',
  `address` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址',
  `contactTelphone` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '联系电话',
  `status` tinyint(2) NOT NULL COMMENT '状态',
  `accessKey` varchar(12) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '颁发给用户的访问服务所用的密钥ID',
  `createUserId` bigint(20) NULL DEFAULT NULL COMMENT '创建用户',
  `createTime` datetime(0) NOT NULL COMMENT '创建时间',
  `updateTime` datetime(0) NOT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB  CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '客户表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 客户表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_device`;
CREATE TABLE `mortals_xhx_device`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
  `customerId` bigint(20) NOT NULL COMMENT '用户ID',
  `productId` bigint(20) NOT NULL COMMENT '产品',
  `deviceName` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '设备名称，设置设备名称。 设备名称在产品内具有唯一性。支持英文字母、数字、短划线（-）、下划线（_）、at（@）、英文句号（.）和英文冒号（:），长度限制为4~32个字符。',
  `deviceRemark` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '设备备注，设置备注名称。支持中文、英文字母、日文、数字和下划线（_），长度限制为4~64个字符，',
  `deviceSecret` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '平台为设备颁发的设备密钥，用于认证加密。需与DeviceName成对使用。',
  `productKey` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '平台为产品颁发的全局唯一标识符',
  `connectStatus` tinyint(2) NOT NULL DEFAULT 2 COMMENT '连接状态，(0.离线，1.在线，2.未激活)',
  `useStatus` tinyint(2) NOT NULL DEFAULT 1 COMMENT '启用状态 (0.停用，1.启用，2.测试)',
  `onlineTime` datetime(0) NULL DEFAULT NULL COMMENT '最近上线时间',
  `offlineTime` datetime(0) NULL DEFAULT NULL COMMENT '最近离线时间',
  `createUserId` bigint(20) NULL DEFAULT NULL COMMENT '创建用户',
  `createTime` datetime(0) NOT NULL COMMENT '创建时间',
  `updateTime` datetime(0) NOT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB  CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '设备表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 设备日志表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_device_log`;
CREATE TABLE `mortals_xhx_device_log`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
  `deviceName` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '设备名称，设置设备名称。',
  `productKey` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '平台为产品颁发的全局唯一标识符',
  `logType` tinyint(2) NOT NULL COMMENT '日志类型，(0.上报事件，1.下发服务)',
  `content` varchar(5000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '内容',
  `createTime` datetime(0) NOT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '设备日志表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 设备topic表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_device_topic`;
CREATE TABLE `mortals_xhx_device_topic`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
  `customerId` bigint(20) NOT NULL COMMENT '用户ID',
  `productId` bigint(20) NOT NULL COMMENT '产品',
  `productKey` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '平台为产品颁发的全局唯一标识符',
  `deviceId` bigint(20) NOT NULL COMMENT '设备ID',
  `deviceName` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '设备名称',
  `deviceTopicHandle` tinyint(2) NOT NULL COMMENT '设备对该Topic的操作，可设置为发布、订阅、发布和订阅。',
  `topic` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '设备的具体是topic信息，根据产品topic信息生产',
  `deviceTopicRemark` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述',
  `createUserId` bigint(20) NULL DEFAULT NULL COMMENT '创建用户',
  `createTime` datetime(0) NOT NULL COMMENT '创建时间',
  `updateTime` datetime(0) NOT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '设备topic表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 产品表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_product`;
CREATE TABLE `mortals_xhx_product`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
  `customerId` bigint(20) NOT NULL COMMENT '用户ID',
  `productName` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '产品名称，为产品命名。产品名称在账号内具有唯一性。例如，可以填写为产品型号。支持中文、英文字母、日文、数字、下划线（_）、短划线（-）、at（@）和英文圆括号，长度限制4~30个字符。',
  `productType` tinyint(2) NOT NULL COMMENT '所属品类，相当于产品模板。1，标准品类：2，其它品类',
  `dataType` tinyint(2) NOT NULL COMMENT '数据格式，设备上下行的数据格式。1，标准数据格式：是平台为开发者提供的设备与云端的数据交换协议，采用JSON格式',
  `authType` tinyint(2) NOT NULL COMMENT '认证方式，设备接入平台的安全认证方式。产品创建成功后，认证方式不可变更。1，设备密钥：使用物联网平台为设备生成的DeviceSecret进行设备认证签名计算。使用DeviceSecret签名计算',
  `productRemark` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产品备注',
  `productKey` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '平台为产品颁发的全局唯一标识符',
  `productStatus` tinyint(2) NOT NULL COMMENT '产品状态，（1.开发中，2.发布）',
  `createUserId` bigint(20) NULL DEFAULT NULL COMMENT '创建用户',
  `createTime` datetime(0) NOT NULL COMMENT '创建时间',
  `updateTime` datetime(0) NOT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 产品topic表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_product_topic`;
CREATE TABLE `mortals_xhx_product_topic`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID，主键，自增长',
  `customerId` bigint(20) NOT NULL COMMENT '用户ID',
  `productId` bigint(20) NOT NULL COMMENT '产品',
  `topic` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'Topic类，类目命名只能包含字母、数字和下划线（_），每级类目不能为空。',
  `productTopicRemark` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述',
  `createUserId` bigint(20) NULL DEFAULT NULL COMMENT '创建用户',
  `createTime` datetime(0) NOT NULL COMMENT '创建时间',
  `updateTime` datetime(0) NOT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品topic表' ROW_FORMAT = Dynamic;
