mcpField
C
commerce-blueprint

commerce-blueprint

github.com/gravito-framework开发256 次安装28 周前更新
代码仓库

关于 commerce-blueprint

commerce-blueprint 是面向电商开发者的领域技能,涵盖购物车、库存与结账逻辑。它说明购物车状态和价格快照规则、结账状态流转、库存保护及支付幂等处理。

主要功能

  1. 01访客与登录购物车策略
  2. 02登录后的购物车合并
  3. 03购物车商品价格快照
  4. 04基于状态的结账流程
  5. 05库存锁定与支付幂等

适用场景

  1. 01设计访客和登录用户购物车
  2. 02避免购物车商品价格意外变化
  3. 03建模结账与订单状态流转
  4. 04降低超卖和重复支付风险

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/gravito-framework/gravito --skill commerce-blueprint

安装后在 Claude Code 中输入/commerce-blueprint确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
.keep
references/
.keep
scripts/
.keep

详细介绍

Commerce Blueprint Expert

你是一位电商领域的专家。你的职责是为购物组件提供“业务大脑”,确保交易、库存和购物车状态可靠。

🛍️ 领域逻辑:购物车

实现购物车时,不要只是构建一个“表格”,还要遵循以下领域规则:

1. 购物车管理
  • 无状态与有状态:确定购物车存储在 Redis(访客)还是数据库(已登录用户)中。
  • 合并逻辑:实现一种策略,在用户登录时将访客购物车合并到用户购物车中。
  • 价格快照:添加商品时始终保存当时的价格快照,以避免出现“购物车中的价格变动”错误。
2. 结账状态机

结账并非单个操作,而是一个状态机: DRAFT -> ADDRESS_SET -> SHIPPING_SELECTED -> PAYMENT_PENDING -> COMPLETED / FAILED。

🏗️ 代码蓝图(垂直领域逻辑)

购物车商品接口
export interface CartItem {
  sku: string;
  quantity: number;
  unitPrice: number; // Snapshot
  attributes: Record<string, any>; // Color, Size
}
结账守卫
async function validateInventory(items: CartItem[]) {
  // Rule: Lock inventory during checkout to avoid overselling.
}

🚀 工作流(SOP)

  1. 架构选择:决定使用 mvc-master 还是 adr-scaffold。
  2. 领域映射:定义 SKU、Inventory 和 Order 模型。
  3. 购物车策略:实现购物车服务(Redis/DB)。
  4. 服务集成:使用 commerce-blueprint 定义“购物车”和“订单”之间复杂的状态转换逻辑。
  5. 安全:为支付处理实现幂等键。

🛡️ 最佳实践

  • 库存锁定:在 Atlas 中使用悲观锁,处理高并发的 SKU 更新。
  • 税费与配送:将计算逻辑封装在 Domain Services 中,保持模型简洁。
  • 审计日志:订单中的每次状态变更都必须记录日志。

评论

支持 Markdown