V10.575 補型錄覆核 lane 狀態 API

This commit is contained in:
OoO
2026-06-04 11:19:53 +08:00
parent b2604a576d
commit 58e8d5ee0f
2 changed files with 26 additions and 0 deletions

View File

@@ -2210,6 +2210,10 @@ def _build_pchome_backfill_coverage_payload():
'decision_support_non_exact_count': int(coverage.get('decision_support_non_exact_count') or 0),
'catalog_comparable_count': int(coverage.get('catalog_comparable_count') or 0),
'catalog_comparable_rate': float(coverage.get('catalog_comparable_rate') or 0),
'catalog_variant_review_count': int(coverage.get('catalog_variant_review_count') or 0),
'catalog_unit_review_count': int(coverage.get('catalog_unit_review_count') or 0),
'catalog_identity_review_count': int(coverage.get('catalog_identity_review_count') or 0),
'catalog_review_plan': coverage.get('catalog_review_plan') or {},
'stale_matches': int(coverage.get('stale_matches') or 0),
'pending': int(coverage.get('pending') or 0),
'actionable_review_count': int(coverage.get('actionable_review_count') or 0),
@@ -2268,6 +2272,21 @@ def _build_pchome_operation_backlog(coverage, revalidation_preview, stale_recove
'count': int((coverage or {}).get('unit_comparable_count') or 0),
'endpoint': '/vendor-stockout/list?review_status=unit_comparable',
},
'catalog_variant_review': {
'label': '型錄選項待核',
'count': int((coverage or {}).get('catalog_variant_review_count') or 0),
'endpoint': '/vendor-stockout/list?review_status=catalog_variant_review',
},
'catalog_unit_review': {
'label': '型錄入數待核',
'count': int((coverage or {}).get('catalog_unit_review_count') or 0),
'endpoint': '/vendor-stockout/list?review_status=catalog_unit_review',
},
'catalog_identity_review': {
'label': '型錄身份待核',
'count': int((coverage or {}).get('catalog_identity_review_count') or 0),
'endpoint': '/vendor-stockout/list?review_status=catalog_identity_review',
},
'stale_search_recovery_preview': {
'label': '過期 identity 搜尋救援預覽',
'count': int((stale_recovery_preview or {}).get('candidate_count') or 0),

View File

@@ -539,11 +539,18 @@ def test_ai_product_pick_agent_uses_real_competitor_data_and_dashboard_action():
assert "_build_pchome_revalidation_preview_payload" in route_source
assert "_build_pchome_stale_recovery_preview_payload" in route_source
assert "fetch_competitor_coverage" in route_source
assert "'catalog_variant_review_count': int(coverage.get('catalog_variant_review_count') or 0)" in route_source
assert "'catalog_unit_review_count': int(coverage.get('catalog_unit_review_count') or 0)" in route_source
assert "'catalog_identity_review_count': int(coverage.get('catalog_identity_review_count') or 0)" in route_source
assert "'catalog_review_plan': coverage.get('catalog_review_plan') or {}" in route_source
assert "preview_retryable_candidate_revalidation" in route_source
assert "preview_expired_identity_recovery" in route_source
assert "revalidation_preview" in route_source
assert "stale_recovery_preview" in route_source
assert "_build_pchome_operation_backlog" in route_source
assert "'catalog_variant_review': {" in route_source
assert "'catalog_unit_review': {" in route_source
assert "'catalog_identity_review': {" in route_source
assert "_pick_pchome_recommended_next_action" in route_source
assert "'operation_backlog': operation_backlog" in route_source
assert "'recommended_next_action': _pick_pchome_recommended_next_action(operation_backlog)" in route_source