belongsTo('app\\common\\model\\supplier\\Supplier', 'shop_supplier_id', 'shop_supplier_id') ->field(['shop_supplier_id', 'name', 'logo_id','supplier_type','gift_type']); } /** * 优惠券状态 (是否可领取) * @param $value * @param $data * @return array */ public function getStateAttr($value, $data) { if (isset($data['is_receive']) && $data['is_receive']) { return ['text' => '已领取', 'value' => 0]; } if ($data['total_num'] > -1 && $data['receive_num'] >= $data['total_num']) { return ['text' => '已抢光', 'value' => 0]; } if ($data['expire_type'] == 20 && ($data['end_time'] + 86400) < time()) { return ['text' => '已过期', 'value' => 0]; } return ['text' => '', 'value' => 1]; } /** * 优惠券颜色 * @param $value * @return array */ public function getColorAttr($value) { $status = [10 => 'blue', 20 => 'red', 30 => 'violet', 40 => 'yellow']; return ['text' => $status[$value], 'value' => $value]; } /** * 优惠券类型 * @param $value * @return array */ public function getCouponTypeAttr($value) { $status = [10 => '满减券', 20 => '折扣券', 30 => '兑换券']; return ['text' => $status[$value], 'value' => $value]; } /** * 折扣率 * @param $value * @return float|int */ public function getDiscountAttr($value) { return $value / 10; } /** * 有效期-开始时间 * @param $value * @return array */ public function getStartTimeAttr($value) { return ['text' => date('Y-m-d', $value), 'value' => $value]; } /** * 有效期-结束时间 * @param $value * @return array */ public function getEndTimeAttr($value) { return ['text' => date('Y-m-d', $value), 'value' => $value]; } /** * 折扣率 */ public function setDiscountAttr($value) { return helper::bcmul($value, 10, 0); } /** * 兑换券优惠项目转json by lyzflash * @param $value * @return json */ public function setCouponProjectAttr($value) { return json_encode($value); } /** * 兑换券优惠项目转数组 by lyzflash * @param $value * @return array */ public function getCouponProjectAttr($value) { return json_decode($value, true); } /** * 兑换券使用规则转json by lyzflash * @param $value * @return json */ public function setCouponRuleAttr($value) { return json_encode($value); } /** * 兑换券使用规则转数组 by lyzflash * @param $value * @return array */ public function getCouponRuleAttr($value) { return json_decode($value, true); } /** * 优惠券详情 */ public static function detail($coupon_id) { $detail = (new static())->find($coupon_id); return $detail; } /** * 优惠券详情 */ public static function detailWithSupplier($coupon_id) { return (new static())->with(['supplier'])->find($coupon_id); } /** * 查询单个优惠券信息 * @param $value */ public function getCouponInfo($value) { return $this->where('coupon_id', '=', $value)->find(); } }