You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

StoreCoupon.php 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. namespace app\model\activity\coupon;
  3. use crmeb\basic\BaseModel;
  4. use crmeb\traits\ModelTrait;
  5. use think\Model;
  6. /**
  7. * 优惠券模板Model
  8. * Class StoreCoupon
  9. * @package app\model\activity\coupon
  10. */
  11. class StoreCoupon extends BaseModel
  12. {
  13. use ModelTrait;
  14. /**
  15. * 数据表主键
  16. * @var string
  17. */
  18. protected $pk = 'id';
  19. /**
  20. * 模型名称
  21. * @var string
  22. */
  23. protected $name = 'store_coupon';
  24. /**
  25. * 优惠卷类型
  26. * @var string[]
  27. */
  28. protected $couponType = [0 => '通用券', 1 => '品类券', 2 => '商品券'];
  29. /**
  30. * 一对多关联
  31. * @return \think\model\relation\HasMany
  32. */
  33. public function productId()
  34. {
  35. return $this->hasMany(StoreCouponProduct::class, 'coupon_id', 'id');
  36. }
  37. /**
  38. * 优惠券类型获取器
  39. * @param $value
  40. * @return string
  41. */
  42. public function getTypeAttr($value)
  43. {
  44. return $this->couponType[$value];
  45. }
  46. /**
  47. * 优惠券模板标题搜索器
  48. * @param Model $query
  49. * @param $value
  50. * @param $data
  51. */
  52. public function searchTitleAttr($query, $value, $data)
  53. {
  54. if ($value) $query->where('title', 'like', '%' . $value . '%');
  55. }
  56. /**
  57. * 优惠券模板状态搜索器
  58. * @param Model $query
  59. * @param $value
  60. * @param $data
  61. */
  62. public function searchStatusAttr($query, $value, $data)
  63. {
  64. if ($value != '') $query->where('status', $value);
  65. }
  66. /**
  67. * 最低消费金额搜索器
  68. * @param Model $query
  69. * @param $value
  70. * @param $data
  71. */
  72. public function searchUseMinPriceAttr($query, $value, $data)
  73. {
  74. $query->where('use_min_price', $value);
  75. }
  76. /**
  77. * 优惠券面值搜索器
  78. * @param Model $query
  79. * @param $value
  80. * @param $data
  81. */
  82. public function searchCouponPriceAttr($query, $value, $data)
  83. {
  84. $query->where('coupon_price', $value);
  85. }
  86. /**
  87. * 是否删除搜索器
  88. * @param Model $query
  89. * @param $value
  90. * @param $data
  91. */
  92. public function searchIsDelAttr($query, $value, $data)
  93. {
  94. $query->where('is_del', $value ?? 0);
  95. }
  96. /**
  97. * 优惠券类型搜索器
  98. * @param Model $query
  99. * @param $value
  100. * @param $data
  101. */
  102. public function searchTypeAttr($query, $value, $data)
  103. {
  104. $query->where('type', $value ?? 0);
  105. }
  106. /**
  107. * 分类ID搜索器
  108. * @param Model $query
  109. * @param $value
  110. * @param $data
  111. */
  112. public function searchCategoryIdAttr($query, $value, $data)
  113. {
  114. $query->where('category_id', $value);
  115. }
  116. }