CoachGroupController.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace App\Http\Controllers\Client;
  3. use App\Http\Controllers\Controller;
  4. use App\Http\Requests\Client\CoachGroupRequest;
  5. use App\Services\Client\CoachGroupService;
  6. class CoachGroupController extends Controller
  7. {
  8. /**
  9. * 获取技师分组列表
  10. *
  11. * @group 用户端-技师分组
  12. * @description 获取技师分组列表,包括技术组、明星组和新人组
  13. *
  14. * @queryParam latitude float 纬度,范围:-90到90 Example: 39.9042
  15. * @queryParam longitude float 经度,范围:-180到180 Example: 116.4074
  16. * @queryParam radius integer 搜索半径(公里),范围:1到100 Example: 20
  17. *
  18. * @response {
  19. * "code": 0,
  20. * "message": "操作成功",
  21. * "data": {
  22. * "technical": [
  23. * {
  24. * "id": 1,
  25. * "name": "张三",
  26. * "avatar": "头像地址",
  27. * "portrait_images": ["图片1", "图片2"],
  28. * "formal_photo": "正式照片",
  29. * "city": "北京",
  30. * "work_years": 5,
  31. * "avg_score": 4.8,
  32. * "comment_count": 100,
  33. * "skill_tags": ["标签1", "标签2"],
  34. * "description": "个人简介",
  35. * "gender": 1,
  36. * "age": 28,
  37. * "height": 175,
  38. * "weight": 65,
  39. * "distance": 1.5
  40. * }
  41. * ],
  42. * "star": [],
  43. * "newcomer": []
  44. * }
  45. * }
  46. */
  47. public function index(CoachGroupRequest $request): array
  48. {
  49. $service = new CoachGroupService(
  50. latitude: $request->input('latitude'),
  51. longitude: $request->input('longitude'),
  52. radius: $request->input('radius')
  53. );
  54. return $this->success($service->getAllGroups());
  55. }
  56. }