<?php

namespace app\entity\data\store;

use app\entity\data\DataEntity;

class StoreCouponUserEntity extends DataEntity
{
    public $couponUserId = 0;  // 优惠券发放记录id
    public $couponId = 0;  // 兑换的项目id
    public $merId = 0;  // 商户 id
    public $uid = 0;  // 优惠券所属用户
    public $couponTitle = '';  // 优惠券名称
    public $couponPrice = '0.00';  // 优惠券的面值
    public $useMinPrice = '0.00';  // 最低消费多少金额可用优惠券
    public $createTime = null;  // 优惠券创建时间
    public $startTime = null;  // 优惠券开启时间
    public $endTime = null;  // 优惠券结束时间
    public $useTime = null;  // 使用时间
    public $type = 'send';  // 获取方式
    public $status = 0;  // 状态（0：未使用，1：已使用, 2:已过期）
    public $isFail = 0;  // 是否有效

    /**
     * @return int
     */
    public function getCouponUserId(): int
    {
        return $this->couponUserId;
    }

    /**
     * @param int $couponUserId
     * @return StoreCouponUserEntity
     */
    public function setCouponUserId(int $couponUserId): StoreCouponUserEntity
    {
        $this->couponUserId = $couponUserId;
        return $this;
    }

    /**
     * @return int
     */
    public function getCouponId(): int
    {
        return $this->couponId;
    }

    /**
     * @param int $couponId
     * @return StoreCouponUserEntity
     */
    public function setCouponId(int $couponId): StoreCouponUserEntity
    {
        $this->couponId = $couponId;
        return $this;
    }

    /**
     * @return int
     */
    public function getMerId(): int
    {
        return $this->merId;
    }

    /**
     * @param int $merId
     * @return StoreCouponUserEntity
     */
    public function setMerId(int $merId): StoreCouponUserEntity
    {
        $this->merId = $merId;
        return $this;
    }

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

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

    /**
     * @return string
     */
    public function getCouponTitle(): string
    {
        return $this->couponTitle;
    }

    /**
     * @param string $couponTitle
     * @return StoreCouponUserEntity
     */
    public function setCouponTitle(string $couponTitle): StoreCouponUserEntity
    {
        $this->couponTitle = $couponTitle;
        return $this;
    }

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

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

    /**
     * @return string
     */
    public function getUseMinPrice(): string
    {
        return $this->useMinPrice;
    }

    /**
     * @param string $useMinPrice
     * @return StoreCouponUserEntity
     */
    public function setUseMinPrice(string $useMinPrice): StoreCouponUserEntity
    {
        $this->useMinPrice = $useMinPrice;
        return $this;
    }

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

    /**
     * @param null $createTime
     * @return StoreCouponUserEntity
     */
    public function setCreateTime($createTime)
    {
        $this->createTime = $createTime;
        return $this;
    }

    /**
     * @return null
     */
    public function getStartTime()
    {
        return $this->startTime;
    }

    /**
     * @param null $startTime
     * @return StoreCouponUserEntity
     */
    public function setStartTime($startTime)
    {
        $this->startTime = $startTime;
        return $this;
    }

    /**
     * @return null
     */
    public function getEndTime()
    {
        return $this->endTime;
    }

    /**
     * @param null $endTime
     * @return StoreCouponUserEntity
     */
    public function setEndTime($endTime)
    {
        $this->endTime = $endTime;
        return $this;
    }

    /**
     * @return null
     */
    public function getUseTime()
    {
        return $this->useTime;
    }

    /**
     * @param null $useTime
     * @return StoreCouponUserEntity
     */
    public function setUseTime($useTime)
    {
        $this->useTime = $useTime;
        return $this;
    }

    /**
     * @return string
     */
    public function getType(): string
    {
        return $this->type;
    }

    /**
     * @param string $type
     * @return StoreCouponUserEntity
     */
    public function setType(string $type): StoreCouponUserEntity
    {
        $this->type = $type;
        return $this;
    }

    /**
     * @return int
     */
    public function getStatus(): int
    {
        return $this->status;
    }

    /**
     * @param int $status
     * @return StoreCouponUserEntity
     */
    public function setStatus(int $status): StoreCouponUserEntity
    {
        $this->status = $status;
        return $this;
    }

    /**
     * @return int
     */
    public function getIsFail(): int
    {
        return $this->isFail;
    }

    /**
     * @param int $isFail
     * @return StoreCouponUserEntity
     */
    public function setIsFail(int $isFail): StoreCouponUserEntity
    {
        $this->isFail = $isFail;
        return $this;
    }
}
