@@ -66,6 +66,11 @@ class Collection extends \Magento\Customer\Model\Resource\Customer\Collection
66
66
*/
67
67
protected $ _quoteItemFactory ;
68
68
69
+ /**
70
+ * @var \Magento\Sales\Model\Resource\Order\Collection
71
+ */
72
+ protected $ orderResource ;
73
+
69
74
/**
70
75
* @param \Magento\Framework\Data\Collection\EntityFactory $entityFactory
71
76
* @param \Psr\Log\LoggerInterface $logger
@@ -79,6 +84,7 @@ class Collection extends \Magento\Customer\Model\Resource\Customer\Collection
79
84
* @param \Magento\Framework\Object\Copy\Config $fieldsetConfig
80
85
* @param \Magento\Quote\Model\QuoteRepository $quoteRepository
81
86
* @param \Magento\Quote\Model\Resource\Quote\Item\CollectionFactory $quoteItemFactory
87
+ * @param \Magento\Sales\Model\Resource\Order\Collection $orderResource
82
88
* @param mixed $connection
83
89
* @param string $modelName
84
90
*
@@ -97,6 +103,7 @@ public function __construct(
97
103
\Magento \Framework \Object \Copy \Config $ fieldsetConfig ,
98
104
\Magento \Quote \Model \QuoteRepository $ quoteRepository ,
99
105
\Magento \Quote \Model \Resource \Quote \Item \CollectionFactory $ quoteItemFactory ,
106
+ \Magento \Sales \Model \Resource \Order \Collection $ orderResource ,
100
107
$ connection = null ,
101
108
$ modelName = self ::CUSTOMER_MODEL_NAME
102
109
) {
@@ -114,6 +121,7 @@ public function __construct(
114
121
$ connection ,
115
122
$ modelName
116
123
);
124
+ $ this ->orderResource = $ orderResource ;
117
125
$ this ->quoteRepository = $ quoteRepository ;
118
126
$ this ->_quoteItemFactory = $ quoteItemFactory ;
119
127
}
@@ -175,17 +183,17 @@ protected function _addOrdersStatistics()
175
183
$ customerIds = $ this ->getColumnValues ($ this ->getResource ()->getIdFieldName ());
176
184
177
185
if ($ this ->_addOrderStatistics && !empty ($ customerIds )) {
178
- $ adapter = $ this ->getConnection ();
186
+ $ adapter = $ this ->orderResource -> getConnection ();
179
187
$ baseSubtotalRefunded = $ adapter ->getIfNullSql ('orders.base_subtotal_refunded ' , 0 );
180
188
$ baseSubtotalCanceled = $ adapter ->getIfNullSql ('orders.base_subtotal_canceled ' , 0 );
181
189
182
190
$ totalExpr = $ this ->_addOrderStatFilter ?
183
191
"(orders.base_subtotal- {$ baseSubtotalCanceled }- {$ baseSubtotalRefunded })*orders.base_to_global_rate " :
184
192
"orders.base_subtotal- {$ baseSubtotalCanceled }- {$ baseSubtotalRefunded }" ;
185
193
186
- $ select = $ this ->getConnection ()->select ();
194
+ $ select = $ this ->orderResource -> getConnection ()->select ();
187
195
$ select ->from (
188
- ['orders ' => $ this ->getTable ('sales_order ' )],
196
+ ['orders ' => $ this ->orderResource -> getTable ('sales_order ' )],
189
197
[
190
198
'orders_avg_amount ' => "AVG( {$ totalExpr }) " ,
191
199
'orders_sum_amount ' => "SUM( {$ totalExpr }) " ,
@@ -202,7 +210,7 @@ protected function _addOrdersStatistics()
202
210
'orders.customer_id '
203
211
);
204
212
205
- foreach ($ this ->getConnection ()->fetchAll ($ select ) as $ ordersInfo ) {
213
+ foreach ($ this ->orderResource -> getConnection ()->fetchAll ($ select ) as $ ordersInfo ) {
206
214
$ this ->getItemById ($ ordersInfo ['customer_id ' ])->addData ($ ordersInfo );
207
215
}
208
216
}
0 commit comments