{
"id": 198,
"upid": 4,
"game_name": "三角洲行动",
"level1": "烽火地带",
"level2": "步枪",
"cover": "https://mpfile.shifoukeji.com/images/gun/14.png",
"name": "PTR-32",
"codes": "性价比 6G27RGG02CVGNGOLBMSRO$$$满改 6G27RHS02CVGNGOLBMSRO",
"codeList": [
"性价比 6G27RGG02CVGNGOLBMSRO",
"满改 6G27RHS02CVGNGOLBMSRO"
],
"channelId": 1,
"status": 1,
"total_amount": 1000,
"title": "标题",
"des": "枪械说明",
"game_price": 1000,
"keyword": "搜索的关键词",
"sort_order": 1,
"shop_num":1000,
"original_price": 1200,
"sold_amount": 150,
"tags": ["热门", "新品"],
"images": [
"https://example.com/image1.jpg",
"https://example.com/image2.jpg"
],
"view_count": 5000,
"rating": 4.8,
"start_time": "2025-05-01T00:00:00.000Z",
"is_authentic": true,
"platform": ["PC", "Mobile"],
"createTime": "2025-05-16T15:07:35.000Z",
"updateTime": null
}
- MySql创建表语句:

CREATE TABLE `virtual_goods` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '商品唯一ID,自增主键',
`upid` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '上级分类ID',
`game_name` VARCHAR(50) NOT NULL COMMENT '所属游戏名称,如"三角洲行动"',
`level1` VARCHAR(30) NOT NULL COMMENT '一级分类,如"烽火地带"',
`level2` VARCHAR(30) NOT NULL COMMENT '二级分类,如"步枪"',
`cover` VARCHAR(255) NOT NULL COMMENT '封面图URL',
`name` VARCHAR(100) NOT NULL COMMENT '商品名称,如"PTR-32"',
`codes` TEXT COMMENT '兑换码组合,用$$$分隔不同类型',
`codeList` JSON COMMENT '结构化兑换码列表,存储为JSON数组',
`channelId` TINYINT UNSIGNED NOT NULL DEFAULT 1 COMMENT '渠道ID',
`status` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '状态:1-上架 0-下架',
`total_amount` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '总库存量',
`title` VARCHAR(150) NOT NULL COMMENT '商品标题(SEO优化用)',
`description` TEXT COMMENT '详细描述(原des字段)',
`game_price` DECIMAL(12,2) UNSIGNED NOT NULL COMMENT '游戏内货币价格',
`original_price` DECIMAL(12,2) UNSIGNED COMMENT '原价(用于折扣显示)',
`keyword` VARCHAR(255) COMMENT '搜索关键词,逗号分隔',
`sort_order` INT NOT NULL DEFAULT 0 COMMENT '排序权重',
`shop_num` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '店铺库存',
`sold_amount` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '已售数量',
`tags` JSON COMMENT '商品标签,存储为JSON数组',
`images` JSON NOT NULL COMMENT '商品详情图URL数组',
`view_count` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '浏览次数',
`rating` DECIMAL(3,1) UNSIGNED DEFAULT 0 COMMENT '用户评分(0-5分)',
`start_time` DATETIME COMMENT '上架开始时间',
`is_authentic` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否正品:1-是 0-否',
`platform` JSON NOT NULL COMMENT '支持平台,如["PC","Mobile"]',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
PRIMARY KEY (`id`),
KEY `idx_upid` (`upid`),
KEY `idx_game_name` (`game_name`),
KEY `idx_status` (`status`),
KEY `idx_sort` (`sort_order`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='虚拟商品数据表';
- 数据类型优化:
使用JSON类型存储codeList、tags等结构化数据,便于查询和更新
价格字段使用DECIMAL(12,2)确保精确计算
时间字段统一采用DATETIME并设置自动更新
- 字段描述规范:
每个字段添加COMMENT说明用途和格式
将原des字段重命名为更规范的description
明确枚举值的含义(如status字段)
- 索引设计:
主键id自增
为查询频繁字段(upid、game_name等)添加二级索引
排序字段sort_order单独建索引