wesmiler 17 часов назад
Родитель
Сommit
9440be6e5b
2 измененных файлов с 18 добавлено и 3 удалено
  1. 13 2
      app/Models/MemberModel.php
  2. 5 1
      app/Services/Api/MemberService.php

+ 13 - 2
app/Models/MemberModel.php

@@ -42,12 +42,23 @@ class MemberModel extends BaseModel
     public function getLevelNameAttribute()
     {
         $vipTypes = ['普通会员','黄金会员','白金会员'];
-        return $this->vip_expired >= date('Y-m-d H:i:s') && $this->member_level>0? $vipTypes[$this->member_level]: '普通会员';
+        return ($this->vip_expired >= date('Y-m-d H:i:s') || !$this->vip_expired || $this->vip_expired=='0000-00-00 00:00:00') && $this->member_level>0? $vipTypes[$this->member_level]: '普通会员';
     }
 
     public function getMemberLevelAttribute($value)
     {
-        return $this->vip_expired >= date('Y-m-d H:i:s') && $value>0? $value: 0;
+        return ($this->vip_expired >= date('Y-m-d H:i:s') || !$this->vip_expired || $this->vip_expired=='0000-00-00 00:00:00') && $value>0? $value: 0;
+    }
+
+    public function getVipExpiredAttribute($value)
+    {
+        if($value >= date('Y-m-d H:i:s')){
+            return $value;
+        }else if(!$value || $value=='0000-00-00 00:00:00'){
+            return '永久有效';
+        }else{
+            return 0;
+        }
     }
 
     // 时间

+ 5 - 1
app/Services/Api/MemberService.php

@@ -336,7 +336,7 @@ class MemberService extends BaseService
             return $info;
         }
 
-        $defaultField = ['id', 'user_type', 'realname', 'mobile','is_auth','member_level','vip_expired','idcard', 'nickname','parent_id', 'balance','bonus_total','withdraw_total', 'code', 'openid','create_time', 'status', 'avatar'];
+        $defaultField = ['id', 'user_type', 'realname', 'mobile','is_auth','member_level','vip_growth','vip_expired','idcard', 'nickname','parent_id', 'balance','bonus_total','withdraw_total', 'code', 'openid','create_time', 'status', 'avatar'];
         $field = $field ? $field : $defaultField;
         if (is_array($where)) {
             $info = $this->model->with(['parent'])->where(['mark' => 1])->where($where)->select($field)->first();
@@ -366,6 +366,10 @@ class MemberService extends BaseService
                 $query1 = clone $query;
                 $info['user_count'] = $query1->count('id');
                 $info['users'] = $query->limit(3)->get();
+
+                // 成长值
+                $levelGrowth = ConfigService::make()->getConfigByCode('vip_growth_'.$info['member_level']+1);
+                $info['vip_growth_diff'] = $levelGrowth>0?ceil(max(0,$levelGrowth-$info['vip_growth'])) : 0;
             }
 
             RedisService::set($cacheKey, $info, rand(10, 20));