mcpField
S
saleor-core

saleor-core

github.com/saleor开发2415 次安装13 周前更新
代码仓库

关于 saleor-core

saleor-core 是基于 Saleor 源码整理的行为参考,面向构建或调试 Saleor 促销、订单折扣与库存逻辑的开发者。它补充公共 API 文档未充分说明的内部规则,并提供源码依据与常见问题提示。

主要功能

  1. 01折扣优先级与叠加规则
  2. 02订单折扣分配逻辑
  3. 03库存可售模式说明
  4. 04Dashboard 常见问题与反模式
  5. 05源码级规则参考

适用场景

  1. 01排查优惠券或促销未生效
  2. 02重建订单折扣的行级分配
  3. 03诊断商品库存可售性问题

安装

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

$npx skills add https://github.com/saleor/agent-skills --skill saleor-core

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

包含的文件

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

README.md
rules/
discount-precedence.md
order-discount-allocation.md
stock-availability-modes.md

详细介绍

Saleor Core

根据 Saleor 核心源代码整理的后端行为参考。涵盖公开 API 参考文档未充分说明的内部机制——折扣优先级、库存可用性模式、反规范化字段以及已知的 Dashboard 陷阱。

适用场景

  • 构建或调试 Dashboard 中的折扣/促销界面
  • 调查优惠券或促销为何未生效
  • 理解订单级与订单行级折扣的优先级
  • 处理 OrderDiscount / OrderLineDiscount 对象
  • 调试 OrderLine 上的 unit_discount_value
  • 判断折扣是叠加还是互相抑制
  • 为已确认的订单构建价格说明/瀑布图工具
  • 还原订单级折扣如何分摊到各订单行
  • 处理赠品订单行(OrderLine.isGift = true)
  • 处理库存可用性、配送区域、仓库或 Shop.useLegacyShippingZoneStockAvailability
  • 调试 PRODUCT_VARIANT_*_IN_CHANNEL Webhook 未触发的问题
  • 构建用于说明可用性问题的诊断/“doctor”工具
  • 审查 Dashboard 中使用“可用”/“有库存”/“可购买”等措辞的文案

规则类别

优先级类别影响前缀
1折扣严重discount-
2库存严重stock-

快速参考

1. 折扣(严重)
  • discount-precedence — 完整的优先级层级、叠加规则、手动折扣与优惠券及促销之间的交互、反规范化字段语义、已知的 Dashboard Bug
  • order-discount-allocation — 订单级折扣的两轮计算(第一轮将记录合并为单个 subtotal_discount;第二轮按比例分摊到各订单行,并由最后一行吸收舍入误差)、API 暴露的内容(每行总额、每条订单级记录的金额)与未暴露的内容(每条记录在每行上的分解)、赠品行结构陷阱(当 isGift = true 时,OrderLine.discounts[] 中会出现 ORDER_PROMOTION),以及面向使用方的还原指南
2. 库存(严重)
  • stock-availability-modes — Shop.useLegacyShippingZoneStockAvailability(3.23+)、可购买性与可配送性、服务端 QuerySet 分派、依模式而定的 Webhook、Dashboard 界面/文案/严重性规则、迁移陷阱、测试 Fixture

使用方法

阅读单独的规则文件,了解详细说明和源码级证据:

rules/discount-precedence.md
rules/order-discount-allocation.md
rules/stock-availability-modes.md

每个规则文件都包含:

  • 优先级层级或计算规则
  • 来自 saleor/ 的源代码引用,包括函数名称和文件路径
  • 反模式和已知 Bug

评论

支持 Markdown