feat: 多租户隔离P2批1 — OKR域+kpi_values加entity_id列

- 模型: Objective/KR/ObjectiveKPI/KPIValue 加 entity_id
- DB: 4表加列; kpi_values 1610条按kpi_id回填(1269酣客/341博海)
- OKR域: 测试O删除重建; okr list/get/create + ontology trace/objectives 按token企业隔离(跨企业404)
- KPIValue写入: data/bot_bridge/bot_kpis 创建时带entity_id
- 验证: 酣客创建OKR博海不可见; 跨企业读404; pytest 451通过(expenses单跑37通过为既有排序flaky)
This commit is contained in:
Hermes CI Fix
2026-08-23 17:53:37 +08:00
parent 50c15ddbf6
commit 27b5b0da47
6 changed files with 27 additions and 13 deletions
+3
View File
@@ -39,6 +39,7 @@ async def import_excel(file: UploadFile = File(...),
from app.models import KPIDefinition
kpi_map = {k.kpi_code: k.id for k in db.query(KPIDefinition).all()}
kpi_entity_map = {k.kpi_code: k.entity_id for k in db.query(KPIDefinition).all()} # 账套隔离 P2
batch = hashlib.md5(str(datetime.now().timestamp()).encode()).hexdigest()[:12]
count = 0
@@ -59,6 +60,7 @@ async def import_excel(file: UploadFile = File(...),
db.add(KPIValue(
kpi_id=kid,
entity_id=kpi_entity_map.get(kpi_code),
period=period,
actual_value=float(value),
source_type="excel",
@@ -298,6 +300,7 @@ async def import_excel_smart(
db.add(KPIValue(
kpi_id=kpis[kpi_code].id,
entity_id=kpis[kpi_code].entity_id, # 账套隔离 P2
period=raw_period,
actual_value=val,
source_type="excel",