| @@ 13-53 (lines=41) @@ | ||
| 10 | use Orm\Zed\Sales\Persistence\SpySalesOrderItem; |
|
| 11 | use Spryker\Zed\Oms\Dependency\Plugin\Condition\ConditionInterface; |
|
| 12 | ||
| 13 | abstract class AbstractOrderItemConditionPlugin implements ConditionInterface |
|
| 14 | { |
|
| 15 | /** |
|
| 16 | * @return string |
|
| 17 | */ |
|
| 18 | abstract protected function getConditionalStatus(); |
|
| 19 | ||
| 20 | /** |
|
| 21 | * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $orderItem |
|
| 22 | * |
|
| 23 | * @return bool |
|
| 24 | */ |
|
| 25 | public function check(SpySalesOrderItem $orderItem) |
|
| 26 | { |
|
| 27 | $payment = $this->getPaymentAmazonpayBySalesOrderItem($orderItem); |
|
| 28 | ||
| 29 | if ($payment === null) { |
|
| 30 | return true; |
|
| 31 | } |
|
| 32 | ||
| 33 | return $payment->getStatus() === $this->getConditionalStatus(); |
|
| 34 | } |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $orderItem |
|
| 38 | * |
|
| 39 | * @return \Orm\Zed\AmazonPay\Persistence\SpyPaymentAmazonpay|null |
|
| 40 | */ |
|
| 41 | protected function getPaymentAmazonpayBySalesOrderItem(SpySalesOrderItem $orderItem) |
|
| 42 | { |
|
| 43 | $lastPayment = $orderItem->getSpyPaymentAmazonpaySalesOrderItems()->getLast(); |
|
| 44 | ||
| 45 | if (!$lastPayment) { |
|
| 46 | return null; |
|
| 47 | } |
|
| 48 | ||
| 49 | return $lastPayment->getSpyPaymentAmazonpay(); |
|
| 50 | } |
|
| 51 | } |
|
| 52 | ||
| @@ 13-51 (lines=39) @@ | ||
| 10 | use Orm\Zed\Sales\Persistence\SpySalesOrderItem; |
|
| 11 | use Spryker\Zed\Oms\Dependency\Plugin\Condition\ConditionInterface; |
|
| 12 | ||
| 13 | abstract class AbstractByOrderItemConditionPlugin implements ConditionInterface |
|
| 14 | { |
|
| 15 | /** |
|
| 16 | * @return string |
|
| 17 | */ |
|
| 18 | abstract protected function getPaymentStatus(); |
|
| 19 | ||
| 20 | /** |
|
| 21 | * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $orderItem |
|
| 22 | * |
|
| 23 | * @return bool |
|
| 24 | */ |
|
| 25 | public function check(SpySalesOrderItem $orderItem) |
|
| 26 | { |
|
| 27 | $payment = $this->getPaymentAmazonpayBySalesOrderItem($orderItem); |
|
| 28 | ||
| 29 | if ($payment === null) { |
|
| 30 | return true; |
|
| 31 | } |
|
| 32 | ||
| 33 | return $payment->getStatus() === $this->getPaymentStatus(); |
|
| 34 | } |
|
| 35 | ||
| 36 | /** |
|
| 37 | * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $orderItem |
|
| 38 | * |
|
| 39 | * @return \Orm\Zed\AmazonPay\Persistence\SpyPaymentAmazonpay|null |
|
| 40 | */ |
|
| 41 | protected function getPaymentAmazonpayBySalesOrderItem(SpySalesOrderItem $orderItem) |
|
| 42 | { |
|
| 43 | $lastPayment = $orderItem->getSpyPaymentAmazonpaySalesOrderItems()->getLast(); |
|
| 44 | ||
| 45 | if (!$lastPayment) { |
|
| 46 | return null; |
|
| 47 | } |
|
| 48 | ||
| 49 | return $lastPayment->getSpyPaymentAmazonpay(); |
|
| 50 | } |
|
| 51 | } |
|
| 52 | ||