CouponsUserBag.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace App\Models;
  3. use App\Traits\ModelHelpers;
  4. use Illuminate\Database\Eloquent\Model;
  5. class CouponsUserBag extends Model
  6. {
  7. //
  8. use ModelHelpers;
  9. protected $table = "coupons_user_bags";
  10. protected $guarded = [];
  11. const TYPE_ADMIN_GIVE = 1;
  12. const TYPE_INVITE_NEW_GIVE = 2;
  13. const TYPE_NEW_USER_GIVE = 3;
  14. public static $typeMaps = [
  15. self::TYPE_ADMIN_GIVE => '后台管理员赠送',
  16. self::TYPE_INVITE_NEW_GIVE => '邀请新用户赠送',
  17. self::TYPE_NEW_USER_GIVE => '新用户赠送',
  18. ];
  19. const COUPON_TYPE_MAN_JIAN = 1;
  20. const COUPON_TYPE_WU_MEN_KAN = 2;
  21. const COUPON_TYPE_ZHE_KOU = 3;
  22. const COUPON_TYPE_DEPOSIT_FREE = 4;
  23. public static $couponTypeMaps = [
  24. self::COUPON_TYPE_MAN_JIAN => '满减优惠',
  25. self::COUPON_TYPE_WU_MEN_KAN => '无门槛优惠',
  26. self::COUPON_TYPE_ZHE_KOU => '折扣优惠',
  27. self::COUPON_TYPE_DEPOSIT_FREE => '免押金劵',
  28. ];
  29. const STATUS_OK = 1;
  30. const STATUS_NO = 0;
  31. const STATUS_USED = 2;
  32. public static $statusMaps = [
  33. self::STATUS_OK => '启用',
  34. self::STATUS_NO => '停用',
  35. self::STATUS_USED => '已使用',
  36. ];
  37. const VALID_TYPE_ABSOLUTELY = 1;
  38. const VALID_TYPE_RELATIVE = 2;
  39. const VALID_TYPE_FOR_EVER = 3;
  40. public static $validTypeMaps = [
  41. self::VALID_TYPE_ABSOLUTELY => '绝对时效',
  42. self::VALID_TYPE_RELATIVE => '相对时效',
  43. self::VALID_TYPE_FOR_EVER => '永久',
  44. ];
  45. const ORDER_TYPE_NORMAL = 1;
  46. const ORDER_TYPE_RENT = 2;
  47. const ORDER_TYPE_ALL = 3;
  48. public static $orderTypeMaps = [
  49. self::ORDER_TYPE_NORMAL => '仅普通订单可用',
  50. self::ORDER_TYPE_RENT => '仅日租订单可用',
  51. self::ORDER_TYPE_ALL => '所有订单可用',
  52. ];
  53. public function getCouponsDataAttribute($value)
  54. {
  55. return json_decode($value, true);
  56. }
  57. public function setCouponsDataAttribute($value)
  58. {
  59. $this->attributes['coupons_data'] = json_encode($value);
  60. }
  61. public function users()
  62. {
  63. return $this->belongsTo(User::class, 'user_id', 'id');
  64. }
  65. public function coupons()
  66. {
  67. return $this->belongsTo(Coupon::class, 'coupon_id', 'id');
  68. }
  69. }