diff --git a/app/Controller/v3/HomeController.php b/app/Controller/v3/HomeController.php index 0224d59..03281c6 100644 --- a/app/Controller/v3/HomeController.php +++ b/app/Controller/v3/HomeController.php @@ -160,10 +160,10 @@ class HomeController extends BaseController $params = $request->validated(); $data['user'] = $this->userInfoService->detail($params['user_id']); $store_info = $this->userInfoService->getStoreByUID($params['user_id']); - $sp_info = $this->userInfoService->getServicePersonnelByUID($params['user_id']); + $employees = $this->userInfoService->getEmployeesByUID($params['user_id']); $data['user']['store_info'] = $store_info; - $data['user']['sp_info'] = $sp_info; + $data['user']['sp_info'] = $employees; $roles = []; @@ -177,12 +177,12 @@ class HomeController extends BaseController ]; } - if($sp_info){ + if($employees){ $roles[] = [ 'key'=>'sp', 'title'=>'服务', 'color'=>'#0091FF', - 'data'=>$sp_info, + 'data'=>$employees, ]; } diff --git a/app/Controller/v3/HorsemanController.php b/app/Controller/v3/HorsemanController.php new file mode 100644 index 0000000..0eb9a4f --- /dev/null +++ b/app/Controller/v3/HorsemanController.php @@ -0,0 +1,22 @@ +success($this->horsemanService->getOrderList()); + } +} \ No newline at end of file diff --git a/app/Model/v3/Employees.php b/app/Model/v3/Employees.php new file mode 100644 index 0000000..feae515 --- /dev/null +++ b/app/Model/v3/Employees.php @@ -0,0 +1,22 @@ + 'array' + ]; + + protected function boot(): void + { + parent::boot(); + self::addGlobalScope('normal', function (Builder $builder) { + $builder->where([$this->getTable().'.status' => 1]); + }); + } +} \ No newline at end of file diff --git a/app/Service/v3/Implementations/HorsemanService.php b/app/Service/v3/Implementations/HorsemanService.php new file mode 100644 index 0000000..9396315 --- /dev/null +++ b/app/Service/v3/Implementations/HorsemanService.php @@ -0,0 +1,27 @@ + 'sp_user', - 'title' => '服务专员', - 'items' => [ - ['name' => '评价', 'icon' => $img_host . 'user_icons/service2.png', 'type' => 'page', 'path' => '/zh_cjdianc/pages/appraise/index?service_personnel_id='.$item['data']['id'],'command'=>'sp_login'], + $tags = []; + if(in_array(29,$item['data']['position'])){ + array_push($tags, [ - 'name' => '商品管理', 'icon' => $img_host . 'user_icons/service2.png', + 'name' => '骑手端', 'icon' => $img_host . 'user_icons/service2.png', 'type' => 'page', 'path' => '/pages/shopList/shopList?personal_id='.$item['data']['id'], 'command'=>'sp_login' ] - ] + ); + } + + if(in_array(30,$item['data']['position'])){ + $personalId = ServicePersonnel::query()->where('user_id',$item['data']['user_id'])->value('id'); + array_push($tags, + [ + 'name' => '评价', + 'icon' => $img_host . 'user_icons/service2.png', + 'type' => 'page', + 'path' => '/zh_cjdianc/pages/appraise/index?service_personnel_id='.$personalId,'command'=>'sp_login' + ], + [ + 'name' => '商品管理', 'icon' => $img_host . 'user_icons/service2.png', + 'type' => 'page', + 'path' => '/pages/shopList/shopList?personal_id='.$personalId, + 'command'=>'sp_login' + ] + ); + } + $blocks[] = [ + 'type' => 'sp_user', + 'title' => '服务专员', + 'items' => $tags ]; } diff --git a/app/Service/v3/Implementations/UserInfoService.php b/app/Service/v3/Implementations/UserInfoService.php index 0b08a39..8e2e401 100644 --- a/app/Service/v3/Implementations/UserInfoService.php +++ b/app/Service/v3/Implementations/UserInfoService.php @@ -5,6 +5,7 @@ namespace App\Service\v3\Implementations; use App\Constants\v3\ErrorCode; use App\Constants\v3\SsdbKeys; use App\Exception\ErrorCodeException; +use App\Model\v3\Employees; use App\Model\v3\User; use App\Model\v3\ServicePersonnel; use App\Model\v3\Store; @@ -94,10 +95,12 @@ class UserInfoService implements UserInfoServiceInterface return $store; } - public function getServicePersonnelByUID($userId) + public function getEmployeesByUID($userId) { - $sp = ServicePersonnel::where('user_id',$userId)->select('id','user_id')->first(); - return $sp; + $employees = Employees::where('user_id',$userId)->where(function ($query){ + $query->whereJsonContains('position', '29')->orWhereJsonContains('position', '30'); + })->first(); + return $employees; } } \ No newline at end of file diff --git a/app/Service/v3/Interfaces/HorsemanServiceInterface.php b/app/Service/v3/Interfaces/HorsemanServiceInterface.php new file mode 100644 index 0000000..f43fcb0 --- /dev/null +++ b/app/Service/v3/Interfaces/HorsemanServiceInterface.php @@ -0,0 +1,13 @@ + \App\Service\v3\Implementations\ServiceEvaluateService::class, \App\Service\v3\Interfaces\ParamsTokenServiceInterface::class => \App\Service\v3\Implementations\ParamsTokenSsdbService::class, \App\Service\v3\Interfaces\GoodsInventoryServiceInterface::class => \App\Service\v3\Implementations\GoodsInventoryService::class, + \App\Service\v3\Interfaces\HorsemanServiceInterface::class => \App\Service\v3\Implementations\HorsemanService::class, ]; diff --git a/config/routes.php b/config/routes.php index 3a80997..f93166c 100644 --- a/config/routes.php +++ b/config/routes.php @@ -167,6 +167,7 @@ Router::addGroup('/v3/', function () { Router::post('store/updateIsRest', 'App\Controller\v3\StoreController@updateIsRest'); Router::post('coupon/getAvailableListByNewUser', 'App\Controller\v3\CouponController@getAvailableListByNewUser'); Router::post('coupon/receive', 'App\Controller\v3\CouponController@receive'); + Router::post('horseman/getOrderList', 'App\Controller\v3\HorsemanController@getOrderList'); },['middleware' => [\App\Middleware\Auth\ApiMiddleware::class, \App\Middleware\Auth\UserMiddleware::class]]); // 微信支付回调