链街Dcat后台
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.

107 lines
3.0 KiB

  1. <?php
  2. namespace App\Models;
  3. use Dcat\Admin\Traits\HasDateTimeFormatter;
  4. use Illuminate\Database\Eloquent\SoftDeletes;
  5. use Illuminate\Database\Eloquent\Model;
  6. class Coupon extends Model
  7. {
  8. use HasDateTimeFormatter;
  9. use SoftDeletes;
  10. protected $table = 'ims_system_coupon_user';
  11. protected $perPage = 10;
  12. protected $appends = [
  13. 'status_text',
  14. 'type_text',
  15. 'category_text',
  16. 'is_new_user_text',
  17. 'discount_type_text',
  18. 'active_type_text',
  19. 'start_time_text',
  20. 'end_time_text',
  21. 'usable_start_time_text',
  22. 'usable_end_time_text'
  23. ];
  24. public function getStatusTextAttribute()
  25. {
  26. $value = $this->status;
  27. return isset(config('coupon.status')[$value])?config('coupon.status')[$value]:'';
  28. }
  29. public function getTypeTextAttribute()
  30. {
  31. $value = $this->type;
  32. return isset(config('coupon.type')[$value])?config('coupon.type')[$value]:'';
  33. }
  34. public function getCategoryTextAttribute()
  35. {
  36. $value = $this->category;
  37. return isset(config('coupon.category')[$value])?config('coupon.category')[$value]:'';
  38. }
  39. public function getIsNewUserTextAttribute()
  40. {
  41. $value = $this->is_new_user;
  42. return isset(config('coupon.is_new_user')[$value])?config('coupon.is_new_user')[$value]:'';
  43. }
  44. public function getDiscountTypeTextAttribute()
  45. {
  46. $value = $this->discount_type;
  47. return isset(config('coupon.discount_type')[$value])?config('coupon.discount_type')[$value]:'';
  48. }
  49. public function getActiveTypeTextAttribute()
  50. {
  51. $value = $this->active_type;
  52. return isset(config('coupon.active_type')[$value])?config('coupon.active_type')[$value]:'';
  53. }
  54. public function getStartTimeTextAttribute()
  55. {
  56. $value = $this->start_time;
  57. return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
  58. }
  59. public function getEndTimeTextAttribute($value)
  60. {
  61. $value = $this->usable_start_time;
  62. return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
  63. }
  64. public function getUsableStartTimeTextAttribute()
  65. {
  66. $value = $this->start_time;
  67. return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
  68. }
  69. public function getUsableEndTimeTextAttribute($value)
  70. {
  71. $value = $this->usable_end_time;
  72. return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
  73. }
  74. // 设置
  75. protected function setStartTimeAttribute($value)
  76. {
  77. return $value === '' ? null : strtotime($value);
  78. }
  79. protected function setEndTimeAttribute($value)
  80. {
  81. return $value === '' ? null : strtotime($value);
  82. }
  83. protected function setUsableStarttimeAttribute($value)
  84. {
  85. return $value === '' ? null : strtotime($value);
  86. }
  87. protected function setUsableEndTimeAttribute($value)
  88. {
  89. return $value === '' ? null : strtotime($value);
  90. }
  91. protected function setAddtimeAttribute($value)
  92. {
  93. return $value === '' ? null : strtotime($value);
  94. }
  95. }