feat: 累积功能变更 — 聊天集成、租户管理、小程序更新、ETL 增强、迁移脚本
包含多个会话的累积代码变更: - backend: AI 聊天服务、触发器调度、认证增强、WebSocket、调度器最小间隔 - admin-web: ETL 状态页、任务管理、调度配置、登录优化 - miniprogram: 看板页面、聊天集成、UI 组件、导航更新 - etl: DWS 新任务(finance_area_daily/board_cache)、连接器增强 - tenant-admin: 项目初始化 - db: 19 个迁移脚本(etl_feiqiu 11 + zqyy_app 8) - packages/shared: 枚举和工具函数更新 - tools: 数据库工具、报表生成、健康检查 - docs: PRD/架构/部署/合约文档更新 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,7 @@ class CoachTask(CamelModel):
|
||||
name: str
|
||||
level: str # star / senior / middle / junior
|
||||
level_color: str
|
||||
heart_score: float = 0.0 # CHANGE 2026-03-29 | RSI 关系指数,用于爱心标识
|
||||
task_type: str
|
||||
task_color: str
|
||||
bg_class: str
|
||||
@@ -32,10 +33,10 @@ class CoachTask(CamelModel):
|
||||
metrics: list[MetricItem] = []
|
||||
|
||||
class FavoriteCoach(CamelModel):
|
||||
# CHANGE 2026-03-20 | M4 修复: emoji 注释与 P6 权威定义对齐(4 级映射)
|
||||
# intent: 注释应反映 compute_heart_icon() 的实际 4 级映射(💖🧡💛💙)
|
||||
emoji: str # 💖 / 🧡 / 💛 / 💙
|
||||
emoji: str
|
||||
name: str
|
||||
heart_score: float = 0.0
|
||||
level: str = ""
|
||||
relation_index: str
|
||||
index_color: str
|
||||
bg_class: str
|
||||
@@ -46,7 +47,7 @@ class CoachServiceItem(CamelModel):
|
||||
level: str
|
||||
level_color: str
|
||||
course_type: str # "基础课" / "激励课"
|
||||
hours: float
|
||||
hours: str # "2.5h" 格式
|
||||
perf_hours: float | None = None
|
||||
fee: float
|
||||
|
||||
@@ -57,15 +58,15 @@ class ConsumptionRecord(CamelModel):
|
||||
table_name: str | None = None
|
||||
start_time: str | None = None
|
||||
end_time: str | None = None
|
||||
duration: int | None = None
|
||||
duration: str | None = None
|
||||
table_fee: float | None = None
|
||||
table_orig_price: float | None = None
|
||||
coaches: list[CoachServiceItem] = []
|
||||
food_amount: float | None = None
|
||||
food_orig_price: float | None = None
|
||||
total_amount: float
|
||||
total_orig_price: float
|
||||
pay_method: str
|
||||
total_orig_price: float | None = None
|
||||
pay_method: str | None = None
|
||||
recharge_amount: float | None = None
|
||||
|
||||
class RetentionClue(CamelModel):
|
||||
@@ -126,5 +127,25 @@ class CustomerRecordsResponse(CamelModel):
|
||||
total_service_count: int
|
||||
month_count: int
|
||||
month_hours: float
|
||||
month_income: float = 0.0
|
||||
records: list[ServiceRecordItem] = []
|
||||
has_more: bool = False
|
||||
|
||||
|
||||
class CustomerConsumptionRecordsResponse(CamelModel):
|
||||
"""CUST-3 响应:客户消费记录(按月)。"""
|
||||
# Banner
|
||||
id: int
|
||||
name: str
|
||||
phone: str
|
||||
phone_full: str
|
||||
balance: float | None = None
|
||||
consumption_60d: float | None = None
|
||||
ideal_interval: int | None = None
|
||||
days_since_visit: int | None = None
|
||||
# 月度汇总
|
||||
visit_count: int = 0
|
||||
consume_total: float = 0.0
|
||||
recharge_total: float = 0.0
|
||||
# 消费记录
|
||||
records: list[ConsumptionRecord] = []
|
||||
|
||||
Reference in New Issue
Block a user