feat: AI 周末行程规划 — DeepSeek 智能排期 + 高德 POI + 多日翻页

- 接入 DeepSeek API,提交想法时自动 AI 打标(品类/时段/时长/搜索策略)
- 新增行程规划 API:智能选取想法 → 高德 POI 搜索 → AI 生成最优行程
- 支持多日计划("整个周末"拆分周六/周日,并行 AI 调用)
- 行程展示逐日翻页,时间线可滚动,操作按钮固定底部
- 分享卡适配多日格式,支持图片保存与原生分享
- Prisma schema 新增 WeekendPlan 模型及 BlindBoxIdea AI 标签字段
- Jenkinsfile 集成 DEEPSEEK_API_KEY 环境变量
This commit is contained in:
2026-02-27 01:51:47 +08:00
parent 8c6da410ca
commit 9c680ec11e
16 changed files with 1721 additions and 70 deletions
+26
View File
@@ -31,6 +31,7 @@ model User {
blindBoxMemberships BlindBoxMember[]
submittedIdeas BlindBoxIdea[] @relation("IdeaSubmitter")
drawnIdeas BlindBoxIdea[] @relation("IdeaDrawer")
weekendPlans WeekendPlan[]
}
model Decision {
@@ -65,11 +66,15 @@ model BlindBoxRoom {
code String @unique
name String
creatorId String
city String?
lat Float?
lng Float?
createdAt DateTime @default(now())
creator User @relation("RoomCreator", fields: [creatorId], references: [id])
members BlindBoxMember[]
ideas BlindBoxIdea[]
plans WeekendPlan[]
}
model BlindBoxMember {
@@ -93,6 +98,13 @@ model BlindBoxIdea {
drawnById String?
createdAt DateTime @default(now())
category String?
timeSlot String?
estimatedMinutes Int?
outdoor Boolean?
searchQuery String?
searchType String?
room BlindBoxRoom @relation(fields: [roomId], references: [id], onDelete: Cascade)
user User @relation("IdeaSubmitter", fields: [userId], references: [id], onDelete: Cascade)
drawnBy User? @relation("IdeaDrawer", fields: [drawnById], references: [id], onDelete: SetNull)
@@ -100,3 +112,17 @@ model BlindBoxIdea {
@@index([roomId, status])
@@index([userId])
}
model WeekendPlan {
id String @id @default(cuid())
roomId String
userId String
planData String
status String @default("active")
createdAt DateTime @default(now())
room BlindBoxRoom @relation(fields: [roomId], references: [id], onDelete: Cascade)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@index([roomId])
}