|
- <?php
-
- namespace Lc\ShopBundle\Services ;
-
- use Doctrine\ORM\EntityManagerInterface;
- use Lc\ShopBundle\Context\MerchantInterface;
- use Lc\ShopBundle\Context\MerchantUtilsInterface;
- use Lc\ShopBundle\Context\UserInterface;
- use Lc\ShopBundle\Context\UserMerchantInterface;
-
- class CreditUtils
- {
- protected $em ;
- protected $merchantUtils ;
- protected $userMerchantRepository ;
-
- public function __construct(EntityManagerInterface $em, MerchantUtilsInterface $merchantUtils)
- {
- $this->em = $em ;
- $this->merchantUtils = $merchantUtils ;
- $this->userMerchantRepository = $this->em->getRepository($this->em->getClassMetadata(UserMerchantInterface::class)->getName()) ;
- }
-
- public function getUserMerchant(UserInterface $user, MerchantInterface $merchant = null)
- {
- $merchant = $this->getMerchant($merchant) ;
- $userMerchant = $this->userMerchantRepository->findOneBy([
- 'user' => $user,
- 'merchant' => $merchant
- ]) ;
- return $userMerchant ;
- }
-
- public function createUserMerchant(UserInterface $user, MerchantInterface $merchant = null)
- {
- $merchant = $this->getMerchant($merchant) ;
- $classUserMerchant = $this->em->getClassMetadata(UserMerchantInterface::class)->getName();
- $userMerchant = new $classUserMerchant ;
- $userMerchant->setUser($user) ;
- $userMerchant->setMerchant($merchant) ;
- $userMerchant->setCredit(0) ;
- $userMerchant->setCreditActive(true) ;
- return $userMerchant ;
- }
-
- public function createCreditHistory($user, $amount, $meanPayment, $comment = null, $merchant = null)
- {
- $merchant = $this->getMerchant($merchant) ;
- }
-
- public function addCredit($user, $amount, $merchant = null)
- {
- $merchant = $this->getMerchant($merchant) ;
- }
-
- public function removeCredit($user, $amount, $merchant = null)
- {
- $merchant = $this->getMerchant($merchant) ;
- }
-
- public function setCredit($user, $amount, $merchant = null)
- {
-
- }
-
- public function getMerchant($merchant)
- {
- if(!$merchant) {
- $merchant = $this->merchantUtils->getMerchantCurrent() ;
- }
-
- return $merchant ;
- }
- }
|