feat(宏观): ifinance 分类动态挂载为宏观 tab, 报警迁入监控, 下线油价/本地经济数据/策略研究
Docker Build and Push / build-image (push) Successful in 2m37s
Docker Build and Push / build-image (push) Successful in 2m37s
- 宏观只保留本地 新闻/经济文章, 外接 ifinance categories[] 动态成为 tab (纯前端直连, CORS/_headers, https) - 报警从宏观迁到监控第 4 个 tab (保留 Alert 模块, 供未来新增报警源) - 彻底删除油价/经济数据/策略研究: 前端组件+api、后端 apizero/data 路由、cron、fetchers、种子数据 - 新增迁移 DROP Indicator/IndicatorPoint/Strategy/OilPriceHistory; 重新生成 Prisma Client - CSP 放开 *.honor3.com (含端口通配), 避免新增子域反复重装外壳
This commit is contained in:
+1
-55
@@ -44,41 +44,6 @@ model Article {
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model Strategy {
|
||||
id Int @id @default(autoincrement())
|
||||
name String
|
||||
description String
|
||||
data Json
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model Indicator {
|
||||
id Int @id @default(autoincrement())
|
||||
name String @unique
|
||||
groupName String
|
||||
title String @default("")
|
||||
unit String @default("")
|
||||
source String @default("")
|
||||
frequency String @default("month") // year | quarter | month | day
|
||||
hidden Boolean @default(false) // true = 数据/脚本保留, 但不在前端展示
|
||||
points IndicatorPoint[]
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model IndicatorPoint {
|
||||
id Int @id @default(autoincrement())
|
||||
indicatorId Int
|
||||
indicator Indicator @relation(fields: [indicatorId], references: [id], onDelete: Cascade)
|
||||
period String // "2024" | "2024-Q1" | "2024-01" | "2024-01-15"
|
||||
value Float
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
@@unique([indicatorId, period])
|
||||
}
|
||||
|
||||
|
||||
// 新闻: 每天 3 点由 mx_finance_search_news 拉取, 按影响大小排序, 累加多日供首页无限滚动
|
||||
model News {
|
||||
@@ -96,7 +61,7 @@ model News {
|
||||
@@index([publishedAt])
|
||||
}
|
||||
|
||||
// 报警: refresh 写库时比对同 (indicatorName, period) 的跨源数据, 差异超阈值记录
|
||||
// 报警: 定时任务失败等异常写入 (展示于「监控」报警 tab)
|
||||
model Alert {
|
||||
id Int @id @default(autoincrement())
|
||||
indicatorName String
|
||||
@@ -194,25 +159,6 @@ model ScraperCache {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 浙江省油价历史 (apizero price 接口每日抓取)
|
||||
// 每天 04:00 cron 触发: 检查 schedule 里待定且 <= 昨天的调价日, 抓 price?province=浙江 存本表
|
||||
// unique (date, province, fuel) 防重复
|
||||
model OilPriceHistory {
|
||||
id Int @id @default(autoincrement())
|
||||
date DateTime // 调价日次日 (即数据实际抓取日)
|
||||
province String // '浙江'
|
||||
fuel String // '92' | '95' | '0'
|
||||
price Float // 油价 (元/升, 4 位小数足够)
|
||||
source String @default("apizero")
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
@@unique([date, province, fuel])
|
||||
@@index([province, fuel, date])
|
||||
}
|
||||
|
||||
|
||||
// ==================== 环境监控:米家 ====================
|
||||
|
||||
// 米家授权状态 (DiskCache 存凭证, 本表只存状态/错误供前端展示)
|
||||
|
||||
Reference in New Issue
Block a user