AgentFrontDriver.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace app\modules\alliance\behaviors;
  3. use app\models\SaasUser;
  4. use yii\base\ActionFilter;
  5. use yii\web\Response;
  6. class AgentFrontDriver extends ActionFilter
  7. {
  8. public function beforeAction($action)
  9. {
  10. $access_token = input_params('access_token');
  11. $saas_user = SaasUser::findIdentityByAccessToken($access_token);
  12. if (!$saas_user) {
  13. \Yii::$app->response->format = Response::FORMAT_JSON;
  14. \Yii::$app->response->data = [
  15. 'code' => 401,
  16. 'msg' => '登录失败'
  17. ];
  18. return false;
  19. }
  20. $agentFrontDriver = \app\models\Driver::findOne(['saas_user_id' => $saas_user->id, 'is_delete' => 0]);
  21. if (!$agentFrontDriver) {
  22. \Yii::$app->response->format = Response::FORMAT_JSON;
  23. \Yii::$app->response->data = [
  24. 'code' => 1,
  25. 'msg' => '非仓库司机'
  26. ];
  27. return false;
  28. }
  29. if (!intval($agentFrontDriver->status)) {
  30. \Yii::$app->response->format = Response::FORMAT_JSON;
  31. \Yii::$app->response->data = [
  32. 'code' => 1,
  33. 'msg' => '司机账户已经被禁用'
  34. ];
  35. return false;
  36. }
  37. $action->controller->agentFrontDriverId = $agentFrontDriver->id;
  38. $action->controller->agentFrontId = $agentFrontDriver->admin_id;
  39. return parent::beforeAction($action);
  40. }
  41. }