diff --git a/app/Controller/ServiceEvaluateController.php b/app/Controller/ServiceEvaluateController.php index 9b0c5d3..8440f30 100644 --- a/app/Controller/ServiceEvaluateController.php +++ b/app/Controller/ServiceEvaluateController.php @@ -5,6 +5,8 @@ namespace App\Controller; use App\Constants\ErrorCode; use App\Exception\BusinessException; use App\Request\EvaluateRequest; +use App\Request\UserRequest; +use App\Request\PersonnelRequest; use App\Service\ServiceEvaluateServiceInterface; use Hyperf\Di\Annotation\Inject; @@ -29,6 +31,7 @@ class ServiceEvaluateController extends BaseController public function evaluate(EvaluateRequest $validator) { // TODO 数据保存失败的返回处理 + // TODO 自定义验证用户、市场、服务人员ID $ret = $this->evaluateService->evaluate(); return $this->success($ret); @@ -37,19 +40,25 @@ class ServiceEvaluateController extends BaseController /** *获取服务专员基本信息 */ - public function getPersonnelInfo() + public function getPersonnelInfo(PersonnelRequest $validator) { //根据用户iD 获取服务专员详细信息 - $user_id = $this->request->input('user_id', 0); - return $this->success($this->evaluateService->getPersonnelInfo($user_id)); + $service_personnel_id = $this->request->input('service_personnel_id', 0); + $res = $this->evaluateService->getPersonnelInfo($service_personnel_id); + //如果存在服务专员则获取默认快捷评价 + if(!empty($res)) { + $quick_evaluate = $this->evaluateService->getQuickEvaluate(); + $res->quick_evaluate = $quick_evaluate; + } + return $this->success($res); } /** *获取服务专员评价列表 */ - public function getEvaluateList() + public function getEvaluateList(PersonnelRequest $validator) { - //根据用户iD 获取服务专员详细信息 + //根据服务专员iD 获取服务专员评价列表 $service_personnel_id = $this->request->input('service_personnel_id', 0); return $this->success($this->evaluateService->getEvaluateList($service_personnel_id)); } diff --git a/app/Request/EvaluateRequest.php b/app/Request/EvaluateRequest.php index 4d9856f..5d7d53c 100644 --- a/app/Request/EvaluateRequest.php +++ b/app/Request/EvaluateRequest.php @@ -26,21 +26,25 @@ class EvaluateRequest extends FormRequest 'c_service' => 'required|nonempty|integer', 'c_quality' => 'required|nonempty|integer', 'content' => 'required|nonempty|between:15,150', - 'user_id' => 'required|nonempty|integer', - 'service_personnel_id' => 'required|nonempty|integer', - 'market_id' => 'required|nonempty|integer', + 'user_id' => 'required|nonempty|integer|exists:ims_cjdc_user,id', + 'service_personnel_id' => 'required|nonempty|integer|exists:lanzu_service_personnel,id', + 'market_id' => 'required|nonempty|integer|exists:ims_cjdc_market,id', ]; } public function messages(): array { return [ + 'user_id.exists' => ':attribute不存在', + 'service_personnel_id.exists' => ':attribute不存在', + 'market_id.exists' => ':attribute不存在', 'user_id.*' => ':attribute信息不正确', 'service_personnel_id.*' => ':attribute信息不正确', 'market_id.*' => ':attribute信息不正确', 'c_attitude.*' => ':attribute信息不正确', 'c_service.*' => ':attribute信息不正确', 'c_quality.*' => ':attribute信息不正确', + 'content.between' => ':attribute字数限制在:min~:max字', 'content.*' => ':attribute信息不正确', ]; } @@ -54,7 +58,7 @@ class EvaluateRequest extends FormRequest 'c_attitude' => '服务态度评分', 'c_service' => '服务值评分', 'c_quality' => '服务质量评分', - 'content' => '服务评价', + 'content' => '服务评价内容', ]; } } diff --git a/app/Request/PersonnelRequest.php b/app/Request/PersonnelRequest.php new file mode 100644 index 0000000..87aacb2 --- /dev/null +++ b/app/Request/PersonnelRequest.php @@ -0,0 +1,42 @@ + 'required|nonempty|integer|exists:lanzu_service_personnel,id', + ]; + } + + public function messages(): array + { + return [ + 'service_personnel_id.*' => ':attribute信息不正确', + ]; + } + + public function attributes(): array + { + return [ + 'service_personnel_id' => '服务专员', + ]; + } +} diff --git a/app/Request/UserRequest.php b/app/Request/UserRequest.php new file mode 100644 index 0000000..2eed8d4 --- /dev/null +++ b/app/Request/UserRequest.php @@ -0,0 +1,42 @@ + 'required|nonempty|integer|exists:ims_cjdc_user,id', + ]; + } + + public function messages(): array + { + return [ + 'user_id.*' => ':attribute信息不正确', + ]; + } + + public function attributes(): array + { + return [ + 'user_id' => '用户', + ]; + } +} diff --git a/app/Service/ServiceEvaluateService.php b/app/Service/ServiceEvaluateService.php index a6e1dc8..d7cf885 100644 --- a/app/Service/ServiceEvaluateService.php +++ b/app/Service/ServiceEvaluateService.php @@ -6,6 +6,7 @@ use App\Model\ServiceEvaluate; use Hyperf\DbConnection\Db; use Hyperf\HttpServer\Contract\RequestInterface; use Hyperf\Di\Annotation\Inject; +use Hyperf\Paginator\Paginator; class ServiceEvaluateService implements ServiceEvaluateServiceInterface { @@ -26,22 +27,39 @@ class ServiceEvaluateService implements ServiceEvaluateServiceInterface return ServiceEvaluate::create($data); } - public function getPersonnelInfo() + public function getPersonnelInfo($service_personnel_id) { - $data = $this->request->all(); $res = Db::table('lanzu_service_personnel') - ->where(['user_id' => $data['user_id']]) + ->where([ + ['id','=',$service_personnel_id], + ['status','=',1] + ]) ->first(); return $res; } - public function getEvaluateList() + public function getEvaluateList($service_personnel_id) { - $data = $this->request->all(); - $res = Db::table('lanzu_service_evaluate') - ->where(['service_personnel_id' => $data['service_personnel_id']]) - ->get(); + $res = Db::table('lanzu_service_evaluate as e') + ->join('ims_cjdc_user as u','u.id','=','e.user_id') + ->where(['e.service_personnel_id'=>$service_personnel_id]) + ->select('e.*','u.name','u.img') + ->paginate(4); return $res; } + public function getQuickEvaluate() + { + $data = (object)null; + $obj1 = (object)null; + $obj1->title1 = '服务态度超好'; + $obj1->title2 = '服务态度一般般'; + $data->quick_evaluate_title = $obj1; + $obj2 = (object)null; + $obj2->content1 = '超级细心'; + $obj2->content2 = '马马虎虎'; + $data->quick_evaluate_content = $obj2; + return $data; + } + } \ No newline at end of file diff --git a/app/Service/ServiceEvaluateServiceInterface.php b/app/Service/ServiceEvaluateServiceInterface.php index ee2418d..97ecbd6 100644 --- a/app/Service/ServiceEvaluateServiceInterface.php +++ b/app/Service/ServiceEvaluateServiceInterface.php @@ -9,8 +9,10 @@ interface ServiceEvaluateServiceInterface public function evaluate(); - public function getPersonnelInfo(); + public function getPersonnelInfo($service_personnel_id); - public function getEvaluateList(); + public function getEvaluateList($service_personnel_id); + + public function getQuickEvaluate(); } \ No newline at end of file diff --git a/composer.json b/composer.json index 3b9ff4f..7e2cd5a 100644 --- a/composer.json +++ b/composer.json @@ -27,7 +27,9 @@ "hyperf/redis": "~2.0.0", "hyperf/constants": "~2.0.0", "hyperf/model-cache": "~2.0.0", - "hyperf/filesystem": "^2.0", + "hyperf/validation": "^2.0", + "hyperf/paginator": "^2.0" + "hyperf/filesystem": "^2.0", "xxtime/flysystem-aliyun-oss": "^1.5", "hyperf/validation": "^2.0", "hyperf/task": "^2.0"