我们在实现时遇到了这种情况,以下是需求的顺序
- 某些用户(B2BCustomer(可以访问系统中的多个SoldTo(B2BUnit(
- 在开始商务旅程之前,用户必须选择一个"销售对象 "
- 选择"已售至",然后标记为"默认B2BUnit">
- 商务旅程的其余部分(PLP、购物车、结账和订单(基于选定的销售对象
这里的挑战是由于"分支"限制,用户只能访问设置为"DefaultB2BUnit"的 SoldTo,并且没有任何 OOTB 服务允许我们获取分配的所有 B2BUnit 的列表并将用户选择的一个更改为默认值。 是否有任何可用的服务,通过该服务我们可以检索分配给用户的所有SoldTo(B2BUnit(并在登录后将其设置为默认值
您需要创建B2Bunit并将其分配给B2BCustomer组,然后您可以读取所有组。
请尝试以下方法:
/**
* Assigns a default unit for a customer who may be a member of multiple units. and modifies a branch for this
* customers session based on the unit
*
* @param customer
* The current customer
* @param unit
* A {@link B2BUnitModel} to be assigned as the default for a customer
*/
void setCurrentUnit(B2BCustomerModel customer, B2BUnitModel unit);
根据您的要求,您需要删除分支限制。
分支限制允许客户访问一个组织层次结构中其 B2B 部门及其后代的数据。
如果您没有 b2b 单元的层次结构,则分支限制应该不相关,可以禁用。
一旦您将禁用限制,那么我认为您的要求可以轻松实现。