Coupon.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. namespace App\Http\Models;
  3. use Eloquent;
  4. use Illuminate\Database\Eloquent\Model;
  5. use Illuminate\Database\Eloquent\SoftDeletes;
  6. use Illuminate\Database\Query\Builder;
  7. use Illuminate\Support\Carbon;
  8. /**
  9. * 优惠券
  10. * Class Goods
  11. *
  12. * @package App\Http\Models
  13. * @mixin Eloquent
  14. * @property int $id
  15. * @property string $name 优惠券名称
  16. * @property string $logo 优惠券LOGO
  17. * @property string $sn 优惠券码
  18. * @property int $type 类型:1-现金券、2-折扣券、3-充值券
  19. * @property int $usage 用途:1-仅限一次性使用、2-可重复使用
  20. * @property int $amount 金额,单位分
  21. * @property float $discount 折扣
  22. * @property int $rule 使用限制,单位分
  23. * @property int $available_start 有效期开始
  24. * @property int $available_end 有效期结束
  25. * @property int $status 状态:0-未使用、1-已使用、2-已失效
  26. * @property Carbon|null $created_at 创建时间
  27. * @property Carbon|null $updated_at 最后更新时间
  28. * @property Carbon|null $deleted_at 删除时间
  29. * @method static bool|null forceDelete()
  30. * @method static \Illuminate\Database\Eloquent\Builder|Coupon newModelQuery()
  31. * @method static \Illuminate\Database\Eloquent\Builder|Coupon newQuery()
  32. * @method static Builder|Coupon onlyTrashed()
  33. * @method static \Illuminate\Database\Eloquent\Builder|Coupon query()
  34. * @method static bool|null restore()
  35. * @method static \Illuminate\Database\Eloquent\Builder|Coupon type($type)
  36. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereAmount($value)
  37. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereAvailableEnd($value)
  38. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereAvailableStart($value)
  39. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereCreatedAt($value)
  40. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereDeletedAt($value)
  41. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereDiscount($value)
  42. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereId($value)
  43. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereLogo($value)
  44. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereName($value)
  45. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereRule($value)
  46. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereSn($value)
  47. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereStatus($value)
  48. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereType($value)
  49. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereUpdatedAt($value)
  50. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereUsage($value)
  51. * @method static Builder|Coupon withTrashed()
  52. * @method static Builder|Coupon withoutTrashed()
  53. */
  54. class Coupon extends Model
  55. {
  56. use SoftDeletes;
  57. protected $table = 'coupon';
  58. protected $primaryKey = 'id';
  59. protected $dates = ['deleted_at'];
  60. // 筛选类型
  61. function scopeType($query, $type)
  62. {
  63. return $query->whereType($type);
  64. }
  65. function getAmountAttribute($value)
  66. {
  67. return $value/100;
  68. }
  69. function setAmountAttribute($value)
  70. {
  71. $this->attributes['amount'] = $value*100;
  72. }
  73. function getDiscountAttribute($value)
  74. {
  75. return $value*10;
  76. }
  77. function setDiscountAttribute($value)
  78. {
  79. $this->attributes['discount'] = $value/10;
  80. }
  81. function getRuleAttribute($value)
  82. {
  83. return $value/100;
  84. }
  85. function setRuleAttribute($value)
  86. {
  87. $this->attributes['rule'] = $value*100;
  88. }
  89. }