Browse Source

亲密度等级

lizhen_gitee 11 months ago
parent
commit
4807073dd7
2 changed files with 33 additions and 9 deletions
  1. 4 4
      application/api/controller/Match.php
  2. 29 5
      application/api/controller/Usercenter.php

+ 4 - 4
application/api/controller/Match.php

@@ -634,10 +634,10 @@ class Match extends Api
             $level_name = '初级'; //当前等级名称
             $qinmi_sum = 0; //当前亲密度
 
-            $next_level = Db::name('intimacy_level')->where('level',2)->find();
-            $next_level_diff = $next_level['value'];
-            $next_level_name = $next_level['name'];
-            $next_level_value = $next_level['value'];
+            $next_level_info = Db::name('intimacy_level')->where('level',2)->find();
+            $next_level_diff = $next_level_info['value'];
+            $next_level_name = $next_level_info['name'];
+            $next_level_value = $next_level_info['value'];
         }
 
         if ($list) {

+ 29 - 5
application/api/controller/Usercenter.php

@@ -123,10 +123,7 @@ class Usercenter extends Api
     //两个人的亲密度
     //api/match/intimacylevel
     private function get_intimacy_info($user_id){
-        $level = 0; //当前等级
-        $level_name = ''; //当前等级名称
-        $qinmi_sum = 0; //当前亲密度
-        $level_info = [];
+        //$user_id = input('user_id', 0, 'intval'); //对方id
 
         if ($this->auth->id > $user_id) { //大的在后
             $where['uid'] = $user_id;
@@ -136,6 +133,16 @@ class Usercenter extends Api
             $where['other_uid'] = $user_id;
         }
 
+        $level = 0; //当前等级
+        $level_name = ''; //当前等级名称
+        $qinmi_sum = 0; //当前亲密度
+        $level_info = [];
+
+        $next_level_info = [];
+        $next_level_diff = 0; //距下一等级亲密度差值
+        $next_level_name = ''; //下一等级名称
+        $next_level_value = 0;//下一等级亲密度值
+
         $user_intimacy_info = Db::name('user_intimacy')->where($where)->find();
         if ($user_intimacy_info) {
             //当前亲密度
@@ -148,24 +155,41 @@ class Usercenter extends Api
                 $level_name = $level_info['name'];
             }
 
+            //下一等级信息
+            $next_level_info = Db::name('intimacy_level')->where(['value' => ['gt', $user_intimacy_info['value']]])->order('value')->find();
+            if ($next_level_info) {
+                $next_level_name  = $next_level_info['name'];
+                $next_level_value = $next_level_info['value'];
+                $next_level_diff = $next_level_info['value'] - $user_intimacy_info['value'];
+            }
+
         }else{
             $level = 1; //当前等级
             $level_name = '初级'; //当前等级名称
             $qinmi_sum = 0; //当前亲密度
 
             $level_info = Db::name('intimacy_level')->where('level',1)->find();
-        }
 
+            $next_level_info = Db::name('intimacy_level')->where('level',2)->find();
+            $next_level_diff = $next_level_info['value'];
+            $next_level_name = $next_level_info['name'];
+            $next_level_value = $next_level_info['value'];
+        }
 
         unset($level_info['id']);
         unset($level_info['name']);
         unset($level_info['level']);
         unset($level_info['value']);
+
         $data['level'] = $level; //当前等级
         $data['level_name'] = $level_name; //当前等级名称
         $data['qinmi_sum'] = $qinmi_sum; //当前亲密度
         $data['level_info'] = $level_info; //当前亲密度
 
+        $data['next_level_diff'] = $next_level_diff; //距下一等级亲密度差值
+        $data['next_level_name'] = $next_level_name; //下一等级名称
+        $data['next_level_value'] = $next_level_value; //下一等级亲密度值
+
         return $data;
     }