# ==============================================================================
# NeoZQYY Monorepo 根 .env — 公共配置层
# ==============================================================================
# 后端 config.py 从此文件加载公共参数
# 优先级：根 .env < 应用 .env.local < 环境变量 < CLI 参数
# 敏感值禁止提交；本文件已在 .gitignore 中排除

# ------------------------------------------------------------------------------
# 数据库公共连接参数（后端 + ETL 共用同一 PostgreSQL 实例）
# ------------------------------------------------------------------------------
DB_HOST=100.64.0.4
DB_PORT=5432
DB_USER=local-Python
DB_PASSWORD=Neo-local-1991125

# ------------------------------------------------------------------------------
# 数据库名称
# CHANGE 2026-02-15 | 默认指向测试库，避免开发时误操作生产数据
# CHANGE 2026-02-19 | 移除 PG_NAME（未被代码引用，仅 .env.template 分离式配置预留）
#
# 数据库清单：
#   etl_feiqiu      — ETL 流程（飞球连接器），正式环境
#   test_etl_feiqiu — ETL 流程（飞球连接器），开发/测试环境
#   zqyy_app        — 小程序业务库，正式环境
#   test_zqyy_app   — 小程序业务库，开发/测试环境
# ------------------------------------------------------------------------------
APP_DB_NAME=test_zqyy_app
ETL_DB_NAME=test_etl_feiqiu

# ------------------------------------------------------------------------------
# 组合式 DSN（各子系统 / 脚本需要完整连接串时使用）
# 格式：postgresql://user:password@host:port/dbname
# CHANGE 2026-02-16 | 新增，供 dataflow_analyzer 等跨模块脚本直接读取
# CHANGE 2026-02-19 | 多库 DSN：PG_DSN（ETL 库，向后兼容）+ APP_DB_DSN（业务库）
# ------------------------------------------------------------------------------
PG_DSN=postgresql://local-Python:Neo-local-1991125@100.64.0.4:5432/test_etl_feiqiu
APP_DB_DSN=postgresql://local-Python:Neo-local-1991125@100.64.0.4:5432/test_zqyy_app

# CHANGE 2026-02-21 | 显式定义测试库 DSN，运维脚本/集成测试优先使用
TEST_DB_DSN=postgresql://local-Python:Neo-local-1991125@100.64.0.4:5432/test_etl_feiqiu
TEST_APP_DB_DSN=postgresql://local-Python:Neo-local-1991125@100.64.0.4:5432/test_zqyy_app

# ------------------------------------------------------------------------------
# 通用
# ------------------------------------------------------------------------------
TIMEZONE=Asia/Shanghai
LOG_LEVEL=INFO

# ------------------------------------------------------------------------------
# 营业日切点（统计日/周/月分割小时，默认 8 即 08:00）
# ------------------------------------------------------------------------------
BUSINESS_DAY_START_HOUR=8

# ==============================================================================
# 统一输出路径配置（export/ 目录）
# ==============================================================================
# CHANGE 2026-02-19 | 统一规划 export 目录结构，所有输出路径集中管理
#
# 目录总览：
#   export/
#   ├── ETL-Connectors/feiqiu/
#   │   ├── JSON/          — API 原始 JSON 导出（ODS 抓取落盘）
#   │   ├── LOGS/          — ETL 运行日志（每次 run 一个 .log）
#   │   └── REPORTS/       — ETL 质检/完整性报告（JSON 格式）
#   ├── SYSTEM/
#   │   ├── LOGS/          — 系统级运维日志
#   │   ├── REPORTS/
#   │   │   ├── dataflow_analysis/  — 数据流结构分析报告（Markdown）
#   │   │   ├── field_audit/        — 字段排查报告
#   │   │   └── full_dataflow_doc/  — 全链路数据流文档
#   │   └── CACHE/
#   │       └── api_samples/        — API 样本缓存（gen_full_dataflow_doc 使用）
#   └── BACKEND/
#       └── LOGS/          — 后端结构化日志（预留）

# ------------------------------------------------------------------------------
# ETL Connector（飞球）输出路径
# ------------------------------------------------------------------------------
# JSON 导出根目录（ODS 抓取落盘，按 TASK_CODE/run_id 自动建子目录）
EXPORT_ROOT=C:/NeoZQYY/export/ETL-Connectors/feiqiu/JSON
# ETL 运行日志根目录
LOG_ROOT=C:/NeoZQYY/export/ETL-Connectors/feiqiu/LOGS
# 在线抓取 JSON 输出根目录（FETCH_ONLY 模式使用）
FETCH_ROOT=C:/NeoZQYY/export/ETL-Connectors/feiqiu/JSON
# ETL 质检/完整性报告输出目录
ETL_REPORT_ROOT=C:/NeoZQYY/export/ETL-Connectors/feiqiu/REPORTS

# ------------------------------------------------------------------------------
# 系统级输出路径
# ------------------------------------------------------------------------------
# 数据流结构分析报告输出目录（gen_dataflow_report.py / analyze_dataflow.py）
SYSTEM_ANALYZE_ROOT=C:/NeoZQYY/export/SYSTEM/REPORTS/dataflow_analysis
# 字段排查报告输出目录（field_audit.py）
FIELD_AUDIT_ROOT=C:/NeoZQYY/export/SYSTEM/REPORTS/field_audit
# 全链路数据流文档输出目录（gen_full_dataflow_doc.py）
FULL_DATAFLOW_DOC_ROOT=C:/NeoZQYY/export/SYSTEM/REPORTS/full_dataflow_doc
# API 样本缓存目录（gen_full_dataflow_doc.py 的 24h 缓存）
API_SAMPLE_CACHE_ROOT=C:/NeoZQYY/export/SYSTEM/CACHE/api_samples
# 系统级运维日志目录
SYSTEM_LOG_ROOT=C:/NeoZQYY/export/SYSTEM/LOGS

# ------------------------------------------------------------------------------
# 后端输出路径（预留）
# ------------------------------------------------------------------------------
# 后端结构化日志目录
BACKEND_LOG_ROOT=C:/NeoZQYY/export/BACKEND/LOGS
# 用户头像存储目录
AVATAR_EXPORT_PATH=C:/NeoZQYY/export/BACKEND/avatars

# ------------------------------------------------------------------------------
# DashScope AI 配置（百炼 Application API）
# CHANGE 2026-02-23 | 从 PRD 文档迁移至 .env，禁止在文档中明文存放
# CHANGE P14 | BAILIAN_* → DASHSCOPE_*；移除 BASE_URL/MODEL（Application API 不需要）
# ------------------------------------------------------------------------------
DASHSCOPE_API_KEY=sk-6def29cab3474cc797e52b82a46a5dba
DASHSCOPE_WORKSPACE_ID=

# 8 个百炼 AI 应用 ID（从百炼平台获取，通过 app_id 指定应用）
# 应用 1：通用对话 | 应用 2：财务洞察 | 应用 3：客户数据维客线索分析
# 应用 4：关系分析/任务建议 | 应用 5：话术参考 | 应用 6：备注分析
# 应用 7：客户分析 | 应用 8：维客线索整理
DASHSCOPE_APP_ID_1_CHAT=979dabe6f22a43989632b8c662cac97c
DASHSCOPE_APP_ID_2_FINANCE=1dcdb5f39c3040b6af8ef79215b9b051
DASHSCOPE_APP_ID_3_CLUE=708bf45439cd48c7ab9a514d03482890
DASHSCOPE_APP_ID_4_ANALYSIS=ea7b1c374f574b9a925a2fb5789a9b90
DASHSCOPE_APP_ID_5_TACTICS=46f54e6053df4bb0b83be29366025cf6
DASHSCOPE_APP_ID_6_NOTE=025bb344146b4e4e8be30c444adab3b4
DASHSCOPE_APP_ID_7_CUSTOMER=df35e06991b24d49971c03c6428a9c87
DASHSCOPE_APP_ID_8_CONSOLIDATE=407dfb89283b4196934eec5fefe3ebc2
# 应用 9：Session 日志摘要生成（Kiro agent_on_stop + batch_generate_summaries 使用）
DASHSCOPE_APP_ID_SUMMARY=e0cf8913b1ee4a4eb9464cc1ee0bf300

# 内部 API 认证 token（ETL 等内部服务调用 /api/internal/* 端点时使用）
INTERNAL_API_TOKEN=C4Rs45fEoMC3u2PR4-jvakl8SBYpU9kV7JFiTj-TJAc

# 后端 API 地址（ETL 触发 AI 事件时使用，如 http://localhost:8000）
BACKEND_API_URL=http://localhost:8000

# ------------------------------------------------------------------------------
# 微信小程序
# CHANGE 2026-02-27 | 开发模式启用 mock 登录，跳过微信 code2Session
# 生产环境需设置真实 WX_APPID / WX_SECRET 并关闭 WX_DEV_MODE
# ------------------------------------------------------------------------------
WX_APPID=wx7c07793d82732921
WX_SECRET=wx7c07793d82732921
WX_DEV_MODE=true

# ------------------------------------------------------------------------------
# 管道限流配置（RateLimiter 请求间隔）
# CHANGE 2026-03-06 | 从默认 5-20s 降至 0.1-2s，ODS_PAYMENT 46请求从582s→~48s
# ------------------------------------------------------------------------------
PIPELINE_RATE_MIN=0.1
PIPELINE_RATE_MAX=2.0

# ------------------------------------------------------------------------------
# 后端运维面板路径配置
# CHANGE 2026-03-06 | 显式锁定，避免 __file__ 推算在不同部署环境指向错误路径
# ------------------------------------------------------------------------------
OPS_SERVER_BASE=C:/NeoZQYY
ETL_PROJECT_PATH=C:/NeoZQYY/apps/etl/connectors/feiqiu
ETL_PYTHON_EXECUTABLE=C:/NeoZQYY/.venv/Scripts/python.exe

# === Dev Trace Log ===
# 全链路请求追踪日志（仅开发/测试环境使用，生产环境关闭）
DEV_TRACE_ENABLED=true
DEV_TRACE_LOG_DIR=export/dev-trace-logs
DEV_TRACE_LOG_RETENTION_DAYS=7
DEV_TRACE_LOG_SQL=true
DEV_TRACE_LOG_PARAMS=true

# ------------------------------------------------------------------------------
# DWS 工资计算配置
# CHANGE 2026-03-27 | 允许非月初结算期运行工资计算任务（临时开关）
# 正常调度只在月初 1-5 号跑上月工资，此开关允许月中手动跑当月工资
# ------------------------------------------------------------------------------
DWS_SALARY_ALLOW_OUT_OF_CYCLE=true
