Condition.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?php
  2. namespace app\admin\model\lottery;
  3. use think\Model;
  4. use traits\model\SoftDelete;
  5. class Condition extends Model
  6. {
  7. use SoftDelete;
  8. // 表名
  9. protected $table = 'shop_lottery_condition';
  10. // 自动写入时间戳字段
  11. protected $autoWriteTimestamp = 'integer';
  12. // 定义时间戳字段名
  13. protected $createTime = 'createtime';
  14. protected $updateTime = 'updatetime';
  15. protected $deleteTime = 'deletetime';
  16. // 追加属性
  17. protected $append = [
  18. 'type_text',
  19. 'goods_rule_text',
  20. 'status_text'
  21. ];
  22. // 条件类型常量
  23. const TYPE_BUY_GOODS = 1; // 购买指定商品
  24. const TYPE_ORDER_AMOUNT = 2; // 单笔订单消费满额
  25. const TYPE_RECHARGE_AMOUNT = 3; // 单次充值满额
  26. const TYPE_TOTAL_AMOUNT = 4; // 活动期间累计消费满额
  27. // 商品规则常量
  28. const GOODS_RULE_INCLUDE = 1; // 指定商品参与
  29. const GOODS_RULE_EXCLUDE = 2; // 指定商品不可参与
  30. // 状态常量
  31. const STATUS_DISABLED = 0; // 禁用
  32. const STATUS_ENABLED = 1; // 启用
  33. /**
  34. * 条件类型列表
  35. */
  36. public function getTypeList()
  37. {
  38. return [
  39. self::TYPE_BUY_GOODS => __('购买指定商品'),
  40. self::TYPE_ORDER_AMOUNT => __('单笔订单消费满额'),
  41. self::TYPE_RECHARGE_AMOUNT => __('单次充值满额'),
  42. self::TYPE_TOTAL_AMOUNT => __('活动期间累计消费满额')
  43. ];
  44. }
  45. /**
  46. * 商品规则列表
  47. */
  48. public function getGoodsRuleList()
  49. {
  50. return [
  51. self::GOODS_RULE_INCLUDE => __('指定商品参与'),
  52. self::GOODS_RULE_EXCLUDE => __('指定商品不可参与')
  53. ];
  54. }
  55. /**
  56. * 状态列表
  57. */
  58. public function getStatusList()
  59. {
  60. return [
  61. self::STATUS_DISABLED => __('禁用'),
  62. self::STATUS_ENABLED => __('启用')
  63. ];
  64. }
  65. // 获取器
  66. public function getTypeTextAttr($value, $data)
  67. {
  68. $value = $value ? $value : (isset($data['type']) ? $data['type'] : '');
  69. $list = $this->getTypeList();
  70. return isset($list[$value]) ? $list[$value] : '';
  71. }
  72. public function getGoodsRuleTextAttr($value, $data)
  73. {
  74. $value = $value ? $value : (isset($data['goods_rule']) ? $data['goods_rule'] : '');
  75. $list = $this->getGoodsRuleList();
  76. return isset($list[$value]) ? $list[$value] : '';
  77. }
  78. public function getStatusTextAttr($value, $data)
  79. {
  80. $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
  81. $list = $this->getStatusList();
  82. return isset($list[$value]) ? $list[$value] : '';
  83. }
  84. // 关联关系
  85. public function activity()
  86. {
  87. return $this->belongsTo('Activity', 'activity_id', 'id');
  88. }
  89. }