Skip to content

Commit 220f980

Browse files
committed
Merge branch 'MAG-564' into 3.6.2
2 parents ec102be + 7d87b76 commit 220f980

File tree

1 file changed

+90
-7
lines changed

1 file changed

+90
-7
lines changed

Cron/RetryCaseJob.php

+90-7
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,14 @@
88
namespace Signifyd\Connect\Cron;
99

1010
use Magento\Framework\ObjectManagerInterface;
11+
use Magento\Sales\Model\ResourceModel\Order as OrderResourceModel;
12+
use Magento\Sales\Model\OrderFactory;
1113
use Signifyd\Connect\Logger\Logger;
1214
use Signifyd\Connect\Helper\PurchaseHelper;
1315
use Signifyd\Connect\Helper\Retry;
1416
use Signifyd\Connect\Model\Casedata;
17+
use Signifyd\Connect\Model\ResourceModel\Casedata as CasedataResourceModel;
18+
use Signifyd\Connect\Model\CasedataFactory;
1519

1620
class RetryCaseJob
1721
{
@@ -35,16 +39,60 @@ class RetryCaseJob
3539
*/
3640
protected $caseRetryObj;
3741

42+
/**
43+
* @var OrderResourceModel
44+
*/
45+
protected $orderResourceModel;
46+
47+
/**
48+
* @var OrderFactory
49+
*/
50+
protected $orderFactory;
51+
52+
/**
53+
* @var CasedataResourceModel
54+
*/
55+
protected $casedataResourceModel;
56+
57+
/**
58+
* @var CasedataFactory\
59+
*/
60+
protected $casedataFactory;
61+
62+
/**
63+
* @var \StripeIntegration\Payments\Model\Config
64+
*/
65+
protected $stripeConfig;
66+
67+
/**
68+
* RetryCaseJob constructor.
69+
* @param ObjectManagerInterface $objectManager
70+
* @param PurchaseHelper $helper
71+
* @param Logger $logger
72+
* @param Retry $caseRetryObj
73+
* @param OrderResourceModel $orderResourceModel
74+
* @param OrderFactory $orderFactory
75+
* @param CasedataResourceModel $casedataResourceModel
76+
* @param CasedataFactory $casedataFactory
77+
*/
3878
public function __construct(
3979
ObjectManagerInterface $objectManager,
4080
PurchaseHelper $helper,
4181
Logger $logger,
42-
Retry $caseRetryObj
82+
Retry $caseRetryObj,
83+
OrderResourceModel $orderResourceModel,
84+
OrderFactory $orderFactory,
85+
CasedataResourceModel $casedataResourceModel,
86+
CasedataFactory $casedataFactory
4387
) {
4488
$this->_objectManager = $objectManager;
4589
$this->_helper = $helper;
4690
$this->logger = $logger;
4791
$this->caseRetryObj = $caseRetryObj;
92+
$this->orderResourceModel = $orderResourceModel;
93+
$this->orderFactory = $orderFactory;
94+
$this->casedataResourceModel = $casedataResourceModel;
95+
$this->casedataFactory = $casedataFactory;
4896
}
4997

5098
/**
@@ -70,13 +118,15 @@ public function execute()
70118
$result = $this->_helper->postCaseToSignifyd($caseData, $order);
71119

72120
if ($result) {
73-
/** @var \Signifyd\Connect\Model\Casedata $caseObj */
74-
$caseObj = $this->_objectManager->create(\Signifyd\Connect\Model\Casedata::class)
75-
->load($case->getOrderIncrement())
76-
->setCode($result)
121+
/** @var Casedata $caseObj */
122+
$caseObj = $this->casedataFactory->create();
123+
$this->casedataResourceModel->load($caseObj, $case->getOrderIncrement());
124+
125+
$caseObj->setCode($result)
77126
->setMagentoStatus(Casedata::IN_REVIEW_STATUS)
78127
->setUpdated(strftime('%Y-%m-%d %H:%M:%S', time()));
79-
$caseObj->save();
128+
129+
$this->casedataResourceModel->save($caseObj);
80130
}
81131
}
82132

@@ -109,8 +159,41 @@ public function execute()
109159
return $this;
110160
}
111161

162+
/**
163+
* @param $incrementId
164+
* @return \Magento\Sales\Model\Order
165+
*/
112166
public function getOrder($incrementId)
113167
{
114-
return $this->_objectManager->get(\Magento\Sales\Model\Order::class)->loadByIncrementId($incrementId);
168+
$order = $this->orderFactory->create();
169+
$this->orderResourceModel->load($order, $incrementId, 'increment_id');
170+
171+
if ($order->getPayment()->getMethod() == 'stripe_payments') {
172+
$this->reInitStripe($order);
173+
}
174+
175+
return $order;
176+
}
177+
178+
/**
179+
* @param \Magento\Sales\Model\Order $order
180+
* @return bool
181+
*/
182+
public function reInitStripe(\Magento\Sales\Model\Order $order)
183+
{
184+
if (class_exists(\StripeIntegration\Payments\Model\Config::class) === false) {
185+
return false;
186+
}
187+
188+
if ($this->stripeConfig === null) {
189+
$this->stripeConfig = $this->_objectManager->get(\StripeIntegration\Payments\Model\Config::class);
190+
}
191+
192+
if (version_compare(\StripeIntegration\Payments\Model\Config::$moduleVersion, '1.8.8') >= 0 &&
193+
method_exists($this->stripeConfig, 'reInitStripe')) {
194+
$this->stripeConfig->reInitStripe($order->getStoreId(), $order->getBaseCurrencyCode(), null);
195+
}
196+
197+
return true;
115198
}
116199
}

0 commit comments

Comments
 (0)