Hybris set/generate versionID 在哪里获取命令?
Where does Hybris set/generate versionID for orders?
想知道是否有人可以告诉我 where/how Hybris 正在为修改等订单生成版本 ID
谢谢
订单 VersionID 是在 DefaultOrderHistoryService.createHistorySnapshot(OrderModel)
中使用 KeyGenerator
生成的
在取消订单、return或更换订单的情况下,将版本 ID 分配给订单。
对服务的完整引用; de.hybris.platform.orderhistory.impl.DefaultOrderHistoryService
维护订单历史记录和订单版本控制的目的是跟踪应用于订单的更改,这有助于客户服务代理查看特定订单的实际情况。
OrderHistoryEntry用于存放订单处理的历史信息。这不会创建原始订单的新版本,但可以引用订单状态快照。
OrderHistoryEntryModel entry = modelService.create(OrderHistoryEntryModel.class);
entry.setTimestamp(new Date());
entry.setOrder(processedOrder);
entry.setDescription("fraud check manually passed");
entry.setEmployee( (EmployeeModel)userService.getCurrentUser() );
要将之前的订单状态保留为历史信息,需要在更改订单之前创建订单快照。这将创建原始订单的新版本。每个快照都将包含特定的版本 ID。
OrderHistoryService historyService = ..
// create snapshot - not persisted yet !
OrderModel snapshot = historyService.createHistorySnapshot(processedOrder);
该服务将生成原始订单的深层副本。
现在我们也可以将此快照保存在 OrderHistoryEntryModel 中。
entry.setPreviousOrderVersion(snapshot);
我们需要手动持久化快照
// persist snapshot manually - this is necessary due to historical reasons
historyService.saveHistorySnapshot(snapshot);
由于快照也像订单一样驻留在同一个 table 中,要获取所有原始订单,您还需要在获取订单时应用 {versionID} IS NULL
条件。
想知道是否有人可以告诉我 where/how Hybris 正在为修改等订单生成版本 ID
谢谢
订单 VersionID 是在 DefaultOrderHistoryService.createHistorySnapshot(OrderModel)
中使用 KeyGenerator
在取消订单、return或更换订单的情况下,将版本 ID 分配给订单。
对服务的完整引用; de.hybris.platform.orderhistory.impl.DefaultOrderHistoryService
维护订单历史记录和订单版本控制的目的是跟踪应用于订单的更改,这有助于客户服务代理查看特定订单的实际情况。
OrderHistoryEntry用于存放订单处理的历史信息。这不会创建原始订单的新版本,但可以引用订单状态快照。
OrderHistoryEntryModel entry = modelService.create(OrderHistoryEntryModel.class);
entry.setTimestamp(new Date());
entry.setOrder(processedOrder);
entry.setDescription("fraud check manually passed");
entry.setEmployee( (EmployeeModel)userService.getCurrentUser() );
要将之前的订单状态保留为历史信息,需要在更改订单之前创建订单快照。这将创建原始订单的新版本。每个快照都将包含特定的版本 ID。
OrderHistoryService historyService = ..
// create snapshot - not persisted yet !
OrderModel snapshot = historyService.createHistorySnapshot(processedOrder);
该服务将生成原始订单的深层副本。
现在我们也可以将此快照保存在 OrderHistoryEntryModel 中。
entry.setPreviousOrderVersion(snapshot);
我们需要手动持久化快照
// persist snapshot manually - this is necessary due to historical reasons
historyService.saveHistorySnapshot(snapshot);
由于快照也像订单一样驻留在同一个 table 中,要获取所有原始订单,您还需要在获取订单时应用 {versionID} IS NULL
条件。