Browse Source

登录接口优化,新增用户信息接口

wufeng 2 years ago
parent
commit
5df563baf0

+ 5 - 0
app/abutment/controller/Account.php

@@ -26,6 +26,11 @@ class Account extends BaseController
     }
 
 
+    //获取用户信息
+    public function getUserInfo()
+    {
 
+        return AccountLogic::getUserInfo();
+    }
 
 }

+ 41 - 12
app/abutment/logic/Account.php

@@ -45,20 +45,52 @@ class Account
             ->where($db->getPk(), $res[$db->getPk()])
             ->save(['token' => $token, 'expire_time' => $expire_time]);
 
-        if (!$rs) throw new Exception('更新账号token信息失败');
+        if (!$rs) return json_show(1005, '更新账号token信息失败');
+
+        $info = [
+            'uid' => $res['uid'],
+            'nickname' => $res['nickname'],
+            'mobile' => $res['mobile'],
+            'email' => $res['email'],
+            'token' => $token,
+            'expire_time' => $expire_time,
+        ];
+
+        //过期时间指定一个具体的日期的时候,还没到这个日期缓存就过期了,指定一个秒数,可以符合预期,邪门儿
+        Cache::set(Config::get('redis_key.user_info_token') . $token, json_encode($info), $expire_int);
+
+        return json_show(0, '登录成功', ['token' => $token, 'expire_time' => $expire_time]);
+
+
+    }
+
+    //获取用户信息
+    public static function getUserInfo()
+    {
+
+        $db = new SupplierUserModel();
+
+        $res = $db->where([
+            'uid' => request()->user['uid'],
+            'is_del' => $db::$is_del_normal,
+        ])->findOrEmpty()
+            ->toArray();
+
+        if (empty($res)) return json_show(1004, '该账号不存在');
+        if ($res['status'] == $db::$status_disabled) return json_show(1004, '该账号已禁用');
 
         $list = SupplierRelationUserModel::field('id,supplierNo,supplierName')
-            ->where(['is_del' => $db::$is_del_normal,'uid' => $res['uid']])
+            ->where(['is_del' => $db::$is_del_normal, 'uid' => $res['uid']])
             ->select()
             ->toArray();
 
         //获取这些供应商的状态
         $status = Db::name('supplier')
-            ->where('is_del',0)
-            ->whereIn('code',array_column($list,'supplierNo'))
-            ->column('status','code');
+            ->where('is_del', 0)
+            ->whereIn('code', array_column($list, 'supplierNo'))
+            ->column('status', 'code');
 
-        foreach ($list as &$value){
+        foreach ($list as &$value) {
             $value['status'] = $status[$value['supplierNo']];
         }
 
@@ -67,15 +99,12 @@ class Account
             'nickname' => $res['nickname'],
             'mobile' => $res['mobile'],
             'email' => $res['email'],
-            'token' => $token,
-            'expire_time' => $expire_time,
+            'token' => $res['token'],
+            'expire_time' => $res['expire_time'],
             'supplier_list' => $list,
         ];
 
-        //过期时间指定一个具体的日期的时候,还没到这个日期缓存就过期了,指定一个秒数,可以符合预期,邪门儿
-        Cache::set(Config::get('redis_key.user_info_token') . $token, json_encode($info), $expire_int);
-
-        return json_show(0, '登录成功', $info);
+        return json_show(0, '获取用户信息成功', $info);
 
 
     }

+ 8 - 3
app/abutment/middleware/apiMiddleware.php

@@ -2,6 +2,8 @@
 
 namespace app\abutment\middleware;
 
+use app\abutment\model\SupplierRelationUser;
+use app\abutment\model\SupplierUser;
 use think\facade\Cache;
 use think\facade\Config;
 use think\facade\Validate;
@@ -130,11 +132,14 @@ class apiMiddleware
 
         if (!$data) return json_show(102, 'token已过期');
 
-        $supplierNames = array_column($data['supplier_list'], 'supplierName', 'supplierNo');
+        $res = SupplierRelationUser::field('id,supplierNo,supplierName')
+            ->where(['is_del' => SupplierUser::$is_del_normal, 'supplierNo' => $param['supplierNo'], 'uid' => $data['uid']])
+            ->findOrEmpty()
+            ->toArray();
 
-        if (!isset($supplierNames[$param['supplierNo']])) return json_show(1004, '你尚未绑定当前供应商');
+        if (empty($res)) return json_show(1004, '你尚未绑定当前供应商');
 
-        return array_merge($data, ['supplierNo' => $param['supplierNo'], 'supplierName' => $supplierNames[$param['supplierNo']]]);
+        return array_merge($data, ['supplierNo' => $param['supplierNo'], 'supplierName' => $res['supplierName']]);
     }
 
 }

+ 2 - 1
app/abutment/route/app.php

@@ -4,6 +4,7 @@ use think\facade\Route;
 
 //账号
 route::rule('login', 'abutment/Account/login');//供应商登录
+route::rule('getUserInfo', 'abutment/Account/getUserInfo');//供应商登录
 
 
 //基础信息
@@ -37,7 +38,7 @@ route::rule('addOrderIn', 'abutment/Order/add');//订单批量入库
 route::rule('saleOutList', 'abutment/Sale/saleout');//发货单列表
 route::rule('saleOutInfo', 'abutment/Sale/saleOutInfo');//发货单详情
 route::rule('outSend', 'abutment/Sale/outSend');//发货单库管发货
-route::rule('outSendBatchByImport', 'abutment/Sale/saleOutInfo');//发货单库管批量发货
+route::rule('outSendBatchByImport', 'abutment/Sale/outSendBatchByImport');//发货单库管批量发货
 route::rule('goodZxInfo', 'abutment/Sale/goodzxinfo');//咨询商品详情
 route::rule('exportSaleOut', 'abutment/Sale/exportSaleOut');//发货申请单导出
 route::rule('outInfo', 'abutment/Sale/outInfo');//发货申请单详情