Coupon.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace App\Models;
  3. class Coupon extends Model
  4. {
  5. //
  6. protected $table = 'coupons';
  7. protected $guarded = [];
  8. const TYPE_MAN_JIAN = 1;
  9. const TYPE_WU_MEN_KAN = 2;
  10. const TYPE_ZHE_KOU = 3;
  11. const TYPE_DEPOSIT_FREE = 4;
  12. public static $typeMaps = [
  13. self::TYPE_MAN_JIAN => '满减优惠',
  14. self::TYPE_WU_MEN_KAN => '无门槛优惠',
  15. self::TYPE_ZHE_KOU => '折扣优惠',
  16. self::TYPE_DEPOSIT_FREE => '免押金劵',
  17. ];
  18. const SITE_COMMON = 0;
  19. const SITE_NEW_USER = 1;
  20. public static $siteMaps = [
  21. self::SITE_COMMON => '订单优惠券类型',
  22. self::SITE_NEW_USER => '新用户注册类型',
  23. ];
  24. const QUOTA_OK = 1;
  25. const QUOTA_NO = 0;
  26. public static $quotaMaps = [
  27. self::QUOTA_NO => '不限发放数量',
  28. self::QUOTA_OK => '限制发放数量',
  29. ];
  30. const VALID_TYPE_ABSOLUTELY = 1;
  31. const VALID_TYPE_RELATIVE = 2;
  32. const VALID_TYPE_FOR_EVER = 3;
  33. public static $validTypeMaps = [
  34. self::VALID_TYPE_ABSOLUTELY => '绝对时效',
  35. self::VALID_TYPE_RELATIVE => '相对时效',
  36. self::VALID_TYPE_FOR_EVER => '永久',
  37. ];
  38. const STATUS_OK = 1;
  39. const STATUS_NO = 0;
  40. const STATUS_USED = 2;
  41. public static $statusMaps = [
  42. self::STATUS_OK => '启用',
  43. self::STATUS_NO => '停用',
  44. self::STATUS_USED => '已使用',
  45. ];
  46. const ORDER_TYPE_NORMAL = 1;
  47. const ORDER_TYPE_RENT = 2;
  48. const ORDER_TYPE_ALL = 3;
  49. public static $orderTypeMaps = [
  50. self::ORDER_TYPE_NORMAL => '仅普通订单可用',
  51. self::ORDER_TYPE_RENT => '仅日租订单可用',
  52. self::ORDER_TYPE_ALL => '所有订单可用',
  53. ];
  54. public function areas()
  55. {
  56. return $this->belongsTo(Area::class, 'area_id', 'id');
  57. }
  58. // 优惠券被使用 更新优惠券信息
  59. public static function couponUsed($id)
  60. {
  61. self::query()->where('id', $id)->increment('used_count');
  62. }
  63. }