-- ----------------------------
-- 调试宝设备表（TSB Device）
-- 执行前请确认库名；可与 ry_20260417.sql 使用同一数据库
-- ----------------------------
DROP TABLE IF EXISTS tsb_user_device;
DROP TABLE IF EXISTS tsb_device;
CREATE TABLE tsb_device (
  device_id            bigint(20)      NOT NULL AUTO_INCREMENT    COMMENT '设备主键',
  imei                 varchar(32)     NOT NULL                   COMMENT '设备IMEI（唯一）',
  device_type          varchar(32)     NULL                       COMMENT '设备型号',
  device_sn            bigint          NULL                       COMMENT '设备SN码',
  device_produce_date  datetime        NULL                       COMMENT '设备生产日期',
  software_version     varchar(32)     NULL                       COMMENT '软件版本号',
  status               char(1)         NULL                       COMMENT '状态（0正常 1停用）',
  last_run_time        datetime        NULL                       COMMENT '最后在线时间',
  del_flag             char(1)         DEFAULT '0'                COMMENT '删除标志（0代表存在 2代表删除）',
  create_by            varchar(64)     DEFAULT ''                 COMMENT '创建者',
  create_time          datetime                                   COMMENT '创建时间',
  update_by            varchar(64)     DEFAULT ''                 COMMENT '更新者',
  update_time          datetime                                   COMMENT '更新时间',
  remark               varchar(500)    DEFAULT NULL               COMMENT '备注',
  PRIMARY KEY (device_id),
  UNIQUE KEY uk_imei (imei),
  KEY idx_device_sn (device_sn),
  KEY idx_status_del (status, del_flag)
) COMMENT='调试宝设备表';


-- ----------------------------
-- 调试宝设备与用户关联表（一用户一台在用设备）
-- user_id、device_id 各自唯一，与 sys_user.user_id、tsb_device.device_id 对应
-- ----------------------------
CREATE TABLE tsb_user_device (
  user_id            bigint(20)      NOT NULL                   COMMENT '用户ID（sys_user.user_id）',
  device_id          bigint(20)      NOT NULL                   COMMENT '设备ID（tsb_device.device_id）',
  bind_time          datetime        NULL                       COMMENT '绑定时间',
  PRIMARY KEY (user_id, device_id)
) COMMENT='调试宝设备与用户绑定表';


-- ----------------------------
-- 调试宝 菜单与按钮（若依 sys_menu）
-- 在 ry_*.sql 初始化库执行后追加；执行完需在「角色管理」中为普通角色勾选新菜单，或为 sys_role_menu 追加见文末
-- ----------------------------

-- 一级目录
INSERT INTO sys_menu VALUES ('3200', '调试宝', '0', '5', 'tsb', NULL, '', '', 1, 0, 'M', '0', '0', '', 'phone', 'admin', sysdate(), '', NULL, '调试宝目录');

-- 设备管理页（含列表中的绑定能力）
INSERT INTO sys_menu VALUES ('3201', '设备管理', '3200', '1', 'device', 'tsb/device/index', '', '', 1, 0, 'C', '0', '0', 'tsb:device:list', 'list', 'admin', sysdate(), '', NULL, '调试宝设备管理');

-- 按钮
INSERT INTO sys_menu VALUES ('3202', '设备查询', '3201', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'tsb:device:query', '#', 'admin', sysdate(), '', NULL, '');
INSERT INTO sys_menu VALUES ('3203', '设备新增', '3201', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'tsb:device:add', '#', 'admin', sysdate(), '', NULL, '');
INSERT INTO sys_menu VALUES ('3204', '设备修改', '3201', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'tsb:device:edit', '#', 'admin', sysdate(), '', NULL, '');
INSERT INTO sys_menu VALUES ('3205', '设备删除', '3201', '4', '#', '', '', '', 1, 0, 'F', '0', '0', 'tsb:device:remove', '#', 'admin', sysdate(), '', NULL, '');
INSERT INTO sys_menu VALUES ('3206', '设备导出', '3201', '5', '#', '', '', '', 1, 0, 'F', '0', '0', 'tsb:device:export', '#', 'admin', sysdate(), '', NULL, '');

-- 普通角色 role_id=2 授权（超级管理员通常拥有 *:*:*，可不执行；按需对其它角色同样插入）
INSERT INTO sys_role_menu VALUES ('2', '3200');
INSERT INTO sys_role_menu VALUES ('2', '3201');
INSERT INTO sys_role_menu VALUES ('2', '3202');
INSERT INTO sys_role_menu VALUES ('2', '3203');
INSERT INTO sys_role_menu VALUES ('2', '3204');
INSERT INTO sys_role_menu VALUES ('2', '3205');
INSERT INTO sys_role_menu VALUES ('2', '3206');
