51 $this->
_init(
'sales_order',
'entity_id');
76 $entityRelationComposite,
96 [
'o' => $this->
getTable(
'sales_order_item')],
99 ->where(
'o.order_id=?', $orderId)
100 ->where(
'o.product_id IS NOT NULL')
101 ->group(
'o.product_type');
102 if ($productTypeIds) {
105 '(o.product_type %s (?))',
106 $isProductTypeIn ?
'IN' :
'NOT IN' 120 protected function calculateItems(\
Magento\Sales\Model\
Order $object)
123 if (!$object->getId()) {
124 foreach ($object->getAllItems() as
$item) {
126 $parent =
$item->getQuoteParentItemId();
127 if ($parent && !
$item->getParentItem()) {
128 $item->setParentItem($object->getItemByQuoteItemId($parent));
130 $childItems =
$item->getChildrenItems();
131 if (empty($childItems)) {
145 if (!$object->getId()) {
147 $store = $object->getStore();
149 $store->getWebsite()->getName(),
150 $store->getGroup()->getName(),
153 $object->setStoreName(implode(PHP_EOL,
$name));
154 $object->setTotalItemCount($this->calculateItems($object));
164 $isNewCustomer = !$object->getCustomerId() || $object->getCustomerId() ===
true;
165 if ($isNewCustomer && $object->getCustomer()) {
166 $object->setCustomerId($object->getCustomer()->getId());
168 return parent::_beforeSave($object);
174 public function save(\
Magento\Framework\Model\AbstractModel $object)
177 $this->stateHandler->check($object);
178 return parent::save($object);
aggregateProductsByTypes($orderId, $productTypeIds=[], $isProductTypeIn=false)
static getRandomNumber($min=0, $max=null)
__construct(\Magento\Framework\Model\ResourceModel\Db\Context $context, Snapshot $entitySnapshot, RelationComposite $entityRelationComposite, Attribute $attribute, Manager $sequenceManager, StateHandler $stateHandler, $connectionName=null)
_init($mainTable, $idFieldName)
_beforeSave(\Magento\Framework\Model\AbstractModel $object)
save(\Magento\Framework\Model\AbstractModel $object)
if(!isset($_GET['name'])) $name