Files
web_template/internal/database/seed_food.go
2026-07-10 10:06:01 +00:00

229 lines
20 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package database
import (
"log"
"gotest/internal/model"
"gorm.io/gorm"
)
// seedFoodData 初始化外卖数据(3 套外卖网站共用)
func seedFoodData(db *gorm.DB) error {
var count int64
db.Model(&model.Restaurant{}).Count(&count)
if count > 0 {
log.Println("检测到已有外卖数据,跳过初始化")
return nil
}
// 餐厅分类
categories := []model.RestaurantCategory{
{Name: "中式正餐", Icon: "chinese", Sort: 1},
{Name: "日韩料理", Icon: "japanese", Sort: 2},
{Name: "西式快餐", Icon: "western", Sort: 3},
{Name: "火锅烧烤", Icon: "hotpot", Sort: 4},
{Name: "奶茶甜品", Icon: "dessert", Sort: 5},
{Name: "健康轻食", Icon: "healthy", Sort: 6},
}
for i := range categories {
if err := db.Create(&categories[i]).Error; err != nil {
return err
}
}
// 餐厅数据
restaurants := []model.Restaurant{
{Name: "蜀香苑 · 经典川菜", Description: "正宗四川风味,麻辣鲜香。主厨来自成都,精选地道花椒和辣椒,每一道菜都是对味蕾的极致挑战。招牌水煮鱼、麻婆豆腐深受食客喜爱。", CategoryID: 1, CategoryName: "中式正餐", Rating: 4.8, Sales: 5600, DeliveryFee: 3, MinOrder: 20, DeliveryTime: 35, Distance: "1.2km", Tags: `["麻辣","川菜","下饭"]`, Notice: "本店支持无接触配送,餐具已严格消毒。", Status: 1, Sort: 1},
{Name: "老北京烤鸭店", Description: "传承百年挂炉烤鸭工艺,果木炭火慢烤,皮脆肉嫩。搭配薄饼、葱丝、甜面酱,一口难忘。另有多道京味小菜。", CategoryID: 1, CategoryName: "中式正餐", Rating: 4.9, Sales: 8900, DeliveryFee: 5, MinOrder: 30, DeliveryTime: 40, Distance: "2.5km", Tags: `["招牌","京味","聚餐"]`, Notice: "烤鸭需现烤,配送时间略长,敬请谅解。", Status: 1, Sort: 2},
{Name: "粤式茶餐厅 · 港味", Description: "地道港式茶餐厅,丝袜奶茶、菠萝油、干炒牛河样样拿手。全天供应早茶点心,虾饺烧卖现点现蒸。", CategoryID: 1, CategoryName: "中式正餐", Rating: 4.6, Sales: 4200, DeliveryFee: 2, MinOrder: 15, DeliveryTime: 30, Distance: "0.8km", Tags: `["粤菜","茶餐厅","点心"]`, Notice: "工作日午市套餐 8 折优惠。", Status: 1, Sort: 3},
{Name: "樱花日料 · 寿司刺身", Description: "空运食材,每日新鲜到店。三文鱼刺身厚切,金枪鱼手握饱满。寿司师傅 15 年经验,每一贯都是匠心之作。", CategoryID: 2, CategoryName: "日韩料理", Rating: 4.7, Sales: 3200, DeliveryFee: 5, MinOrder: 25, DeliveryTime: 35, Distance: "1.8km", Tags: `["日料","刺身","精致"]`, Notice: "刺身类建议到店后 30 分钟内食用。", Status: 1, Sort: 1},
{Name: "韩宫 · 韩式烤肉拌饭", Description: "正宗韩式烤肉,五花肉、牛排骨肉现烤现切。石锅拌饭滋滋作响,搭配泡菜和小菜,满满的韩式风味。", CategoryID: 2, CategoryName: "日韩料理", Rating: 4.5, Sales: 3800, DeliveryFee: 3, MinOrder: 20, DeliveryTime: 30, Distance: "1.5km", Tags: `["韩餐","烤肉","拌饭"]`, Notice: "拌饭可备注加辣/不加辣。", Status: 1, Sort: 2},
{Name: "Burger House · 美式汉堡", Description: "100% 安格斯牛肉饼,现煎多汁。搭配切达奶酪、培根、秘制酱汁,咬一口满嘴留香。薯条粗切,外酥里软。", CategoryID: 3, CategoryName: "西式快餐", Rating: 4.6, Sales: 6500, DeliveryFee: 4, MinOrder: 18, DeliveryTime: 25, Distance: "1.0km", Tags: `["汉堡","快餐","美式"]`, Notice: "第二份半价活动进行中。", Status: 1, Sort: 1},
{Name: "Pizza Hot · 手工披萨", Description: "意式手工饼底,薄脆有嚼劲。多种口味可选:玛格丽特、夏威夷、肉食爱好者。芝士拉丝超长,满足感爆棚。", CategoryID: 3, CategoryName: "西式快餐", Rating: 4.5, Sales: 2800, DeliveryFee: 5, MinOrder: 35, DeliveryTime: 35, Distance: "2.0km", Tags: `["披萨","意式","芝士"]`, Notice: "9 寸披萨买一送一(工作日)。", Status: 1, Sort: 2},
{Name: "重庆老火锅", Description: "九宫格老火锅,牛油锅底醇厚浓郁。毛肚、鸭肠、黄喉新鲜脆嫩。蘸料自助调配,还原山城味道。", CategoryID: 4, CategoryName: "火锅烧烤", Rating: 4.7, Sales: 7200, DeliveryFee: 6, MinOrder: 50, DeliveryTime: 45, Distance: "3.0km", Tags: `["火锅","麻辣","聚餐"]`, Notice: "锅底和食材分开配送,到家即可开涮。", Status: 1, Sort: 1},
{Name: "东北串王 · 烧烤", Description: "炭火现烤,大腰子、羊肉串、烤翅一应俱全。撒料讲究,孜然辣椒面均匀裹满。深夜食堂首选。", CategoryID: 4, CategoryName: "火锅烧烤", Rating: 4.6, Sales: 9500, DeliveryFee: 3, MinOrder: 25, DeliveryTime: 30, Distance: "1.3km", Tags: `["烧烤","夜宵","撸串"]`, Notice: "每晚 22:00 后烤串第二份半价。", Status: 1, Sort: 2},
{Name: "茶颜悦色 · 手作奶茶", Description: "鲜奶现煮茶底,拒绝奶精。招牌幽兰拿铁、声声乌龙,茶香奶滑。每日限量手作,品质如一。", CategoryID: 5, CategoryName: "奶茶甜品", Rating: 4.8, Sales: 12000, DeliveryFee: 2, MinOrder: 12, DeliveryTime: 20, Distance: "0.5km", Tags: `["奶茶","鲜奶","人气"]`, Notice: "夏季限定冰饮已上线。", Status: 1, Sort: 1},
{Name: "甜蜜时光 · 法式甜品", Description: "法式甜品师主理,提拉米苏、熔岩蛋糕、马卡龙精致呈现。每一口都是甜蜜的幸福感。", CategoryID: 5, CategoryName: "奶茶甜品", Rating: 4.7, Sales: 1800, DeliveryFee: 4, MinOrder: 20, DeliveryTime: 30, Distance: "2.2km", Tags: `["甜品","法式","精致"]`, Notice: "生日蛋糕需提前 4 小时预订。", Status: 1, Sort: 2},
{Name: "绿野轻食 · 沙拉碗", Description: "有机蔬菜搭配优质蛋白,藜麦、鸡胸肉、牛油果科学配比。低卡高蛋白,健身人群首选。", CategoryID: 6, CategoryName: "健康轻食", Rating: 4.6, Sales: 3400, DeliveryFee: 3, MinOrder: 18, DeliveryTime: 25, Distance: "1.1km", Tags: `["轻食","健康","低卡"]`, Notice: "沙拉酱可备注选低脂油醋汁。", Status: 1, Sort: 1},
}
for i := range restaurants {
if err := db.Create(&restaurants[i]).Error; err != nil {
return err
}
}
// 为每个餐厅创建菜品分类和菜品
type catSeed struct{ name string; items []model.MenuItem }
restaurantMenus := map[uint][]catSeed{
// 蜀香苑 川菜
1: {
{"招牌推荐", []model.MenuItem{
{Name: "水煮鱼片", Description: "新鲜草鱼片,麻辣红油汤底,花椒香气扑鼻。鱼片嫩滑入味,麻辣鲜香。", Price: 48, OriginalPrice: 58, Rating: 4.9, Sales: 3200, Tags: `["招牌","麻辣"]`, Sort: 1, Status: 1, RestaurantID: 1},
{Name: "麻婆豆腐", Description: "嫩豆腐配牛肉末,豆瓣酱炒制。麻辣烫香,酥嫩可口,下饭神器。", Price: 22, Rating: 4.7, Sales: 2800, Tags: `["经典","下饭"]`, Sort: 2, Status: 1, RestaurantID: 1},
{Name: "回锅肉", Description: "五花肉配蒜苗青椒,郫县豆瓣炒制。肥而不腻,香气四溢。", Price: 32, Rating: 4.6, Sales: 2100, Tags: `["经典"]`, Sort: 3, Status: 1, RestaurantID: 1},
}},
{"热菜", []model.MenuItem{
{Name: "宫保鸡丁", Description: "鸡胸肉丁配花生米,酸甜微辣。经典川菜,老少皆宜。", Price: 28, Rating: 4.5, Sales: 1900, Tags: `["酸甜"]`, Sort: 1, Status: 1, RestaurantID: 1},
{Name: "鱼香肉丝", Description: "猪里脊配木耳笋丝,鱼香味型。咸甜酸辣兼备。", Price: 26, Rating: 4.4, Sales: 1600, Tags: `["经典"]`, Sort: 2, Status: 1, RestaurantID: 1},
{Name: "干煸四季豆", Description: "四季豆配肉末,干煸至表皮起皱。香脆入味。", Price: 20, Rating: 4.5, Sales: 1200, Tags: `["素菜"]`, Sort: 3, Status: 1, RestaurantID: 1},
}},
{"主食汤品", []model.MenuItem{
{Name: "担担面", Description: "细面配肉末浇头,红油花生碎。麻辣鲜香。", Price: 18, Rating: 4.6, Sales: 1500, Tags: `["主食"]`, Sort: 1, Status: 1, RestaurantID: 1},
{Name: "酸辣汤", Description: "豆腐丝木耳火腿丝,酸辣开胃。", Price: 12, Rating: 4.3, Sales: 800, Tags: `["汤品"]`, Sort: 2, Status: 1, RestaurantID: 1},
}},
},
// 老北京烤鸭
2: {
{"招牌烤鸭", []model.MenuItem{
{Name: "经典烤鸭(整只)", Description: "果木炭火烤制,皮脆肉嫩。配薄饼、葱丝、甜面酱,4-6人份。", Price: 168, OriginalPrice: 198, Rating: 4.9, Sales: 1800, Tags: `["招牌","整只"]`, Sort: 1, Status: 1, RestaurantID: 2},
{Name: "烤鸭半只", Description: "半只烤鸭,配饼和酱料。2-3人份。", Price: 88, Rating: 4.8, Sales: 1200, Tags: `["招牌"]`, Sort: 2, Status: 1, RestaurantID: 2},
}},
{"京味小菜", []model.MenuItem{
{Name: "芥末墩儿", Description: "大白菜配芥末,爽口开胃。老北京传统凉菜。", Price: 18, Rating: 4.3, Sales: 500, Tags: `["凉菜"]`, Sort: 1, Status: 1, RestaurantID: 2},
{Name: "炸酱面", Description: "手擀面配肉末炸酱,黄瓜丝豆芽。地道京味。", Price: 22, Rating: 4.6, Sales: 900, Tags: `["主食"]`, Sort: 2, Status: 1, RestaurantID: 2},
}},
},
// 粤式茶餐厅
3: {
{"港式饮品", []model.MenuItem{
{Name: "丝袜奶茶", Description: "锡兰红茶配淡奶,丝滑浓郁。港式经典。", Price: 15, Rating: 4.7, Sales: 2800, Tags: `["招牌","饮品"]`, Sort: 1, Status: 1, RestaurantID: 3},
{Name: "冻柠茶", Description: "红茶配鲜柠檬,冰爽解腻。", Price: 13, Rating: 4.5, Sales: 1900, Tags: `["饮品"]`, Sort: 2, Status: 1, RestaurantID: 3},
}},
{"茶点主食", []model.MenuItem{
{Name: "鲜虾饺", Description: "水晶皮包裹整只鲜虾,Q弹爽口。一笼4个。", Price: 25, Rating: 4.8, Sales: 1600, Tags: `["点心","招牌"]`, Sort: 1, Status: 1, RestaurantID: 3},
{Name: "干炒牛河", Description: "河粉配牛肉芽菜,大火猛炒。镬气十足。", Price: 28, Rating: 4.6, Sales: 1400, Tags: `["主食"]`, Sort: 2, Status: 1, RestaurantID: 3},
{Name: "菠萝油", Description: "新鲜菠萝包夹冰镇黄油,外酥内软。", Price: 12, Rating: 4.5, Sales: 1100, Tags: `["烘焙"]`, Sort: 3, Status: 1, RestaurantID: 3},
}},
},
// 樱花日料
4: {
{"刺身", []model.MenuItem{
{Name: "三文鱼刺身(6片)", Description: "挪威三文鱼,厚切。肉质橙红,口感绵密。", Price: 58, Rating: 4.8, Sales: 900, Tags: `["招牌","刺身"]`, Sort: 1, Status: 1, RestaurantID: 4},
{Name: "金枪鱼刺身(6片)", Description: "大腹金枪鱼,油脂丰富。入口即化。", Price: 68, Rating: 4.7, Sales: 600, Tags: `["刺身"]`, Sort: 2, Status: 1, RestaurantID: 4},
}},
{"寿司手卷", []model.MenuItem{
{Name: "三文鱼手握(2贯)", Description: "醋饭配厚切三文鱼,简洁纯粹。", Price: 22, Rating: 4.6, Sales: 800, Tags: `["寿司"]`, Sort: 1, Status: 1, RestaurantID: 4},
{Name: "鳗鱼寿司(2贯)", Description: "蒲烧鳗鱼配醋饭,酱汁浓郁。", Price: 28, Rating: 4.7, Sales: 700, Tags: `["寿司"]`, Sort: 2, Status: 1, RestaurantID: 4},
{Name: "加州卷(8件)", Description: "蟹肉牛油果黄瓜卷,外裹飞鱼籽。", Price: 32, Rating: 4.5, Sales: 1000, Tags: `["卷物"]`, Sort: 3, Status: 1, RestaurantID: 4},
}},
},
// 韩宫
5: {
{"烤肉", []model.MenuItem{
{Name: "五花肉套餐", Description: "厚切五花肉,配生菜蒜瓣包饭。2-3人份。", Price: 68, Rating: 4.6, Sales: 1200, Tags: `["招牌","烤肉"]`, Sort: 1, Status: 1, RestaurantID: 5},
{Name: "牛排骨肉", Description: "腌制牛小排,肉嫩多汁。配小菜。", Price: 88, Rating: 4.7, Sales: 800, Tags: `["烤肉"]`, Sort: 2, Status: 1, RestaurantID: 5},
}},
{"主食小菜", []model.MenuItem{
{Name: "石锅拌饭", Description: "米饭配蔬菜牛肉鸡蛋,石锅滋滋作响。", Price: 28, Rating: 4.5, Sales: 1500, Tags: `["主食","招牌"]`, Sort: 1, Status: 1, RestaurantID: 5},
{Name: "泡菜汤", Description: "酸辣泡菜锅,配豆腐猪肉。暖胃开胃。", Price: 25, Rating: 4.4, Sales: 700, Tags: `["汤品"]`, Sort: 2, Status: 1, RestaurantID: 5},
}},
},
// Burger House
6: {
{"汉堡", []model.MenuItem{
{Name: "经典双层芝士堡", Description: "双层安格斯牛肉饼,双倍切达奶酪。满足感爆棚。", Price: 38, Rating: 4.7, Sales: 2800, Tags: `["招牌","双层"]`, Sort: 1, Status: 1, RestaurantID: 6},
{Name: "培根牛肉堡", Description: "牛肉饼配脆培根生菜番茄,秘制酱汁。", Price: 32, Rating: 4.6, Sales: 2100, Tags: `["热销"]`, Sort: 2, Status: 1, RestaurantID: 6},
{Name: "炸鸡堡", Description: "酥炸鸡排配蛋黄酱生菜,外酥里嫩。", Price: 26, Rating: 4.5, Sales: 1800, Tags: `["鸡肉"]`, Sort: 3, Status: 1, RestaurantID: 6},
}},
{"小食饮品", []model.MenuItem{
{Name: "粗切薯条", Description: "大块薯条,外酥里软。配番茄酱。", Price: 12, Rating: 4.5, Sales: 2200, Tags: `["小食"]`, Sort: 1, Status: 1, RestaurantID: 6},
{Name: "可乐", Description: "冰镇可口可乐 330ml。", Price: 6, Rating: 4.2, Sales: 1500, Tags: `["饮品"]`, Sort: 2, Status: 1, RestaurantID: 6},
}},
},
// Pizza Hot
7: {
{"披萨", []model.MenuItem{
{Name: "玛格丽特披萨(9寸)", Description: "番茄底酱配新鲜马苏里拉芝士和罗勒。经典意式。", Price: 48, Rating: 4.6, Sales: 800, Tags: `["经典"]`, Sort: 1, Status: 1, RestaurantID: 7},
{Name: "肉食爱好者(9寸)", Description: "培根火腿牛肉粒,三重肉满足。芝士拉丝。", Price: 58, Rating: 4.7, Sales: 700, Tags: `["招牌","肉食"]`, Sort: 2, Status: 1, RestaurantID: 7},
{Name: "夏威夷风情(9寸)", Description: "火腿配菠萝,甜咸搭配。", Price: 45, Rating: 4.3, Sales: 500, Tags: `["甜咸"]`, Sort: 3, Status: 1, RestaurantID: 7},
}},
{"小食", []model.MenuItem{
{Name: "芝士条(5根)", Description: "马苏里拉芝士条,炸至金黄。配番茄酱。", Price: 18, Rating: 4.5, Sales: 600, Tags: `["小食"]`, Sort: 1, Status: 1, RestaurantID: 7},
{Name: "鸡翅(6只)", Description: "烤鸡翅,蜂蜜芥末酱。", Price: 22, Rating: 4.4, Sales: 500, Tags: `["小食"]`, Sort: 2, Status: 1, RestaurantID: 7},
}},
},
// 重庆老火锅
8: {
{"锅底", []model.MenuItem{
{Name: "牛油九宫格锅底", Description: "正宗重庆牛油锅底,麻辣鲜香。醇厚浓郁。", Price: 48, Rating: 4.8, Sales: 1500, Tags: `["招牌","麻辣"]`, Sort: 1, Status: 1, RestaurantID: 8},
{Name: "番茄锅底", Description: "新鲜番茄熬制,酸甜开胃。不辣选择。", Price: 28, Rating: 4.5, Sales: 600, Tags: `["不辣"]`, Sort: 2, Status: 1, RestaurantID: 8},
}},
{"涮菜", []model.MenuItem{
{Name: "鲜毛肚", Description: "新鲜毛肚,七上八下涮煮。脆嫩爽口。", Price: 38, Rating: 4.7, Sales: 1200, Tags: `["招牌"]`, Sort: 1, Status: 1, RestaurantID: 8},
{Name: "鸭肠", Description: "新鲜鸭肠,涮 10 秒即食。脆爽。", Price: 32, Rating: 4.6, Sales: 900, Tags: `["经典"]`, Sort: 2, Status: 1, RestaurantID: 8},
{Name: "嫩牛肉", Description: "腌制牛里脊,嫩滑多汁。", Price: 42, Rating: 4.5, Sales: 1100, Tags: `["肉类"]`, Sort: 3, Status: 1, RestaurantID: 8},
{Name: "鲜鸭血", Description: "嫩滑鸭血,久煮不老。", Price: 15, Rating: 4.4, Sales: 700, Tags: `["经典"]`, Sort: 4, Status: 1, RestaurantID: 8},
}},
},
// 东北串王
9: {
{"烤串", []model.MenuItem{
{Name: "羊肉串(10串)", Description: "炭火现烤,孜然辣椒面。外焦里嫩。", Price: 35, Rating: 4.7, Sales: 3200, Tags: `["招牌","必点"]`, Sort: 1, Status: 1, RestaurantID: 9},
{Name: "烤大腰子(3串)", Description: "新鲜羊腰,大火猛烤。外焦里嫩无腥味。", Price: 28, Rating: 4.5, Sales: 1800, Tags: `["特色"]`, Sort: 2, Status: 1, RestaurantID: 9},
{Name: "烤鸡翅(4只)", Description: "蜜汁烤翅,外皮焦脆。多汁入味。", Price: 24, Rating: 4.6, Sales: 2100, Tags: `["热销"]`, Sort: 3, Status: 1, RestaurantID: 9},
}},
{"烤菜主食", []model.MenuItem{
{Name: "烤韭菜", Description: "新鲜韭菜,刷油撒料。香气扑鼻。", Price: 12, Rating: 4.3, Sales: 900, Tags: `["素菜"]`, Sort: 1, Status: 1, RestaurantID: 9},
{Name: "烤馒头片", Description: "馒头切片刷酱,外酥里软。", Price: 8, Rating: 4.4, Sales: 800, Tags: `["主食"]`, Sort: 2, Status: 1, RestaurantID: 9},
{Name: "凉啤酒", Description: "冰镇青岛啤酒 500ml。", Price: 8, Rating: 4.5, Sales: 2500, Tags: `["饮品"]`, Sort: 3, Status: 1, RestaurantID: 9},
}},
},
// 茶颜悦色
10: {
{"招牌奶茶", []model.MenuItem{
{Name: "幽兰拿铁", Description: "斯里兰卡红茶配鲜奶,顶铺碧根果碎。茶香奶滑。", Price: 18, Rating: 4.9, Sales: 5800, Tags: `["招牌","人气"]`, Sort: 1, Status: 1, RestaurantID: 10},
{Name: "声声乌龙", Description: "高山乌龙茶配鲜奶,茶韵悠长。", Price: 16, Rating: 4.7, Sales: 3200, Tags: `["热销"]`, Sort: 2, Status: 1, RestaurantID: 10},
{Name: "桂花弄", Description: "桂花乌龙鲜奶茶,淡淡花香。", Price: 17, Rating: 4.6, Sales: 2400, Tags: `["花香"]`, Sort: 3, Status: 1, RestaurantID: 10},
}},
{"果茶冰饮", []model.MenuItem{
{Name: "草莓摇摇奶昔", Description: "新鲜草莓配鲜奶冰沙,酸甜清爽。", Price: 20, Rating: 4.6, Sales: 2800, Tags: `["夏季限定"]`, Sort: 1, Status: 1, RestaurantID: 10},
{Name: "芒果椰椰", Description: "芒果泥配椰乳,热带风情。", Price: 19, Rating: 4.5, Sales: 2200, Tags: `["新品"]`, Sort: 2, Status: 1, RestaurantID: 10},
}},
},
// 甜蜜时光
11: {
{"招牌甜品", []model.MenuItem{
{Name: "经典提拉米苏", Description: "马斯卡彭芝士配咖啡手指饼干。层次丰富。", Price: 32, Rating: 4.8, Sales: 600, Tags: `["招牌"]`, Sort: 1, Status: 1, RestaurantID: 11},
{Name: "熔岩巧克力蛋糕", Description: "外层蛋糕内心流心。配香草冰淇淋。", Price: 28, Rating: 4.7, Sales: 500, Tags: `["热销"]`, Sort: 2, Status: 1, RestaurantID: 11},
{Name: "马卡龙(6枚)", Description: "法式马卡龙,多种口味。外脆内软。", Price: 38, Rating: 4.5, Sales: 300, Tags: `["精致"]`, Sort: 3, Status: 1, RestaurantID: 11},
}},
},
// 绿野轻食
12: {
{"沙拉碗", []model.MenuItem{
{Name: "牛油果鸡胸沙拉", Description: "有机蔬菜配煎鸡胸肉和牛油果。低卡高蛋白。", Price: 35, Rating: 4.6, Sales: 1200, Tags: `["招牌","低卡"]`, Sort: 1, Status: 1, RestaurantID: 12},
{Name: "藜麦三文鱼碗", Description: "藜麦底配三文鱼和蔬菜。营养均衡。", Price: 42, Rating: 4.7, Sales: 800, Tags: `["高蛋白"]`, Sort: 2, Status: 1, RestaurantID: 12},
{Name: "田园素食沙拉", Description: "纯素沙拉,多种蔬菜配油醋汁。", Price: 28, Rating: 4.4, Sales: 600, Tags: `["素食"]`, Sort: 3, Status: 1, RestaurantID: 12},
}},
{"饮品", []model.MenuItem{
{Name: "鲜榨果蔬汁", Description: "胡萝卜苹果橙子,新鲜榨取。", Price: 18, Rating: 4.5, Sales: 500, Tags: `["鲜榨"]`, Sort: 1, Status: 1, RestaurantID: 12},
{Name: "酸奶杯", Description: "希腊酸奶配坚果蓝莓。", Price: 15, Rating: 4.4, Sales: 400, Tags: `["健康"]`, Sort: 2, Status: 1, RestaurantID: 12},
}},
},
}
for restID, cats := range restaurantMenus {
for _, cs := range cats {
menuCat := model.MenuCategory{RestaurantID: restID, Name: cs.name, Sort: 1}
if err := db.Create(&menuCat).Error; err != nil {
return err
}
for i := range cs.items {
cs.items[i].CategoryID = menuCat.ID
if err := db.Create(&cs.items[i]).Error; err != nil {
return err
}
}
}
}
log.Printf("外卖数据初始化完成(%d 分类 + %d 餐厅 + 菜品)", len(categories), len(restaurants))
return nil
}