From 4b6e4113c16a0740f6ca6381ddd47ce4c5d903c8 Mon Sep 17 00:00:00 2001 From: Lemon <15040771@qq.com> Date: Thu, 22 Oct 2020 10:00:16 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AA=91=E6=89=8B=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=20=E4=B8=AA=E4=BA=BA=E4=B8=AD=E5=BF=83=20=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E4=B8=93=E5=91=98=E6=A0=8F=E4=B8=8B=E6=96=B0=E5=A2=9E=E9=AA=91?= =?UTF-8?q?=E6=89=8B=E5=85=A5=E5=8F=A3=20=E8=8E=B7=E5=8F=96=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E4=B8=93=E5=91=98=E4=BF=A1=E6=81=AF=E6=94=B9=E6=9F=A5?= =?UTF-8?q?employees=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Controller/v3/HomeController.php | 8 ++--- app/Controller/v3/HorsemanController.php | 22 ++++++++++++ app/Model/v3/Employees.php | 22 ++++++++++++ .../v3/Implementations/HorsemanService.php | 27 ++++++++++++++ .../UserCenterBlockService.php | 36 +++++++++++++++---- .../v3/Implementations/UserInfoService.php | 9 +++-- .../Interfaces/HorsemanServiceInterface.php | 13 +++++++ .../Interfaces/UserInfoServiceInterface.php | 2 +- config/autoload/dependencies.php | 1 + config/routes.php | 1 + 10 files changed, 126 insertions(+), 15 deletions(-) create mode 100644 app/Controller/v3/HorsemanController.php create mode 100644 app/Model/v3/Employees.php create mode 100644 app/Service/v3/Implementations/HorsemanService.php create mode 100644 app/Service/v3/Interfaces/HorsemanServiceInterface.php 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]]); // 微信支付回调