MarketDistTeamController.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace App\Http\Controllers\Client;
  3. use App\Http\Controllers\Controller;
  4. use App\Services\Client\MarketDistTeamService;
  5. use Auth;
  6. use Illuminate\Http\Request;
  7. /**
  8. * @group 用户端
  9. *
  10. * 团队相关的API接口
  11. */
  12. class MarketDistTeamController extends Controller
  13. {
  14. protected MarketDistTeamService $service;
  15. public function __construct(MarketDistTeamService $service)
  16. {
  17. $this->service = $service;
  18. }
  19. /**
  20. * [团队]我的团队
  21. *
  22. * @description 获取我的团队列表,包含团队成员信息
  23. *
  24. * @queryParam page int 页码. Example: 1
  25. * @queryParam per_page int 每页数量. Example: 15
  26. *
  27. * @response {
  28. * "code": 200,
  29. * "message": "success",
  30. * "data": {
  31. * "current_page": 1,
  32. * "data": [
  33. * {
  34. * "id": 1,
  35. * "team_name": "销售一组",
  36. * "leader_id": 10,
  37. * "leader_name": "张三",
  38. * "member_count": 5,
  39. * "created_at": "2024-03-20 10:00:00",
  40. * "members": [
  41. * {
  42. * "id": 11,
  43. * "name": "李四",
  44. * "avatar": "http://example.com/avatar.jpg",
  45. * "role": "member",
  46. * "join_time": "2024-03-20 10:00:00"
  47. * }
  48. * ]
  49. * }
  50. * ],
  51. * "total": 10,
  52. * "per_page": 15
  53. * }
  54. * }
  55. */
  56. public function index(Request $request)
  57. {
  58. $validated = $request->validate([
  59. 'page' => 'nullable|integer|min:1',
  60. 'per_page' => 'nullable|integer|min:1|max:100',
  61. ]);
  62. return $this->success(
  63. $this->service->getTeamList(
  64. Auth::user()->id,
  65. $validated['per_page'] ?? 15
  66. )
  67. );
  68. }
  69. }