feat(device): 实现设备与账号绑定管理机制

- 引入 ClientAccountDevice 表管理设备与账号绑定关系
- 重构设备注册逻辑,支持多账号绑定同一设备
- 新增设备配额检查,基于账号维度限制设备数量
-优化设备移除逻辑,仅解除绑定而非物理删除- 改进设备列表查询,通过账号ID关联获取设备信息
- 更新心跳任务,支持向设备绑定的所有账号发送心跳
- 调整设备API参数,增加username字段用于权限校验
-修复HTTP请求编码问题,统一使用UTF-8字符集
- 增强错误处理,携带错误码信息便于前端识别
- 移除设备表中的username字段,解耦设备与用户名关联
This commit is contained in:
2025-10-22 09:51:55 +08:00
parent 901d67d2dc
commit 17b6a7b9f9
29 changed files with 589 additions and 277 deletions

View File

@@ -1,20 +0,0 @@
-- 斑马账号表(与 BanmaAccount 实体、BanmaAccountMapper.xml 一致)
DROP TABLE IF EXISTS `banma_account`;
CREATE TABLE `banma_account` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` VARCHAR(64) DEFAULT NULL COMMENT '显示名',
`username` VARCHAR(128) DEFAULT NULL COMMENT '登录用户名',
`token` VARCHAR(512) DEFAULT NULL COMMENT '访问Token客户端刷新后回写',
`token_expire_at` DATETIME DEFAULT NULL COMMENT 'Token过期时间',
`is_default` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否默认 1是 0否',
`status` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '状态 1启用 0停用',
`remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
`create_by` VARCHAR(64) DEFAULT NULL,
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
`update_by` VARCHAR(64) DEFAULT NULL,
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_banma_is_default` (`is_default`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='斑马账号表';