CashierAdminAuth.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace app\modules\client\behaviors;
  3. use app\models\CashierUserExt;
  4. use app\models\SaasUser;
  5. use app\models\TeamGrades;
  6. use app\models\TeamGradesLevel;
  7. use app\models\User;
  8. use yii\base\ActionFilter;
  9. use yii\web\Response;
  10. class CashierAdminAuth extends ActionFilter
  11. {
  12. public function beforeAction($action)
  13. {
  14. $store_id = get_params('store_id') ?: post_params('store_id');
  15. $access_token = get_params('access_token') ?: post_params('access_token');
  16. if (!$access_token) {
  17. \Yii::$app->response->format = Response::FORMAT_JSON;
  18. \Yii::$app->response->data = [
  19. 'code' => 401,
  20. 'msg' => 'access_token 不能为空'
  21. ];
  22. return false;
  23. }
  24. $saasUser = SaasUser::findIdentityByAccessToken($access_token);
  25. if (!$saasUser) {
  26. \Yii::$app->response->format = Response::FORMAT_JSON;
  27. \Yii::$app->response->data = [
  28. 'code' => 401,
  29. 'msg' => '登录失败 获取不到用户信息'
  30. ];
  31. return false;
  32. }
  33. $user = User::findOne(['store_id' => $store_id, 'binding' => $saasUser->mobile, 'is_delete' => 0]);
  34. if (!$user) {
  35. \Yii::$app->response->format = Response::FORMAT_JSON;
  36. \Yii::$app->response->data = [
  37. 'code' => 401,
  38. 'msg' => '登录失败 获取不到商城用户信息'
  39. ];
  40. return false;
  41. }
  42. if (!intval($user->is_cashier)) {
  43. \Yii::$app->response->format = Response::FORMAT_JSON;
  44. \Yii::$app->response->data = [
  45. 'code' => 1,
  46. 'msg' => '当前用户不是收银台管理员'
  47. ];
  48. return false;
  49. }
  50. $cashierUserExt = CashierUserExt::findOne(['user_id' => $user->id, 'is_delete' => 0]);
  51. if ($cashierUserExt) {
  52. $action->controller->md_id = intval($cashierUserExt->md_id);
  53. return true;
  54. }
  55. return true;
  56. }
  57. }