src/AppBundle/MainBundle/Entity/PS_Add_Spot.php line 899

Open in your IDE?
  1. <?php
  2. /**
  3.  * Created by PhpStorm.
  4.  * User: apple
  5.  * Date: 29/03/19
  6.  * Time: 3:08 PM
  7.  */
  8. namespace App\AppBundle\MainBundle\Entity;
  9. use Doctrine\Common\Collections\ArrayCollection;
  10. use Doctrine\Common\Collections\Criteria;
  11. use Doctrine\ORM\Mapping as ORM;
  12. use Symfony\Component\Validator\Constraints as Assert;
  13. use JsonSerializable;
  14. /**
  15.  * AddOns
  16.  *
  17.  * @ORM\Entity(repositoryClass="App\AppBundle\MainBundle\Repository\PS_Add_SpotRepository")
  18.  * @ORM\Table(name="ps_add_spot")
  19.  * @ORM\HasLifecycleCallbacks()
  20.  */
  21. class PS_Add_Spot implements JsonSerializable
  22. {
  23.     /**
  24.      * @ORM\Column(type="integer")
  25.      * @ORM\Id
  26.      * @ORM\GeneratedValue(strategy="AUTO")
  27.      */
  28.     private $id;
  29.     /**
  30.      * Many Token have one user. This is the owning side.
  31.      * @ORM\ManyToOne(targetEntity="User", inversedBy="add_spot")
  32.      * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
  33.      */
  34.     private $user;
  35.     /**
  36.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  37.      */
  38.     private $is_validated false;
  39.     /**
  40.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  41.      */
  42.     private $is_requested_for_validation false;
  43.     /**
  44.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  45.      */
  46.     private $is_requested_for_verification false;
  47.     /**
  48.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  49.      */
  50.     private $is_completed false;
  51.     /**
  52.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  53.      */
  54.     private $is_verified false;
  55.     /**
  56.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  57.      */
  58.     private $loc_detail false;
  59.     /**
  60.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  61.      */
  62.     private $photos false;
  63.     /**
  64.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  65.      */
  66.     private $streetview false;
  67.     /**
  68.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  69.      */
  70.     private $pricing false;
  71.     /**
  72.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  73.      */
  74.     private $special_days false;
  75.     /**
  76.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  77.      */
  78.     private $availability false;
  79.     /**
  80.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  81.      */
  82.     private $is_saved false;
  83.     /**
  84.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 1})
  85.      */
  86.     private $is_active true;//This is used to disable the spot.
  87.     /**
  88.      * One Product has One Shipment.
  89.      * @ORM\OneToOne(targetEntity="PS_Add_Spot_Loc_Detail")
  90.      * @ORM\JoinColumn(name="ps_add_spot_loc_detail_id", referencedColumnName="id")
  91.      */
  92.     private $ps_add_spot_loc_detail;
  93.     /**
  94.      * One Product has One Shipment.
  95.      * @ORM\OneToOne(targetEntity="PS_Add_Spot_Street_View")
  96.      * @ORM\JoinColumn(name="ps_add_spot_street_view_id", referencedColumnName="id")
  97.      */
  98.     private $ps_add_spot_street_view;
  99.     /**
  100.      * One product has many features. This is the inverse side.
  101.      * @ORM\OneToMany(targetEntity="PS_Add_Spot_Photos", mappedBy="ps_add_spot")
  102.      */
  103.     private $ps_add_spot_photos;
  104.     /**
  105.      * One product has many features. This is the inverse side.
  106.      * @ORM\OneToMany(targetEntity="PS_Add_Spot_Availability", mappedBy="ps_add_spot")
  107.      */
  108.     private $ps_add_spot_availability;
  109.     /**
  110.      * One Product has One Shipment.
  111.      * @ORM\OneToOne(targetEntity="PS_Add_Spot_Pricing")
  112.      * @ORM\JoinColumn(name="ps_add_spot_pricing_id", referencedColumnName="id")
  113.      */
  114.     private $ps_add_spot_pricing;
  115.     /**
  116.      * One product has many features. This is the inverse side.
  117.      * @ORM\OneToMany(targetEntity="PS_Add_Spot_Special_Days", mappedBy="ps_add_spot")
  118.      */
  119.     private $ps_add_spot_special_days;
  120.     /**
  121.      * One product has many features. This is the inverse side.
  122.      * @ORM\OneToMany(targetEntity="PS_Add_Spot_UnAvailability", mappedBy="ps_add_spot")
  123.      */
  124.     private $ps_add_spot_unavailability;
  125.     /**
  126.      * @ORM\ManyToOne(targetEntity="WP_Currency")
  127.      * @ORM\JoinColumn(name="wp_currency_id", referencedColumnName="id")
  128.      */
  129.     private $wp_currency;
  130.     /**
  131.      * @ORM\OneToOne(targetEntity="PS_My_Spots", mappedBy="ps_add_spot")
  132.      */
  133.     private $ps_my_spot;
  134.     /**
  135.      * @ORM\Column(type="integer", nullable=true, options={"default" : 0})
  136.      */
  137.     private $spot_status;//1-Active, 2-TemporarilyUserDisabled, 3-AdminTemporarilyDisabled, 4-PermanentlyDisabled, 5-Deleted, 6-Incomplete
  138.     /**
  139.      * One user has many tokens. This is the inverse side.
  140.      * @ORM\OneToMany(targetEntity="Orders", mappedBy="user")
  141.      */
  142.     private $orders;
  143.     /**
  144.      * One user has many tokens. This is the inverse side.
  145.      * @ORM\OneToMany(targetEntity="User_Spot_Reviews", mappedBy="ps_add_spot")
  146.      */
  147.     private $user_spot_reviews;
  148.     /**
  149.      * One user has many tokens. This is the inverse side.
  150.      * @ORM\OneToMany(targetEntity="Supplier_To_User_Ratings", mappedBy="ps_add_spot")
  151.      */
  152.     private $supplier_to_user_ratings;
  153.     /**
  154.      * @ORM\Column(type="datetime", nullable=true)
  155.      */
  156.     private $spot_activated_on;
  157.     /**
  158.      * @ORM\Column(type="datetime", nullable=true)
  159.      */
  160.     private $spot_verified_on;
  161.     /**
  162.      * @ORM\Column(type="datetime", nullable=true)
  163.      */
  164.     private $spot_deactivated_on;
  165.     /**
  166.      * @ORM\Column(type="datetime", nullable=true)
  167.      */
  168.     private $spot_deleted_on;
  169.     /**
  170.      * @ORM\Column(type="string", nullable=true)
  171.      */
  172.     private $reason;
  173.     /**
  174.      * @ORM\Column(type="string", nullable=true)
  175.      */
  176.     private $reason_validation;
  177.     /**
  178.      * @ORM\Column(type="string", nullable=true)
  179.      */
  180.     private $reason_verification;
  181.     /**
  182.      * @var WP_Pricing_Data
  183.      * @ORM\ManyToOne(targetEntity="WP_Pricing_Data")
  184.      * @ORM\JoinColumn(name="default_pricing_data_id", referencedColumnName="id", nullable=true)
  185.      */
  186.     private $default_pricing_data;
  187.     /**
  188.      * @return mixed
  189.      */
  190.     public function getId()
  191.     {
  192.         return $this->id;
  193.     }
  194.     /**
  195.      * @return mixed
  196.      */
  197.     public function getisCompleted()
  198.     {
  199.         return $this->is_completed;
  200.     }
  201.     /**
  202.      * @param mixed $is_completed
  203.      */
  204.     public function setIsCompleted($is_completed)
  205.     {
  206.         $this->is_completed $is_completed;
  207.     }
  208.     /**
  209.      * @return mixed
  210.      */
  211.     public function getSpotStatus()
  212.     {
  213.         return $this->spot_status;
  214.     }
  215.     /**
  216.      * @param mixed $spot_status
  217.      */
  218.     public function setSpotStatus($spot_status)
  219.     {
  220.         $this->spot_status $spot_status;
  221.     }
  222.     /**
  223.      * @return mixed
  224.      */
  225.     public function getisVerified()
  226.     {
  227.         return $this->is_verified;
  228.     }
  229.     /**
  230.      * @param mixed $is_verified
  231.      */
  232.     public function setIsVerified($is_verified)
  233.     {
  234.         $this->is_verified $is_verified;
  235.     }
  236.     /**
  237.      * @return mixed
  238.      */
  239.     public function getLocDetail()
  240.     {
  241.         return $this->loc_detail;
  242.     }
  243.     /**
  244.      * @param mixed $loc_detail
  245.      */
  246.     public function setLocDetail($loc_detail)
  247.     {
  248.         $this->loc_detail $loc_detail;
  249.     }
  250.     /**
  251.      * @return mixed
  252.      */
  253.     public function getPhotos()
  254.     {
  255.         return $this->photos;
  256.     }
  257.     /**
  258.      * @param mixed $photos
  259.      */
  260.     public function setPhotos($photos)
  261.     {
  262.         $this->photos $photos;
  263.     }
  264.     /**
  265.      * @return mixed
  266.      */
  267.     public function getStreetview()
  268.     {
  269.         return $this->streetview;
  270.     }
  271.     /**
  272.      * @param mixed $streetview
  273.      */
  274.     public function setStreetview($streetview)
  275.     {
  276.         $this->streetview $streetview;
  277.     }
  278.     /**
  279.      * @return mixed
  280.      */
  281.     public function getPricing()
  282.     {
  283.         return $this->pricing;
  284.     }
  285.     /**
  286.      * @param mixed $pricing
  287.      */
  288.     public function setPricing($pricing)
  289.     {
  290.         $this->pricing $pricing;
  291.     }
  292.     /**
  293.      * @return mixed
  294.      */
  295.     public function getSpecialDays()
  296.     {
  297.         return $this->special_days;
  298.     }
  299.     /**
  300.      * @param mixed $special_days
  301.      */
  302.     public function setSpecialDays($special_days)
  303.     {
  304.         $this->special_days $special_days;
  305.     }
  306.     /**
  307.      * @return mixed
  308.      */
  309.     public function getAvailability()
  310.     {
  311.         return $this->availability;
  312.     }
  313.     /**
  314.      * @param mixed $availability
  315.      */
  316.     public function setAvailability($availability)
  317.     {
  318.         $this->availability $availability;
  319.     }
  320.     /**
  321.      * @return PS_Add_Spot_Loc_Detail
  322.      */
  323.     public function getPsAddSpotLocDetail()
  324.     {
  325.         return $this->ps_add_spot_loc_detail;
  326.     }
  327.     /**
  328.      * @param mixed $ps_add_spot_loc_detail
  329.      */
  330.     public function setPsAddSpotLocDetail($ps_add_spot_loc_detail)
  331.     {
  332.         $this->ps_add_spot_loc_detail $ps_add_spot_loc_detail;
  333.     }
  334.     /**
  335.      * @return mixed
  336.      */
  337.     public function getPsAddSpotStreetView()
  338.     {
  339.         return $this->ps_add_spot_street_view;
  340.     }
  341.     /**
  342.      * @param mixed $ps_add_spot_street_view
  343.      */
  344.     public function setPsAddSpotStreetView($ps_add_spot_street_view)
  345.     {
  346.         $this->ps_add_spot_street_view $ps_add_spot_street_view;
  347.     }
  348.     /**
  349.      * @return mixed
  350.      */
  351.     public function getPsAddSpotPhotos()
  352.     {
  353.         return $this->ps_add_spot_photos;
  354.     }
  355.     /**
  356.      * @return PS_Add_Spot_Photos
  357.      */
  358.     public function getPsAddSpotDefaultImage() {
  359.         $criteria Criteria::create();
  360.         $criteria->orderBy(array('seq_number' => Criteria::ASC))
  361.                  ->setMaxResults(1);
  362.         $result $this->ps_add_spot_photos->matching($criteria);
  363.         if (count($result) > 0) {
  364.             return $result[0];
  365.         }
  366.         return $result;
  367.     }
  368.     /**
  369.      * @param mixed $ps_add_spot_photos
  370.      */
  371.     public function setPsAddSpotPhotos($ps_add_spot_photos)
  372.     {
  373.         $this->ps_add_spot_photos $ps_add_spot_photos;
  374.     }
  375.     /**
  376.      * @return mixed
  377.      */
  378.     public function getPsAddSpotAvailability()
  379.     {
  380.         return $this->ps_add_spot_availability;
  381.     }
  382.     /**
  383.      * @param mixed $ps_add_spot_availability
  384.      */
  385.     public function setPsAddSpotAvailability($ps_add_spot_availability)
  386.     {
  387.         $this->ps_add_spot_availability $ps_add_spot_availability;
  388.     }
  389.     /**
  390.      * @return PS_Add_Spot_Pricing
  391.      */
  392.     public function getPsAddSpotPricing()
  393.     {
  394.         return $this->ps_add_spot_pricing;
  395.     }
  396.     /**
  397.      * @param mixed $ps_add_spot_pricing
  398.      */
  399.     public function setPsAddSpotPricing($ps_add_spot_pricing)
  400.     {
  401.         $this->ps_add_spot_pricing $ps_add_spot_pricing;
  402.     }
  403.     /**
  404.      * @return mixed
  405.      */
  406.     public function getPsAddSpotSpecialDays()
  407.     {
  408.         return $this->ps_add_spot_special_days;
  409.     }
  410.     /**
  411.      * @param mixed $ps_add_spot_special_days
  412.      */
  413.     public function setPsAddSpotSpecialDays($ps_add_spot_special_days)
  414.     {
  415.         $this->ps_add_spot_special_days $ps_add_spot_special_days;
  416.     }
  417.     /**
  418.      * @return mixed
  419.      */
  420.     public function getPsAddSpotUnavailability()
  421.     {
  422.         return $this->ps_add_spot_unavailability;
  423.     }
  424.     /**
  425.      * @param mixed $ps_add_spot_unavailability
  426.      */
  427.     public function setPsAddSpotUnavailability($ps_add_spot_unavailability)
  428.     {
  429.         $this->ps_add_spot_unavailability $ps_add_spot_unavailability;
  430.     }
  431.     /**
  432.      * @return WP_Currency
  433.      */
  434.     public function getWpCurrency()
  435.     {
  436.         return $this->wp_currency;
  437.     }
  438.     /**
  439.      * @param mixed $wp_currency
  440.      */
  441.     public function setWpCurrency($wp_currency)
  442.     {
  443.         $this->wp_currency $wp_currency;
  444.     }
  445.     /**
  446.      * @return mixed
  447.      */
  448.     public function getIsSaved()
  449.     {
  450.         return $this->is_saved;
  451.     }
  452.     /**
  453.      * @param mixed $is_saved
  454.      */
  455.     public function setIsSaved($is_saved)
  456.     {
  457.         $this->is_saved $is_saved;
  458.     }
  459.     /**
  460.      * @return PS_My_Spots
  461.      */
  462.     public function getPsMySpot()
  463.     {
  464.         return $this->ps_my_spot;
  465.     }
  466.     /**
  467.      * @param mixed $ps_my_spot
  468.      */
  469.     public function setPsMySpot($ps_my_spot)
  470.     {
  471.         $this->ps_my_spot $ps_my_spot;
  472.     }
  473.     /**
  474.      * @return mixed
  475.      */
  476.     public function getIsActive()
  477.     {
  478.         return $this->is_active;
  479.     }
  480.     /**
  481.      * @param mixed $is_active
  482.      */
  483.     public function setIsActive($is_active)
  484.     {
  485.         $this->is_active $is_active;
  486.     }
  487.     /**
  488.      * @return mixed
  489.      */
  490.     public function getOrders()
  491.     {
  492.         return $this->orders;
  493.     }
  494.     /**
  495.      * @param mixed $orders
  496.      */
  497.     public function setOrders($orders)
  498.     {
  499.         $this->orders $orders;
  500.     }
  501.     /**
  502.      * @return mixed
  503.      */
  504.     public function getUserSpotReviews()
  505.     {
  506.         return $this->user_spot_reviews;
  507.     }
  508.     /**
  509.      * @param mixed $user_spot_reviews
  510.      */
  511.     public function setUserSpotReviews($user_spot_reviews)
  512.     {
  513.         $this->user_spot_reviews $user_spot_reviews;
  514.     }
  515.     /**
  516.      * @return mixed
  517.      */
  518.     public function getSupplierToUserRatings()
  519.     {
  520.         return $this->supplier_to_user_ratings;
  521.     }
  522.     /**
  523.      * @param mixed $supplier_to_user_ratings
  524.      */
  525.     public function setSupplierToUserRatings($supplier_to_user_ratings)
  526.     {
  527.         $this->supplier_to_user_ratings $supplier_to_user_ratings;
  528.     }
  529.     /**
  530.      * @return mixed
  531.      */
  532.     public function getSpotActivatedOn()
  533.     {
  534.         return $this->spot_activated_on;
  535.     }
  536.     /**
  537.      * @param mixed $spot_activated_on
  538.      */
  539.     public function setSpotActivatedOn($spot_activated_on)
  540.     {
  541.         $this->spot_activated_on $spot_activated_on;
  542.     }
  543.     /**
  544.      * @return mixed
  545.      */
  546.     public function getSpotVerifiedOn()
  547.     {
  548.         return $this->spot_verified_on;
  549.     }
  550.     /**
  551.      * @param mixed $spot_verified_on
  552.      */
  553.     public function setSpotVerifiedOn($spot_verified_on)
  554.     {
  555.         $this->spot_verified_on $spot_verified_on;
  556.     }
  557.     /**
  558.      * @return mixed
  559.      */
  560.     public function getSpotDeactivatedOn()
  561.     {
  562.         return $this->spot_deactivated_on;
  563.     }
  564.     /**
  565.      * @param mixed $spot_deactivated_on
  566.      */
  567.     public function setSpotDeactivatedOn($spot_deactivated_on)
  568.     {
  569.         $this->spot_deactivated_on $spot_deactivated_on;
  570.     }
  571.     /**
  572.      * @return mixed
  573.      */
  574.     public function getSpotDeletedOn()
  575.     {
  576.         return $this->spot_deleted_on;
  577.     }
  578.     /**
  579.      * @param mixed $spot_deleted_on
  580.      */
  581.     public function setSpotDeletedOn($spot_deleted_on)
  582.     {
  583.         $this->spot_deleted_on $spot_deleted_on;
  584.     }
  585.     /**
  586.      * @return mixed
  587.      */
  588.     public function getReason()
  589.     {
  590.         return $this->reason;
  591.     }
  592.     /**
  593.      * @param mixed $reason
  594.      */
  595.     public function setReason($reason)
  596.     {
  597.         $this->reason $reason;
  598.     }
  599.     /**
  600.      * @return mixed
  601.      */
  602.     public function getIsValidated()
  603.     {
  604.         return $this->is_validated;
  605.     }
  606.     /**
  607.      * @param mixed $is_validated
  608.      */
  609.     public function setIsValidated($is_validated)
  610.     {
  611.         $this->is_validated $is_validated;
  612.     }
  613.     /**
  614.      * @return mixed
  615.      */
  616.     public function getIsRequestedForVerification()
  617.     {
  618.         return $this->is_requested_for_verification;
  619.     }
  620.     /**
  621.      * @param mixed $is_requested_for_verification
  622.      */
  623.     public function setIsRequestedForVerification($is_requested_for_verification)
  624.     {
  625.         $this->is_requested_for_verification $is_requested_for_verification;
  626.     }
  627.     /**
  628.      * @return mixed
  629.      */
  630.     public function getIsRequestedForValidation()
  631.     {
  632.         return $this->is_requested_for_validation;
  633.     }
  634.     /**
  635.      * @param mixed $is_requested_for_validation
  636.      */
  637.     public function setIsRequestedForValidation($is_requested_for_validation)
  638.     {
  639.         $this->is_requested_for_validation $is_requested_for_validation;
  640.     }
  641.     /**
  642.      * @return mixed
  643.      */
  644.     public function getReasonValidation()
  645.     {
  646.         return $this->reason_validation;
  647.     }
  648.     /**
  649.      * @param mixed $reason_validation
  650.      */
  651.     public function setReasonValidation($reason_validation)
  652.     {
  653.         $this->reason_validation $reason_validation;
  654.     }
  655.     /**
  656.      * @return mixed
  657.      */
  658.     public function getReasonVerification()
  659.     {
  660.         return $this->reason_verification;
  661.     }
  662.     /**
  663.      * @param mixed $reason_verification
  664.      */
  665.     public function setReasonVerification($reason_verification)
  666.     {
  667.         $this->reason_verification $reason_verification;
  668.     }
  669.     /**
  670.      * @return WP_Pricing_Data
  671.      */
  672.     public function getDefaultPricingData()
  673.     {
  674.         return $this->default_pricing_data;
  675.     }
  676.     /**
  677.      * @param WP_Pricing_Data $default_pricing_data
  678.      */
  679.     public function setDefaultPricingData(WP_Pricing_Data $default_pricing_data)
  680.     {
  681.         $this->default_pricing_data $default_pricing_data;
  682.     }
  683.     /**
  684.      * @return PS_Add_Spot_Photos
  685.      */
  686.     public function getDefaultSpotImageObject() {
  687.         $criteria Criteria::create();
  688.         $criteria->orderBy(['seq_number' => Criteria::ASC])
  689.             ->setMaxResults(1);
  690.         $photos $this->ps_add_spot_photos->matching($criteria);
  691.         if (count($photos) > 0) {
  692.             return $photos[0];
  693.         }
  694.         return NULL;
  695.     }
  696.     public function jsonSerialize()
  697.     {
  698.         return array(
  699.             'id' => $this->id,
  700.         );
  701.     }
  702.     /**
  703.      * @return User
  704.      */
  705.     public function getUser()
  706.     {
  707.         return $this->user;
  708.     }
  709.     /**
  710.      * @param mixed $user
  711.      */
  712.     public function setUser($user)
  713.     {
  714.         $this->user $user;
  715.     }
  716.     /**
  717.      * @var string $created
  718.      *
  719.      * @ORM\Column(name="created_at", type="string", nullable=false)
  720.      */
  721.     protected $createdAt;
  722.     /**
  723.      * @var string $updated
  724.      *
  725.      * @ORM\Column(name="updated_at", type="string", nullable=false)
  726.      */
  727.     protected $updatedAt;
  728.     public function getCreatedAt()
  729.     {
  730.         return $this->createdAt;
  731.     }
  732.     public function setCreatedAt($createdAt)
  733.     {
  734.         $this->createdAt $createdAt;
  735.         return $this;
  736.     }
  737.     public function getUpdatedAt()
  738.     {
  739.         return $this->updatedAt;
  740.     }
  741.     public function setUpdatedAt($updatedAt)
  742.     {
  743.         $this->updatedAt $updatedAt;
  744.         return $this;
  745.     }
  746.     /**
  747.      * @ORM\PrePersist
  748.      * @ORM\PreUpdate
  749.      */
  750.     public function updatedTimestamps()
  751.     {
  752.         $this->setUpdatedAt(round(microtime(true) * 1000));
  753.         if ($this->getCreatedAt() === null) {
  754.             $this->setCreatedAt(round(microtime(true) * 1000));
  755.         }
  756.     }
  757.     public function __construct() {
  758.         $this->ps_add_spot_photos = new ArrayCollection();
  759.         $this->ps_add_spot_special_days = new ArrayCollection();
  760.         $this->ps_add_spot_unavailability = new ArrayCollection();
  761.         $this->ps_add_spot_availability = new ArrayCollection();
  762.         $this->orders = new ArrayCollection();
  763.         $this->supplier_to_user_ratings = new ArrayCollection();
  764.         $this->user_spot_reviews = new ArrayCollection();
  765.         $this->setCreatedAt(round(microtime(true) * 1000));
  766.     }
  767. }