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.

76 lines
2.2 KiB

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