diff --git a/app/common/middleware/MerchantServerMiddleware.php b/app/common/middleware/MerchantServerMiddleware.php index 3d71683..4739e91 100644 --- a/app/common/middleware/MerchantServerMiddleware.php +++ b/app/common/middleware/MerchantServerMiddleware.php @@ -34,8 +34,12 @@ class MerchantServerMiddleware extends BaseMiddleware $service = app()->make(StoreServiceRepository::class)->getService($userInfo->main_uid, $this->merId); } + if (!$service) { + $service = app()->make(StoreServiceRepository::class)->getAdminService($this->merId); + } + if (!$service || !$service->$field) { - // throw new HttpResponseException(app('json')->fail('您没有权限操作')); + throw new HttpResponseException(app('json')->fail('您没有权限操作')); } $request->macro('serviceInfo', function () use (&$service) { return $service; diff --git a/app/common/repositories/store/service/StoreServiceRepository.php b/app/common/repositories/store/service/StoreServiceRepository.php index 668dc91..9ea1d5c 100644 --- a/app/common/repositories/store/service/StoreServiceRepository.php +++ b/app/common/repositories/store/service/StoreServiceRepository.php @@ -419,7 +419,22 @@ class StoreServiceRepository extends BaseRepository return $this->dao->delete($id); } - - + /** + * Common: 获取当前商户超管 + * Author: wu-hui + * Time: 2024/03/30 9:56 + * @param int $merId + * @return array|\think\Model + */ + public function getAdminService(int $merId){ + return $this->dao->getSearch([]) + ->hasWhere('merchant',function($query){ + $query->where('is_del', 0); + }) + ->where('StoreService.mer_id',$merId) + ->where('StoreService.is_del', 0) + ->where('StoreService.is_manage', 1) + ->findOrEmpty(); + } }