Add internal/database/seed_music.go
This commit is contained in:
75
internal/database/seed_music.go
Normal file
75
internal/database/seed_music.go
Normal file
@@ -0,0 +1,75 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"gotest/internal/model"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
// seedMusicData 初始化音乐数据(3 套音乐网站共用)
|
||||
func seedMusicData(db *gorm.DB) error {
|
||||
var count int64
|
||||
db.Model(&model.Song{}).Count(&count)
|
||||
if count > 0 {
|
||||
log.Println("检测到已有音乐数据,跳过初始化")
|
||||
return nil
|
||||
}
|
||||
|
||||
// 音乐分类(曲风)
|
||||
categories := []model.MusicCategory{
|
||||
{Name: "流行", Icon: "pop", Sort: 1},
|
||||
{Name: "摇滚", Icon: "rock", Sort: 2},
|
||||
{Name: "民谣", Icon: "folk", Sort: 3},
|
||||
{Name: "电子", Icon: "electronic", Sort: 4},
|
||||
{Name: "古典", Icon: "classical", Sort: 5},
|
||||
{Name: "嘻哈", Icon: "hiphop", Sort: 6},
|
||||
}
|
||||
for i := range categories {
|
||||
if err := db.Create(&categories[i]).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// 歌曲数据
|
||||
songs := []model.Song{
|
||||
// 流行
|
||||
{Title: "星海彼岸", Artist: "林夕音", Album: "星海彼岸", CategoryID: 1, CategoryName: "流行", Duration: 245, PlayCount: 98000000, LikeCount: 850000, ReleaseDate: "2026-06-15", Language: "华语", Tags: `["抒情","钢琴","治愈"]`, Lyrics: "越过星海的距离\n我在彼岸等你\n时光折叠成纸鹤\n飞向你的心里", IsHot: true, IsNew: true, Sort: 1, Status: 1},
|
||||
{Title: "霓虹城市", Artist: "Echo 乐队", Album: "都市光影", CategoryID: 1, CategoryName: "流行", Duration: 198, PlayCount: 67000000, LikeCount: 520000, ReleaseDate: "2026-05-20", Language: "华语", Tags: `["都市","电子流行","动感"]`, Lyrics: "霓虹灯下的城市\n我们擦肩而过\n每一盏灯都是一个故事", IsHot: true, Sort: 2, Status: 1},
|
||||
{Title: "夏日晚风", Artist: "苏念", Album: "夏日纪", CategoryID: 1, CategoryName: "流行", Duration: 213, PlayCount: 45000000, LikeCount: 380000, ReleaseDate: "2026-07-01", Language: "华语", Tags: `["夏日","清新","轻快"]`, Lyrics: "夏天的晚风轻轻吹\n带着栀子花的香味\n我们骑着单车\n追着夕阳跑", IsNew: true, Sort: 3, Status: 1},
|
||||
|
||||
// 摇滚
|
||||
{Title: "燃烧的翅膀", Artist: "狂焰乐队", Album: "烈火纪元", CategoryID: 2, CategoryName: "摇滚", Duration: 312, PlayCount: 56000000, LikeCount: 680000, ReleaseDate: "2026-04-10", Language: "华语", Tags: `["硬摇滚","热血","励志"]`, Lyrics: "展开燃烧的翅膀\n冲破所有阻挡\n就算坠落也要\n飞向太阳的方向", IsHot: true, Sort: 1, Status: 1},
|
||||
{Title: "破碎的镜", Artist: "黑曜石", Album: "反射", CategoryID: 2, CategoryName: "摇滚", Duration: 267, PlayCount: 34000000, LikeCount: 420000, ReleaseDate: "2026-03-15", Language: "华语", Tags: `["另类摇滚","深沉","思考"]`, Lyrics: "破碎的镜中\n映出无数个自己\n哪一个才是真实", IsHot: true, Sort: 2, Status: 1},
|
||||
{Title: "自由之路", Artist: "远征者", Album: "无界", CategoryID: 2, CategoryName: "摇滚", Duration: 289, PlayCount: 28000000, LikeCount: 310000, ReleaseDate: "2026-06-28", Language: "华语", Tags: `["朋克","自由","公路"]`, Lyrics: "踏上自由之路\n油门踩到底\n风在耳边呼啸", IsNew: true, Sort: 3, Status: 1},
|
||||
|
||||
// 民谣
|
||||
{Title: "故乡的云", Artist: "陈木然", Album: "远方", CategoryID: 3, CategoryName: "民谣", Duration: 256, PlayCount: 78000000, LikeCount: 920000, ReleaseDate: "2026-05-01", Language: "华语", Tags: `["乡愁","吉他","温暖"]`, Lyrics: "故乡的云\n慢慢地飘\n带走我的思念\n留在远方的家", IsHot: true, Sort: 1, Status: 1},
|
||||
{Title: "老街时光", Artist: "江南月", Album: "巷子里的歌", CategoryID: 3, CategoryName: "民谣", Duration: 224, PlayCount: 42000000, LikeCount: 560000, ReleaseDate: "2026-04-22", Language: "华语", Tags: `["怀旧","口琴","叙事"]`, Lyrics: "老街的石板路\n刻着岁月的纹\n阿婆的摇椅\n还在门前摇晃", Sort: 2, Status: 1},
|
||||
{Title: "山野间", Artist: "风之声", Album: "自然录", CategoryID: 3, CategoryName: "民谣", Duration: 198, PlayCount: 31000000, LikeCount: 410000, ReleaseDate: "2026-07-05", Language: "华语", Tags: `["自然","竹笛","宁静"]`, Lyrics: "山野间的风\n带着青草的味道\n溪水潺潺流过\n鸟儿在歌唱", IsNew: true, Sort: 3, Status: 1},
|
||||
|
||||
// 电子
|
||||
{Title: "赛博梦境", Artist: "Neon Pulse", Album: "Digital Dreams", CategoryID: 4, CategoryName: "电子", Duration: 345, PlayCount: 89000000, LikeCount: 750000, ReleaseDate: "2026-06-18", Language: "纯音乐", Tags: `["合成器","赛博朋克","氛围"]`, Lyrics: "", IsHot: true, IsNew: true, Sort: 1, Status: 1},
|
||||
{Title: "脉冲星", Artist: "Synthwave Lab", Album: "Cosmic Frequencies", CategoryID: 4, CategoryName: "电子", Duration: 278, PlayCount: 52000000, LikeCount: 480000, ReleaseDate: "2026-05-10", Language: "纯音乐", Tags: `["电子舞曲","太空","律动"]`, Lyrics: "", IsHot: true, Sort: 2, Status: 1},
|
||||
{Title: "数据洪流", Artist: "CodeBeat", Album: "Binary", CategoryID: 4, CategoryName: "电子", Duration: 234, PlayCount: 36000000, LikeCount: 320000, ReleaseDate: "2026-07-08", Language: "纯音乐", Tags: `["Glitch","科技","实验"]`, Lyrics: "", IsNew: true, Sort: 3, Status: 1},
|
||||
|
||||
// 古典
|
||||
{Title: "月光奏鸣曲 (改编)", Artist: "李云朗", Album: "古典新声", CategoryID: 5, CategoryName: "古典", Duration: 420, PlayCount: 65000000, LikeCount: 880000, ReleaseDate: "2026-03-20", Language: "纯音乐", Tags: `["钢琴","贝多芬","改编"]`, Lyrics: "", IsHot: true, Sort: 1, Status: 1},
|
||||
{Title: "春之圆舞曲", Artist: "维也纳爱乐", Album: "四季", CategoryID: 5, CategoryName: "古典", Duration: 387, PlayCount: 43000000, LikeCount: 560000, ReleaseDate: "2026-04-05", Language: "纯音乐", Tags: `["管弦乐","圆舞曲","经典"]`, Lyrics: "", Sort: 2, Status: 1},
|
||||
{Title: "二泉映月", Artist: "华彦钧", Album: "中国传统名曲", CategoryID: 5, CategoryName: "古典", Duration: 512, PlayCount: 38000000, LikeCount: 620000, ReleaseDate: "2026-01-15", Language: "纯音乐", Tags: `["二胡","传统","名曲"]`, Lyrics: "", Sort: 3, Status: 1},
|
||||
|
||||
// 嘻哈
|
||||
{Title: "街头诗人", Artist: "MC 锋芒", Album: "地下之声", CategoryID: 6, CategoryName: "嘻哈", Duration: 187, PlayCount: 72000000, LikeCount: 650000, ReleaseDate: "2026-06-25", Language: "华语", Tags: `["说唱","街头","真实"]`, Lyrics: "我是街头诗人\n用韵脚写日记\n每一句都是生活\n每一个节拍都是心跳", IsHot: true, IsNew: true, Sort: 1, Status: 1},
|
||||
{Title: "不眠夜", Artist: "Trap Master", Album: "Midnight", CategoryID: 6, CategoryName: "嘻哈", Duration: 165, PlayCount: 48000000, LikeCount: 430000, ReleaseDate: "2026-05-15", Language: "英语", Tags: `["Trap","夜店","律动"]`, Lyrics: "Midnight city lights\nWe don't sleep tonight\nBeat drops heavy\nFlow so tight", IsHot: true, Sort: 2, Status: 1},
|
||||
{Title: "逐梦", Artist: "新生代", Album: "破茧", CategoryID: 6, CategoryName: "嘻哈", Duration: 198, PlayCount: 35000000, LikeCount: 390000, ReleaseDate: "2026-07-03", Language: "华语", Tags: `["励志","Flow","新生代"]`, Lyrics: "从地下到舞台\n每一步都不容易\n但梦想从不骗人\n只要你敢追", IsNew: true, Sort: 3, Status: 1},
|
||||
}
|
||||
for i := range songs {
|
||||
if err := db.Create(&songs[i]).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
log.Printf("音乐数据初始化完成(%d 分类 + %d 歌曲)", len(categories), len(songs))
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user