【发布时间】:2018-11-12 13:00:51
【问题描述】:
在我们的项目中发生了一种罕见的情况,即两个订单在生产环境中映射到同一个来宾客户。但是,预计每次来宾用户下订单时,都会立即创建一个具有来宾 ID 的新用户。 复制这个的测试场景应该是什么?
【问题讨论】:
标签: hybris
在我们的项目中发生了一种罕见的情况,即两个订单在生产环境中映射到同一个来宾客户。但是,预计每次来宾用户下订单时,都会立即创建一个具有来宾 ID 的新用户。 复制这个的测试场景应该是什么?
【问题讨论】:
标签: hybris
使用特定生成的 uid 创建来宾客户。这个uid是这样生成的:
UUID.randomUUID().toString() + "|" + email
在极不可能的情况下,对于具有相同电子邮件的来宾客户,会生成相同的 UUID,可能会从数据库中检索客户并为其分配第二个购物车。但是,这应该引发 DuplicateUidException 并阻止执行以下代码。
更多细节参考这个方法:
de.hybris.platform.commercefacades.customer.impl.DefaultCustomerFacade#createGuestUserForAnonymousCheckout
【讨论】:
可能是这些访客用户提供了相同的电子邮件地址,或者您的电子邮件不需要的字符清理代码使它们相同。
【讨论】: