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.

75 lines
2.2 KiB

  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. return $this->success($this->evaluateService->isPersonnel($user_id));;
  44. }
  45. /**
  46. *获取服务专员基本信息
  47. */
  48. public function getPersonnelInfo(PersonnelRequest $validator)
  49. {
  50. //根据服务专员iD 获取服务专员详细信息
  51. $service_personnel_id = $this->request->input('service_personnel_id', 0);
  52. $res = $this->evaluateService->getPersonnelInfo($service_personnel_id);
  53. //如果存在服务专员则获取配置信息
  54. if(!empty($res)) {
  55. $config = $this->evaluateService->getQuickEvaluate();
  56. $res->config = $config;
  57. }
  58. return $this->success($res);
  59. }
  60. /**
  61. *获取服务专员评价列表
  62. */
  63. public function getEvaluateList(PersonnelRequest $validator)
  64. {
  65. //获取服务专员评价列表
  66. return $this->success($this->evaluateService->getEvaluateList($this->request->all()));
  67. }
  68. }