BaseController.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace addons\CloudStock\api\modules\v1\controllers;
  3. use addons\CloudStock\common\models\CloudStockAgent;
  4. use api\controllers\OnAuthController;
  5. use common\enums\AddonsEnum;
  6. use common\enums\StatusEnum;
  7. use common\models\mall\MallAddons;
  8. use common\models\user\User;
  9. /**
  10. * 默认控制器
  11. *
  12. * Class DefaultController
  13. * @package addons\JoinPay\api\modules\v1\controllers
  14. */
  15. class BaseController extends OnAuthController
  16. {
  17. // 代理商数据
  18. protected $stock_agent = null;
  19. public function beforeAction($action)
  20. {
  21. parent::beforeAction($action);
  22. $addons_name = AddonsEnum::getAddonsNameMap(AddonsEnum::ADDONS_NAME_CLOUD_STOCK);
  23. $is_install = MallAddons::isInstall($this->mall_id, AddonsEnum::ADDONS_NAME_CLOUD_STOCK);
  24. // if (!$is_install) return $this->error('未安装 ' . $addons_name . ' 应用');
  25. $configs = \Yii::$app->services->setting->addons->get($this->mall_id, AddonsEnum::ADDONS_NAME_CLOUD_STOCK, 'basic');
  26. if (1 != $configs['is_enable']) return $this->error('未开 ' . $addons_name . ' 应用');
  27. if(!in_array($action->id,$this->authOptional)){
  28. if (strpos($action->id, 'price-difference-gift-package') !== false) {
  29. return $action;
  30. }
  31. $this->stock_agent = CloudStockAgent::findOne(['user_id' => $this->user_id, 'mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED]);
  32. if (empty($this->stock_agent)) return $this->error('当前用户不是代理商');
  33. }
  34. return $action;
  35. }
  36. }