<?php

namespace app\entity\data\store;

use app\entity\data\DataEntity;

class StoreGroupOrderEntity extends DataEntity
{
    public $groupOrderId = null;  // 订单组id
    public $groupOrderSn = null;  // 订单号
    public $uid = null;  // 用户id
    public $totalPostage = null;  // 邮费
    public $totalPrice = null;  // 订单总额
    public $totalNum = null;  // 商品数
    public $couponPrice = null;  // 优惠金额
    public $realName = null;  // 联系人
    public $userPhone = null;  // 联系电话
    public $userAddress = null;  // 收货地址
    public $payPrice = null;  // 支付金额
    public $payPostage = null;  // 支付邮费
    public $cost = null;  // 成本价
    public $giveCouponIds = null;  // 赠送优惠券
    public $paid = null;  // 是否支付
    public $payTime = null;  // 支付时间
    public $payType = null;  // 支付方式
    public $createTime = null;  // 创建时间
    public $isRemind = null;  // 是否提醒
    public $isDel = null;  // 是否删除
    public $rand = null;  // 订单号随机数
    public $split = null;  // 分账状态
    // public $serialNumber = null;  // 首信易交易流水号
    public $testOrder = null;  // 测试订单
    public $hfPayId = null;  // 汇付订单id
    public $payWx = null;  // 微信支付渠道后台设置
    public $fzonePaytype = null;

    /**
     * @return mixed
     */
    public function getGroupOrderId()
    {
        return $this->groupOrderId;
    }

    /**
     * @param mixed $groupOrderId
     * @return StoreGroupOrderEntity
     */
    public function setGroupOrderId($groupOrderId): StoreGroupOrderEntity
    {
        $this->groupOrderId = $groupOrderId;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getGroupOrderSn()
    {
        return $this->groupOrderSn;
    }

    /**
     * @param mixed $groupOrderSn
     * @return StoreGroupOrderEntity
     */
    public function setGroupOrderSn($groupOrderSn): StoreGroupOrderEntity
    {
        $this->groupOrderSn = $groupOrderSn;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getUid()
    {
        return $this->uid;
    }

    /**
     * @param mixed $uid
     * @return StoreGroupOrderEntity
     */
    public function setUid($uid): StoreGroupOrderEntity
    {
        $this->uid = $uid;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getTotalPostage()
    {
        return $this->totalPostage;
    }

    /**
     * @param mixed $totalPostage
     * @return StoreGroupOrderEntity
     */
    public function setTotalPostage($totalPostage): StoreGroupOrderEntity
    {
        $this->totalPostage = $totalPostage;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getTotalPrice()
    {
        return $this->totalPrice;
    }

    /**
     * @param mixed $totalPrice
     * @return StoreGroupOrderEntity
     */
    public function setTotalPrice($totalPrice): StoreGroupOrderEntity
    {
        $this->totalPrice = $totalPrice;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getTotalNum()
    {
        return $this->totalNum;
    }

    /**
     * @param mixed $totalNum
     * @return StoreGroupOrderEntity
     */
    public function setTotalNum($totalNum): StoreGroupOrderEntity
    {
        $this->totalNum = $totalNum;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getCouponPrice()
    {
        return $this->couponPrice;
    }

    /**
     * @param mixed $couponPrice
     * @return StoreGroupOrderEntity
     */
    public function setCouponPrice($couponPrice): StoreGroupOrderEntity
    {
        $this->couponPrice = $couponPrice;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getRealName()
    {
        return $this->realName;
    }

    /**
     * @param mixed $realName
     * @return StoreGroupOrderEntity
     */
    public function setRealName($realName): StoreGroupOrderEntity
    {
        $this->realName = $realName;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getUserPhone()
    {
        return $this->userPhone;
    }

    /**
     * @param mixed $userPhone
     * @return StoreGroupOrderEntity
     */
    public function setUserPhone($userPhone): StoreGroupOrderEntity
    {
        $this->userPhone = $userPhone;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getUserAddress()
    {
        return $this->userAddress;
    }

    /**
     * @param mixed $userAddress
     * @return StoreGroupOrderEntity
     */
    public function setUserAddress($userAddress): StoreGroupOrderEntity
    {
        $this->userAddress = $userAddress;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getPayPrice()
    {
        return $this->payPrice;
    }

    /**
     * @param mixed $payPrice
     * @return StoreGroupOrderEntity
     */
    public function setPayPrice($payPrice): StoreGroupOrderEntity
    {
        $this->payPrice = $payPrice;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getPayPostage()
    {
        return $this->payPostage;
    }

    /**
     * @param mixed $payPostage
     * @return StoreGroupOrderEntity
     */
    public function setPayPostage($payPostage): StoreGroupOrderEntity
    {
        $this->payPostage = $payPostage;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getCost()
    {
        return $this->cost;
    }

    /**
     * @param mixed $cost
     * @return StoreGroupOrderEntity
     */
    public function setCost($cost): StoreGroupOrderEntity
    {
        $this->cost = $cost;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getGiveCouponIds()
    {
        return $this->giveCouponIds;
    }

    /**
     * @param mixed $giveCouponIds
     * @return StoreGroupOrderEntity
     */
    public function setGiveCouponIds($giveCouponIds): StoreGroupOrderEntity
    {
        $this->giveCouponIds = $giveCouponIds;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getPaid()
    {
        return $this->paid;
    }

    /**
     * @param mixed $paid
     * @return StoreGroupOrderEntity
     */
    public function setPaid($paid): StoreGroupOrderEntity
    {
        $this->paid = $paid;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getPayTime()
    {
        return $this->payTime;
    }

    /**
     * @param mixed $payTime
     * @return StoreGroupOrderEntity
     */
    public function setPayTime($payTime): StoreGroupOrderEntity
    {
        $this->payTime = $payTime;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getPayType()
    {
        return $this->payType;
    }

    /**
     * @param mixed $payType
     * @return StoreGroupOrderEntity
     */
    public function setPayType($payType): StoreGroupOrderEntity
    {
        $this->payType = $payType;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getCreateTime()
    {
        return $this->createTime;
    }

    /**
     * @param mixed $createTime
     * @return StoreGroupOrderEntity
     */
    public function setCreateTime($createTime): StoreGroupOrderEntity
    {
        $this->createTime = $createTime;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getIsRemind()
    {
        return $this->isRemind;
    }

    /**
     * @param mixed $isRemind
     * @return StoreGroupOrderEntity
     */
    public function setIsRemind($isRemind): StoreGroupOrderEntity
    {
        $this->isRemind = $isRemind;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getIsDel()
    {
        return $this->isDel;
    }

    /**
     * @param mixed $isDel
     * @return StoreGroupOrderEntity
     */
    public function setIsDel($isDel): StoreGroupOrderEntity
    {
        $this->isDel = $isDel;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getRand()
    {
        return $this->rand;
    }

    /**
     * @param mixed $rand
     * @return StoreGroupOrderEntity
     */
    public function setRand($rand): StoreGroupOrderEntity
    {
        $this->rand = $rand;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getSplit()
    {
        return $this->split;
    }

    /**
     * @param mixed $split
     * @return StoreGroupOrderEntity
     */
    public function setSplit($split): StoreGroupOrderEntity
    {
        $this->split = $split;
        return $this;
    }

    // /**
    //  * @return mixed
    //  */
    // public function getSerialNumber()
    // {
    //     return $this->serialNumber;
    // }
    //
    // /**
    //  * @param mixed $serialNumber
    //  * @return StoreGroupOrderEntity
    //  */
    // public function setSerialNumber($serialNumber): StoreGroupOrderEntity
    // {
    //     $this->serialNumber = $serialNumber;
    //     return $this;
    // }

    /**
     * @return mixed
     */
    public function getTestOrder()
    {
        return $this->testOrder;
    }

    /**
     * @param mixed $testOrder
     * @return StoreGroupOrderEntity
     */
    public function setTestOrder($testOrder): StoreGroupOrderEntity
    {
        $this->testOrder = $testOrder;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getHfPayId()
    {
        return $this->hfPayId;
    }

    /**
     * @param mixed $hfPayId
     * @return StoreGroupOrderEntity
     */
    public function setHfPayId($hfPayId): StoreGroupOrderEntity
    {
        $this->hfPayId = $hfPayId;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getPayWx()
    {
        return $this->payWx;
    }

    /**
     * @param mixed $payWx
     * @return StoreGroupOrderEntity
     */
    public function setPayWx($payWx): StoreGroupOrderEntity
    {
        $this->payWx = $payWx;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getFzonePaytype()
    {
        return $this->fzonePaytype;
    }

    /**
     * @param mixed $fzonePaytype
     * @return StoreGroupOrderEntity
     */
    public function setFzonePaytype($fzonePaytype): StoreGroupOrderEntity
    {
        if (!is_string($fzonePaytype)) {
            $fzonePaytypePre = $fzonePaytype;
            $fzonePaytype = '';

            if (is_array($fzonePaytypePre)) {
                $fzonePaytype = json_encode($fzonePaytypePre);
            }

            unset($fzonePaytypePre);
        }
        $this->fzonePaytype = $fzonePaytype;
        return $this;

    }
}