我的球队
<h1>根据用户ID查找球队</h1>
<h2>接口信息</h2>
<ul>
<li><strong>接口名称</strong>: 根据用户ID查找球队(增强版)</li>
<li><strong>接口描述</strong>: 根据当前用户ID查找该用户创建和加入的所有球队列表,包含完整的球队信息</li>
<li><strong>请求URL</strong>: <code>/api/team/teamsByUserId</code></li>
<li><strong>请求方式</strong>: <code>GET</code></li>
<li><strong>认证方式</strong>: 需要登录(通过Token获取用户ID)</li>
</ul>
<h2>请求参数</h2>
<h3>请求头参数</h3>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">示例值</th>
<th>必选</th>
<th style="text-align: left;">类型</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">Authorization</td>
<td style="text-align: left;">Bearer eyJhbGciOiJIUzUxMiJ9...</td>
<td>是</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">用户登录Token</td>
</tr>
</tbody>
</table>
<h3>路径参数</h3>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">示例值</th>
<th>必选</th>
<th style="text-align: left;">类型</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">无</td>
<td style="text-align: left;">-</td>
<td>-</td>
<td style="text-align: left;">-</td>
<td style="text-align: left;">用户ID通过Token自动获取</td>
</tr>
</tbody>
</table>
<h2>响应示例</h2>
<h3>成功响应</h3>
<pre><code class="language-json">{
&quot;code&quot;: 200,
&quot;msg&quot;: &quot;操作成功&quot;,
&quot;data&quot;: {
&quot;userId&quot;: 1001,
&quot;teams&quot;: [
{
&quot;teamId&quot;: 101,
&quot;teamName&quot;: &quot;篮球队A&quot;,
&quot;teamType&quot;: &quot;A&quot;,
&quot;teamTypeName&quot;: &quot;整建制&quot;,
&quot;leaderName&quot;: &quot;张三&quot;,
&quot;leaderPhone&quot;: &quot;13800138000&quot;,
&quot;managerName&quot;: &quot;李四&quot;,
&quot;managerPhone&quot;: &quot;13900139000&quot;,
&quot;managerUserId&quot;: 1001,
&quot;headCoachName&quot;: &quot;王五&quot;,
&quot;headCoachPhone&quot;: &quot;13700137000&quot;,
&quot;assistantCoachName&quot;: &quot;赵六&quot;,
&quot;assistantCoachPhone&quot;: &quot;13600136000&quot;,
&quot;doctorName&quot;: &quot;孙七&quot;,
&quot;doctorPhone&quot;: &quot;13500135000&quot;,
&quot;province&quot;: &quot;广东省&quot;,
&quot;city&quot;: &quot;深圳市&quot;,
&quot;address&quot;: &quot;南山区科技园&quot;,
&quot;teamLogo&quot;: &quot;path/team_logo.jpg&quot;,
&quot;status&quot;: &quot;1&quot;,
&quot;statusName&quot;: &quot;正常&quot;,
&quot;memberNum&quot;: 15,
&quot;createTime&quot;: &quot;2025-01-27 10:00:00&quot;,
&quot;updateTime&quot;: &quot;2025-01-27 10:00:00&quot;,
&quot;createDeadline&quot;: &quot;2025-12-31&quot;,
&quot;dissolveTime&quot;: null,
&quot;remark&quot;: &quot;专业篮球队&quot;
},
{
&quot;teamId&quot;: 102,
&quot;teamName&quot;: &quot;篮球队B&quot;,
&quot;teamType&quot;: &quot;B&quot;,
&quot;teamTypeName&quot;: &quot;个人组队&quot;,
&quot;leaderName&quot;: &quot;赵六&quot;,
&quot;leaderPhone&quot;: &quot;13600136000&quot;,
&quot;managerName&quot;: &quot;孙七&quot;,
&quot;managerPhone&quot;: &quot;13500135000&quot;,
&quot;managerUserId&quot;: 1002,
&quot;headCoachName&quot;: &quot;周八&quot;,
&quot;headCoachPhone&quot;: &quot;13400134000&quot;,
&quot;assistantCoachName&quot;: &quot;吴九&quot;,
&quot;assistantCoachPhone&quot;: &quot;13300133000&quot;,
&quot;doctorName&quot;: &quot;郑十&quot;,
&quot;doctorPhone&quot;: &quot;13200132000&quot;,
&quot;province&quot;: &quot;广东省&quot;,
&quot;city&quot;: &quot;广州市&quot;,
&quot;address&quot;: &quot;天河区体育中心&quot;,
&quot;teamLogo&quot;: &quot;path/team_logo_b.jpg&quot;,
&quot;status&quot;: &quot;1&quot;,
&quot;statusName&quot;: &quot;正常&quot;,
&quot;memberNum&quot;: 12,
&quot;createTime&quot;: &quot;2025-01-26 15:30:00&quot;,
&quot;updateTime&quot;: &quot;2025-01-26 15:30:00&quot;,
&quot;createDeadline&quot;: &quot;2025-12-31&quot;,
&quot;dissolveTime&quot;: null,
&quot;remark&quot;: &quot;业余篮球队&quot;
}
],
&quot;total&quot;: 2
}
}</code></pre>
<h3>错误响应</h3>
<pre><code class="language-json">{
&quot;code&quot;: 500,
&quot;msg&quot;: &quot;操作失败&quot;,
&quot;data&quot;: &quot;用户ID不能为空&quot;
}</code></pre>
<h3>未登录响应</h3>
<pre><code class="language-json">{
&quot;code&quot;: 401,
&quot;msg&quot;: &quot;获取用户信息异常&quot;,
&quot;data&quot;: null
}</code></pre>
<h2>响应参数说明</h2>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">integer</td>
<td style="text-align: left;">响应状态码(200=成功 401=未登录 500=失败)</td>
</tr>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">响应消息</td>
</tr>
<tr>
<td style="text-align: left;">data</td>
<td style="text-align: left;">object</td>
<td style="text-align: left;">响应数据</td>
</tr>
<tr>
<td style="text-align: left;">data.userId</td>
<td style="text-align: left;">long</td>
<td style="text-align: left;">用户ID(系统用户ID)</td>
</tr>
<tr>
<td style="text-align: left;">data.teams</td>
<td style="text-align: left;">array</td>
<td style="text-align: left;">球队列表(包含用户创建和加入的所有球队)</td>
</tr>
<tr>
<td style="text-align: left;">data.total</td>
<td style="text-align: left;">integer</td>
<td style="text-align: left;">球队总数</td>
</tr>
</tbody>
</table>
<h3>球队信息字段说明</h3>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">data.teams.teamId</td>
<td style="text-align: left;">long</td>
<td style="text-align: left;">球队ID</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.teamName</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">球队名称</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.teamType</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">球队类型(A=整建制 B=个人组队)</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.teamTypeName</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">球队类型名称</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.leaderName</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">领队姓名</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.leaderPhone</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">领队联系方式</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.managerName</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">球队负责人姓名</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.managerPhone</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">负责人联系方式</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.managerUserId</td>
<td style="text-align: left;">long</td>
<td style="text-align: left;">负责人用户ID</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.headCoachName</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">主教练姓名</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.headCoachPhone</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">主教练联系方式</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.assistantCoachName</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">助理教练姓名</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.assistantCoachPhone</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">助理教练联系方式</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.doctorName</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">队医姓名</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.doctorPhone</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">队医联系方式</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.province</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">所在省份</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.city</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">所在城市</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.address</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">详细地址</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.teamLogo</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">球队Logo路径</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.status</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">球队状态(0=禁用 1=正常)</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.statusName</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">球队状态名称</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.memberNum</td>
<td style="text-align: left;">integer</td>
<td style="text-align: left;">成员数量</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.createTime</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">创建时间</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.updateTime</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">更新时间</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.createDeadline</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">创建截止时间</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.dissolveTime</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">解散时间(如有)</td>
</tr>
<tr>
<td style="text-align: left;">data.teams.remark</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">备注信息</td>
</tr>
</tbody>
</table>
<h2>使用说明</h2>
<ol>
<li><strong>自动获取用户ID</strong>: 通过Token自动获取当前登录用户的微信用户ID</li>
<li><strong>ID转换</strong>: 自动将微信用户ID转换为系统用户ID</li>
<li><strong>综合查询</strong>: 查询用户创建和加入的所有球队,自动去重</li>
<li><strong>状态过滤</strong>: 只返回正常状态的球队(status='1')</li>
<li><strong>排序规则</strong>: 按创建时间倒序排列</li>
</ol>
<h2>功能说明</h2>
<p>此接口会返回用户创建和加入的所有球队,包括:</p>
<ul>
<li><strong>用户创建的球队</strong>: 通过 <code>wm_team</code> 表的 <code>manager_user_id</code> 字段查询</li>
<li><strong>用户加入的球队</strong>: 通过 <code>wm_team_member</code> 表关联查询</li>
<li><strong>自动去重</strong>: 避免用户既是创建者又是成员的情况</li>
<li><strong>状态过滤</strong>: 只返回正常状态的球队和已加入状态的成员关系</li>
</ul>
<h2>使用场景</h2>
<ul>
<li><strong>个人中心页面</strong>: 显示用户相关的所有球队</li>
<li><strong>球队管理页面</strong>: 展示用户创建和参与的球队</li>
<li><strong>快速了解</strong>: 用户在篮球系统中的参与情况</li>
<li><strong>球队切换</strong>: 让用户快速选择要管理的球队</li>
<li><strong>权限控制</strong>: 根据用户角色显示不同的操作选项</li>
</ul>
<h2>注意事项</h2>
<ul>
<li><strong>需要登录</strong>: 必须提供有效的Token才能调用此接口</li>
<li><strong>用户ID验证</strong>: 用户ID必须有效且大于0</li>
<li><strong>时间格式</strong>: 返回的时间格式为 <code>YYYY-MM-DD HH:mm:ss</code></li>
<li><strong>空数据处理</strong>: 如果没有相关球队,会返回空数组</li>
<li><strong>异常处理</strong>: 接口会自动处理异常情况并返回相应的错误信息</li>
<li><strong>ID转换</strong>: 自动处理微信用户ID到系统用户ID的转换</li>
</ul>
<h2>错误处理</h2>
<table>
<thead>
<tr>
<th style="text-align: left;">错误码</th>
<th style="text-align: left;">错误信息</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">401</td>
<td style="text-align: left;">获取用户信息异常</td>
<td style="text-align: left;">Token无效或已过期</td>
</tr>
<tr>
<td style="text-align: left;">500</td>
<td style="text-align: left;">用户ID不能为空</td>
<td style="text-align: left;">用户ID转换失败</td>
</tr>
<tr>
<td style="text-align: left;">500</td>
<td style="text-align: left;">查找用户球队失败</td>
<td style="text-align: left;">数据库查询异常</td>
</tr>
</tbody>
</table>
<h2>相关接口</h2>
<ul>
<li><a href="2.获取球队详情-增强版.md">获取球队详情(增强版)</a> - 获取具体球队的详细信息</li>
<li><a href="4.获取球队成员列表-增强版.md">获取球队成员列表(增强版)</a> - 查看球队成员信息</li>
<li><a href="3.获取球队详情和成员-增强版.md">获取球队详情和成员(增强版)</a> - 获取球队信息及成员列表</li>
</ul>