Files
makemd/docs/SERVICES/product.md
wurenzhi 2b86715c09 refactor: 优化代码结构并修复类型问题
- 移除未使用的TabPane组件
- 修复类型定义和导入方式
- 优化mock数据源的环境变量判断逻辑
- 更新文档结构并归档旧文件
- 添加新的UI组件和Memo组件
- 调整API路径和响应处理
2026-03-23 12:41:35 +08:00

3.5 KiB

商品域服务

入口: _index.md


服务列表

服务 文件 职责
ProductService services/ProductService.ts 商品主数据管理
SKUService services/SKUService.ts SKU变体管理
ListingService services/ListingService.ts 平台刊登管理
PricingService services/PricingService.ts 价格计算

核心流程

商品采集 → SPU创建 → SKU生成 → 平台刊登 → 价格同步

ProductService

方法列表

方法 说明 参数 返回
list 商品列表 ListParams Product[]
get 商品详情 id Product
create 创建商品 CreateRequest Product
update 更新商品 id, UpdateRequest Product
delete 删除商品 id void

示例

// 获取商品列表
const products = await ProductService.list({
  tenantId: 'tenant-001',
  shopId: 'shop-001',
  status: 'ACTIVE',
  page: 1,
  pageSize: 20,
});

// 创建商品
const product = await ProductService.create({
  tenantId: 'tenant-001',
  shopId: 'shop-001',
  name: '商品名称',
  platform: 'SHOPIFY',
  // ...
});

SKUService

方法列表

方法 说明 参数 返回
list SKU列表 productId SKU[]
get SKU详情 id SKU
create 创建SKU CreateRequest SKU
update 更新SKU id, UpdateRequest SKU
updateStock 更新库存 id, quantity SKU

ListingService

方法列表

方法 说明 参数 返回
list 刊登列表 ListParams Listing[]
get 刊登详情 id Listing
publish 刊登商品 PublishRequest Listing
updatePrice 更新价格 id, price Listing
syncInventory 同步库存 id, stock Listing

PricingService

方法列表

方法 说明 参数 返回
calculate 计算价格 PriceParams number
getStrategy 获取策略 id PriceStrategy
createStrategy 创建策略 CreateRequest PriceStrategy
updateStrategy 更新策略 id, UpdateRequest PriceStrategy

价格计算流程

基准价(SKU.basePrice)
    ↓
策略计算(PriceStrategy)
    ↓
最终价(Listing.price)

示例

const finalPrice = await PricingService.calculate({
  basePrice: 100,
  strategy: {
    type: 'multiplier',
    value: 1.2,
  },
  platform: 'SHOPIFY',
});
// 结果: 120

状态机

DRAFT → PENDING_REVIEW → ACTIVE → INACTIVE
                              ↓
                         ARCHIVED
状态 说明 允许操作
DRAFT 草稿 编辑、删除、提交审核
PENDING_REVIEW 待审核 审核通过、审核拒绝
ACTIVE 活跃 编辑、停用、刊登
INACTIVE 停用 启用、归档
ARCHIVED 归档 删除

API端点

端点 方法 服务方法
/api/v1/products GET ProductService.list
/api/v1/products POST ProductService.create
/api/v1/products/:id GET ProductService.get
/api/v1/products/:id PUT ProductService.update
/api/v1/products/:id DELETE ProductService.delete
/api/v1/products/:id/skus GET SKUService.list
/api/v1/products/:id/listings GET ListingService.list
/api/v1/listings/:id/publish POST ListingService.publish

最后更新: 2026-03-22