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.

60 lines
1.6 KiB

  1. <?php
  2. namespace App\Service;
  3. use App\Model\ServiceEvaluate;
  4. use Hyperf\DbConnection\Db;
  5. use Hyperf\HttpServer\Contract\RequestInterface;
  6. use Hyperf\Di\Annotation\Inject;
  7. use Hyperf\Paginator\Paginator;
  8. class ServiceEvaluateService implements ServiceEvaluateServiceInterface
  9. {
  10. /**
  11. * @Inject
  12. * @var RequestInterface
  13. */
  14. private $request;
  15. public function evaluate()
  16. {
  17. $data = $this->request->all();
  18. $data['user_created_at'] = Db::table('ims_cjdc_user')
  19. ->where(['id' => $data['user_id']])
  20. ->value('join_time');
  21. return ServiceEvaluate::create($data);
  22. }
  23. public function getPersonnelInfo($user_id)
  24. {
  25. $res = Db::table('lanzu_service_personnel')
  26. ->where(['user_id' => $user_id])
  27. ->first();
  28. return $res;
  29. }
  30. public function getEvaluateList($service_personnel_id)
  31. {
  32. $res = Db::table('lanzu_service_evaluate')
  33. ->where(['service_personnel_id' => $service_personnel_id])
  34. ->limit(4)
  35. ->get();
  36. // return $res;
  37. $currentPage = 1;
  38. $perPage = 2;
  39. // 这里根据 $currentPage 和 $perPage 进行数据查询,以下使用 Collection 代替
  40. // $collection = new Collection([
  41. // ['id' => 1, 'name' => 'Tom'],
  42. // ['id' => 2, 'name' => 'Sam'],
  43. // ['id' => 3, 'name' => 'Tim'],
  44. // ['id' => 4, 'name' => 'Joe'],
  45. // ]);
  46. //
  47. // $users = array_values($collection->forPage($currentPage, $perPage)->toArray());
  48. return new Paginator($res, $perPage, $currentPage);
  49. }
  50. }