feat(market): 添加市场分析数据基础架构和功能模块 - 新增市场分析相关数据库表结构,包括市场工具、每日报价、财务指标、 宏观指标和公告等数据模型 - 创建市场分析相关的Alembic迁移脚本,包含完整的up和downgrade逻辑 - 集成市场分析路由到主API路由器中 - 添加市场数据定时任务调度,支持盘前、收盘和周度市场分析报告 - 实现市场数据后台任务队列,包含报告生成和收盘分析功能 - 扩展系统配置设置,添加市场分析启用开关和相关参数配置 - 增加AI智能技能支持,包含市场概览分析和股票分析功能 - 添加审计日志记录,支持市场数据同步和自选股更新操作追踪 - 实现飞书命令集成,支持股票分析、自选股管理、公告查询等交互 - 提供市场数据服务层,包含行业分析、股票对比、市场概览等功能 ```
83 lines
1.7 KiB
Python
83 lines
1.7 KiB
Python
from app.core.database import Base, engine
|
|
from app.modules.ai_memory.models import AIMemoryEntry
|
|
from app.modules.audit.models import AuditLog
|
|
from app.modules.business.models import (
|
|
AttendanceRecord,
|
|
Expense,
|
|
Employee,
|
|
FundAccount,
|
|
LegacySyncRun,
|
|
MarketAnnouncement,
|
|
MarketDailyQuote,
|
|
MarketFinancialMetric,
|
|
MarketInstrument,
|
|
MarketMacroIndicator,
|
|
MarketWatchlist,
|
|
PerformanceMetric,
|
|
Policy,
|
|
Procurement,
|
|
Project,
|
|
ProjectCashFlow,
|
|
ProjectContract,
|
|
ProjectMember,
|
|
ProjectMilestone,
|
|
ReportPushRun,
|
|
RiskEvent,
|
|
RiskEventAction,
|
|
Standard,
|
|
Supplier,
|
|
SourceSyncCursor,
|
|
WorkReport,
|
|
WorkTask,
|
|
)
|
|
from app.modules.feishu.models import FeishuEventReceipt
|
|
from app.modules.events.models import DomainEvent
|
|
from app.modules.observability.models import SystemHeartbeat
|
|
from app.modules.workflows.models import WorkflowAction, WorkflowInstance
|
|
|
|
_MODELS = [
|
|
AuditLog,
|
|
Employee,
|
|
FeishuEventReceipt,
|
|
Project,
|
|
ProjectCashFlow,
|
|
ProjectContract,
|
|
ProjectMember,
|
|
ProjectMilestone,
|
|
WorkTask,
|
|
Procurement,
|
|
Expense,
|
|
FundAccount,
|
|
Policy,
|
|
Standard,
|
|
PerformanceMetric,
|
|
Supplier,
|
|
AttendanceRecord,
|
|
WorkReport,
|
|
RiskEvent,
|
|
RiskEventAction,
|
|
LegacySyncRun,
|
|
MarketAnnouncement,
|
|
MarketInstrument,
|
|
MarketDailyQuote,
|
|
MarketFinancialMetric,
|
|
MarketMacroIndicator,
|
|
MarketWatchlist,
|
|
ReportPushRun,
|
|
DomainEvent,
|
|
WorkflowInstance,
|
|
WorkflowAction,
|
|
AIMemoryEntry,
|
|
SystemHeartbeat,
|
|
SourceSyncCursor,
|
|
]
|
|
|
|
|
|
def main() -> None:
|
|
Base.metadata.create_all(bind=engine)
|
|
print("Database schema initialized.")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|