You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
2.2 KiB

5 years ago
  1. <?php
  2. namespace App\Controller\v3;
  3. use App\Controller\BaseController;
  4. use App\Request\v3\EvaluateRequest;
  5. use App\Request\v3\UserRequest;
  6. use App\Request\v3\PersonnelRequest;
  7. use App\Service\v3\Interfaces\ServiceEvaluateServiceInterface;
  8. use Hyperf\Di\Annotation\Inject;
  9. class ServiceEvaluateController extends BaseController
  10. {
  11. /**
  12. * @Inject
  13. * @var ServiceEvaluateServiceInterface
  14. */
  15. protected $evaluateService;
  16. /**
  17. * 提交评价
  18. *
  19. * 评价内容:
  20. * 服务态度评分、服务质量评分、满意度评分、评价内容
  21. * 关联信息:
  22. * 服务专员ID、市场ID、评价的用户ID
  23. * 查询信息:
  24. * 用户注册/创建时间
  25. *
  26. */
  27. public function evaluate(EvaluateRequest $validator)
  28. {
  29. // TODO 数据保存失败的返回处理
  30. // TODO 自定义验证用户、市场、服务人员ID
  31. $ret = $this->evaluateService->evaluate($this->request->all());
  32. return $this->success($ret);
  33. }
  34. /**
  35. *获取服务专员基本信息
  36. */
  37. public function isPersonnel(UserRequest $validator)
  38. {
  39. //根据用户iD 获取服务专员详细信息
  40. $user_id = $this->request->input('user_id', 0);
  41. $res = $this->evaluateService->isPersonnel($user_id);
  42. return $this->success($res);
  43. }
  44. /**
  45. *获取服务专员基本信息
  46. */
  47. public function getPersonnelInfo(PersonnelRequest $validator)
  48. {
  49. //根据服务专员iD 获取服务专员详细信息
  50. $service_personnel_id = $this->request->input('service_personnel_id', 0);
  51. $res = $this->evaluateService->getPersonnelInfo($service_personnel_id);
  52. //如果存在服务专员则获取配置信息
  53. if(!empty($res)) {
  54. $config = $this->evaluateService->getQuickEvaluate();
  55. $res->config = $config;
  56. }
  57. return $this->success($res);
  58. }
  59. /**
  60. *获取服务专员评价列表
  61. */
  62. public function getEvaluateList(PersonnelRequest $validator)
  63. {
  64. //获取服务专员评价列表
  65. return $this->success($this->evaluateService->getEvaluateList($this->request->all()));
  66. }
  67. }