123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- <?php
- namespace app\admin\model\lottery;
- use think\Model;
- /**
- * 抽奖奖品模型
- */
- class Prize extends Model
- {
- // 表名
- protected $name = 'shop_lottery_prize';
-
- // 自动写入时间戳字段
- protected $autoWriteTimestamp = 'int';
- // 定义时间戳字段名
- protected $createTime = 'createtime';
- protected $updateTime = 'updatetime';
- protected $deleteTime = 'deletetime';
- // 软删除
- use \traits\model\SoftDelete;
- // 追加属性
- protected $append = [
- 'type_text',
- 'status_text'
- ];
-
- // 奖品类型常量 - 与ActivityEnum保持一致
- const TYPE_NO_PRIZE = 1; // 未中奖
- const TYPE_GOODS = 2; // 实物奖品
- const TYPE_POINTS = 3; // 积分
- const TYPE_BALANCE = 4; // 余额
- const TYPE_COUPON = 5; // 优惠券
- const TYPE_REDPACK = 6; // 红包
- const TYPE_CODE = 7; // 兑换码
- const TYPE_SHOP_GOODS = 8; // 商城奖品
- // 状态
- const STATUS_DISABLED = 0; // 禁用
- const STATUS_ENABLED = 1; // 启用
- // 发放方式
- const DELIVER_TYPE_AUTO = 1; // 自动发放
- const DELIVER_TYPE_MANUAL = 2; // 手动发放
- /**
- * 获取奖品类型列表
- */
- public static function getTypeList()
- {
- return [
- self::TYPE_NO_PRIZE => '未中奖',
- self::TYPE_GOODS => '实物奖品',
- self::TYPE_POINTS => '积分',
- self::TYPE_BALANCE => '余额',
- self::TYPE_COUPON => '优惠券',
- self::TYPE_REDPACK => '红包',
- self::TYPE_CODE => '兑换码',
- self::TYPE_SHOP_GOODS => '商城奖品'
- ];
- }
- /**
- * 获取发放方式列表
- */
- public static function getDeliverTypeList()
- {
- return [
- self::DELIVER_TYPE_AUTO => '自动发放',
- self::DELIVER_TYPE_MANUAL => '手动发放'
- ];
- }
- /**
- * 获取状态列表
- */
- public static function getStatusList()
- {
- return [
- self::STATUS_DISABLED => '禁用',
- self::STATUS_ENABLED => '启用'
- ];
- }
- /**
- * 获取类型文本
- */
- public function getTypeTextAttr($value, $data)
- {
- $typeList = self::getTypeList();
- return isset($typeList[$data['type']]) ? $typeList[$data['type']] : '';
- }
- /**
- * 获取状态文本
- */
- public function getStatusTextAttr($value, $data)
- {
- $statusList = self::getStatusList();
- return isset($statusList[$data['status']]) ? $statusList[$data['status']] : '';
- }
- /**
- * 关联活动
- */
- public function activity()
- {
- return $this->belongsTo('app\\admin\\model\\lottery\\Activity', 'activity_id', 'id');
- }
- /**
- * 关联商品
- */
- public function goods()
- {
- return $this->belongsTo('app\\admin\\model\\shop\\Goods', 'goods_id', 'id');
- }
- /**
- * 关联优惠券
- */
- public function coupon()
- {
- return $this->belongsTo('app\\admin\\model\\shop\\Coupon', 'coupon_id', 'id');
- }
- }
|