belongsTo('LotteryActivity', 'activity_id'); } /** * 关联商品 */ public function goods() { return $this->belongsTo('app\common\model\Goods', 'goods_id'); } /** * 关联商品SKU */ public function goodsSku() { return $this->belongsTo('app\common\model\Sku', 'goods_sku_id'); } /** * 关联优惠券 */ public function coupon() { return $this->belongsTo('app\common\model\Coupon', 'coupon_id'); } /** * 获取奖品类型文本 */ public function getTypeTextAttr($value, $data) { return LotteryEnum::getPrizeTypeText($data['type']); } /** * 获取发放方式文本 */ public function getDeliverTypeTextAttr($value, $data) { $types = LotteryEnum::getDeliverTypeMap(); return isset($types[$value]) ? $types[$value] : '未知'; } /** * 获取兑换码列表 */ public function getExchangeCodesListAttr($value, $data) { return !empty( $value ) ? json_decode( $value, true) : []; } /** * 设置兑换码列表 */ public function setExchangeCodesAttr($value) { return is_array($value) ? json_encode($value) : $value; } /** * 获取已使用兑换码列表 */ public function getUsedCodesListAttr($value, $data) { return !empty( $value ) ? json_decode( $value, true) : []; } /** * 设置已使用兑换码列表 */ public function setUsedCodesAttr($value) { return is_array($value) ? json_encode($value) : $value; } }