[错误]: 客户组价目表永远不适用 — 规则写成 `customer_group_id`,但匹配为 `customer.groups.id`
□ 错误报告
在价格计算过程中,一个针对客户群体的价格清单被默默地忽略了。 集团内的客户继续支付违约价格——没有出错,没有警告.
原因是特性的两半之间属性名称不匹配:
QQ 属性 QQ | -- -- -- -- -- -- --
- 由行政仪表板、
POST/admin/价格清单 ' 和创建价格列表 ' 编写 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
price list rule.apitation'与平整上下文键(plr.apition =?'在`packages/moules/priceing/src/resitories/price.ts')进行逐字比较,因此两者从未相会。
□ 最小复制
商店产品路线(`包装/medusa/src/api/utils/中相器/产品/set-price-context.ts')所构建的背景:
平坦对象TeyValuePairs ({) 区域 id: "reg 1", 客户: { 组: [{ id: "cusgroup 1"}}}} , ) (中文(简体) ). //=> {区域 id:"reg 1","客户.groups.id": ["cusgroup 1"] } // ^ 不是“ 客户 group id”
以运行中的服务器结尾 :
1. 创建客户集团和其中的客户.
2. 创建价为1000的变体。
3. `POST/admin/价格清单'
QQ"类型":"覆盖","状态":"活动","规则":{"客户 组 id": ["组-Id"];"价格": [{"变相-id":"<id","货币-代码":"usd","amount":780}]
4. 作为客户:`GET/储存/产品?region id=. & fields-=*vatants. 计算出 价格'
** 预计:** `计算出-amount' 780,`是-计算出-价格-价格-清单 ' 真实。
** 实际:**`计算出-amount' 1000,`是-计算出-价格-价格-清单 ' 虚假。
只更改规则属性
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
更新价格 list rule SET属性 = “ 客户. groups.ids. Where profile = “客户 group id” ;之后,同一请求返回了780个。
同样的故障通过推车发生——行项是按集团内客户的默认价格创建的.
有两件事让人很难注意到:
- 管理员仪表板仍然使价格列表("Customer group ^ 批发")正确,因为显示路径从规则 * 值 * 解决分组,无论属性名称如何.
- `GET/admin/price-lists'反应回任何存储的属性,所以API反应看起来无论哪种方式都是一致的。
请注意,客户.groups.id'是这一概念已经使用的 v2 的其余属性——见规则属性-图.ts'晋升,以及`客户.groups.id'在推车和订单工作流程中的外地名单。
□ 系统信息
美杜莎版本(包括插件): @ Medusajs/美杜莎' 2.2.1. 0; @ Medusajs/定价 2.2.1. 0; `@medusajs/core-flows 2.2.1.
Node.js版本: 20.20.2
数据库:PostgreSQL 15.19
操作系统: macOS (Darwin 25.4.0)
浏览器( 如果相关): n/a
内容来源: medusajs/medusa