src/Entity/Shop.php line 36

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use ApiPlatform\Core\Annotation\ApiFilter;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\Common\Collections\Criteria;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use Gedmo\Timestampable\Traits\TimestampableEntity;
  9. use JMS\Serializer\Annotation as Serializer;
  10. use Symfony\Component\HttpFoundation\File\UploadedFile;
  11. use Symfony\Component\Routing\Generator\UrlGenerator;
  12. use Symfony\Component\Routing\RouterInterface;
  13. use Symfony\Component\Security\Core\User\UserInterface;
  14. use Symfony\Component\Serializer\Annotation\Context;
  15. use Symfony\Component\Serializer\Annotation\Ignore;
  16. use Symfony\Component\Serializer\Annotation\MaxDepth;
  17. use Symfony\Component\Validator\Constraints as Assert;
  18. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  19. use ApiPlatform\Core\Annotation\ApiResource;
  20. use Symfony\Component\Serializer\Annotation\Groups;
  21. use ApiPlatform\Core\Annotation\ApiProperty;
  22. use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer;
  23. use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\SearchFilter;
  24. use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\BooleanFilter;
  25. use App\Filter\PrePayableFilter;
  26. use App\Filter\OnSaleFilter;
  27. use OpenApi\Annotations as OA;
  28. /**
  29.  * @ORM\Entity(repositoryClass="App\Repository\ShopRepository")
  30.  * @UniqueEntity("email")
  31.  * @UniqueEntity("tel")
  32.  */
  33. class Shop implements UserInterface
  34. {
  35.     use TimestampableEntity;
  36.     /**
  37.      * @ORM\Id()
  38.      * @ORM\GeneratedValue()
  39.      * @ORM\Column(type="integer")
  40.      * @Groups({"anonymouns:read"})
  41.      * @Groups({"user:read"})
  42.      */
  43.     private $id;
  44.     /**
  45.      * @ORM\Column(type="string", length=180, unique=true)
  46.      * @Assert\Email()
  47.      * @Serializer\Exclude
  48.      * @Ignore()
  49.      */
  50.     private $email;
  51.     /**
  52.      * @ORM\Column(type="json")
  53.      * @Serializer\Exclude
  54.      * @Ignore()
  55.      */
  56.     private $roles = ['ROLE_USER'];
  57.     /**
  58.      * @var string The hashed password
  59.      * @ORM\Column(type="string")
  60.      * @Serializer\Exclude
  61.      * @Ignore()
  62.      */
  63.     private $password;
  64.     /**
  65.      * @var string
  66.      * @Serializer\Exclude
  67.      * @Ignore()
  68.      */
  69.     private $plainPassword;
  70.     /**
  71.      * @ORM\Column(type="string", length=255)
  72.      * @Assert\NotBlank()
  73.      * @Groups({"anonymouns:read"})
  74.      * @Groups({"user:read"})
  75.      */
  76.     private $name;
  77.     /**
  78.      * @var Category[]|ArrayCollection
  79.      * @ORM\ManyToMany(targetEntity="App\Entity\Category", inversedBy="shops")
  80.      * @ORM\JoinTable(
  81.      *     joinColumns={@ORM\JoinColumn(name="shop_id", referencedColumnName="id", onDelete="CASCADE")},
  82.      *     inverseJoinColumns={@ORM\JoinColumn(name="category_id", referencedColumnName="id", onDelete="CASCADE")}
  83.      * )
  84.      * @Groups({"anonymouns:read"})
  85.      * @Groups({"user:read"})
  86.      * @Serializer\MaxDepth(1)
  87.      * @MaxDepth(1)
  88.      */
  89.     private $categories;
  90.     /**
  91.      * @var Location
  92.      * @ORM\ManyToOne(targetEntity="App\Entity\Location", inversedBy="shops")
  93.      * @ORM\JoinColumn(nullable=true)
  94.      * @Serializer\MaxDepth(1)
  95.      * @MaxDepth(1)
  96.      * @Groups({"anonymouns:read"})
  97.      * @Groups({"user:read"})
  98.      */
  99.     private $location;
  100.     /**
  101.      * @ORM\Column(type="boolean", nullable=true)
  102.      * @Groups({"anonymouns:read"})
  103.      * @Groups({"user:read"})
  104.      */
  105.     private $toGo;
  106.     /**
  107.      * @ORM\Column(type="boolean", nullable=true)
  108.      * @Groups({"anonymouns:read"})
  109.      * @Groups({"user:read"})
  110.      */
  111.     private $delivery;
  112.     /**
  113.      * @ORM\Column(type="string", length=16, nullable=true)
  114.      * @Groups({"anonymouns:read"})
  115.      * @Groups({"user:read"})
  116.      */
  117.     private $zipcode;
  118.     /**
  119.      * @ORM\Column(type="string", length=255, nullable=true)
  120.      * @Groups({"anonymouns:read"})
  121.      * @Groups({"user:read"})
  122.      */
  123.     private $address;
  124.     /**
  125.      * @var Coordinate
  126.      * @ORM\Embedded(class="Coordinate")
  127.      * @Assert\Valid()
  128.      * @Groups({"anonymouns:read"})
  129.      * @Groups({"user:read", "coordinate"})
  130.      */
  131.     private $coordinate;
  132.     /**
  133.      * @ORM\Column(type="string", length=16, unique=true)
  134.      * @Groups({"anonymouns:read"})
  135.      * @Groups({"user:read"})
  136.      */
  137.     private $tel;
  138.     /**
  139.      * @ORM\Column(type="text", nullable=true)
  140.      * @Groups({"anonymouns:read"})
  141.      * @Groups({"user:read"})
  142.      */
  143.     private $notice;
  144.     /**
  145.      * @var MenuGroup[]|ArrayCollection
  146.      * @ORM\OneToMany(targetEntity="App\Entity\MenuGroup", mappedBy="shop")
  147.      * @ORM\OrderBy({"position": "ASC"})
  148.      * @Serializer\Exclude
  149.      * @Ignore()
  150.      */
  151.     private $menuGroups;
  152.     /**
  153.      * @var Menu[]|ArrayCollection
  154.      * @ORM\OneToMany(targetEntity="App\Entity\Menu", mappedBy="shop")
  155.      * @Groups({"anonymouns:read"})
  156.      * @Groups({"user:read"})
  157.      * @MaxDepth(1)
  158.      */
  159.     private $menus;
  160.     /**
  161.      * @ORM\Column(type="string", length=255, nullable=true)
  162.      * @Serializer\Exclude
  163.      * @Ignore()
  164.      */
  165.     private $assignee;
  166.     /**
  167.      * 公開するかどうか
  168.      * @ORM\Column(type="boolean")
  169.      * @Serializer\Exclude
  170.      * @Ignore()
  171.      */
  172.     private $public true;
  173.     /**
  174.      * @var \DateTime
  175.      * @ORM\Column(type="time", nullable=true)
  176.      * @Context({DateTimeNormalizer::FORMAT_KEY="H:i"})
  177.      * @Ignore()
  178.      */
  179.     private $hourFrom;
  180.     /**
  181.      * @var \DateTime
  182.      * @ORM\Column(type="time", nullable=true)
  183.      * @Context({DateTimeNormalizer::FORMAT_KEY="H:i"})
  184.      * @Ignore()
  185.      */
  186.     private $hourTo;
  187.     /**
  188.      * @ORM\Column(type="integer", nullable=true)
  189.      * @Ignore()
  190.      */
  191.     private $estimatedMinutes;
  192.     /**
  193.      * @ORM\Column(type="string", length=255, nullable=true)
  194.      * @Serializer\Exclude
  195.      * @Ignore()
  196.      */
  197.     private $resetToken;
  198.     /**
  199.      * @ORM\Column(type="boolean", options={"default": 1})
  200.      * @Serializer\Exclude
  201.      * @Ignore()
  202.      */
  203.     private $ready true;
  204.     /**
  205.      * @ORM\OneToMany(targetEntity=ShopPlanContractHistory::class, mappedBy="shop")
  206.      * @Serializer\Exclude
  207.      * @Ignore()
  208.      */
  209.     private $shopPlanContractHistories;
  210.     /**
  211.      * 有料プランの次回請求日
  212.      *
  213.      * @ORM\Column(type="datetime", nullable=true)
  214.      * @Serializer\Exclude
  215.      * @Ignore()
  216.      */
  217.     private $paidPlanNextBillingDate;
  218.     /**
  219.      * @ORM\ManyToOne(targetEntity=ShopPlan::class, inversedBy="shops")
  220.      * @Serializer\MaxDepth(1)
  221.      * @MaxDepth(1)
  222.      * @Groups({"anonymouns:read"})
  223.      * @Groups({"user:read"})
  224.      */
  225.     private $shopPlan;
  226.     /**
  227.      * @ORM\OneToMany(targetEntity=PaymentMethod::class, mappedBy="shop")
  228.      * @Serializer\Exclude
  229.      * @Ignore()
  230.      */
  231.     private $paymentMethods;
  232.     /**
  233.      * @ORM\Column(type="string", length=255, nullable=true)
  234.      * @Serializer\Exclude
  235.      * @Ignore()
  236.      */
  237.     private $gmoMemberId;
  238.     /**
  239.      * @ORM\OneToMany(targetEntity=Invoice::class, mappedBy="shop")
  240.      * @Serializer\Exclude
  241.      * @Ignore()
  242.      */
  243.     private $invoices;
  244.     /**
  245.      * @ORM\OneToMany(targetEntity=Payment::class, mappedBy="shop")
  246.      * @Serializer\Exclude
  247.      * @Ignore()
  248.      */
  249.     private $payments;
  250.     /**
  251.      * @ORM\OneToMany(targetEntity=Coupon::class, mappedBy="shop")
  252.      * @Serializer\Exclude
  253.      * @Ignore()
  254.      */
  255.     private $coupons;
  256.     /**
  257.      * @ORM\OneToMany(targetEntity=Cart::class, mappedBy="shop")
  258.      * @Serializer\Exclude()
  259.      * @Ignore()
  260.      */
  261.     private $carts;
  262.     /**
  263.      * @ORM\OneToMany(targetEntity=Order::class, mappedBy="shop")
  264.      * @Serializer\Exclude()
  265.      * @Ignore()
  266.      */
  267.     private $orders;
  268.     /**
  269.      * @ORM\Column(type="string", length=255, nullable=true)
  270.      * @Groups({"anonymouns:read"})
  271.      * @Groups({"user:read"})
  272.      */
  273.     private $image;
  274.     /**
  275.      * @var UploadedFile
  276.      */
  277.     private $ieImage;
  278.     /**
  279.      * @var string
  280.      */
  281.     private $defaultImage;
  282.     /**
  283.      * @ORM\OneToMany(targetEntity=ShopReview::class, mappedBy="shop")
  284.      * @Serializer\Exclude
  285.      * @Ignore()
  286.      */
  287.     private $shopReviews;
  288.     /**
  289.      * @Groups({"anonymouns:read"})
  290.      * @Groups({"user:read"})
  291.      */
  292.     private $shopReviewCount;
  293.     /**
  294.      * @ORM\Column(type="datetime", nullable=true)
  295.      */
  296.     private $tokenValidAfter;
  297.     /**
  298.      * @ORM\Column(type="integer", nullable=true)
  299.      * @Groups({"anonymouns:read"})
  300.      * @Groups({"user:read"})
  301.      */
  302.     private $appEstimatedMinutes;
  303.     /**
  304.      * @ORM\Column(type="time", nullable=true)
  305.      * @Groups({"anonymouns:read"})
  306.      * @Groups({"user:read"})
  307.      * @Context({DateTimeNormalizer::FORMAT_KEY="H:i"})
  308.      */
  309.     private $appHourFrom;
  310.     /**
  311.      * @ORM\Column(type="time", nullable=true)
  312.      * @Groups({"anonymouns:read"})
  313.      * @Groups({"user:read"})
  314.      * @Context({DateTimeNormalizer::FORMAT_KEY="H:i"})
  315.      */
  316.     private $appHourTo;
  317.     /**
  318.      * @Groups({"anonymouns:read"})
  319.      * @Groups({"user:read"})
  320.      */
  321.     private $appAcceptable;
  322.     /**
  323.      * @ORM\Column(type="boolean", options={"default":0})
  324.      */
  325.     private $appClosed 0;
  326.     /**
  327.      * @ORM\Column(type="decimal", precision=2, scale=1, options={"default": 0.0})
  328.      * @Groups({"anonymouns:read"})
  329.      * @Groups({"user:read"})
  330.      */
  331.     private $rate 0.0;
  332.     /**
  333.      * @ORM\Column(type="string", length=255, nullable=true)
  334.      * @Serializer\Exclude
  335.      * @Ignore()
  336.      */
  337.     private $gmoShopId;
  338.     /**
  339.      * @ORM\Column(type="string", length=255, nullable=true)
  340.      * @Serializer\Exclude
  341.      * @Ignore()
  342.      */
  343.     private $gmoShopPassword;
  344.     /**
  345.      * @ORM\Column(type="string", length=255, nullable=true)
  346.      * @Serializer\Exclude
  347.      * @Ignore()
  348.      */
  349.     private $fcmToken;
  350.     /**
  351.      * 販売事業者名
  352.      *
  353.      * @ORM\Column(type="string", length=255, nullable=true)
  354.      */
  355.     private $lawName;
  356.     private $appLawName;
  357.     /**
  358.      * 販売事業者所在地
  359.      *
  360.      * @ORM\Column(type="string", length=255, nullable=true)
  361.      */
  362.     private $lawAddress;
  363.     private $appLawAddress;
  364.     /**
  365.      * 代表者
  366.      *
  367.      * @ORM\Column(type="string", length=255, nullable=true)
  368.      */
  369.     private $lawRepresentativeName;
  370.     private $appLawRepresentativeName;
  371.     /**
  372.      * 代表者フリガナ
  373.      *
  374.      * @ORM\Column(type="string", length=255, nullable=true)
  375.      */
  376.     private $lawRepresentativeNameKana;
  377.     private $appLawRepresentativeNameKana;
  378.     /**
  379.      * 連絡先/ホームページ
  380.      *
  381.      * @ORM\Column(type="string", length=255, nullable=true)
  382.      */
  383.     private $lawUrl;
  384.     private $appLawUrl;
  385.     /**
  386.      * 連絡先/電子メール
  387.      *
  388.      * @ORM\Column(type="string", length=255, nullable=true)
  389.      */
  390.     private $lawEmail;
  391.     private $appLawEmail;
  392.     /**
  393.      * 連絡先/電話番号
  394.      *
  395.      * @ORM\Column(type="string", length=255, nullable=true)
  396.      */
  397.     private $lawTel;
  398.     private $appLawTel;
  399.     /**
  400.      * 商品等の引き渡し時期(日数)・発送方法
  401.      *
  402.      * @ORM\Column(type="string", length=255, nullable=true)
  403.      */
  404.     private $lawDeliveryDaysAndShippingMethod;
  405.     private $appLawDeliveryDaysAndShippingMethod;
  406.     /**
  407.      * 代金の支払時期および方法
  408.      *
  409.      * @ORM\Column(type="string", length=255, nullable=true)
  410.      */
  411.     private $lawPaymentMethod;
  412.     private $appLawPaymentMethod;
  413.     /**
  414.      * 商品代金以外に必要な費用 /送料、消費税等
  415.      *
  416.      * @ORM\Column(type="string", length=255, nullable=true)
  417.      */
  418.     private $lawOtherCosts;
  419.     private $appLawOtherCosts;
  420.     /**
  421.      * 返品の取扱条件/返品期限、返品時の送料負担または解約や退会条件
  422.      *
  423.      * @ORM\Column(type="string", length=255, nullable=true)
  424.      */
  425.     private $lawReturnPolicy;
  426.     private $appLawReturnPolicy;
  427.     /**
  428.      * 不良品の取扱条件
  429.      *
  430.      * @ORM\Column(type="string", length=255, nullable=true)
  431.      */
  432.     private $lawDefectiveProduct;
  433.     private $appLawDefectiveProduct;
  434.     /**
  435.      * 退会について
  436.      *
  437.      * @ORM\Column(type="string", length=255, nullable=true)
  438.      */
  439.     private $lawUserDelete;
  440.     private $appLawUserDelete;
  441.     /**
  442.      * キャンセルについて
  443.      *
  444.      * @ORM\Column(type="string", length=255, nullable=true)
  445.      */
  446.     private $lawCancel;
  447.     private $appLawCancel;
  448.     /**
  449.      * @ORM\OneToMany(targetEntity=ShopSales::class, mappedBy="shop")
  450.      * @Serializer\Exclude
  451.      * @Ignore
  452.      */
  453.     private $shopSales;
  454.     /**
  455.      * @ORM\Column(type="string", length=255, nullable=true)
  456.      */
  457.     private $bankName;
  458.     /**
  459.      * @ORM\Column(type="string", length=255, nullable=true)
  460.      */
  461.     private $bankCode;
  462.     /**
  463.      * @ORM\Column(type="string", length=255, nullable=true)
  464.      */
  465.     private $bankBranchName;
  466.     /**
  467.      * @ORM\Column(type="string", length=255, nullable=true)
  468.      */
  469.     private $bankBranchCode;
  470.     /**
  471.      * @ORM\Column(type="string", length=255, nullable=true)
  472.      */
  473.     private $bankAccountNumber;
  474.     /**
  475.      * @ORM\Column(type="string", length=255, nullable=true)
  476.      */
  477.     private $bankAccountType;
  478.     /**
  479.      * @ORM\Column(type="string", length=255, nullable=true)
  480.      */
  481.     private $bankAccountName;
  482.     /**
  483.      * Shop constructor.
  484.      */
  485.     public function __construct()
  486.     {
  487.         $this->menuGroups = new ArrayCollection();
  488.         $this->menus = new ArrayCollection();
  489.         $this->categories = new ArrayCollection();
  490.         $this->coordinate = new Coordinate();
  491.         $this->shopPlanContractHistories = new ArrayCollection();
  492.         $this->paymentMethods = new ArrayCollection();
  493.         $this->invoices = new ArrayCollection();
  494.         $this->payments = new ArrayCollection();
  495.         $this->coupons = new ArrayCollection();
  496.         $this->carts = new ArrayCollection();
  497.         $this->orders = new ArrayCollection();
  498.         $this->shopReviews = new ArrayCollection();
  499.         $this->shopSales = new ArrayCollection();
  500.     }
  501.     public function getId(): ?int
  502.     {
  503.         return $this->id;
  504.     }
  505.     public function getEmail(): ?string
  506.     {
  507.         return $this->email;
  508.     }
  509.     public function setEmail(string $email): self
  510.     {
  511.         $this->email $email;
  512.         return $this;
  513.     }
  514.     /**
  515.      * A visual identifier that represents this user.
  516.      *
  517.      * @see UserInterface
  518.      */
  519.     public function getUsername(): string
  520.     {
  521.         return (string) $this->email;
  522.     }
  523.     /**
  524.      * @see UserInterface
  525.      */
  526.     public function getRoles(): array
  527.     {
  528.         $roles $this->roles;
  529.         // guarantee every user at least has ROLE_USER
  530.         $roles[] = 'ROLE_USER';
  531.         return array_unique($roles);
  532.     }
  533.     public function setRoles(array $roles): self
  534.     {
  535.         $this->roles $roles;
  536.         return $this;
  537.     }
  538.     /**
  539.      * @see UserInterface
  540.      */
  541.     public function getPassword(): string
  542.     {
  543.         return (string) $this->password;
  544.     }
  545.     public function setPassword(string $password): self
  546.     {
  547.         $this->password $password;
  548.         return $this;
  549.     }
  550.     /**
  551.      * @see UserInterface
  552.      */
  553.     public function getSalt()
  554.     {
  555.         // not needed when using the "bcrypt" algorithm in security.yaml
  556.     }
  557.     /**
  558.      * @see UserInterface
  559.      */
  560.     public function eraseCredentials()
  561.     {
  562.         // If you store any temporary, sensitive data on the user, clear it here
  563.         // $this->plainPassword = null;
  564.     }
  565.     public function getName(): ?string
  566.     {
  567.         return $this->name;
  568.     }
  569.     public function setName(string $name): self
  570.     {
  571.         $this->name $name;
  572.         return $this;
  573.     }
  574.     public function getToGo(): ?bool
  575.     {
  576.         return $this->toGo;
  577.     }
  578.     public function setToGo(?bool $toGo): self
  579.     {
  580.         $this->toGo $toGo;
  581.         return $this;
  582.     }
  583.     public function getDelivery(): ?bool
  584.     {
  585.         return $this->delivery;
  586.     }
  587.     public function setDelivery(?bool $delivery): self
  588.     {
  589.         $this->delivery $delivery;
  590.         return $this;
  591.     }
  592.     public function getZipcode(): ?string
  593.     {
  594.         return $this->zipcode;
  595.     }
  596.     public function setZipcode(?string $zipcode): self
  597.     {
  598.         $this->zipcode $zipcode;
  599.         return $this;
  600.     }
  601.     public function getAddress(): ?string
  602.     {
  603.         return $this->address;
  604.     }
  605.     public function setAddress(string $address): self
  606.     {
  607.         $this->address $address;
  608.         return $this;
  609.     }
  610.     /**
  611.      * @return string
  612.      */
  613.     public function getPlainPassword(): ?string
  614.     {
  615.         return $this->plainPassword;
  616.     }
  617.     /**
  618.      * @param string $plainPassword
  619.      *
  620.      * @return $this
  621.      */
  622.     public function setPlainPassword($plainPassword)
  623.     {
  624.         $this->plainPassword $plainPassword;
  625.         return $this;
  626.     }
  627.     public function getTel(): ?string
  628.     {
  629.         return $this->tel;
  630.     }
  631.     public function setTel(string $tel): self
  632.     {
  633.         $this->tel $tel;
  634.         return $this;
  635.     }
  636.     public function getNotice(): ?string
  637.     {
  638.         return $this->notice;
  639.     }
  640.     public function setNotice(?string $notice): self
  641.     {
  642.         $this->notice $notice;
  643.         return $this;
  644.     }
  645.     /**
  646.      * @return Menu[]|ArrayCollection
  647.      */
  648.     public function getMenus()
  649.     {
  650.         return $this->menus;
  651.     }
  652.     /**
  653.      * @return Category[]|ArrayCollection
  654.      */
  655.     public function getCategories()
  656.     {
  657.         return $this->categories;
  658.     }
  659.     /**
  660.      * @param Category[]|ArrayCollection $categories
  661.      *
  662.      * @return $this
  663.      */
  664.     public function setCategories($categories)
  665.     {
  666.         $this->categories $categories;
  667.         return $this;
  668.     }
  669.     public function addCategory(Category $category)
  670.     {
  671.         $this->categories->add($category);
  672.         return $this;
  673.     }
  674.     public function removeCategory(Category $category)
  675.     {
  676.         $this->categories->removeElement($category);
  677.         return $this;
  678.     }
  679.     /**
  680.      * @return Coordinate
  681.      */
  682.     public function getCoordinate(): Coordinate
  683.     {
  684.         return $this->coordinate;
  685.     }
  686.     /**
  687.      * @param Coordinate $coordinate
  688.      *
  689.      * @return $this
  690.      */
  691.     public function setCoordinate($coordinate)
  692.     {
  693.         $this->coordinate $coordinate;
  694.         return $this;
  695.     }
  696.     /**
  697.      * @return Location
  698.      */
  699.     public function getLocation(): ?Location
  700.     {
  701.         return $this->location;
  702.     }
  703.     /**
  704.      * @param Location $location
  705.      *
  706.      * @return $this
  707.      */
  708.     public function setLocation($location)
  709.     {
  710.         $this->location $location;
  711.         return $this;
  712.     }
  713.     /**
  714.      * @return MenuGroup[]|ArrayCollection
  715.      */
  716.     public function getMenuGroups()
  717.     {
  718.         return $this->menuGroups;
  719.     }
  720.     public function getAssignee(): ?string
  721.     {
  722.         return $this->assignee;
  723.     }
  724.     public function setAssignee(?string $assignee): self
  725.     {
  726.         $this->assignee $assignee;
  727.         return $this;
  728.     }
  729.     public function getPublic(): ?bool
  730.     {
  731.         return $this->public;
  732.     }
  733.     public function setPublic(bool $public): self
  734.     {
  735.         $this->public $public;
  736.         return $this;
  737.     }
  738.     public function isValid(): bool
  739.     {
  740.         return (
  741.             $this->getName() &&
  742.             $this->getEmail() &&
  743.             $this->getLocation() &&
  744.             $this->getCategories()->count() > &&
  745.             $this->getZipcode() &&
  746.             $this->getAddress() &&
  747.             $this->getTel()
  748.         );
  749.     }
  750.     public function checkReady(): bool
  751.     {
  752.         return $this->isValid() && ($this->getMenus()->count() > 0);
  753.     }
  754.     /**
  755.      * @return Menu[]|ArrayCollection
  756.      */
  757.     public function getUngroupedMenus()
  758.     {
  759.         return $this->menus->matching(Criteria::create()
  760.             ->andWhere(Criteria::expr()->isNull('group'))
  761.             ->orderBy(['position' => 'ASC'])
  762.         );
  763.     }
  764.     public function getHourFrom(): ?\DateTimeInterface
  765.     {
  766.         return $this->hourFrom;
  767.     }
  768.     public function setHourFrom(\DateTimeInterface $hourFrom): self
  769.     {
  770.         $this->hourFrom $hourFrom;
  771.         return $this;
  772.     }
  773.     public function getHourTo(): ?\DateTimeInterface
  774.     {
  775.         return $this->hourTo;
  776.     }
  777.     public function setHourTo(\DateTimeInterface $hourTo): self
  778.     {
  779.         $this->hourTo $hourTo;
  780.         return $this;
  781.     }
  782.     public function getEstimatedMinutes(): ?int
  783.     {
  784.         return $this->estimatedMinutes;
  785.     }
  786.     public function setEstimatedMinutes(?int $estimatedMinutes): self
  787.     {
  788.         $this->estimatedMinutes $estimatedMinutes;
  789.         return $this;
  790.     }
  791.     public function getResetToken(): ?string
  792.     {
  793.         return $this->resetToken;
  794.     }
  795.     public function setResetToken(?string $resetToken): self
  796.     {
  797.         $this->resetToken $resetToken;
  798.         return $this;
  799.     }
  800.     public function isAcceptable(): bool
  801.     {
  802.         if (!$this->hourFrom || !$this->hourTo) {
  803.             return true;
  804.         }
  805.         $from = (int) $this->hourFrom->format('Hi');
  806.         $to = (int) $this->hourTo->format('Hi');
  807.         $now = (int) date('Hi');
  808.         if ($from == $to) {
  809.             return true;
  810.         }
  811.         if ($from $to) {
  812.             return ($now >= $from && $now <= $to);
  813.         } else {
  814.             return ($now >= $from || $now <= $to);
  815.         }
  816.     }
  817.     public function isAppAcceptable(): bool
  818.     {
  819.         if ($this->getAppClosed()) {
  820.             return false;
  821.         }
  822.         $hourFrom $this->getAppHourFrom();
  823.         $hourTo $this->getAppHourTo();
  824.         if (!$hourFrom || !$hourTo) {
  825.             return true;
  826.         }
  827.         $from = (int) $hourFrom->format('Hi');
  828.         $to = (int) $hourTo->format('Hi');
  829.         $now = (int) date('Hi');
  830.         if ($from == $to) {
  831.             return true;
  832.         }
  833.         if ($from $to) {
  834.             return ($now >= $from && $now <= $to);
  835.         } else {
  836.             return ($now >= $from || $now <= $to);
  837.         }
  838.     }
  839.     public function getReady(): ?bool
  840.     {
  841.         return $this->ready;
  842.     }
  843.     public function setReady(bool $ready): self
  844.     {
  845.         $this->ready $ready;
  846.         return $this;
  847.     }
  848.     /**
  849.      * @return Collection|ShopPlanContractHistory[]
  850.      */
  851.     public function getShopPlanContractHistories(): Collection
  852.     {
  853.         return $this->shopPlanContractHistories;
  854.     }
  855.     public function addShopPlanContractHistory(ShopPlanContractHistory $shopPlanContractHistory): self
  856.     {
  857.         if (!$this->shopPlanContractHistories->contains($shopPlanContractHistory)) {
  858.             $this->shopPlanContractHistories[] = $shopPlanContractHistory;
  859.             $shopPlanContractHistory->setShop($this);
  860.         }
  861.         return $this;
  862.     }
  863.     public function removeShopPlanContractHistory(ShopPlanContractHistory $shopPlanContractHistory): self
  864.     {
  865.         if ($this->shopPlanContractHistories->removeElement($shopPlanContractHistory)) {
  866.             // set the owning side to null (unless already changed)
  867.             if ($shopPlanContractHistory->getShop() === $this) {
  868.                 $shopPlanContractHistory->setShop(null);
  869.             }
  870.         }
  871.         return $this;
  872.     }
  873.     public function getPaidPlanNextBillingDate(): ?\DateTimeInterface
  874.     {
  875.         return $this->paidPlanNextBillingDate;
  876.     }
  877.     public function setPaidPlanNextBillingDate(?\DateTimeInterface $paidPlanNextBillingDate): self
  878.     {
  879.         $this->paidPlanNextBillingDate $paidPlanNextBillingDate;
  880.         return $this;
  881.     }
  882.     public function getShopPlan(): ?ShopPlan
  883.     {
  884.         return $this->shopPlan;
  885.     }
  886.     public function setShopPlan(?ShopPlan $shopPlan): self
  887.     {
  888.         $this->shopPlan $shopPlan;
  889.         return $this;
  890.     }
  891.     /**
  892.      * @return PaymentMethod|null
  893.      * @Ignore()
  894.      */
  895.     public function getPrimaryPaymentMethod(): ?PaymentMethod
  896.     {
  897.         if ($this->getPaymentMethods()->count()) {
  898.             return $this->getPaymentMethods()->first();
  899.         }
  900.         return null;
  901.     }
  902.     /**
  903.      * @return Collection|PaymentMethod[]
  904.      */
  905.     public function getPaymentMethods(): Collection
  906.     {
  907.         return $this->paymentMethods;
  908.     }
  909.     public function addPaymentMethod(PaymentMethod $paymentMethod): self
  910.     {
  911.         if (!$this->paymentMethods->contains($paymentMethod)) {
  912.             $this->paymentMethods[] = $paymentMethod;
  913.             $paymentMethod->setShop($this);
  914.         }
  915.         return $this;
  916.     }
  917.     public function removePaymentMethod(PaymentMethod $paymentMethod): self
  918.     {
  919.         if ($this->paymentMethods->removeElement($paymentMethod)) {
  920.             // set the owning side to null (unless already changed)
  921.             if ($paymentMethod->getShop() === $this) {
  922.                 $paymentMethod->setShop(null);
  923.             }
  924.         }
  925.         return $this;
  926.     }
  927.     public function getGmoMemberId(): ?string
  928.     {
  929.         return $this->gmoMemberId;
  930.     }
  931.     public function setGmoMemberId(?string $gmoMemberId): self
  932.     {
  933.         $this->gmoMemberId $gmoMemberId;
  934.         return $this;
  935.     }
  936.     /**
  937.      * @return Collection|Invoice[]
  938.      */
  939.     public function getInvoices(): Collection
  940.     {
  941.         return $this->invoices;
  942.     }
  943.     public function addInvoice(Invoice $invoice): self
  944.     {
  945.         if (!$this->invoices->contains($invoice)) {
  946.             $this->invoices[] = $invoice;
  947.             $invoice->setShop($this);
  948.         }
  949.         return $this;
  950.     }
  951.     public function removeInvoice(Invoice $invoice): self
  952.     {
  953.         if ($this->invoices->removeElement($invoice)) {
  954.             // set the owning side to null (unless already changed)
  955.             if ($invoice->getShop() === $this) {
  956.                 $invoice->setShop(null);
  957.             }
  958.         }
  959.         return $this;
  960.     }
  961.     /**
  962.      * @return Collection|Payment[]
  963.      */
  964.     public function getPayments(): Collection
  965.     {
  966.         return $this->payments;
  967.     }
  968.     public function addPayment(Payment $payment): self
  969.     {
  970.         if (!$this->payments->contains($payment)) {
  971.             $this->payments[] = $payment;
  972.             $payment->setShop($this);
  973.         }
  974.         return $this;
  975.     }
  976.     public function removePayment(Payment $payment): self
  977.     {
  978.         if ($this->payments->removeElement($payment)) {
  979.             // set the owning side to null (unless already changed)
  980.             if ($payment->getShop() === $this) {
  981.                 $payment->setShop(null);
  982.             }
  983.         }
  984.         return $this;
  985.     }
  986.     /**
  987.      * @return Collection|Coupon[]
  988.      */
  989.     public function getCoupons(): Collection
  990.     {
  991.         return $this->coupons;
  992.     }
  993.     public function addCoupon(Coupon $coupon): self
  994.     {
  995.         if (!$this->coupons->contains($coupon)) {
  996.             $this->coupons[] = $coupon;
  997.             $coupon->setShop($this);
  998.         }
  999.         return $this;
  1000.     }
  1001.     public function removeCoupon(Coupon $coupon): self
  1002.     {
  1003.         if ($this->coupons->removeElement($coupon)) {
  1004.             // set the owning side to null (unless already changed)
  1005.             if ($coupon->getShop() === $this) {
  1006.                 $coupon->setShop(null);
  1007.             }
  1008.         }
  1009.         return $this;
  1010.     }
  1011.     /**
  1012.      * @return Collection|Cart[]
  1013.      */
  1014.     public function getCarts(): Collection
  1015.     {
  1016.         return $this->carts;
  1017.     }
  1018.     public function addCart(Cart $cart): self
  1019.     {
  1020.         if (!$this->carts->contains($cart)) {
  1021.             $this->carts[] = $cart;
  1022.             $cart->setShop($this);
  1023.         }
  1024.         return $this;
  1025.     }
  1026.     public function removeCart(Cart $cart): self
  1027.     {
  1028.         if ($this->carts->removeElement($cart)) {
  1029.             // set the owning side to null (unless already changed)
  1030.             if ($cart->getShop() === $this) {
  1031.                 $cart->setShop(null);
  1032.             }
  1033.         }
  1034.         return $this;
  1035.     }
  1036.     /**
  1037.      * @return Collection|Order[]
  1038.      */
  1039.     public function getOrders(): Collection
  1040.     {
  1041.         return $this->orders;
  1042.     }
  1043.     public function addOrder(Order $order): self
  1044.     {
  1045.         if (!$this->orders->contains($order)) {
  1046.             $this->orders[] = $order;
  1047.             $order->setShop($this);
  1048.         }
  1049.         return $this;
  1050.     }
  1051.     public function removeOrder(Order $order): self
  1052.     {
  1053.         if ($this->orders->removeElement($order)) {
  1054.             // set the owning side to null (unless already changed)
  1055.             if ($order->getShop() === $this) {
  1056.                 $order->setShop(null);
  1057.             }
  1058.         }
  1059.         return $this;
  1060.     }
  1061.     public function getImage(): ?string
  1062.     {
  1063.         return $this->image;
  1064.     }
  1065.     public function setImage(?string $image): self
  1066.     {
  1067.         $this->image $image;
  1068.         return $this;
  1069.     }
  1070.     public function getDefaultImage(): ?string
  1071.     {
  1072.         return $this->defaultImage;
  1073.     }
  1074.     public function setDefaultImage(?string $image): self
  1075.     {
  1076.         $this->defaultImage $image;
  1077.         return $this;
  1078.     }
  1079.     /**
  1080.      * @return UploadedFile
  1081.      */
  1082.     public function getIeImage(): ?UploadedFile
  1083.     {
  1084.         return $this->ieImage;
  1085.     }
  1086.     /**
  1087.      * @param UploadedFile $ieImage
  1088.      *
  1089.      * @return $this
  1090.      */
  1091.     public function setIeImage($ieImage)
  1092.     {
  1093.         $this->ieImage $ieImage;
  1094.         return $this;
  1095.     }
  1096.     /**
  1097.      * @return Collection|ShopReview[]
  1098.      */
  1099.     public function getShopReviews(): Collection
  1100.     {
  1101.         return $this->shopReviews;
  1102.     }
  1103.     public function addShopReview(ShopReview $shopReview): self
  1104.     {
  1105.         if (!$this->shopReviews->contains($shopReview)) {
  1106.             $this->shopReviews[] = $shopReview;
  1107.             $shopReview->setShop($this);
  1108.         }
  1109.         return $this;
  1110.     }
  1111.     public function removeShopReview(ShopReview $shopReview): self
  1112.     {
  1113.         if ($this->shopReviews->removeElement($shopReview)) {
  1114.             // set the owning side to null (unless already changed)
  1115.             if ($shopReview->getShop() === $this) {
  1116.                 $shopReview->setShop(null);
  1117.             }
  1118.         }
  1119.         return $this;
  1120.     }
  1121.     public function getShopReviewCount()
  1122.     {
  1123.         return $this->getShopReviews()->count();
  1124.     }
  1125.     public function getTokenValidAfter(): ?\DateTimeInterface
  1126.     {
  1127.         return $this->tokenValidAfter;
  1128.     }
  1129.     public function setTokenValidAfter(?\DateTimeInterface $tokenValidAfter): self
  1130.     {
  1131.         $this->tokenValidAfter $tokenValidAfter;
  1132.         return $this;
  1133.     }
  1134.     public function getAppEstimatedMinutes(): ?int
  1135.     {
  1136.         if (! $this->appEstimatedMinutes) {
  1137.             return $this->getEstimatedMinutes();
  1138.         }
  1139.         return $this->appEstimatedMinutes;
  1140.     }
  1141.     public function setAppEstimatedMinutes(?int $appEstimatedMinutes): self
  1142.     {
  1143.         $this->appEstimatedMinutes $appEstimatedMinutes;
  1144.         return $this;
  1145.     }
  1146.     public function getAppHourFrom(): ?\DateTimeInterface
  1147.     {
  1148.         if (! $this->appHourFrom) {
  1149.             return $this->getHourFrom();
  1150.         }
  1151.         return $this->appHourFrom;
  1152.     }
  1153.     public function setAppHourFrom(?\DateTimeInterface $appHourFrom): self
  1154.     {
  1155.         $this->appHourFrom $appHourFrom;
  1156.         return $this;
  1157.     }
  1158.     public function getAppHourTo(): ?\DateTimeInterface
  1159.     {
  1160.         if (! $this->appHourTo) {
  1161.             return $this->getHourTo();
  1162.         }
  1163.         return $this->appHourTo;
  1164.     }
  1165.     public function setAppHourTo(?\DateTimeInterface $appHourTo): self
  1166.     {
  1167.         $this->appHourTo $appHourTo;
  1168.         return $this;
  1169.     }
  1170.     public function getAppClosed(): ?bool
  1171.     {
  1172.         return $this->appClosed;
  1173.     }
  1174.     public function setAppClosed(bool $appClosed): self
  1175.     {
  1176.         $this->appClosed $appClosed;
  1177.         return $this;
  1178.     }
  1179.     public function getRate(): ?string
  1180.     {
  1181.         return $this->rate;
  1182.     }
  1183.     public function setRate(string $rate): self
  1184.     {
  1185.         $this->rate $rate;
  1186.         return $this;
  1187.     }
  1188.     public function getGmoShopId(): ?string
  1189.     {
  1190.         return $this->gmoShopId;
  1191.     }
  1192.     public function setGmoShopId(?string $gmoShopId): self
  1193.     {
  1194.         $this->gmoShopId $gmoShopId;
  1195.         return $this;
  1196.     }
  1197.     public function getGmoShopPassword(): ?string
  1198.     {
  1199.         return $this->gmoShopPassword;
  1200.     }
  1201.     public function setGmoShopPassword(?string $gmoShopPassword): self
  1202.     {
  1203.         $this->gmoShopPassword $gmoShopPassword;
  1204.         return $this;
  1205.     }
  1206.     public function getFcmToken(): ?string
  1207.     {
  1208.         return $this->fcmToken;
  1209.     }
  1210.     public function setFcmToken(?string $fcmToken): self
  1211.     {
  1212.         $this->fcmToken $fcmToken;
  1213.         return $this;
  1214.     }
  1215.     public function getLawName(): ?string
  1216.     {
  1217.         return $this->lawName;
  1218.     }
  1219.     public function getAppLawName(): ?string
  1220.     {
  1221.         if (! $this->getLawName()) {
  1222.             return $this->getName();
  1223.         }
  1224.         return $this->getLawName();
  1225.     }
  1226.     public function setLawName(?string $lawName): self
  1227.     {
  1228.         $this->lawName $lawName;
  1229.         return $this;
  1230.     }
  1231.     public function getLawAddress(): ?string
  1232.     {
  1233.         return $this->lawAddress;
  1234.     }
  1235.     public function getAppLawAddress(): ?string
  1236.     {
  1237.         if (! $this->getLawAddress()) {
  1238.             return $this->getZipcode(). ' '$this->getAddress();
  1239.         }
  1240.         return $this->getLawAddress();
  1241.     }
  1242.     public function setLawAddress(?string $lawAddress): self
  1243.     {
  1244.         $this->lawAddress $lawAddress;
  1245.         return $this;
  1246.     }
  1247.     public function getLawRepresentativeName(): ?string
  1248.     {
  1249.         return $this->lawRepresentativeName;
  1250.     }
  1251.     public function getAppLawRepresentativeName(): ?string
  1252.     {
  1253.         return $this->getLawRepresentativeName();
  1254.     }
  1255.     public function setLawRepresentativeName(?string $lawRepresentativeName): self
  1256.     {
  1257.         $this->lawRepresentativeName $lawRepresentativeName;
  1258.         return $this;
  1259.     }
  1260.     public function getLawRepresentativeNameKana(): ?string
  1261.     {
  1262.         return $this->lawRepresentativeNameKana;
  1263.     }
  1264.     public function getAppLawRepresentativeNameKana(): ?string
  1265.     {
  1266.         return $this->getLawRepresentativeNameKana();
  1267.     }
  1268.     public function setLawRepresentativeNameKana(?string $lawRepresentativeNameKana): self
  1269.     {
  1270.         $this->lawRepresentativeNameKana $lawRepresentativeNameKana;
  1271.         return $this;
  1272.     }
  1273.     public function getLawUrl(): ?string
  1274.     {
  1275.         return $this->lawUrl;
  1276.     }
  1277.     public function getAppLawUrl(): ?string
  1278.     {
  1279.         return $this->getLawUrl();
  1280.     }
  1281.     public function setLawUrl(?string $lawUrl): self
  1282.     {
  1283.         $this->lawUrl $lawUrl;
  1284.         return $this;
  1285.     }
  1286.     public function getLawEmail(): ?string
  1287.     {
  1288.         return $this->lawEmail;
  1289.     }
  1290.     public function getAppLawEmail(): ?string
  1291.     {
  1292.         if (! $this->getLawEmail()) {
  1293.             return $this->getEmail();
  1294.         }
  1295.         return $this->getLawEmail();
  1296.     }
  1297.     public function setLawEmail(?string $lawEmail): self
  1298.     {
  1299.         $this->lawEmail $lawEmail;
  1300.         return $this;
  1301.     }
  1302.     public function getLawTel(): ?string
  1303.     {
  1304.         return $this->lawTel;
  1305.     }
  1306.     public function getAppLawTel(): ?string
  1307.     {
  1308.         if (! $this->getLawTel()) {
  1309.             return $this->getTel();
  1310.         }
  1311.         return $this->getLawTel();
  1312.     }
  1313.     public function setLawTel(?string $lawTel): self
  1314.     {
  1315.         $this->lawTel $lawTel;
  1316.         return $this;
  1317.     }
  1318.     public function getLawDeliveryDaysAndShippingMethod(): ?string
  1319.     {
  1320.         return $this->lawDeliveryDaysAndShippingMethod;
  1321.     }
  1322.     public function getAppLawDeliveryDaysAndShippingMethod(): ?string
  1323.     {
  1324.         return $this->getLawDeliveryDaysAndShippingMethod();
  1325.     }
  1326.     public function setLawDeliveryDaysAndShippingMethod(?string $lawDeliveryDaysAndShippingMethod): self
  1327.     {
  1328.         $this->lawDeliveryDaysAndShippingMethod $lawDeliveryDaysAndShippingMethod;
  1329.         return $this;
  1330.     }
  1331.     public function getLawPaymentMethod(): ?string
  1332.     {
  1333.         return $this->lawPaymentMethod;
  1334.     }
  1335.     public function getAppLawPaymentMethod(): ?string
  1336.     {
  1337.         return $this->getLawPaymentMethod();
  1338.     }
  1339.     public function setLawPaymentMethod(?string $lawPaymentMethod): self
  1340.     {
  1341.         $this->lawPaymentMethod $lawPaymentMethod;
  1342.         return $this;
  1343.     }
  1344.     public function getLawOtherCosts(): ?string
  1345.     {
  1346.         return $this->lawOtherCosts;
  1347.     }
  1348.     public function getAppLawOtherCosts(): ?string
  1349.     {
  1350.         return $this->getLawOtherCosts();
  1351.     }
  1352.     public function setLawOtherCosts(?string $lawOtherCosts): self
  1353.     {
  1354.         $this->lawOtherCosts $lawOtherCosts;
  1355.         return $this;
  1356.     }
  1357.     public function getLawReturnPolicy(): ?string
  1358.     {
  1359.         return $this->lawReturnPolicy;
  1360.     }
  1361.     public function getAppLawReturnPolicy(): ?string
  1362.     {
  1363.         return $this->getLawReturnPolicy();
  1364.     }
  1365.     public function setLawReturnPolicy(?string $lawReturnPolicy): self
  1366.     {
  1367.         $this->lawReturnPolicy $lawReturnPolicy;
  1368.         return $this;
  1369.     }
  1370.     public function getLawDefectiveProduct(): ?string
  1371.     {
  1372.         return $this->lawDefectiveProduct;
  1373.     }
  1374.     public function getAppLawDefectiveProduct(): ?string
  1375.     {
  1376.         return $this->getLawDefectiveProduct();
  1377.     }
  1378.     public function setLawDefectiveProduct(?string $lawDefectiveProduct): self
  1379.     {
  1380.         $this->lawDefectiveProduct $lawDefectiveProduct;
  1381.         return $this;
  1382.     }
  1383.     /**
  1384.      * @return Collection|ShopSales[]
  1385.      */
  1386.     public function getShopSales(): Collection
  1387.     {
  1388.         return $this->shopSales;
  1389.     }
  1390.     public function addShopSale(ShopSales $shopSale): self
  1391.     {
  1392.         if (!$this->shopSales->contains($shopSale)) {
  1393.             $this->shopSales[] = $shopSale;
  1394.             $shopSale->setShop($this);
  1395.         }
  1396.         return $this;
  1397.     }
  1398.     public function removeShopSale(ShopSales $shopSale): self
  1399.     {
  1400.         if ($this->shopSales->removeElement($shopSale)) {
  1401.             // set the owning side to null (unless already changed)
  1402.             if ($shopSale->getShop() === $this) {
  1403.                 $shopSale->setShop(null);
  1404.             }
  1405.         }
  1406.         return $this;
  1407.     }
  1408.     public function getBankName(): ?string
  1409.     {
  1410.         return $this->bankName;
  1411.     }
  1412.     public function setBankName(?string $bankName): self
  1413.     {
  1414.         $this->bankName $bankName;
  1415.         return $this;
  1416.     }
  1417.     public function getBankCode(): ?string
  1418.     {
  1419.         return $this->bankCode;
  1420.     }
  1421.     public function setBankCode(?string $bankCode): self
  1422.     {
  1423.         $this->bankCode $bankCode;
  1424.         return $this;
  1425.     }
  1426.     public function getBankBranchName(): ?string
  1427.     {
  1428.         return $this->bankBranchName;
  1429.     }
  1430.     public function setBankBranchName(?string $bankBranchName): self
  1431.     {
  1432.         $this->bankBranchName $bankBranchName;
  1433.         return $this;
  1434.     }
  1435.     public function getBankBranchCode(): ?string
  1436.     {
  1437.         return $this->bankBranchCode;
  1438.     }
  1439.     public function setBankBranchCode(?string $bankBranchCode): self
  1440.     {
  1441.         $this->bankBranchCode $bankBranchCode;
  1442.         return $this;
  1443.     }
  1444.     public function getBankAccountNumber(): ?string
  1445.     {
  1446.         return $this->bankAccountNumber;
  1447.     }
  1448.     public function setBankAccountNumber(?string $bankAccountNumber): self
  1449.     {
  1450.         $this->bankAccountNumber $bankAccountNumber;
  1451.         return $this;
  1452.     }
  1453.     public function getBankAccountType(): ?string
  1454.     {
  1455.         return $this->bankAccountType;
  1456.     }
  1457.     public function setBankAccountType(?string $bankAccountType): self
  1458.     {
  1459.         $this->bankAccountType $bankAccountType;
  1460.         return $this;
  1461.     }
  1462.     public function getBankAccountName(): ?string
  1463.     {
  1464.         return $this->bankAccountName;
  1465.     }
  1466.     public function setBankAccountName(?string $bankAccountName): self
  1467.     {
  1468.         $this->bankAccountName $bankAccountName;
  1469.         return $this;
  1470.     }
  1471.     public function getLawUserDelete(): ?string
  1472.     {
  1473.         return $this->lawUserDelete;
  1474.     }
  1475.     public function getAppLawUserDelete(): ?string
  1476.     {
  1477.         return $this->getLawUserDelete();
  1478.     }
  1479.     public function setLawUserDelete(?string $lawUserDelete): self
  1480.     {
  1481.         $this->lawUserDelete $lawUserDelete;
  1482.         return $this;
  1483.     }
  1484.     public function getLawCancel(): ?string
  1485.     {
  1486.         return $this->lawCancel;
  1487.     }
  1488.     public function getAppLawCancel(): ?string
  1489.     {
  1490.         return $this->getLawCancel();
  1491.     }
  1492.     public function setLawCancel(?string $lawCancel): self
  1493.     {
  1494.         $this->lawCancel $lawCancel;
  1495.         return $this;
  1496.     }
  1497. }