<?php



namespace app\common\model\store\coupon;


use app\common\model\BaseModel;
use app\common\repositories\store\coupon\StoreCouponUserRepository;

class StoreCouponSend extends BaseModel
{

    public static function tablePk(): ?string
    {
        return 'coupon_send_id';
    }

    public static function tableName(): string
    {
        return 'store_coupon_send';
    }

    public function setMarkAttr(array $val)
    {
        return json_encode($val);
    }

    public function getMarkAttr($val)
    {
        return json_decode($val, true) ?: [];
    }

    public function getUseCountAttr()
    {
        return app()->make(StoreCouponUserRepository::class)->sendNum($this->coupon_id, $this->coupon_send_id, 1);
    }

    public function getUsedNumAttr()
    {
        return app()->make(StoreCouponUserRepository::class)->usedNum($this->coupon_id);
    }

    public function getSendNumAttr()
    {
        return app()->make(StoreCouponUserRepository::class)->sendNum($this->coupon_id);
    }
}