Compare commits

..

7 Commits

Author SHA1 Message Date
tikkhun 7695354032 style: 修复接口文件中的缩进和重复代码问题 2026-01-08 19:37:50 +08:00
tikkhun 883a3d02af feat(订单): 添加获取订单总数功能
实现订单总数统计接口,包括:
1. 在ISiteAdapter接口添加countOrders方法
2. 在WooCommerce和Shopyy适配器中实现该方法
3. 添加控制器端点暴露该功能
4. 优化订单查询参数映射逻辑

refactor(Shopyy): 重构搜索参数映射逻辑

将通用的搜索参数映射逻辑提取为独立方法,提高代码复用性

refactor(interface): 重构站点适配器接口,按功能模块组织方法

重构 ISiteAdapter 接口,将相关方法按功能模块(客户、媒体、订单、产品等)分组
移除废弃的 fulfillOrder 方法
新增多个数据映射方法以支持统一数据格式转换

refactor(api): 统一接口参数为对象形式并支持多条件查询

重构所有接口方法,将直接传递id参数改为接受where条件对象
支持通过id、sku、email等多条件查询实体
优化产品服务逻辑,支持通过sku直接查询产品
统一各适配器实现,确保接口一致性

feat(订单): 添加获取订单总数功能

实现订单总数统计接口,包括:
1. 在ISiteAdapter接口添加countOrders方法
2. 在WooCommerce和Shopyy适配器中实现该方法
3. 添加控制器端点暴露该功能
4. 优化订单查询参数映射逻辑

refactor(Shopyy): 重构搜索参数映射逻辑

将通用的搜索参数映射逻辑提取为独立方法,提高代码复用性

refactor(interface): 重构站点适配器接口,按功能模块组织方法

重构 ISiteAdapter 接口,将相关方法按功能模块(客户、媒体、订单、产品等)分组
移除废弃的 fulfillOrder 方法
新增多个数据映射方法以支持统一数据格式转换

refactor(api): 统一接口参数为对象形式并支持多条件查询

重构所有接口方法,将直接传递id参数改为接受where条件对象
支持通过id、sku、email等多条件查询实体
优化产品服务逻辑,支持通过sku直接查询产品
统一各适配器实现,确保接口一致性

feat: 增强产品同步功能并优化SKU生成逻辑

添加字典排序字段支持
优化产品同步流程,支持通过SKU同步
重构SKU模板生成逻辑,支持分类属性排序
完善产品导入导出功能,增加分类字段处理
统一产品操作方法,提升代码可维护性

fix(sync_shipment): 捕获运单状态更新时的异常并记录日志

添加try-catch块来捕获updateShipmentState过程中可能出现的错误
使用logger记录错误信息以便后续排查

feat(shopyy): 实现全量商品查询功能并优化产品相关逻辑

- 新增ShopyyAllProductQuery类支持全量商品查询参数
- 实现getAllProducts方法支持带条件查询
- 优化getProductBySku方法使用新查询接口
- 公开request方法便于子类调用
- 增加错误日志记录产品查找失败情况
- 修复产品permalink生成逻辑

refactor(adapter): 清理重复代码并统一订单映射方法命名

移除shopyy和woocommerce适配器中的重复代码
将mapOrder重命名为mapPlatformToUnifiedOrder以保持命名一致性

feat(订单): 添加获取订单总数功能

实现订单总数统计接口,包括:
1. 在ISiteAdapter接口添加countOrders方法
2. 在WooCommerce和Shopyy适配器中实现该方法
3. 添加控制器端点暴露该功能
4. 优化订单查询参数映射逻辑

refactor(Shopyy): 重构搜索参数映射逻辑

将通用的搜索参数映射逻辑提取为独立方法,提高代码复用性

refactor(interface): 重构站点适配器接口,按功能模块组织方法

重构 ISiteAdapter 接口,将相关方法按功能模块(客户、媒体、订单、产品等)分组
移除废弃的 fulfillOrder 方法
新增多个数据映射方法以支持统一数据格式转换

feat(订单): 添加获取订单总数功能

实现订单总数统计接口,包括:
1. 在ISiteAdapter接口添加countOrders方法
2. 在WooCommerce和Shopyy适配器中实现该方法
3. 添加控制器端点暴露该功能
4. 优化订单查询参数映射逻辑

refactor(Shopyy): 重构搜索参数映射逻辑

将通用的搜索参数映射逻辑提取为独立方法,提高代码复用性

refactor(interface): 重构站点适配器接口,按功能模块组织方法

重构 ISiteAdapter 接口,将相关方法按功能模块(客户、媒体、订单、产品等)分组
移除废弃的 fulfillOrder 方法
新增多个数据映射方法以支持统一数据格式转换

docs: 统一中文括号格式为全角括号

将代码中的中文括号格式从半角"()"统一修改为全角"()",并删除测试文档文件test-site-sku-methods.md

chore: config.local 还原

docs(dto): 修正注释中的中文括号格式

docs(dto): 修正注释中的括号格式

docs: 修正中文标点符号和注释格式

统一将中文注释和文档中的全角括号和冒号改为半角格式
修正部分TODO注释的标点符号
统一接口文档中的描述符号格式

refactor(shopyy): 移除重复的订单相关方法
2026-01-08 19:35:39 +08:00
tikkhun 541276ec20 docs: 修正中文标点符号和注释格式
统一将中文注释和文档中的全角括号和冒号改为半角格式
修正部分TODO注释的标点符号
统一接口文档中的描述符号格式
2026-01-08 19:04:46 +08:00
tikkhun 44a7578c50 docs(dto): 修正注释中的括号格式 2026-01-08 18:57:51 +08:00
tikkhun a5ab693852 docs(dto): 修正注释中的中文括号格式 2026-01-08 18:56:15 +08:00
tikkhun fd7b3dae58 chore: config.local 还原 2026-01-08 18:54:44 +08:00
tikkhun ee2018362e docs: 统一中文括号格式为全角括号
将代码中的中文括号格式从半角"()"统一修改为全角"()",并删除测试文档文件test-site-sku-methods.md
2026-01-08 18:46:13 +08:00
1 changed files with 489 additions and 489 deletions

View File

@ -1,496 +1,496 @@
import {
CreateReviewDTO,
UpdateReviewDTO,
UnifiedMediaDTO,
UnifiedOrderDTO,
UnifiedProductDTO,
UnifiedReviewDTO,
UnifiedSubscriptionDTO,
UnifiedCustomerDTO,
UnifiedWebhookDTO,
UnifiedWebhookPaginationDTO,
CreateWebhookDTO,
UpdateWebhookDTO,
CreateVariationDTO,
UpdateVariationDTO,
UnifiedProductVariationDTO,
UnifiedVariationPaginationDTO,
CreateReviewDTO,
UpdateReviewDTO,
UnifiedMediaDTO,
UnifiedOrderDTO,
UnifiedProductDTO,
UnifiedReviewDTO,
UnifiedSubscriptionDTO,
UnifiedCustomerDTO,
UnifiedWebhookDTO,
UnifiedWebhookPaginationDTO,
CreateWebhookDTO,
UpdateWebhookDTO,
CreateVariationDTO,
UpdateVariationDTO,
UnifiedProductVariationDTO,
UnifiedVariationPaginationDTO,
} from '../dto/site-api.dto';
import { UnifiedPaginationDTO, UnifiedSearchParamsDTO } from '../dto/api.dto';
import { BatchOperationDTO, BatchOperationResultDTO } from '../dto/batch.dto';
export interface ISiteAdapter {
// ========== 客户映射方法 ==========
/**
*
* @param data
* @returns
*/
mapPlatformToUnifiedCustomer(data: any): UnifiedCustomerDTO;
/**
*
* @param data
* @returns
*/
mapUnifiedToPlatformCustomer(data: Partial<UnifiedCustomerDTO>): any;
/**
*
*/
getCustomer(where: Partial<Pick<UnifiedCustomerDTO, 'id' | 'email' | 'phone'>>): Promise<UnifiedCustomerDTO>;
/**
*
*/
getCustomers(params: UnifiedSearchParamsDTO): Promise<UnifiedPaginationDTO<UnifiedCustomerDTO>>;
/**
*
*/
getAllCustomers(params?: UnifiedSearchParamsDTO): Promise<UnifiedCustomerDTO[]>;
/**
*
*/
createCustomer(data: Partial<UnifiedCustomerDTO>): Promise<UnifiedCustomerDTO>;
/**
*
*/
updateCustomer(where: Partial<Pick<UnifiedCustomerDTO, 'id' | 'email' | 'phone'>>, data: Partial<UnifiedCustomerDTO>): Promise<UnifiedCustomerDTO>;
/**
*
*/
deleteCustomer(where: Partial<Pick<UnifiedCustomerDTO, 'id' | 'email' | 'phone'>>): Promise<boolean>;
/**
*
*/
batchProcessCustomers?(data: BatchOperationDTO): Promise<BatchOperationResultDTO>;
// ========== 媒体映射方法 ==========
/**
*
* @param data
* @returns
*/
mapPlatformToUnifiedMedia(data: any): UnifiedMediaDTO;
/**
*
* @param data
* @returns
*/
mapUnifiedToPlatformMedia(data: Partial<UnifiedMediaDTO>): any;
/**
*
*/
getMedia(params: UnifiedSearchParamsDTO): Promise<UnifiedPaginationDTO<UnifiedMediaDTO>>;
/**
*
*/
getAllMedia(params?: UnifiedSearchParamsDTO): Promise<UnifiedMediaDTO[]>;
/**
*
*/
createMedia(file: any): Promise<UnifiedMediaDTO>;
// ========== 订单映射方法 ==========
/**
*
* @param data
* @returns
*/
mapPlatformToUnifiedOrder(data: any): UnifiedOrderDTO;
/**
*
* @param data
* @returns
*/
mapUnifiedToPlatformOrder(data: Partial<UnifiedOrderDTO>): any;
/**
*
* @param data
* @returns
*/
mapCreateOrderParams(data: Partial<UnifiedOrderDTO>): any;
/**
*
* @param data
* @returns
*/
mapUpdateOrderParams(data: Partial<UnifiedOrderDTO>): any;
/**
*
*/
getOrder(where: Partial<Pick<UnifiedOrderDTO, 'id'>>): Promise<UnifiedOrderDTO>;
/**
*
*/
getOrders(params: UnifiedSearchParamsDTO): Promise<UnifiedPaginationDTO<UnifiedOrderDTO>>;
/**
*
*/
getAllOrders(params?: UnifiedSearchParamsDTO): Promise<UnifiedOrderDTO[]>;
/**
*
*/
countOrders(params: Record<string, any>): Promise<number>;
/**
*
*/
createOrder(data: Partial<UnifiedOrderDTO>): Promise<UnifiedOrderDTO>;
/**
*
*/
updateOrder(where: Partial<Pick<UnifiedOrderDTO, 'id'>>, data: Partial<UnifiedOrderDTO>): Promise<boolean>;
/**
*
*/
deleteOrder(where: Partial<Pick<UnifiedOrderDTO, 'id'>>): Promise<boolean>;
/**
*
*/
getOrderNotes(orderId: string | number): Promise<any[]>;
/**
*
*/
createOrderNote(orderId: string | number, data: any): Promise<any>;
/**
*
*/
cancelFulfillment(orderId: string | number, data: {
reason?: string;
shipment_id?: string;
}): Promise<any>;
/**
*
*/
getOrderFulfillments(orderId: string | number): Promise<any[]>;
/**
*
*/
createOrderFulfillment(orderId: string | number, data: {
tracking_number: string;
shipping_provider: string;
shipping_method?: string;
status?: string;
date_created?: string;
items?: Array<{
order_item_id: number;
quantity: number;
}>;
}): Promise<any>;
/**
*
*/
updateOrderFulfillment(orderId: string | number, fulfillmentId: string, data: {
tracking_number?: string;
shipping_provider?: string;
shipping_method?: string;
status?: string;
date_created?: string;
items?: Array<{
order_item_id: number;
quantity: number;
}>;
}): Promise<any>;
/**
*
*/
deleteOrderFulfillment(orderId: string | number, fulfillmentId: string): Promise<boolean>;
/**
*
*/
batchProcessOrders?(data: BatchOperationDTO): Promise<BatchOperationResultDTO>;
// ========== 产品映射方法 ==========
/**
*
* @param data
* @returns
*/
mapPlatformToUnifiedProduct(data: any): UnifiedProductDTO;
/**
*
* @param data
* @returns
*/
mapUnifiedToPlatformProduct(data: Partial<UnifiedProductDTO>): any;
/**
*
* @param data
* @returns
*/
mapCreateProductParams(data: Partial<UnifiedProductDTO>): any;
/**
*
* @param data
* @returns
*/
mapUpdateProductParams(data: Partial<UnifiedProductDTO>): any;
/**
*
*/
getProduct(where: Partial<Pick<UnifiedProductDTO, 'id' | 'sku'>>): Promise<UnifiedProductDTO>;
/**
*
*/
getProducts(params: UnifiedSearchParamsDTO): Promise<UnifiedPaginationDTO<UnifiedProductDTO>>;
/**
*
*/
getAllProducts(params?: UnifiedSearchParamsDTO): Promise<UnifiedProductDTO[]>;
/**
*
*/
createProduct(data: Partial<UnifiedProductDTO>): Promise<UnifiedProductDTO>;
/**
*
*/
updateProduct(where: Partial<Pick<UnifiedProductDTO, 'id' | 'sku'>>, data: Partial<UnifiedProductDTO>): Promise<boolean>;
/**
*
*/
deleteProduct(where: Partial<Pick<UnifiedProductDTO, 'id' | 'sku'>>): Promise<boolean>;
/**
*
*/
batchProcessProducts?(data: BatchOperationDTO): Promise<BatchOperationResultDTO>;
// ========== 评论映射方法 ==========
/**
*
* @param data
* @returns
*/
mapPlatformToUnifiedReview(data: any): UnifiedReviewDTO;
/**
*
* @param data
* @returns
*/
mapUnifiedToPlatformReview(data: Partial<UnifiedReviewDTO>): any;
/**
*
* @param data
* @returns
*/
mapCreateReviewParams(data: CreateReviewDTO): any;
/**
*
* @param data
* @returns
*/
mapUpdateReviewParams(data: UpdateReviewDTO): any;
/**
*
*/
getReviews(params: UnifiedSearchParamsDTO): Promise<UnifiedPaginationDTO<UnifiedReviewDTO>>;
/**
*
*/
getAllReviews(params?: UnifiedSearchParamsDTO): Promise<UnifiedReviewDTO[]>;
/**
*
*/
createReview(data: CreateReviewDTO): Promise<UnifiedReviewDTO>;
/**
*
*/
updateReview(where: Partial<Pick<UnifiedReviewDTO, 'id'>>, data: UpdateReviewDTO): Promise<UnifiedReviewDTO>;
/**
*
*/
deleteReview(where: Partial<Pick<UnifiedReviewDTO, 'id'>>): Promise<boolean>;
// ========== 订阅映射方法 ==========
/**
*
* @param data
* @returns
*/
mapPlatformToUnifiedSubscription(data: any): UnifiedSubscriptionDTO;
/**
*
* @param data
* @returns
*/
mapUnifiedToPlatformSubscription(data: Partial<UnifiedSubscriptionDTO>): any;
/**
*
*/
getSubscriptions(params: UnifiedSearchParamsDTO): Promise<UnifiedPaginationDTO<UnifiedSubscriptionDTO>>;
/**
*
*/
getAllSubscriptions(params?: UnifiedSearchParamsDTO): Promise<UnifiedSubscriptionDTO[]>;
// ========== 产品变体映射方法 ==========
/**
*
* @param data
* @returns
*/
mapPlatformToUnifiedVariation(data: any): UnifiedProductVariationDTO;
/**
*
* @param data
* @returns
*/
mapUnifiedToPlatformVariation(data: Partial<UnifiedProductVariationDTO>): any;
/**
*
* @param data
* @returns
*/
mapCreateVariationParams(data: CreateVariationDTO): any;
/**
*
* @param data
* @returns
*/
mapUpdateVariationParams(data: UpdateVariationDTO): any;
/**
*
*/
getVariation(productId: string | number, variationId: string | number): Promise<UnifiedProductVariationDTO>;
/**
*
*/
getVariations(productId: string | number, params: UnifiedSearchParamsDTO): Promise<UnifiedVariationPaginationDTO>;
/**
*
*/
getAllVariations(productId: string | number, params?: UnifiedSearchParamsDTO): Promise<UnifiedProductVariationDTO[]>;
/**
*
*/
createVariation(productId: string | number, data: CreateVariationDTO): Promise<UnifiedProductVariationDTO>;
/**
*
*/
updateVariation(productId: string | number, variationId: string | number, data: UpdateVariationDTO): Promise<UnifiedProductVariationDTO>;
/**
*
*/
deleteVariation(productId: string | number, variationId: string | number): Promise<boolean>;
// ========== Webhook映射方法 ==========
/**
* Webhook数据转换为统一Webhook数据格式
* @param data Webhook数据
* @returns Webhook数据格式
*/
mapPlatformToUnifiedWebhook(data: any): UnifiedWebhookDTO;
/**
* Webhook数据格式转换为平台Webhook数据
* @param data Webhook数据格式
* @returns Webhook数据
*/
mapUnifiedToPlatformWebhook(data: Partial<UnifiedWebhookDTO>): any;
/**
* Webhook创建参数转换为平台Webhook创建参数
* @param data Webhook创建参数
* @returns Webhook创建参数
*/
mapCreateWebhookParams(data: CreateWebhookDTO): any;
/**
* Webhook更新参数转换为平台Webhook更新参数
* @param data Webhook更新参数
* @returns Webhook更新参数
*/
mapUpdateWebhookParams(data: UpdateWebhookDTO): any;
/**
* webhook
*/
getWebhook(where: Partial<Pick<UnifiedWebhookDTO, 'id'>>): Promise<UnifiedWebhookDTO>;
/**
* webhooks列表
*/
getWebhooks(params: UnifiedSearchParamsDTO): Promise<UnifiedWebhookPaginationDTO>;
/**
* webhooks
*/
getAllWebhooks(params?: UnifiedSearchParamsDTO): Promise<UnifiedWebhookDTO[]>;
/**
* webhook
*/
createWebhook(data: CreateWebhookDTO): Promise<UnifiedWebhookDTO>;
/**
* webhook
*/
updateWebhook(where: Partial<Pick<UnifiedWebhookDTO, 'id'>>, data: UpdateWebhookDTO): Promise<UnifiedWebhookDTO>;
/**
* webhook
*/
deleteWebhook(where: Partial<Pick<UnifiedWebhookDTO, 'id'>>): Promise<boolean>;
// ========== 站点/其他方法 ==========
/**
*
*/
getLinks(): Promise<Array<{ title: string, url: string }>>;
// ========== 客户映射方法 ==========
/**
*
* @param data
* @returns
*/
mapPlatformToUnifiedCustomer(data: any): UnifiedCustomerDTO;
/**
*
* @param data
* @returns
*/
mapUnifiedToPlatformCustomer(data: Partial<UnifiedCustomerDTO>): any;
/**
*
*/
getCustomer(where: Partial<Pick<UnifiedCustomerDTO, 'id' | 'email' | 'phone'>>): Promise<UnifiedCustomerDTO>;
/**
*
*/
getCustomers(params: UnifiedSearchParamsDTO): Promise<UnifiedPaginationDTO<UnifiedCustomerDTO>>;
/**
*
*/
getAllCustomers(params?: UnifiedSearchParamsDTO): Promise<UnifiedCustomerDTO[]>;
/**
*
*/
createCustomer(data: Partial<UnifiedCustomerDTO>): Promise<UnifiedCustomerDTO>;
/**
*
*/
updateCustomer(where: Partial<Pick<UnifiedCustomerDTO, 'id' | 'email' | 'phone'>>, data: Partial<UnifiedCustomerDTO>): Promise<UnifiedCustomerDTO>;
/**
*
*/
deleteCustomer(where: Partial<Pick<UnifiedCustomerDTO, 'id' | 'email' | 'phone'>>): Promise<boolean>;
/**
*
*/
batchProcessCustomers?(data: BatchOperationDTO): Promise<BatchOperationResultDTO>;
// ========== 媒体映射方法 ==========
/**
*
* @param data
* @returns
*/
mapPlatformToUnifiedMedia(data: any): UnifiedMediaDTO;
/**
*
* @param data
* @returns
*/
mapUnifiedToPlatformMedia(data: Partial<UnifiedMediaDTO>): any;
/**
*
*/
getMedia(params: UnifiedSearchParamsDTO): Promise<UnifiedPaginationDTO<UnifiedMediaDTO>>;
/**
*
*/
getAllMedia(params?: UnifiedSearchParamsDTO): Promise<UnifiedMediaDTO[]>;
/**
*
*/
createMedia(file: any): Promise<UnifiedMediaDTO>;
// ========== 订单映射方法 ==========
/**
*
* @param data
* @returns
*/
mapPlatformToUnifiedOrder(data: any): UnifiedOrderDTO;
/**
*
* @param data
* @returns
*/
mapUnifiedToPlatformOrder(data: Partial<UnifiedOrderDTO>): any;
/**
*
* @param data
* @returns
*/
mapCreateOrderParams(data: Partial<UnifiedOrderDTO>): any;
/**
*
* @param data
* @returns
*/
mapUpdateOrderParams(data: Partial<UnifiedOrderDTO>): any;
/**
*
*/
getOrder(where: Partial<Pick<UnifiedOrderDTO, 'id'>>): Promise<UnifiedOrderDTO>;
/**
*
*/
getOrders(params: UnifiedSearchParamsDTO): Promise<UnifiedPaginationDTO<UnifiedOrderDTO>>;
/**
*
*/
getAllOrders(params?: UnifiedSearchParamsDTO): Promise<UnifiedOrderDTO[]>;
/**
*
*/
countOrders(params: Record<string, any>): Promise<number>;
/**
*
*/
createOrder(data: Partial<UnifiedOrderDTO>): Promise<UnifiedOrderDTO>;
/**
*
*/
updateOrder(where: Partial<Pick<UnifiedOrderDTO, 'id'>>, data: Partial<UnifiedOrderDTO>): Promise<boolean>;
/**
*
*/
deleteOrder(where: Partial<Pick<UnifiedOrderDTO, 'id'>>): Promise<boolean>;
/**
*
*/
getOrderNotes(orderId: string | number): Promise<any[]>;
/**
*
*/
createOrderNote(orderId: string | number, data: any): Promise<any>;
/**
*
*/
cancelFulfillment(orderId: string | number, data: {
reason?: string;
shipment_id?: string;
}): Promise<any>;
/**
*
*/
getOrderFulfillments(orderId: string | number): Promise<any[]>;
/**
*
*/
createOrderFulfillment(orderId: string | number, data: {
tracking_number: string;
shipping_provider: string;
shipping_method?: string;
status?: string;
date_created?: string;
items?: Array<{
order_item_id: number;
quantity: number;
}>;
}): Promise<any>;
/**
*
*/
updateOrderFulfillment(orderId: string | number, fulfillmentId: string, data: {
tracking_number?: string;
shipping_provider?: string;
shipping_method?: string;
status?: string;
date_created?: string;
items?: Array<{
order_item_id: number;
quantity: number;
}>;
}): Promise<any>;
/**
*
*/
deleteOrderFulfillment(orderId: string | number, fulfillmentId: string): Promise<boolean>;
/**
*
*/
batchProcessOrders?(data: BatchOperationDTO): Promise<BatchOperationResultDTO>;
// ========== 产品映射方法 ==========
/**
*
* @param data
* @returns
*/
mapPlatformToUnifiedProduct(data: any): UnifiedProductDTO;
/**
*
* @param data
* @returns
*/
mapUnifiedToPlatformProduct(data: Partial<UnifiedProductDTO>): any;
/**
*
* @param data
* @returns
*/
mapCreateProductParams(data: Partial<UnifiedProductDTO>): any;
/**
*
* @param data
* @returns
*/
mapUpdateProductParams(data: Partial<UnifiedProductDTO>): any;
/**
*
*/
getProduct(where: Partial<Pick<UnifiedProductDTO, 'id' | 'sku'>>): Promise<UnifiedProductDTO>;
/**
*
*/
getProducts(params: UnifiedSearchParamsDTO): Promise<UnifiedPaginationDTO<UnifiedProductDTO>>;
/**
*
*/
getAllProducts(params?: UnifiedSearchParamsDTO): Promise<UnifiedProductDTO[]>;
/**
*
*/
createProduct(data: Partial<UnifiedProductDTO>): Promise<UnifiedProductDTO>;
/**
*
*/
updateProduct(where: Partial<Pick<UnifiedProductDTO, 'id' | 'sku'>>, data: Partial<UnifiedProductDTO>): Promise<boolean>;
/**
*
*/
deleteProduct(where: Partial<Pick<UnifiedProductDTO, 'id' | 'sku'>>): Promise<boolean>;
/**
*
*/
batchProcessProducts?(data: BatchOperationDTO): Promise<BatchOperationResultDTO>;
// ========== 评论映射方法 ==========
/**
*
* @param data
* @returns
*/
mapPlatformToUnifiedReview(data: any): UnifiedReviewDTO;
/**
*
* @param data
* @returns
*/
mapUnifiedToPlatformReview(data: Partial<UnifiedReviewDTO>): any;
/**
*
* @param data
* @returns
*/
mapCreateReviewParams(data: CreateReviewDTO): any;
/**
*
* @param data
* @returns
*/
mapUpdateReviewParams(data: UpdateReviewDTO): any;
/**
*
*/
getReviews(params: UnifiedSearchParamsDTO): Promise<UnifiedPaginationDTO<UnifiedReviewDTO>>;
/**
*
*/
getAllReviews(params?: UnifiedSearchParamsDTO): Promise<UnifiedReviewDTO[]>;
/**
*
*/
createReview(data: CreateReviewDTO): Promise<UnifiedReviewDTO>;
/**
*
*/
updateReview(where: Partial<Pick<UnifiedReviewDTO, 'id'>>, data: UpdateReviewDTO): Promise<UnifiedReviewDTO>;
/**
*
*/
deleteReview(where: Partial<Pick<UnifiedReviewDTO, 'id'>>): Promise<boolean>;
// ========== 订阅映射方法 ==========
/**
*
* @param data
* @returns
*/
mapPlatformToUnifiedSubscription(data: any): UnifiedSubscriptionDTO;
/**
*
* @param data
* @returns
*/
mapUnifiedToPlatformSubscription(data: Partial<UnifiedSubscriptionDTO>): any;
/**
*
*/
getSubscriptions(params: UnifiedSearchParamsDTO): Promise<UnifiedPaginationDTO<UnifiedSubscriptionDTO>>;
/**
*
*/
getAllSubscriptions(params?: UnifiedSearchParamsDTO): Promise<UnifiedSubscriptionDTO[]>;
// ========== 产品变体映射方法 ==========
/**
*
* @param data
* @returns
*/
mapPlatformToUnifiedVariation(data: any): UnifiedProductVariationDTO;
/**
*
* @param data
* @returns
*/
mapUnifiedToPlatformVariation(data: Partial<UnifiedProductVariationDTO>): any;
/**
*
* @param data
* @returns
*/
mapCreateVariationParams(data: CreateVariationDTO): any;
/**
*
* @param data
* @returns
*/
mapUpdateVariationParams(data: UpdateVariationDTO): any;
/**
*
*/
getVariation(productId: string | number, variationId: string | number): Promise<UnifiedProductVariationDTO>;
/**
*
*/
getVariations(productId: string | number, params: UnifiedSearchParamsDTO): Promise<UnifiedVariationPaginationDTO>;
/**
*
*/
getAllVariations(productId: string | number, params?: UnifiedSearchParamsDTO): Promise<UnifiedProductVariationDTO[]>;
/**
*
*/
createVariation(productId: string | number, data: CreateVariationDTO): Promise<UnifiedProductVariationDTO>;
/**
*
*/
updateVariation(productId: string | number, variationId: string | number, data: UpdateVariationDTO): Promise<UnifiedProductVariationDTO>;
/**
*
*/
deleteVariation(productId: string | number, variationId: string | number): Promise<boolean>;
// ========== Webhook映射方法 ==========
/**
* Webhook数据转换为统一Webhook数据格式
* @param data Webhook数据
* @returns Webhook数据格式
*/
mapPlatformToUnifiedWebhook(data: any): UnifiedWebhookDTO;
/**
* Webhook数据格式转换为平台Webhook数据
* @param data Webhook数据格式
* @returns Webhook数据
*/
mapUnifiedToPlatformWebhook(data: Partial<UnifiedWebhookDTO>): any;
/**
* Webhook创建参数转换为平台Webhook创建参数
* @param data Webhook创建参数
* @returns Webhook创建参数
*/
mapCreateWebhookParams(data: CreateWebhookDTO): any;
/**
* Webhook更新参数转换为平台Webhook更新参数
* @param data Webhook更新参数
* @returns Webhook更新参数
*/
mapUpdateWebhookParams(data: UpdateWebhookDTO): any;
/**
* webhook
*/
getWebhook(where: Partial<Pick<UnifiedWebhookDTO, 'id'>>): Promise<UnifiedWebhookDTO>;
/**
* webhooks列表
*/
getWebhooks(params: UnifiedSearchParamsDTO): Promise<UnifiedWebhookPaginationDTO>;
/**
* webhooks
*/
getAllWebhooks(params?: UnifiedSearchParamsDTO): Promise<UnifiedWebhookDTO[]>;
/**
* webhook
*/
createWebhook(data: CreateWebhookDTO): Promise<UnifiedWebhookDTO>;
/**
* webhook
*/
updateWebhook(where: Partial<Pick<UnifiedWebhookDTO, 'id'>>, data: UpdateWebhookDTO): Promise<UnifiedWebhookDTO>;
/**
* webhook
*/
deleteWebhook(where: Partial<Pick<UnifiedWebhookDTO, 'id'>>): Promise<boolean>;
// ========== 站点/其他方法 ==========
/**
*
*/
getLinks(): Promise<Array<{ title: string, url: string }>>;
}