| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- -- 设备商品库存表
- CREATE TABLE IF NOT EXISTS `t_device_inventory` (
- `id` BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)',
- `device_id` VARCHAR(50) NOT NULL COMMENT '设备ID(SN号)',
- `product_id` BIGINT NOT NULL COMMENT '商品ID(本地)',
- `product_code` VARCHAR(50) DEFAULT NULL COMMENT '商品编码(哈哈平台code)',
- `product_name` VARCHAR(200) DEFAULT NULL COMMENT '商品名称(冗余)',
- `stock` INT NOT NULL DEFAULT 0 COMMENT '当前库存数量',
- `shelf_num` INT DEFAULT NULL COMMENT '所在货架层号',
- `position` VARCHAR(20) DEFAULT NULL COMMENT '货道位置(left/right)',
- `warning_threshold` INT DEFAULT 5 COMMENT '库存预警阈值',
- `last_restock_time` DATETIME DEFAULT NULL COMMENT '最后补货时间',
- `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- `version` INT DEFAULT 0 COMMENT '乐观锁版本号',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_device_product` (`device_id`, `product_id`),
- INDEX `idx_device_id` (`device_id`),
- INDEX `idx_product_id` (`product_id`),
- INDEX `idx_stock` (`stock`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='设备商品库存表';
- -- 库存变动日志表
- CREATE TABLE IF NOT EXISTS `t_inventory_log` (
- `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- `device_id` VARCHAR(50) NOT NULL COMMENT '设备ID',
- `product_id` BIGINT NOT NULL COMMENT '商品ID',
- `product_code` VARCHAR(50) DEFAULT NULL COMMENT '商品编码',
- `product_name` VARCHAR(200) DEFAULT NULL COMMENT '商品名称',
- `change_type` TINYINT NOT NULL COMMENT '变动类型:1上货增加,2销售减少,3调整增加,4调整减少,5盘点调整',
- `change_quantity` INT NOT NULL COMMENT '变动数量(正数增加,负数减少)',
- `before_stock` INT NOT NULL COMMENT '变动前库存',
- `after_stock` INT NOT NULL COMMENT '变动后库存',
- `order_id` VARCHAR(50) DEFAULT NULL COMMENT '关联订单号(销售时)',
- `activity_id` VARCHAR(50) DEFAULT NULL COMMENT '关联活动号',
- `operator_id` BIGINT DEFAULT NULL COMMENT '操作人ID',
- `operator_name` VARCHAR(100) DEFAULT NULL COMMENT '操作人名称',
- `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
- `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- PRIMARY KEY (`id`),
- INDEX `idx_device_id` (`device_id`),
- INDEX `idx_product_id` (`product_id`),
- INDEX `idx_change_type` (`change_type`),
- INDEX `idx_create_time` (`create_time`),
- INDEX `idx_order_id` (`order_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='库存变动日志表';
- -- 上货记录表
- CREATE TABLE IF NOT EXISTS `t_stock_record` (
- `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- `device_id` VARCHAR(50) NOT NULL COMMENT '设备ID',
- `activity_id` VARCHAR(50) DEFAULT NULL COMMENT '哈哈平台活动号',
- `stock_type` TINYINT DEFAULT 1 COMMENT '类型:1上货,2补货',
- `stocker_id` BIGINT DEFAULT NULL COMMENT '上货员ID',
- `stocker_name` VARCHAR(100) DEFAULT NULL COMMENT '上货员名称',
- `stocker_phone` VARCHAR(20) DEFAULT NULL COMMENT '上货员电话',
- `total_items` INT DEFAULT 0 COMMENT '上货商品种类数',
- `total_quantity` INT DEFAULT 0 COMMENT '上货总数量',
- `status` TINYINT DEFAULT 1 COMMENT '状态:1进行中,2已完成,3已取消',
- `start_time` DATETIME DEFAULT NULL COMMENT '开始时间',
- `end_time` DATETIME DEFAULT NULL COMMENT '结束时间',
- `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
- `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- PRIMARY KEY (`id`),
- INDEX `idx_device_id` (`device_id`),
- INDEX `idx_stocker_id` (`stocker_id`),
- INDEX `idx_create_time` (`create_time`),
- INDEX `idx_activity_id` (`activity_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='上货记录表';
- -- 上货记录明细表
- CREATE TABLE IF NOT EXISTS `t_stock_record_item` (
- `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- `record_id` BIGINT NOT NULL COMMENT '上货记录ID',
- `device_id` VARCHAR(50) NOT NULL COMMENT '设备ID',
- `product_id` BIGINT NOT NULL COMMENT '商品ID',
- `product_code` VARCHAR(50) DEFAULT NULL COMMENT '商品编码',
- `product_name` VARCHAR(200) DEFAULT NULL COMMENT '商品名称',
- `shelf_num` INT DEFAULT NULL COMMENT '货架层号',
- `quantity` INT NOT NULL COMMENT '上货数量',
- `before_stock` INT DEFAULT 0 COMMENT '上货前库存',
- `after_stock` INT DEFAULT 0 COMMENT '上货后库存',
- `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- PRIMARY KEY (`id`),
- INDEX `idx_record_id` (`record_id`),
- INDEX `idx_device_product` (`device_id`, `product_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='上货记录明细表';
- -- 上货员表
- CREATE TABLE IF NOT EXISTS `t_stocker` (
- `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- `name` VARCHAR(100) NOT NULL COMMENT '姓名',
- `phone` VARCHAR(20) DEFAULT NULL COMMENT '电话',
- `employee_id` VARCHAR(50) DEFAULT NULL COMMENT '工号',
- `status` TINYINT DEFAULT 1 COMMENT '状态:1启用,0禁用',
- `total_tasks` INT DEFAULT 0 COMMENT '累计任务数',
- `last_task_time` DATETIME DEFAULT NULL COMMENT '最后任务时间',
- `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- PRIMARY KEY (`id`),
- INDEX `idx_phone` (`phone`),
- INDEX `idx_status` (`status`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='上货员表';
- -- ==================== 补货员新表(v2 独立账号体系) ====================
- -- 补货员表(替代 t_stocker,独立账号体系)
- CREATE TABLE IF NOT EXISTS `t_replenisher` (
- `id` BIGINT NOT NULL COMMENT '雪花主键',
- `name` VARCHAR(50) NOT NULL COMMENT '姓名',
- `phone` VARCHAR(20) DEFAULT NULL COMMENT '手机号',
- `employee_id` VARCHAR(50) DEFAULT NULL COMMENT '工号',
- `wechat_openid` VARCHAR(100) DEFAULT NULL COMMENT '微信OpenID(扫码绑定时回填)',
- `avatar` VARCHAR(500) DEFAULT NULL COMMENT '头像',
- `status` TINYINT DEFAULT 1 COMMENT '状态:1-启用 0-禁用',
- `total_tasks` INT DEFAULT 0 COMMENT '累计任务数',
- `last_task_time` DATETIME DEFAULT NULL COMMENT '最后任务时间',
- `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- PRIMARY KEY (`id`),
- INDEX `idx_phone` (`phone`),
- INDEX `idx_status` (`status`),
- INDEX `idx_wechat_openid` (`wechat_openid`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='补货员表';
- -- 补货员-设备关联表
- CREATE TABLE IF NOT EXISTS `t_replenisher_device` (
- `id` BIGINT NOT NULL COMMENT '雪花主键',
- `replenisher_id` BIGINT NOT NULL COMMENT '补货员ID',
- `device_id` VARCHAR(50) NOT NULL COMMENT '设备SN号',
- `source` VARCHAR(20) DEFAULT 'MANUAL' COMMENT '绑定来源:MANUAL-手动,QR-扫码绑定,SHOP_INHERIT-门店继承',
- `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_replenisher_device` (`replenisher_id`, `device_id`),
- INDEX `idx_device_id` (`device_id`),
- INDEX `idx_replenisher_id` (`replenisher_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='补货员-设备关联表';
|