From 6f4260994548c8e520ade65dadf4aff545f9f101 Mon Sep 17 00:00:00 2001 From: yml Date: Thu, 21 May 2026 15:48:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E7=AB=AF=E8=BF=81=E7=A7=BB=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=B1=A5=E7=BA=A6=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-service.js => fulfillment-binding-config-service.ts} | 6 ++++-- ...e.js => kuaishou-cloud-fulfillment-config-service.ts} | 4 +++- docs/backend-typescript-migration-plan.md | 9 +++++++++ 3 files changed, 16 insertions(+), 3 deletions(-) rename apps/backend/src/services/order/{fulfillment-binding-config-service.js => fulfillment-binding-config-service.ts} (94%) rename apps/backend/src/services/order/{kuaishou-cloud-fulfillment-config-service.js => kuaishou-cloud-fulfillment-config-service.ts} (99%) diff --git a/apps/backend/src/services/order/fulfillment-binding-config-service.js b/apps/backend/src/services/order/fulfillment-binding-config-service.ts similarity index 94% rename from apps/backend/src/services/order/fulfillment-binding-config-service.js rename to apps/backend/src/services/order/fulfillment-binding-config-service.ts index b21a93ab..63ca7257 100644 --- a/apps/backend/src/services/order/fulfillment-binding-config-service.js +++ b/apps/backend/src/services/order/fulfillment-binding-config-service.ts @@ -5,6 +5,8 @@ import { PROJECT_ROOT } from '../../config/runtime.js' const ORDER_FULFILLMENT_BINDINGS_FILE_PATH = path.join(PROJECT_ROOT, 'data', 'order-fulfillment-bindings.json') +type JsonObject = Record + export function getOrderFulfillmentBindingsFilePath() { return ORDER_FULFILLMENT_BINDINGS_FILE_PATH } @@ -52,11 +54,11 @@ function normalizeOrderFulfillmentBindingConfigs(rawValue) { .filter(Boolean) } -export function filterLegacyOrderFulfillmentBindings(bindings = []) { +export function filterLegacyOrderFulfillmentBindings(bindings: any[] = []) { return (Array.isArray(bindings) ? bindings : []).filter((item) => !isKuaishouCloudFulfillmentBinding(item)) } -export function isKuaishouCloudFulfillmentBinding(binding = {}) { +export function isKuaishouCloudFulfillmentBinding(binding: JsonObject = {}) { return String(binding?.provider || '').trim() === '91kaquan' && String(binding?.platform || '').trim() === 'kuaishou' } diff --git a/apps/backend/src/services/order/kuaishou-cloud-fulfillment-config-service.js b/apps/backend/src/services/order/kuaishou-cloud-fulfillment-config-service.ts similarity index 99% rename from apps/backend/src/services/order/kuaishou-cloud-fulfillment-config-service.js rename to apps/backend/src/services/order/kuaishou-cloud-fulfillment-config-service.ts index 06c61173..e8156159 100644 --- a/apps/backend/src/services/order/kuaishou-cloud-fulfillment-config-service.js +++ b/apps/backend/src/services/order/kuaishou-cloud-fulfillment-config-service.ts @@ -10,6 +10,8 @@ const KUAISHOU_CLOUD_FULFILLMENT_FILE_PATH = path.join( "kuaishou-cloud-fulfillment.json" ); +type JsonObject = Record; + export function getKuaishouCloudFulfillmentFilePath() { return KUAISHOU_CLOUD_FULFILLMENT_FILE_PATH; } @@ -31,7 +33,7 @@ export function saveKuaishouCloudFulfillmentConfig(rawValue) { return normalized; } -export function mapKuaishouCloudFulfillmentItemsToBindings(config = {}) { +export function mapKuaishouCloudFulfillmentItemsToBindings(config: JsonObject = {}) { const items = Array.isArray(config.items) ? config.items : []; return items diff --git a/docs/backend-typescript-migration-plan.md b/docs/backend-typescript-migration-plan.md index 3a74d7c2..2b51901d 100644 --- a/docs/backend-typescript-migration-plan.md +++ b/docs/backend-typescript-migration-plan.md @@ -527,6 +527,15 @@ - `npm run typecheck` - `npm run build` - `npm test` 共 139 个用例通过 +117. 订单履约配置模块迁移到 `.ts`: + - `src/services/order/fulfillment-binding-config-service.ts` + - `src/services/order/kuaishou-cloud-fulfillment-config-service.ts` +118. 订单履约绑定过滤、快手 Cloud 配置读取 / 保存 / 映射到履约绑定已进入 TS 编译链路;默认动态配置对象补齐类型 +119. Docker 内验证通过: + - `src/services/order/fulfillment-binding-config-service.test.js`、`src/services/order/kuaishou-cloud-fulfillment-config-service.test.js` 共 3 个用例通过 + - `npm run typecheck` + - `npm run build` + - `npm test` 共 139 个用例通过 ## 下一步建议