20260317_create_buff_sweep_tables.sql 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. -- BUFF 扫货请求单、扫货成功明细、扫货日志表
  2. -- 说明:
  3. -- 1) 扫货基于最新一次选品结果;
  4. -- 2) 扫货成功数据长期保留用于分页展示;
  5. -- 3) 日志用于前端「扫货日志」弹窗实时查看。
  6. SET NAMES utf8mb4;
  7. CREATE TABLE IF NOT EXISTS `buff_sweep_request` (
  8. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  9. `user_id` int(10) unsigned NOT NULL COMMENT '用户ID',
  10. `selection_request_id` bigint(20) unsigned NOT NULL COMMENT '本次扫货基于的选品请求单ID',
  11. `status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '状态:pending/running/completed/failed/cancelled',
  12. `cancel_requested` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已请求停止',
  13. `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  14. `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  15. PRIMARY KEY (`id`),
  16. KEY `idx_user_id` (`user_id`),
  17. KEY `idx_status` (`status`),
  18. KEY `idx_selection_request_id` (`selection_request_id`),
  19. KEY `idx_user_created` (`user_id`,`created_at`)
  20. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BUFF扫货请求单表';
  21. CREATE TABLE IF NOT EXISTS `buff_sweep_request_item` (
  22. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  23. `sweep_request_id` bigint(20) unsigned NOT NULL COMMENT '扫货请求单ID',
  24. `user_id` int(10) unsigned NOT NULL COMMENT '用户ID',
  25. `selection_request_id` bigint(20) unsigned NOT NULL COMMENT '选品请求单ID',
  26. `selection_item_id` bigint(20) unsigned NOT NULL COMMENT '选品明细ID',
  27. `goods_id` varchar(64) NOT NULL COMMENT 'BUFF饰品ID',
  28. `goods_name` varchar(256) DEFAULT NULL COMMENT '饰品名称',
  29. `icon_url` varchar(512) DEFAULT NULL COMMENT '饰品图片URL',
  30. `wear_range` varchar(64) DEFAULT NULL COMMENT '磨损区间',
  31. `purchase_wear` decimal(20,18) DEFAULT NULL COMMENT '已购饰品磨损值',
  32. `target_price_usd` decimal(12,2) DEFAULT NULL COMMENT '目标扫货价(美元)',
  33. `purchase_price_usd` decimal(12,2) DEFAULT NULL COMMENT '实际购买价(美元)',
  34. `steam_account` varchar(128) DEFAULT NULL COMMENT '购买使用的Steam账号',
  35. `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  36. PRIMARY KEY (`id`),
  37. KEY `idx_sweep_request_id` (`sweep_request_id`),
  38. KEY `idx_user_id` (`user_id`),
  39. KEY `idx_selection_request_id` (`selection_request_id`),
  40. KEY `idx_goods_id` (`goods_id`),
  41. KEY `idx_user_created` (`user_id`,`created_at`)
  42. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BUFF扫货成功明细表';
  43. CREATE TABLE IF NOT EXISTS `buff_sweep_request_log` (
  44. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  45. `sweep_request_id` bigint(20) unsigned NOT NULL COMMENT '扫货请求单ID',
  46. `user_id` int(10) unsigned NOT NULL COMMENT '用户ID',
  47. `goods_id` varchar(64) NOT NULL COMMENT 'BUFF饰品ID',
  48. `goods_name` varchar(256) DEFAULT NULL COMMENT '饰品名称',
  49. `sequence_no` int(11) NOT NULL DEFAULT '0' COMMENT '处理序号',
  50. `result` varchar(32) NOT NULL COMMENT '结果:success/skipped/failed/stopped',
  51. `message` varchar(512) DEFAULT NULL COMMENT '描述',
  52. `target_price_usd` decimal(12,2) DEFAULT NULL COMMENT '目标扫货价(美元)',
  53. `purchase_price_usd` decimal(12,2) DEFAULT NULL COMMENT '实际购买价(美元)',
  54. `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  55. PRIMARY KEY (`id`),
  56. KEY `idx_sweep_request_id` (`sweep_request_id`),
  57. KEY `idx_user_id` (`user_id`),
  58. KEY `idx_sweep_sequence` (`sweep_request_id`,`sequence_no`),
  59. KEY `idx_sweep_created` (`sweep_request_id`,`created_at`)
  60. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BUFF扫货日志表';