Преглед изворни кода

增加企业登录验证,企业订单列表

林海涛 пре 1 година
родитељ
комит
5a215640b3

+ 11 - 0
app/api/controller/FirmController.php

@@ -2,6 +2,7 @@
 
 namespace app\api\controller;
 
+use app\api\lists\recharge\FirmOrderLists;
 use app\api\logic\FirmLogic;
 use app\api\validate\FirmRegisterValidate;
 
@@ -24,4 +25,14 @@ class FirmController extends BaseApiController
         }
         return $this->fail(FirmLogic::getError());
     }
+
+    public function orderLists()
+    {
+        return $this->dataLists(new FirmOrderLists());
+    }
+
+    public function submitOrder()
+    {
+
+    }
 }

+ 12 - 2
app/api/controller/LoginController.php

@@ -14,6 +14,8 @@
 
 namespace app\api\controller;
 
+use app\common\enum\LoginEnum;
+use app\common\enum\user\UserTerminalEnum;
 use app\api\validate\{LoginAccountValidate, RegisterValidate, WebScanLoginValidate, WechatLoginValidate};
 use app\api\logic\LoginLogic;
 
@@ -25,7 +27,7 @@ use app\api\logic\LoginLogic;
 class LoginController extends BaseApiController
 {
 
-    public array $notNeedLogin = ['register', 'account', 'logout', 'codeUrl', 'oaLogin',  'mnpLogin', 'getScanCode', 'scanLogin'];
+    public array $notNeedLogin = ['register', 'account', 'logout', 'codeUrl', 'oaLogin',  'mnpLogin', 'getScanCode', 'scanLogin', 'firmLogin'];
 
 
     /**
@@ -212,5 +214,13 @@ class LoginController extends BaseApiController
         return $this->success('操作成功', [], 1, 1);
     }
 
-
+    public function firmLogin()
+    {
+        $params = (new LoginAccountValidate())->post()->goCheck("firmLogin");
+        $result = LoginLogic::firmLogin($params);
+        if (false === $result) {
+            return $this->fail(LoginLogic::getError());
+        }
+        return $this->data($result);
+    }
 }

+ 37 - 0
app/api/logic/LoginLogic.php

@@ -430,4 +430,41 @@ class LoginLogic extends BaseLogic
             'is_new_user' => YesNoEnum::NO
         ]);
     }
+
+    public static  function firmLogin($params)
+    {
+        try {
+            // 账号/手机号 密码登录
+            $where = ['account|mobile' => $params['account']];
+            $user = User::where($where)->findOrEmpty();
+            if ($user->isEmpty()) {
+                throw new \Exception('用户不存在');
+            }
+            if($user->user_type != YesNoEnum::YES){
+                throw new \Exception('普通用户不能登录后台');
+            }
+            //更新登录信息
+            $user->login_time = time();
+            $user->login_ip = request()->ip();
+            $user->save();
+
+            //设置token
+            $userInfo = UserTokenService::setToken($user->id, $params['terminal']);
+
+            //返回登录信息
+            $avatar = $user->avatar ?: Config::get('project.default_image.user_avatar');
+            $avatar = FileService::getFileUrl($avatar);
+
+            return [
+                'nickname' => $userInfo['nickname'],
+                'sn' => $userInfo['sn'],
+                'mobile' => $userInfo['mobile'],
+                'avatar' => $avatar,
+                'token' => $userInfo['token'],
+            ];
+        } catch (\Exception $e) {
+            self::setError($e->getMessage());
+            return false;
+        }
+    }
 }

+ 1 - 0
app/api/validate/LoginAccountValidate.php

@@ -39,6 +39,7 @@ class LoginAccountValidate extends BaseValidate
             ',' . UserTerminalEnum::ANDROID,
         'scene' => 'require|in:' . LoginEnum::ACCOUNT_PASSWORD . ',' . LoginEnum::MOBILE_CAPTCHA . '|checkConfig',
         'account' => 'require',
+        'password' => 'require'
     ];
 
 

+ 1 - 1
app/common/model/dict/DictType.php

@@ -45,6 +45,6 @@ class DictType extends BaseModel
     }
     public function dictData()
     {
-        return $this->hasMany(DictData::class,'type_id','id')->where('status',1)->order('sort','desc')->field('id,value,name');
+        return $this->hasMany(DictData::class,'type_id','id')->where('status',1)->order('sort','desc')->field('id,value,type_id,name');
     }
 }