feat(pricing): add cucloud and bytedance payg importers
Some checks failed
CI / go-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / docker-build (push) Has been cancelled

- Add import_cucloud_pricing.go for 联通云 payg 公开价抓取
- Add import_bytedance_pricing.go for 火山引擎/ByteDance Ark 定价导入
- Include test files and sample testdata for both importers
- Update plan catalog inventory docs and seeds
- Add cucloud pricing importer implementation plan
- Align pipeline scripts and smoke gate tests
This commit is contained in:
phamnazage-jpg
2026-05-22 15:28:13 +08:00
parent 5c5578a19b
commit 6fe3b484f1
17 changed files with 1362 additions and 37 deletions

View File

@@ -24,8 +24,8 @@ func TestBuildPlanCatalogRows(t *testing.T) {
if err != nil {
t.Fatalf("buildPlanCatalogRows 失败: %v", err)
}
if len(rows) != 70 {
t.Fatalf("期望 70 条基础目录记录,实际 %d", len(rows))
if len(rows) != 71 {
t.Fatalf("期望 71 条基础目录记录,实际 %d", len(rows))
}
foundVendorTop20 := false
@@ -38,6 +38,7 @@ func TestBuildPlanCatalogRows(t *testing.T) {
"aliyun-bailian-coding-plan": "import_aliyun_subscription.go",
"baidu-qianfan-token-benefit-pack": "import_baidu_subscription.go",
"baidu-qianfan-coding-plan": "import_baidu_subscription.go",
"bytedance-doubao-api-payg": "import_bytedance_pricing.go",
"zhipu-glm-coding-plan": "import_zhipu_coding_plan.go",
"minimax-token-plan": "import_minimax_subscription.go",
"volcengine-ark-coding-plan": "import_bytedance_subscription.go",
@@ -46,7 +47,8 @@ func TestBuildPlanCatalogRows(t *testing.T) {
"ctyun-coding-plan": "import_ctyun_subscription.go",
"cucloud-aicp-platform": "import_cucloud_catalog.go",
"cucloud-ai-app-platform": "import_cucloud_catalog.go",
"mobile-cloud-ai-market": "import_mobile_cloud_catalog.go",
"cucloud-aisp-token-plan-pricing": "import_cucloud_pricing.go",
"mobile-cloud-ai-market": "import_mobile_cloud_pricing.go",
"aliyun-modelscope-api-inference": "import_catalog_seed_verification.go",
"youdao-zhiyun-maas": "import_youdao_pricing.go",
"ctyun-model-inference-payg": "import_catalog_seed_verification.go",
@@ -135,13 +137,13 @@ func TestRunPlanCatalogImportDryRunPrintsSummary(t *testing.T) {
output := out.String()
for _, want := range []string{
"source=plan-catalog-import",
"rows=70",
"rows=71",
"coding_plan:7",
"package_plan:1",
"pay_as_you_go:51",
"token_plan:7",
"unknown:4",
"confirmed:70",
"pay_as_you_go:52",
"token_plan:8",
"unknown:3",
"confirmed:71",
"dry_run=true",
} {
if !strings.Contains(output, want) {