wesmiler 4 лет назад
Родитель
Сommit
394d721813
2 измененных файлов с 35 добавлено и 1 удалено
  1. 20 0
      app/Services/CityService.php
  2. 15 1
      app/Services/MemberService.php

+ 20 - 0
app/Services/CityService.php

@@ -22,6 +22,8 @@ use App\Models\CityModel;
  */
 class CityService extends BaseService
 {
+    protected static $instance;
+
     /**
      * 构造函数
      * @author wesmiler
@@ -34,6 +36,16 @@ class CityService extends BaseService
     }
 
     /**
+     * @return CityService
+     */
+    public static function make(){
+        if(!self::$instance){
+            self::$instance = new CityService();
+        }
+        return self::$instance;
+    }
+
+    /**
      * 获取城市列表
      * @return array
      * @since 2020/11/11
@@ -68,4 +80,12 @@ class CityService extends BaseService
         return message("操作成功", true, $list);
     }
 
+    /**
+     * 获取城市名称
+     * @param $id
+     * @return mixed
+     */
+    public function getName($id){
+        return $this->model::where(['id'=> $id])->value('name');
+    }
 }

+ 15 - 1
app/Services/MemberService.php

@@ -11,6 +11,8 @@
 
 namespace App\Services;
 
+use App\Models\CityModel;
+use App\Models\FansModel;
 use App\Models\MemberModel;
 
 /**
@@ -31,6 +33,7 @@ class MemberService extends BaseService
     public function __construct()
     {
         $this->model = new MemberModel();
+        $this->cityModel = new CityModel();
     }
 
     /**
@@ -76,7 +79,7 @@ class MemberService extends BaseService
      */
     public function getUserInfo($where, $field = [])
     {
-        $field = $field ? $field : ['m.id', 'm.openid', 'm.invite_id', 'ms.type as mtype', 'ms.master_type', 'ms.realname as master_name', 'ms.status as master_status', 'm.mobile', 'm.nickname', 'm.avatar', 'm.gender', 'm.member_level', 'm.is_vip', 'm.realname', 'm.balance', 'm.salary', 'm.merits_num', 'm.coupon', 'm.score', 'm.login_time', 'm.status'];
+        $field = $field ? $field : ['m.id', 'm.openid', 'm.invite_id','m.city_id', 'ms.type as mtype', 'ms.master_type', 'ms.realname as master_name', 'ms.status as master_status', 'm.mobile', 'm.nickname', 'm.avatar', 'm.gender', 'm.member_level', 'm.is_vip', 'm.realname', 'm.balance', 'm.salary', 'm.merits_num', 'm.coupon', 'm.score', 'm.login_time', 'm.status'];
         $info = $this->model::from('member as m')
             ->leftJoin('member_level as ml', 'ml.id', '=', 'm.member_level')
             ->leftJoin('master as ms', 'ms.user_id', '=', 'm.id')
@@ -90,6 +93,7 @@ class MemberService extends BaseService
         }
 
         if($info){
+            // 僧人参数
             if(array_key_exists('mtype', $info)){
                 $info['mtype'] = $info['mtype']? intval($info['mtype']) : 0;
             }
@@ -102,6 +106,16 @@ class MemberService extends BaseService
             if(array_key_exists('master_name', $info)){
                 $info['master_name'] = $info['master_name']? trim($info['master_status']) : '';
             }
+
+            // 城市
+            if(isset($info['city_id']) && $info['city_id']){
+                $info['city_name'] = CityService::make()->getName($info['city_id']);
+                $openid = isset($info['openid'])? $info['openid'] : '';
+                if(empty($info['city_name']) && $openid){
+                    $info['city_name'] = FansModel::where(['openid'=> $openid])->value('city');
+                }
+            }
+
         }
 
         return $info;