diff --git a/src/dto/statistics.dto.ts b/src/dto/statistics.dto.ts index b92532e..31e10a8 100644 --- a/src/dto/statistics.dto.ts +++ b/src/dto/statistics.dto.ts @@ -16,8 +16,8 @@ export class OrderStatisticsParams { keyword?: string; @ApiProperty() - @Rule(RuleType.string().allow(null)) - siteId?: string; + @Rule(RuleType.number().allow(null)) + siteId?: number; @ApiProperty({ enum: ['all', 'first_purchase', 'repeat_purchase'], diff --git a/src/service/order.service.ts b/src/service/order.service.ts index d62baf9..ed6fd02 100644 --- a/src/service/order.service.ts +++ b/src/service/order.service.ts @@ -104,7 +104,21 @@ export class OrderService { siteService: SiteService; async syncOrders(siteId: string) { - const orders = await this.wpService.getOrders(siteId); // 调用 WooCommerce API 获取订单 + //TODO: 临时方案,后续记得调整成前端可控制 + const daysRange = 7; + +// 获取当前时间和7天前时间 + const now = new Date(); + const sevenDaysAgo = new Date(); + sevenDaysAgo.setDate(now.getDate() - daysRange); + +// 格式化时间为ISO 8601 + const after = sevenDaysAgo.toISOString(); + const before = now.toISOString(); + const orders = await this.wpService.getOrders(siteId,{ + after: after, + before: before, + }); // 调用 WooCommerce API 获取订单 for (const order of orders) { await this.syncSingleOrder(siteId, order); } diff --git a/src/service/site.service.ts b/src/service/site.service.ts index c5f176b..a53efa5 100644 --- a/src/service/site.service.ts +++ b/src/service/site.service.ts @@ -57,7 +57,7 @@ export class SiteService { if (!site) return null; if (includeSecret) return site; // 默认不返回密钥,进行字段脱敏 - const { consumerKey, consumerSecret, ...rest } = site; + const { ...rest } = site; return rest; } diff --git a/src/service/wp.service.ts b/src/service/wp.service.ts index 443018f..7425252 100644 --- a/src/service/wp.service.ts +++ b/src/service/wp.service.ts @@ -186,10 +186,10 @@ export class WPService { const res = await api.get(`orders/${orderId}`); return res.data as Record; } - async getOrders(siteId: string): Promise[]> { + async getOrders(siteId: string,params: Record = {}): Promise[]> { const site = await this.siteService.get(siteId); const api = this.createApi(site, 'wc/v3'); - return await this.sdkGetAll>(api, 'orders'); + return await this.sdkGetAll>(api, 'orders', params); } /**