UserCoupon.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace app\common\model\coupon;
  3. use app\common\model\BaseModel;
  4. use app\common\model\dict\DictData;
  5. use think\facade\Cache;
  6. /**
  7. * @author 林海涛
  8. * @date 2024/7/18 下午3:42
  9. */
  10. class UserCoupon extends BaseModel
  11. {
  12. protected $name = 'user_coupon';
  13. public function couponCategory()
  14. {
  15. return $this->hasMany(CouponCategory::class, 'coupon_id', 'goods_category_id');
  16. }
  17. public function couponRules()
  18. {
  19. return $this->hasOne(CouponRules::class,'code','code');
  20. }
  21. public function getVoucherStatusTextAttr($value,$data):string
  22. {
  23. $default = Cache::get('VOUCHER_STATUS');
  24. if (!$default) {
  25. $status = DictData::whereIn('type_value', 'voucher_status')->column('name','value');
  26. Cache::set('VOUCHER_STATUS', json_encode($status,true),5);
  27. } else {
  28. $status = json_decode($default,true);
  29. }
  30. return $status[$data['voucher_status']] ?? '';
  31. }
  32. public function getDiscountRatioTextAttr($value,$data)
  33. {
  34. return !empty($data['discount_ratio'])?$data['discount_ratio']*10:'';
  35. }
  36. }