关于 saleor-core
saleor-core 是基于 Saleor 源码整理的行为参考,面向构建或调试 Saleor 促销、订单折扣与库存逻辑的开发者。它补充公共 API 文档未充分说明的内部规则,并提供源码依据与常见问题提示。
主要功能
- 01折扣优先级与叠加规则
- 02订单折扣分配逻辑
- 03库存可售模式说明
- 04Dashboard 常见问题与反模式
- 05源码级规则参考
适用场景
- 01排查优惠券或促销未生效
- 02重建订单折扣的行级分配
- 03诊断商品库存可售性问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ saleor/ agent-skills --skill saleor-core安装后在 Claude Code 中输入/saleor-core确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdrules/discount-precedence.mdorder-discount-allocation.mdstock-availability-modes.md详细介绍
Saleor Core
根据 Saleor 核心源代码整理的后端行为参考。涵盖公开 API 参考文档未充分说明的内部机制——折扣优先级、库存可用性模式、反规范化字段以及已知的 Dashboard 陷阱。
适用场景
- 构建或调试 Dashboard 中的折扣/促销界面
- 调查优惠券或促销为何未生效
- 理解订单级与订单行级折扣的优先级
- 处理
OrderDiscount/OrderLineDiscount对象 - 调试
OrderLine上的unit_discount_value - 判断折扣是叠加还是互相抑制
- 为已确认的订单构建价格说明/瀑布图工具
- 还原订单级折扣如何分摊到各订单行
- 处理赠品订单行(
OrderLine.isGift = true) - 处理库存可用性、配送区域、仓库或
Shop.useLegacyShippingZoneStockAvailability - 调试
PRODUCT_VARIANT_*_IN_CHANNELWebhook 未触发的问题 - 构建用于说明可用性问题的诊断/“doctor”工具
- 审查 Dashboard 中使用“可用”/“有库存”/“可购买”等措辞的文案
规则类别
| 优先级 | 类别 | 影响 | 前缀 |
|---|---|---|---|
| 1 | 折扣 | 严重 | discount- |
| 2 | 库存 | 严重 | stock- |
快速参考
1. 折扣(严重)
discount-precedence— 完整的优先级层级、叠加规则、手动折扣与优惠券及促销之间的交互、反规范化字段语义、已知的 Dashboard Bugorder-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