feat: 交通信息与 AI 解耦,完善出发/回程路线显示

- 从 finalize_plan schema 和 agent 提示词中移除 transit 字段,AI 只负责活动/POI/坐标
- 新增 enrichTransitInfo:计划生成后查询高德 V3 公交 API,计算出发地→首活动、活动间、末活动→出发地三段交通
- parseTransitSegments 增加起终点站显示(去除线路名中的全程终点括号)
- WeekendPlanData 新增 transitFromStart/transitToEnd 字段
- BlindboxPlan 新增出发地和返回出发地交通连接器,传入 startLocationLabel 显示具体地址
- BlindBoxRoom schema 新增 address 字段存完整逆地理地址,city 保留供 API 使用
- 新增 /api/debug/transit 调试端点(仅开发环境)
- agent userPrompt 要求将出发/回程时间计入全天时间预算
This commit is contained in:
2026-03-02 16:35:38 +08:00
parent e5a255a49e
commit 99120a7042
8 changed files with 262 additions and 30 deletions
+4 -1
View File
@@ -15,6 +15,7 @@ export const GET = apiHandler(async (_req, { params }) => {
name: room.name,
creatorId: room.creatorId,
city: room.city,
address: room.address,
lat: room.lat,
lng: room.lng,
poolCount: room._count.ideas,
@@ -27,7 +28,7 @@ export const GET = apiHandler(async (_req, { params }) => {
export const PATCH = apiHandler(async (req, { params }) => {
const { code } = await params;
const { userId, city, lat, lng } = await req.json();
const { userId, city, address, lat, lng } = await req.json();
requireUserId(userId);
@@ -51,6 +52,7 @@ export const PATCH = apiHandler(async (req, { params }) => {
where: { id: room.id },
data: {
city: typeof city === "string" ? city.trim() : null,
address: typeof address === "string" ? address.trim() : null,
lat: numLat,
lng: numLng,
},
@@ -58,6 +60,7 @@ export const PATCH = apiHandler(async (req, { params }) => {
return NextResponse.json({
city: updated.city,
address: updated.address,
lat: updated.lat,
lng: updated.lng,
});