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:
Neo
2026-04-06 00:03:48 +08:00
parent 70324d8542
commit 6f8f12314f
515 changed files with 76604 additions and 7456 deletions

View File

@@ -223,6 +223,10 @@ class DwdLoadTask(BaseTask):
("person_tenant_org_id", "person_tenant_org_id", None),
("person_tenant_org_name", "person_tenant_org_name", None),
("register_source", "register_source", None),
("other_pay_money_sum", "payload->>'otherPayMoneySum'", "numeric"), # CHANGE 2026-03-26: 其他支付金额汇总(从 payload 提取ODS 列可能为空)
("last_consume_time", "payload->>'lastConsumeTime'", "timestamptz"), # CHANGE 2026-03-26: 最后消费时间
("non_consume_day_num", "payload->>'nonConsumeDayNum'", "integer"), # CHANGE 2026-03-26: 未消费天数
("first_consumption", "payload->>'firstConsumption'", "integer"), # CHANGE 2026-03-26: 是否首次消费1=是, 2=否)
],
"dwd.dim_member_card_account": [
("member_card_id", "id", None),
@@ -243,6 +247,8 @@ class DwdLoadTask(BaseTask):
("electricity_discount", "electricity_discount", None),
("electricity_card_deduct", "electricitycarddeduct", "boolean"),
("recharge_freeze_balance", "rechargefreezebalance", None),
("pdassisnatlevel", "pdassisnatlevel", None), # CHANGE 2026-03-26: 陪打助教等级限制
("cxassisnatlevel", "cxassisnatlevel", None), # CHANGE 2026-03-26: 促销助教等级限制
],
"dwd.dim_tenant_goods": [
("tenant_goods_id", "id", None),
@@ -352,6 +358,7 @@ class DwdLoadTask(BaseTask):
("table_fee_log_id", "id", None),
("salesman_name", "salesman_name", None),
("order_consumption_type", "order_consumption_type", None),
("order_from", "order_from", None), # CHANGE 2026-03-26: 订单来源
],
"dwd.dwd_table_fee_adjust": [
("table_fee_adjust_id", "id", None),
@@ -389,6 +396,9 @@ class DwdLoadTask(BaseTask):
("legacy_order_goods_id", "ordergoodsid", None),
("site_name", "sitename", None),
("legacy_site_id", "siteid", None),
("activity_amount", "activity_amount", None), # CHANGE 2026-03-26: 活动金额
("activity_id", "activity_id", None), # CHANGE 2026-03-26: 活动 ID
("order_from", "order_from", None), # CHANGE 2026-03-26: 订单来源
],
"dwd.dwd_assistant_service_log": [
("assistant_service_id", "id", None),
@@ -411,6 +421,8 @@ class DwdLoadTask(BaseTask):
("assistant_team_name", "assistantteamname", None),
("operator_id", "operator_id", None), # 操作员 ID
("operator_name", "operator_name", None), # 操作员姓名
("deduct_leave_seconds", "deduct_leave_seconds", None), # CHANGE 2026-03-26: 扣除请假秒数
("order_from", "order_from", None), # CHANGE 2026-03-26: 订单来源1=线下, 4=小程序)
],
"dwd.dwd_member_balance_change": [
("balance_change_id", "id", None),
@@ -543,6 +555,7 @@ class DwdLoadTask(BaseTask):
("order_remark", "orderremark", None),
("operator_id", "operatorid", None),
("salesman_user_id", "salesmanuserid", None),
("order_from", "orderfrom", None), # CHANGE 2026-03-26: 订单来源(来自 settleList.orderFrom
# CHANGE: intent=删除 settle_list 映射,该列已从 DWD 表中移除(与 ODS payload 冗余)
# assumptions=结算明细可随时从 ODS payload->'settleList' 按需提取
# prompt=P20260214-040000
@@ -639,6 +652,7 @@ class DwdLoadTask(BaseTask):
("range_inventory", '"rangeinventory"', "numeric"), # 盘点调整量
("current_stock", '"currentstock"', "numeric"), # 当前库存
("site_id", '"siteid"', "bigint"), # 门店 IDODS 入库时注入)
("create_time", '"createtime"', "timestamptz"), # CHANGE 2026-03-26: 库存记录创建时间
],
# 库存变动流水goods_stock_movementsODS 列名全小写)
# CHANGE 2026-02-21: BUG 10 fix — ODS 列名是小写,不是驼峰