vendor/shopware/core/Checkout/Customer/CustomerEntity.php line 646

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Shopware\Core\Checkout\Customer;
  3. use Shopware\Core\Checkout\Customer\Aggregate\CustomerAddress\CustomerAddressCollection;
  4. use Shopware\Core\Checkout\Customer\Aggregate\CustomerAddress\CustomerAddressEntity;
  5. use Shopware\Core\Checkout\Customer\Aggregate\CustomerGroup\CustomerGroupEntity;
  6. use Shopware\Core\Checkout\Customer\Aggregate\CustomerRecovery\CustomerRecoveryEntity;
  7. use Shopware\Core\Checkout\Customer\Aggregate\CustomerWishlist\CustomerWishlistCollection;
  8. use Shopware\Core\Checkout\Order\Aggregate\OrderCustomer\OrderCustomerCollection;
  9. use Shopware\Core\Checkout\Payment\PaymentMethodEntity;
  10. use Shopware\Core\Checkout\Promotion\PromotionCollection;
  11. use Shopware\Core\Content\Newsletter\Aggregate\NewsletterRecipient\NewsletterRecipientDefinition;
  12. use Shopware\Core\Content\Product\Aggregate\ProductReview\ProductReviewCollection;
  13. use Shopware\Core\Framework\DataAbstractionLayer\Entity;
  14. use Shopware\Core\Framework\DataAbstractionLayer\EntityCustomFieldsTrait;
  15. use Shopware\Core\Framework\DataAbstractionLayer\EntityIdTrait;
  16. use Shopware\Core\Framework\Feature;
  17. use Shopware\Core\Framework\Log\Package;
  18. use Shopware\Core\System\Language\LanguageEntity;
  19. use Shopware\Core\System\SalesChannel\SalesChannelEntity;
  20. use Shopware\Core\System\Salutation\SalutationEntity;
  21. use Shopware\Core\System\Tag\TagCollection;
  22. use Shopware\Core\System\User\UserEntity;
  23. #[Package('customer-order')]
  24. class CustomerEntity extends Entity
  25. {
  26.     use EntityIdTrait;
  27.     use EntityCustomFieldsTrait;
  28.     public const ACCOUNT_TYPE_PRIVATE 'private';
  29.     public const ACCOUNT_TYPE_BUSINESS 'business';
  30.     /**
  31.      * @var string
  32.      */
  33.     protected $groupId;
  34.     /**
  35.      * @var string
  36.      */
  37.     protected $defaultPaymentMethodId;
  38.     /**
  39.      * @var string
  40.      */
  41.     protected $salesChannelId;
  42.     /**
  43.      * @var string
  44.      */
  45.     protected $languageId;
  46.     /**
  47.      * @var string|null
  48.      */
  49.     protected $lastPaymentMethodId;
  50.     /**
  51.      * @var string
  52.      */
  53.     protected $defaultBillingAddressId;
  54.     /**
  55.      * @var string
  56.      */
  57.     protected $defaultShippingAddressId;
  58.     /**
  59.      * @var string
  60.      */
  61.     protected $customerNumber;
  62.     /**
  63.      * @var string|null
  64.      */
  65.     protected $salutationId;
  66.     /**
  67.      * @var string
  68.      */
  69.     protected $firstName;
  70.     /**
  71.      * @var string
  72.      */
  73.     protected $lastName;
  74.     /**
  75.      * @var string|null
  76.      */
  77.     protected $company;
  78.     /**
  79.      * @deprecated tag:v6.5.0 - will be internal from 6.5.0
  80.      *
  81.      * @var string|null
  82.      */
  83.     protected $password;
  84.     /**
  85.      * @var string
  86.      */
  87.     protected $email;
  88.     /**
  89.      * @var string|null
  90.      */
  91.     protected $title;
  92.     /**
  93.      * @var array<string>|null
  94.      */
  95.     protected $vatIds;
  96.     /**
  97.      * @var string|null
  98.      */
  99.     protected $affiliateCode;
  100.     /**
  101.      * @var string|null
  102.      */
  103.     protected $campaignCode;
  104.     /**
  105.      * @var bool
  106.      */
  107.     protected $active;
  108.     /**
  109.      * @var bool
  110.      */
  111.     protected $doubleOptInRegistration;
  112.     /**
  113.      * @var \DateTimeInterface|null
  114.      */
  115.     protected $doubleOptInEmailSentDate;
  116.     /**
  117.      * @var \DateTimeInterface|null
  118.      */
  119.     protected $doubleOptInConfirmDate;
  120.     /**
  121.      * @var string|null
  122.      */
  123.     protected $hash;
  124.     /**
  125.      * @var bool
  126.      */
  127.     protected $guest;
  128.     /**
  129.      * @var \DateTimeInterface|null
  130.      */
  131.     protected $firstLogin;
  132.     /**
  133.      * @var \DateTimeInterface|null
  134.      */
  135.     protected $lastLogin;
  136.     /**
  137.      * @var array<string>|null
  138.      *
  139.      * @internal
  140.      */
  141.     protected $newsletterSalesChannelIds;
  142.     /**
  143.      * @var bool
  144.      *
  145.      * @deprecated tag:v6.5.0 - $newsletter will be removed use the newsletterRecipents instead
  146.      */
  147.     protected $newsletter;
  148.     /**
  149.      * @var \DateTimeInterface|null
  150.      */
  151.     protected $birthday;
  152.     /**
  153.      * @var \DateTimeInterface|null
  154.      */
  155.     protected $lastOrderDate;
  156.     /**
  157.      * @var int
  158.      */
  159.     protected $orderCount;
  160.     protected float $orderTotalAmount;
  161.     /**
  162.      * @var \DateTimeInterface|null
  163.      */
  164.     protected $createdAt;
  165.     /**
  166.      * @var \DateTimeInterface|null
  167.      */
  168.     protected $updatedAt;
  169.     /**
  170.      * @deprecated tag:v6.5.0 - will be internal from 6.5.0
  171.      *
  172.      * @var string|null
  173.      */
  174.     protected $legacyEncoder;
  175.     /**
  176.      * @deprecated tag:v6.5.0 - will be internal from 6.5.0
  177.      *
  178.      * @var string|null
  179.      */
  180.     protected $legacyPassword;
  181.     /**
  182.      * @var CustomerGroupEntity|null
  183.      */
  184.     protected $group;
  185.     /**
  186.      * @var PaymentMethodEntity|null
  187.      */
  188.     protected $defaultPaymentMethod;
  189.     /**
  190.      * @var SalesChannelEntity|null
  191.      */
  192.     protected $salesChannel;
  193.     /**
  194.      * @var LanguageEntity|null
  195.      */
  196.     protected $language;
  197.     /**
  198.      * @var PaymentMethodEntity|null
  199.      */
  200.     protected $lastPaymentMethod;
  201.     /**
  202.      * @var SalutationEntity|null
  203.      */
  204.     protected $salutation;
  205.     /**
  206.      * @var CustomerAddressEntity|null
  207.      */
  208.     protected $defaultBillingAddress;
  209.     /**
  210.      * @var CustomerAddressEntity|null
  211.      */
  212.     protected $defaultShippingAddress;
  213.     /**
  214.      * @var CustomerAddressEntity|null
  215.      */
  216.     protected $activeBillingAddress;
  217.     /**
  218.      * @var CustomerAddressEntity|null
  219.      */
  220.     protected $activeShippingAddress;
  221.     /**
  222.      * @var CustomerAddressCollection|null
  223.      */
  224.     protected $addresses;
  225.     /**
  226.      * @var OrderCustomerCollection|null
  227.      */
  228.     protected $orderCustomers;
  229.     /**
  230.      * @var int
  231.      */
  232.     protected $autoIncrement;
  233.     /**
  234.      * @var TagCollection|null
  235.      */
  236.     protected $tags;
  237.     /**
  238.      * @var array<string>|null
  239.      */
  240.     protected $tagIds;
  241.     /**
  242.      * @var PromotionCollection|null
  243.      */
  244.     protected $promotions;
  245.     /**
  246.      * @var CustomerRecoveryEntity|null
  247.      */
  248.     protected $recoveryCustomer;
  249.     /**
  250.      * @var ProductReviewCollection|null
  251.      */
  252.     protected $productReviews;
  253.     /**
  254.      * @var string|null
  255.      */
  256.     protected $remoteAddress;
  257.     /**
  258.      * @var string|null
  259.      */
  260.     protected $requestedGroupId;
  261.     /**
  262.      * @var CustomerGroupEntity|null
  263.      */
  264.     protected $requestedGroup;
  265.     /**
  266.      * @var string|null
  267.      */
  268.     protected $boundSalesChannelId;
  269.     /**
  270.      * @var SalesChannelEntity|null
  271.      */
  272.     protected $boundSalesChannel;
  273.     /**
  274.      * @var CustomerWishlistCollection|null
  275.      */
  276.     protected $wishlists;
  277.     /**
  278.      * @var string|null
  279.      */
  280.     protected $createdById;
  281.     /**
  282.      * @var UserEntity|null
  283.      */
  284.     protected $createdBy;
  285.     /**
  286.      * @var string|null
  287.      */
  288.     protected $updatedById;
  289.     /**
  290.      * @var UserEntity|null
  291.      */
  292.     protected $updatedBy;
  293.     public function __toString()
  294.     {
  295.         return $this->getFirstName() . ' ' $this->getLastName();
  296.     }
  297.     public function getGroupId(): string
  298.     {
  299.         return $this->groupId;
  300.     }
  301.     public function setGroupId(string $groupId): void
  302.     {
  303.         $this->groupId $groupId;
  304.     }
  305.     public function getDefaultPaymentMethodId(): string
  306.     {
  307.         return $this->defaultPaymentMethodId;
  308.     }
  309.     public function setDefaultPaymentMethodId(string $defaultPaymentMethodId): void
  310.     {
  311.         $this->defaultPaymentMethodId $defaultPaymentMethodId;
  312.     }
  313.     public function getSalesChannelId(): string
  314.     {
  315.         return $this->salesChannelId;
  316.     }
  317.     public function setSalesChannelId(string $salesChannelId): void
  318.     {
  319.         $this->salesChannelId $salesChannelId;
  320.     }
  321.     public function getLanguageId(): string
  322.     {
  323.         return $this->languageId;
  324.     }
  325.     public function setLanguageId(string $languageId): void
  326.     {
  327.         $this->languageId $languageId;
  328.     }
  329.     public function getLastPaymentMethodId(): ?string
  330.     {
  331.         return $this->lastPaymentMethodId;
  332.     }
  333.     public function setLastPaymentMethodId(?string $lastPaymentMethodId): void
  334.     {
  335.         $this->lastPaymentMethodId $lastPaymentMethodId;
  336.     }
  337.     public function getDefaultBillingAddressId(): string
  338.     {
  339.         return $this->defaultBillingAddressId;
  340.     }
  341.     public function setDefaultBillingAddressId(string $defaultBillingAddressId): void
  342.     {
  343.         $this->defaultBillingAddressId $defaultBillingAddressId;
  344.     }
  345.     public function getDefaultShippingAddressId(): string
  346.     {
  347.         return $this->defaultShippingAddressId;
  348.     }
  349.     public function setDefaultShippingAddressId(string $defaultShippingAddressId): void
  350.     {
  351.         $this->defaultShippingAddressId $defaultShippingAddressId;
  352.     }
  353.     public function getCustomerNumber(): string
  354.     {
  355.         return $this->customerNumber;
  356.     }
  357.     public function setCustomerNumber(string $customerNumber): void
  358.     {
  359.         $this->customerNumber $customerNumber;
  360.     }
  361.     public function getSalutationId(): ?string
  362.     {
  363.         return $this->salutationId;
  364.     }
  365.     public function setSalutationId(string $salutationId): void
  366.     {
  367.         $this->salutationId $salutationId;
  368.     }
  369.     public function getFirstName(): string
  370.     {
  371.         return $this->firstName;
  372.     }
  373.     public function setFirstName(string $firstName): void
  374.     {
  375.         $this->firstName $firstName;
  376.     }
  377.     public function getLastName(): string
  378.     {
  379.         return $this->lastName;
  380.     }
  381.     public function setLastName(string $lastName): void
  382.     {
  383.         $this->lastName $lastName;
  384.     }
  385.     public function getCompany(): ?string
  386.     {
  387.         return $this->company;
  388.     }
  389.     public function setCompany(string $company): void
  390.     {
  391.         $this->company $company;
  392.     }
  393.     /**
  394.      * @deprecated tag:v6.5.0 - reason:becomes-internal - will be internal from 6.5.0
  395.      */
  396.     public function getPassword(): ?string
  397.     {
  398.         $this->checkIfPropertyAccessIsAllowed('password');
  399.         return $this->password;
  400.     }
  401.     /**
  402.      * @deprecated tag:v6.5.0 - reason:becomes-internal - will be internal from 6.5.0
  403.      */
  404.     public function setPassword(?string $password): void
  405.     {
  406.         $this->password $password;
  407.     }
  408.     public function getEmail(): string
  409.     {
  410.         return $this->email;
  411.     }
  412.     public function setEmail(string $email): void
  413.     {
  414.         $this->email $email;
  415.     }
  416.     public function getTitle(): ?string
  417.     {
  418.         return $this->title;
  419.     }
  420.     public function setTitle(?string $title): void
  421.     {
  422.         $this->title $title;
  423.     }
  424.     /**
  425.      * @return array<string>|null
  426.      */
  427.     public function getVatIds(): ?array
  428.     {
  429.         return $this->vatIds;
  430.     }
  431.     /**
  432.      * @param array<string>|null $vatIds
  433.      */
  434.     public function setVatIds(?array $vatIds): void
  435.     {
  436.         $this->vatIds $vatIds;
  437.     }
  438.     public function getActive(): bool
  439.     {
  440.         return $this->active;
  441.     }
  442.     public function setActive(bool $active): void
  443.     {
  444.         $this->active $active;
  445.     }
  446.     public function getDoubleOptInRegistration(): bool
  447.     {
  448.         return $this->doubleOptInRegistration;
  449.     }
  450.     public function setDoubleOptInRegistration(bool $doubleOptInRegistration): void
  451.     {
  452.         $this->doubleOptInRegistration $doubleOptInRegistration;
  453.     }
  454.     public function getDoubleOptInEmailSentDate(): ?\DateTimeInterface
  455.     {
  456.         return $this->doubleOptInEmailSentDate;
  457.     }
  458.     public function setDoubleOptInEmailSentDate(\DateTimeInterface $doubleOptInEmailSentDate): void
  459.     {
  460.         $this->doubleOptInEmailSentDate $doubleOptInEmailSentDate;
  461.     }
  462.     public function getDoubleOptInConfirmDate(): ?\DateTimeInterface
  463.     {
  464.         return $this->doubleOptInConfirmDate;
  465.     }
  466.     public function setDoubleOptInConfirmDate(\DateTimeInterface $doubleOptInConfirmDate): void
  467.     {
  468.         $this->doubleOptInConfirmDate $doubleOptInConfirmDate;
  469.     }
  470.     public function getHash(): ?string
  471.     {
  472.         return $this->hash;
  473.     }
  474.     public function setHash(string $hash): void
  475.     {
  476.         $this->hash $hash;
  477.     }
  478.     public function getGuest(): bool
  479.     {
  480.         return $this->guest;
  481.     }
  482.     public function setGuest(bool $guest): void
  483.     {
  484.         $this->guest $guest;
  485.     }
  486.     public function getFirstLogin(): ?\DateTimeInterface
  487.     {
  488.         return $this->firstLogin;
  489.     }
  490.     public function setFirstLogin(?\DateTimeInterface $firstLogin): void
  491.     {
  492.         $this->firstLogin $firstLogin;
  493.     }
  494.     public function getLastLogin(): ?\DateTimeInterface
  495.     {
  496.         return $this->lastLogin;
  497.     }
  498.     public function setLastLogin(?\DateTimeInterface $lastLogin): void
  499.     {
  500.         $this->lastLogin $lastLogin;
  501.     }
  502.     /**
  503.      * @internal
  504.      *
  505.      * @return array<string>|null
  506.      */
  507.     public function getNewsletterSalesChannelIds(): ?array
  508.     {
  509.         $this->checkIfPropertyAccessIsAllowed('newsletterSalesChannelIds');
  510.         return $this->newsletterSalesChannelIds;
  511.     }
  512.     /**
  513.      * @internal
  514.      *
  515.      * @param array<string>|null $newsletterSalesChannelIds
  516.      */
  517.     public function setNewsletterSalesChannelIds(?array $newsletterSalesChannelIds): void
  518.     {
  519.         $this->newsletterSalesChannelIds $newsletterSalesChannelIds;
  520.     }
  521.     /**
  522.      * @deprecated tag:v6.5.0 - getNewsletter will be removed use the newsletterRecipents instead
  523.      */
  524.     public function getNewsletter(): bool
  525.     {
  526.         Feature::triggerDeprecationOrThrow(
  527.             'v6.5.0.0',
  528.             Feature::deprecatedMethodMessage(__CLASS____METHOD__'v6.5.0.0'NewsletterRecipientDefinition::ENTITY_NAME)
  529.         );
  530.         return $this->newsletter;
  531.     }
  532.     /**
  533.      * @deprecated tag:v6.5.0 - getNewsletter will be removed use the newsletterRecipents instead
  534.      */
  535.     public function setNewsletter(bool $newsletter): void
  536.     {
  537.         Feature::triggerDeprecationOrThrow(
  538.             'v6.5.0.0',
  539.             Feature::deprecatedMethodMessage(__CLASS____METHOD__'v6.5.0.0'NewsletterRecipientDefinition::ENTITY_NAME)
  540.         );
  541.         $this->newsletter $newsletter;
  542.     }
  543.     public function getBirthday(): ?\DateTimeInterface
  544.     {
  545.         return $this->birthday;
  546.     }
  547.     public function setBirthday(?\DateTimeInterface $birthday): void
  548.     {
  549.         $this->birthday $birthday;
  550.     }
  551.     public function getLastOrderDate(): ?\DateTimeInterface
  552.     {
  553.         return $this->lastOrderDate;
  554.     }
  555.     public function setLastOrderDate(?\DateTimeInterface $lastOrderDate): void
  556.     {
  557.         $this->lastOrderDate $lastOrderDate;
  558.     }
  559.     public function getOrderCount(): int
  560.     {
  561.         return $this->orderCount;
  562.     }
  563.     public function setOrderCount(int $orderCount): void
  564.     {
  565.         $this->orderCount $orderCount;
  566.     }
  567.     public function getOrderTotalAmount(): float
  568.     {
  569.         return $this->orderTotalAmount;
  570.     }
  571.     public function setOrderTotalAmount(float $orderTotalAmount): void
  572.     {
  573.         $this->orderTotalAmount $orderTotalAmount;
  574.     }
  575.     /**
  576.      * @deprecated tag:v6.5.0 - reason:becomes-internal - will be internal from 6.5.0
  577.      */
  578.     public function getLegacyEncoder(): ?string
  579.     {
  580.         $this->checkIfPropertyAccessIsAllowed('legacyEncoder');
  581.         return $this->legacyEncoder;
  582.     }
  583.     /**
  584.      * @deprecated tag:v6.5.0 - reason:becomes-internal - will be internal from 6.5.0
  585.      */
  586.     public function setLegacyEncoder(?string $legacyEncoder): void
  587.     {
  588.         $this->legacyEncoder $legacyEncoder;
  589.     }
  590.     /**
  591.      * @deprecated tag:v6.5.0 - reason:becomes-internal - will be internal from 6.5.0
  592.      */
  593.     public function getLegacyPassword(): ?string
  594.     {
  595.         $this->checkIfPropertyAccessIsAllowed('legacyPassword');
  596.         return $this->legacyPassword;
  597.     }
  598.     /**
  599.      * @deprecated tag:v6.5.0 - reason:becomes-internal - will be internal from 6.5.0
  600.      */
  601.     public function setLegacyPassword(?string $legacyPassword): void
  602.     {
  603.         $this->legacyPassword $legacyPassword;
  604.     }
  605.     public function hasLegacyPassword(): bool
  606.     {
  607.         return $this->legacyPassword !== null && $this->legacyEncoder !== null;
  608.     }
  609.     public function getGroup(): ?CustomerGroupEntity
  610.     {
  611.         return $this->group;
  612.     }
  613.     public function setGroup(CustomerGroupEntity $group): void
  614.     {
  615.         $this->group $group;
  616.     }
  617.     public function getDefaultPaymentMethod(): ?PaymentMethodEntity
  618.     {
  619.         return $this->defaultPaymentMethod;
  620.     }
  621.     public function setDefaultPaymentMethod(PaymentMethodEntity $defaultPaymentMethod): void
  622.     {
  623.         $this->defaultPaymentMethod $defaultPaymentMethod;
  624.     }
  625.     public function getSalesChannel(): ?SalesChannelEntity
  626.     {
  627.         return $this->salesChannel;
  628.     }
  629.     public function setSalesChannel(SalesChannelEntity $salesChannel): void
  630.     {
  631.         $this->salesChannel $salesChannel;
  632.     }
  633.     public function getLanguage(): ?LanguageEntity
  634.     {
  635.         return $this->language;
  636.     }
  637.     public function setLanguage(LanguageEntity $language): void
  638.     {
  639.         $this->language $language;
  640.     }
  641.     public function getLastPaymentMethod(): ?PaymentMethodEntity
  642.     {
  643.         return $this->lastPaymentMethod;
  644.     }
  645.     public function setLastPaymentMethod(PaymentMethodEntity $lastPaymentMethod): void
  646.     {
  647.         $this->lastPaymentMethod $lastPaymentMethod;
  648.     }
  649.     public function getSalutation(): ?SalutationEntity
  650.     {
  651.         return $this->salutation;
  652.     }
  653.     public function setSalutation(SalutationEntity $salutation): void
  654.     {
  655.         $this->salutation $salutation;
  656.     }
  657.     public function getDefaultBillingAddress(): ?CustomerAddressEntity
  658.     {
  659.         return $this->defaultBillingAddress;
  660.     }
  661.     public function setDefaultBillingAddress(CustomerAddressEntity $defaultBillingAddress): void
  662.     {
  663.         $this->defaultBillingAddress $defaultBillingAddress;
  664.     }
  665.     public function getDefaultShippingAddress(): ?CustomerAddressEntity
  666.     {
  667.         return $this->defaultShippingAddress;
  668.     }
  669.     public function setDefaultShippingAddress(CustomerAddressEntity $defaultShippingAddress): void
  670.     {
  671.         $this->defaultShippingAddress $defaultShippingAddress;
  672.     }
  673.     public function getActiveBillingAddress(): ?CustomerAddressEntity
  674.     {
  675.         if (!$this->activeBillingAddress) {
  676.             return $this->defaultBillingAddress;
  677.         }
  678.         return $this->activeBillingAddress;
  679.     }
  680.     public function setActiveBillingAddress(CustomerAddressEntity $activeBillingAddress): void
  681.     {
  682.         $this->activeBillingAddress $activeBillingAddress;
  683.     }
  684.     public function getActiveShippingAddress(): ?CustomerAddressEntity
  685.     {
  686.         if (!$this->activeShippingAddress) {
  687.             return $this->defaultShippingAddress;
  688.         }
  689.         return $this->activeShippingAddress;
  690.     }
  691.     public function setActiveShippingAddress(CustomerAddressEntity $activeShippingAddress): void
  692.     {
  693.         $this->activeShippingAddress $activeShippingAddress;
  694.     }
  695.     public function getAddresses(): ?CustomerAddressCollection
  696.     {
  697.         return $this->addresses;
  698.     }
  699.     public function setAddresses(CustomerAddressCollection $addresses): void
  700.     {
  701.         $this->addresses $addresses;
  702.     }
  703.     public function getOrderCustomers(): ?OrderCustomerCollection
  704.     {
  705.         return $this->orderCustomers;
  706.     }
  707.     public function setOrderCustomers(OrderCustomerCollection $orderCustomers): void
  708.     {
  709.         $this->orderCustomers $orderCustomers;
  710.     }
  711.     public function getAutoIncrement(): int
  712.     {
  713.         return $this->autoIncrement;
  714.     }
  715.     public function setAutoIncrement(int $autoIncrement): void
  716.     {
  717.         $this->autoIncrement $autoIncrement;
  718.     }
  719.     public function getTags(): ?TagCollection
  720.     {
  721.         return $this->tags;
  722.     }
  723.     public function setTags(TagCollection $tags): void
  724.     {
  725.         $this->tags $tags;
  726.     }
  727.     /**
  728.      * @return array<string>|null
  729.      */
  730.     public function getTagIds(): ?array
  731.     {
  732.         return $this->tagIds;
  733.     }
  734.     /**
  735.      * @param array<string> $tagIds
  736.      */
  737.     public function setTagIds(array $tagIds): void
  738.     {
  739.         $this->tagIds $tagIds;
  740.     }
  741.     /**
  742.      * Gets a list of all promotions where the customer
  743.      * is assigned to within the "persona" conditions.
  744.      */
  745.     public function getPromotions(): ?PromotionCollection
  746.     {
  747.         return $this->promotions;
  748.     }
  749.     /**
  750.      * Sets a list of all promotions where the customer
  751.      * should be assigned to within the "persona" conditions.
  752.      */
  753.     public function setPromotions(PromotionCollection $promotions): void
  754.     {
  755.         $this->promotions $promotions;
  756.     }
  757.     public function getProductReviews(): ?ProductReviewCollection
  758.     {
  759.         return $this->productReviews;
  760.     }
  761.     public function setProductReviews(ProductReviewCollection $productReviews): void
  762.     {
  763.         $this->productReviews $productReviews;
  764.     }
  765.     public function getRecoveryCustomer(): ?CustomerRecoveryEntity
  766.     {
  767.         return $this->recoveryCustomer;
  768.     }
  769.     public function setRecoveryCustomer(?CustomerRecoveryEntity $recoveryCustomer): void
  770.     {
  771.         $this->recoveryCustomer $recoveryCustomer;
  772.     }
  773.     public function getAffiliateCode(): ?string
  774.     {
  775.         return $this->affiliateCode;
  776.     }
  777.     public function setAffiliateCode(?string $affiliateCode): void
  778.     {
  779.         $this->affiliateCode $affiliateCode;
  780.     }
  781.     public function getCampaignCode(): ?string
  782.     {
  783.         return $this->campaignCode;
  784.     }
  785.     public function setCampaignCode(?string $campaignCode): void
  786.     {
  787.         $this->campaignCode $campaignCode;
  788.     }
  789.     public function getRemoteAddress(): ?string
  790.     {
  791.         return $this->remoteAddress;
  792.     }
  793.     public function setRemoteAddress(?string $remoteAddress): void
  794.     {
  795.         $this->remoteAddress $remoteAddress;
  796.     }
  797.     public function getRequestedGroupId(): ?string
  798.     {
  799.         return $this->requestedGroupId;
  800.     }
  801.     public function setRequestedGroupId(?string $requestedGroupId): void
  802.     {
  803.         $this->requestedGroupId $requestedGroupId;
  804.     }
  805.     public function getRequestedGroup(): ?CustomerGroupEntity
  806.     {
  807.         return $this->requestedGroup;
  808.     }
  809.     public function setRequestedGroup(?CustomerGroupEntity $requestedGroup): void
  810.     {
  811.         $this->requestedGroup $requestedGroup;
  812.     }
  813.     public function getBoundSalesChannelId(): ?string
  814.     {
  815.         return $this->boundSalesChannelId;
  816.     }
  817.     public function setBoundSalesChannelId(?string $boundSalesChannelId): void
  818.     {
  819.         $this->boundSalesChannelId $boundSalesChannelId;
  820.     }
  821.     public function getBoundSalesChannel(): ?SalesChannelEntity
  822.     {
  823.         return $this->boundSalesChannel;
  824.     }
  825.     public function setBoundSalesChannel(SalesChannelEntity $boundSalesChannel): void
  826.     {
  827.         $this->boundSalesChannel $boundSalesChannel;
  828.     }
  829.     public function getWishlists(): ?CustomerWishlistCollection
  830.     {
  831.         return $this->wishlists;
  832.     }
  833.     public function setWishlists(CustomerWishlistCollection $wishlists): void
  834.     {
  835.         $this->wishlists $wishlists;
  836.     }
  837.     public function getCreatedById(): ?string
  838.     {
  839.         return $this->createdById;
  840.     }
  841.     public function setCreatedById(string $createdById): void
  842.     {
  843.         $this->createdById $createdById;
  844.     }
  845.     public function getCreatedBy(): ?UserEntity
  846.     {
  847.         return $this->createdBy;
  848.     }
  849.     public function setCreatedBy(UserEntity $createdBy): void
  850.     {
  851.         $this->createdBy $createdBy;
  852.     }
  853.     public function getUpdatedById(): ?string
  854.     {
  855.         return $this->updatedById;
  856.     }
  857.     public function setUpdatedById(string $updatedById): void
  858.     {
  859.         $this->updatedById $updatedById;
  860.     }
  861.     public function getUpdatedBy(): ?UserEntity
  862.     {
  863.         return $this->updatedBy;
  864.     }
  865.     public function setUpdatedBy(UserEntity $updatedBy): void
  866.     {
  867.         $this->updatedBy $updatedBy;
  868.     }
  869. }