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.

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