1515use Magento \Sales \Model \Order ;
1616use Magento \Framework \Exception \CouldNotSaveException ;
1717use Psr \Log \LoggerInterface ;
18+ use Magefan \GoogleTagManager \Model \Transaction \Log ;
1819
1920class PurchaseInterface
2021{
@@ -24,36 +25,21 @@ class PurchaseInterface
2425 protected $ transactionCollectionFactory ;
2526
2627 /**
27- * @var TransactionFactory
28+ * @var Log
2829 */
29- protected $ transactionFactory ;
30-
31- /**
32- * @var TransactionRepository
33- */
34- protected $ transactionRepository ;
35-
36- /**
37- * @var LoggerInterface
38- */
39- protected $ logger ;
30+ protected $ transactionLogger ;
4031
4132 /**
33+ * PurchaseInterface constructor.
4234 * @param TransactionCollectionFactory $transactionCollectionFactory
43- * @param TransactionFactory $transactionFactory
44- * @param TransactionRepository $transactionRepository
45- * @param LoggerInterface $logger
35+ * @param Log $transactionLogger
4636 */
4737 public function __construct (
4838 TransactionCollectionFactory $ transactionCollectionFactory ,
49- TransactionFactory $ transactionFactory ,
50- TransactionRepository $ transactionRepository ,
51- LoggerInterface $ logger
39+ Log $ transactionLogger
5240 ) {
5341 $ this ->transactionCollectionFactory = $ transactionCollectionFactory ;
54- $ this ->transactionFactory = $ transactionFactory ;
55- $ this ->transactionRepository = $ transactionRepository ;
56- $ this ->logger = $ logger ;
42+ $ this ->transactionLogger = $ transactionLogger ;
5743 }
5844
5945 /**
@@ -66,7 +52,7 @@ public function __construct(
6652 public function aroundGet (Subject $ subject , $ proceed , Order $ order , string $ requester = '' )
6753 {
6854 if ($ this ->isTransactionIdUniqueForRequester ($ requester , $ order )) {
69- $ this ->logTransaction ($ order , $ requester );
55+ $ this ->transactionLogger -> logTransaction ($ order , $ requester );
7056 return $ proceed ($ order , $ requester );
7157 } else {
7258 return [];
@@ -97,25 +83,4 @@ protected function isTransactionIdUniqueForRequester(string $requester, Order $o
9783
9884 return true ;
9985 }
100-
101- /**
102- * @param Order $order
103- * @param string $requester
104- * @return void
105- */
106- protected function logTransaction (Order $ order , string $ requester )
107- {
108- $ transactionModel = $ this ->transactionFactory ->create ();
109-
110- $ transactionModel ->setTransactionId ((string )$ order ->getIncrementId ());
111- $ transactionModel ->setStoreId ((int )$ order ->getStoreId ());
112- $ transactionModel ->setRequester ($ requester );
113-
114- try {
115- $ this ->transactionRepository ->save ($ transactionModel );
116- } catch (CouldNotSaveException $ e ) {
117- $ this ->logger ->log ("Magefan_GoogleTagManager error while logging transaction id: " . $ order ->getIncrementId ()
118- . ' and requester: ' . $ requester );
119- }
120- }
12186}
0 commit comments