|
123456789101112131415161718192021222324252627282930313233343536 |
- <?php
-
- namespace common\logic\Payment\Repository;
-
- use common\logic\AbstractRepositoryQuery;
- use common\logic\Order\Order\Model\Order;
- use common\logic\Payment\Service\PaymentDefinition;
- use common\logic\User\User\Model\User;
-
- class PaymentRepositoryQuery extends AbstractRepositoryQuery
- {
- protected PaymentDefinition $definition;
-
- public function loadDependencies(): void
- {
- $this->loadDefinition(PaymentDefinition::class);
- }
-
- public function filterByOrder(Order $order): self
- {
- $this->andWhere(['id_order' => $order->id]);
- return $this;
- }
-
- public function filterByUser(User $user): self
- {
- $this->andWhere(['id_user' => $user->id]);
- return $this;
- }
-
- public function filterIsCredit()
- {
- $this->andWhere("payment.type = 'initial-credit' OR payment.type = 'credit' OR payment.type = 'debit' OR (payment.type = 'payment' AND payment.mean_payment = 'credit') OR (payment.type = 'refund' AND payment.mean_payment = 'credit')");
- return $this;
- }
- }
|