列表、详情页ApiEventController
<h2>基本信息</h2>
<ul>
<li><strong>接口前缀</strong>: <code>/api/miniapp/events</code></li>
<li><strong>测试环境</strong>: <code>http://localhost:8888</code></li>
<li><strong>请求方式</strong>: GET</li>
<li><strong>数据格式</strong>: JSON</li>
</ul>
<h2>1. 赛事列表模块</h2>
<h3>1.1 获取赛事列表</h3>
<h4>简要描述:</h4>
<p>获取所有公开赛事列表,支持搜索、状态筛选等所有功能,无需用户登录</p>
<h4>请求URL:</h4>
<p><code>/api/miniapp/events/Allevents</code></p>
<h4>请求方式:</h4>
<p><code>GET</code></p>
<h4>参数:</h4>
<table>
<thead>
<tr>
<th>参数名</th>
<th>示例值</th>
<th>必选</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>eventId</td>
<td>1010</td>
<td>否</td>
<td>Long</td>
<td>赛事ID(如果传递则返回该赛事详情,否则返回赛事列表)</td>
</tr>
<tr>
<td>eventName</td>
<td>篮球</td>
<td>否</td>
<td>String</td>
<td>赛事名称(模糊查询,仅列表查询时有效)</td>
</tr>
<tr>
<td>eventStatus</td>
<td>1</td>
<td>否</td>
<td>Integer</td>
<td>赛事状态筛选(仅列表查询时有效)</td>
</tr>
</tbody>
</table>
<h4>状态筛选说明:</h4>
<table>
<thead>
<tr>
<th>状态值</th>
<th>状态描述</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td>全部</td>
<td>显示所有赛事(默认)</td>
</tr>
<tr>
<td>1</td>
<td>即将开始</td>
<td>赛事还未开始</td>
</tr>
<tr>
<td>2</td>
<td>报名中</td>
<td>正在接受报名</td>
</tr>
<tr>
<td>3</td>
<td>进行中</td>
<td>赛事正在进行</td>
</tr>
<tr>
<td>4</td>
<td>已完成</td>
<td>赛事已经结束</td>
</tr>
</tbody>
</table>
<h4>排序说明:</h4>
<ul>
<li><strong>默认排序</strong>: 按报名开始时间(<code>applyStart</code>)降序排列</li>
<li><strong>排序规则</strong>: 最新开始报名的赛事优先显示</li>
<li><strong>排序字段</strong>: <code>ea.apply_start DESC</code></li>
</ul>
<h4>返回示例:</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;操作成功&quot;,
&quot;code&quot;: 200,
&quot;data&quot;: [
{
&quot;eventId&quot;: 1010,
&quot;eventName&quot;: &quot;2025 南京退役军人篮球联赛&quot;,
&quot;provinceCity&quot;: &quot;江苏省南京市&quot;,
&quot;site&quot;: &quot;南京市双拥活动中心篮球场&quot;,
&quot;applyStart&quot;: &quot;2025-08-30&quot;,
&quot;applyEnd&quot;: &quot;2025-09-15&quot;,
&quot;eventStart&quot;: &quot;2025-09-20&quot;,
&quot;eventEnd&quot;: &quot;2025-09-25&quot;,
&quot;principal&quot;: &quot;钱峰&quot;,
&quot;phone&quot;: 13000130010,
&quot;level&quot;: 2,
&quot;category&quot;: &quot;按军种分组,每组4队&quot;,
&quot;picture&quot;: &quot;https://example.com/basketball10.jpg&quot;,
&quot;guideUnit&quot;: &quot;南京市双拥活动中心篮球场省体育局&quot;,
&quot;hostUnit&quot;: &quot;南京市双拥活动中心篮球场省体育局&quot;,
&quot;organizer&quot;: &quot;南京市双拥活动中心篮球场&quot;,
&quot;coOrganizer&quot;: &quot;青岛市政府&quot;,
&quot;supportUnit&quot;: &quot;山东省体育局&quot;,
&quot;competitionRegulations&quot;: &quot;每队10人,比赛4节每节10分钟,发扬军人体育精神...&quot;,
&quot;matchState&quot;: 0
},
{
&quot;eventId&quot;: 1009,
&quot;eventName&quot;: &quot;2025 重庆残疾人篮球友谊赛&quot;,
&quot;provinceCity&quot;: &quot;重庆市&quot;,
&quot;site&quot;: &quot;重庆市残疾人活动中心&quot;,
&quot;applyStart&quot;: &quot;2025-08-28&quot;,
&quot;applyEnd&quot;: &quot;2025-09-12&quot;,
&quot;eventStart&quot;: &quot;2025-09-18&quot;,
&quot;eventEnd&quot;: &quot;2025-09-20&quot;,
&quot;principal&quot;: &quot;郑丽&quot;,
&quot;phone&quot;: 13100131009,
&quot;level&quot;: 3,
&quot;category&quot;: &quot;轮椅篮球组、听力障碍组&quot;,
&quot;picture&quot;: &quot;https://example.com/basketball9.jpg&quot;,
&quot;guideUnit&quot;: &quot;重庆市体育局&quot;,
&quot;hostUnit&quot;: &quot;重庆市体育局&quot;,
&quot;organizer&quot;: &quot;重庆市残疾人活动中心&quot;,
&quot;coOrganizer&quot;: &quot;青岛市政府&quot;,
&quot;supportUnit&quot;: &quot;山东省体育局&quot;,
&quot;competitionRegulations&quot;: &quot;根据残疾类别调整规则,每队6人,比赛3节每节10分钟...&quot;,
&quot;matchState&quot;: 0
}
]
}</code></pre>
<h2>2. 赛事详情模块</h2>
<h3>2.1 获取赛事详情</h3>
<h4>简要描述:</h4>
<p>根据赛事ID获取单个赛事的详细信息</p>
<h4>请求URL:</h4>
<p><code>/api/miniapp/events/Allevents?eventId={eventId}</code></p>
<h4>请求方式:</h4>
<p><code>GET</code></p>
<h4>参数:</h4>
<table>
<thead>
<tr>
<th>参数名</th>
<th>示例值</th>
<th>必选</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>eventId</td>
<td>1010</td>
<td>是</td>
<td>Long</td>
<td>赛事ID(查询参数)</td>
</tr>
</tbody>
</table>
<h4>返回示例:</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;操作成功&quot;,
&quot;code&quot;: 200,
&quot;data&quot;: {
&quot;eventId&quot;: 1010,
&quot;eventName&quot;: &quot;2025 南京退役军人篮球联赛&quot;,
&quot;provinceCity&quot;: &quot;江苏省南京市&quot;,
&quot;site&quot;: &quot;南京市双拥活动中心篮球场&quot;,
&quot;applyStart&quot;: &quot;2025-08-30&quot;,
&quot;applyEnd&quot;: &quot;2025-09-15&quot;,
&quot;eventStart&quot;: &quot;2025-09-20&quot;,
&quot;eventEnd&quot;: &quot;2025-09-25&quot;,
&quot;principal&quot;: &quot;钱峰&quot;,
&quot;phone&quot;: 13000130010,
&quot;level&quot;: 2,
&quot;category&quot;: &quot;按军种分组,每组4队&quot;,
&quot;picture&quot;: &quot;https://example.com/basketball10.jpg&quot;,
&quot;guideUnit&quot;: &quot;南京市双拥活动中心篮球场省体育局&quot;,
&quot;hostUnit&quot;: &quot;南京市双拥活动中心篮球场省体育局&quot;,
&quot;organizer&quot;: &quot;南京市双拥活动中心篮球场&quot;,
&quot;coOrganizer&quot;: &quot;青岛市政府&quot;,
&quot;supportUnit&quot;: &quot;山东省体育局&quot;,
&quot;competitionRegulations&quot;: &quot;每队10人,比赛4节每节10分钟,发扬军人体育精神...&quot;,
&quot;matchState&quot;: 0
}
}</code></pre>
<h2>接口使用说明</h2>
<p><strong>基础查询</strong>(返回所有赛事):</p>
<pre><code>GET /api/miniapp/events/Allevents</code></pre>
<p><strong>搜索查询</strong>:</p>
<pre><code>GET /api/miniapp/events/Allevents?eventName=篮球</code></pre>
<p><strong>状态筛选</strong>:</p>
<pre><code>GET /api/miniapp/events/Allevents?eventStatus=1</code></pre>
<p><strong>组合查询</strong>:</p>
<pre><code>GET /api/miniapp/events/Allevents?eventStatus=1&amp;eventName=篮球</code></pre>
<p><strong>获取赛事详情</strong>:</p>
<pre><code>GET /api/miniapp/events/Allevents?eventId=1010</code></pre>
<h2>字段说明</h2>
<h3>赛事信息字段 (WmEvent)</h3>
<table>
<thead>
<tr>
<th>字段名</th>
<th>类型</th>
<th>说明</th>
<th>示例值</th>
</tr>
</thead>
<tbody>
<tr>
<td>eventId</td>
<td>Long</td>
<td>赛事ID</td>
<td>1010</td>
</tr>
<tr>
<td>eventName</td>
<td>String</td>
<td>赛事名称</td>
<td>"2025 南京退役军人篮球联赛"</td>
</tr>
<tr>
<td>provinceCity</td>
<td>String</td>
<td>省份城市(智能拼接字段,自动处理空值)</td>
<td>"江苏省南京市"</td>
</tr>
<tr>
<td>site</td>
<td>String</td>
<td>报到地点</td>
<td>"南京市双拥活动中心篮球场"</td>
</tr>
<tr>
<td>applyStart</td>
<td>String</td>
<td>报名开始时间</td>
<td>"2025-08-30"</td>
</tr>
<tr>
<td>applyEnd</td>
<td>String</td>
<td>报名结束时间</td>
<td>"2025-09-15"</td>
</tr>
<tr>
<td>eventStart</td>
<td>String</td>
<td>赛事开始时间</td>
<td>"2025-09-20"</td>
</tr>
<tr>
<td>eventEnd</td>
<td>String</td>
<td>赛事结束时间</td>
<td>"2025-09-25"</td>
</tr>
<tr>
<td>principal</td>
<td>String</td>
<td>负责人</td>
<td>"钱峰"</td>
</tr>
<tr>
<td>phone</td>
<td>Long</td>
<td>联系电话</td>
<td>13000130010</td>
</tr>
<tr>
<td>level</td>
<td>Integer</td>
<td>赛事级别(1国家级、2省级、3市级)</td>
<td>2</td>
</tr>
<tr>
<td>category</td>
<td>String</td>
<td>赛事类别</td>
<td>"按军种分组,每组4队"</td>
</tr>
<tr>
<td>picture</td>
<td>String</td>
<td>赛事图片</td>
<td>"<a href="https://example.com/basketball10.jpg"">https://example.com/basketball10.jpg"</a>;</td>
</tr>
<tr>
<td>guideUnit</td>
<td>String</td>
<td>指导单位</td>
<td>"南京市双拥活动中心篮球场省体育局"</td>
</tr>
<tr>
<td>hostUnit</td>
<td>String</td>
<td>主办单位</td>
<td>"南京市双拥活动中心篮球场省体育局"</td>
</tr>
<tr>
<td>organizer</td>
<td>String</td>
<td>承办单位</td>
<td>"南京市双拥活动中心篮球场"</td>
</tr>
<tr>
<td>coOrganizer</td>
<td>String</td>
<td>协办单位</td>
<td>"青岛市政府"</td>
</tr>
<tr>
<td>supportUnit</td>
<td>String</td>
<td>支持单位</td>
<td>"山东省体育局"</td>
</tr>
<tr>
<td>competitionRegulations</td>
<td>String</td>
<td>竞赛规程</td>
<td>"每队10人,比赛4节每节10分钟..."</td>
</tr>
<tr>
<td>matchState</td>
<td>Integer</td>
<td>比赛状态(1为待开始,2为报名中,3为进行中,4己完成)</td>
<td>0</td>
</tr>
</tbody>
</table>
<hr />
<h2>状态说明</h2>
<h3>赛事状态筛选 (eventStatus)</h3>
<table>
<thead>
<tr>
<th>状态值</th>
<th>状态描述</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td>全部</td>
<td>显示所有赛事(默认值)</td>
</tr>
<tr>
<td>1</td>
<td>即将开始</td>
<td>赛事还未开始(eventStart > 当前时间)</td>
</tr>
<tr>
<td>2</td>
<td>报名中</td>
<td>正在接受报名(当前时间在 applyStart 和 applyEnd 之间)</td>
</tr>
<tr>
<td>3</td>
<td>进行中</td>
<td>赛事正在进行(当前时间在 eventStart 和 eventEnd 之间)</td>
</tr>
<tr>
<td>4</td>
<td>已完成</td>
<td>赛事已经结束(eventEnd < 当前时间)</td>
</tr>
</tbody>
</table>
<p>默认排序: 赛事列表按报名开始时间(applyStart)降序排列,最新开始报名的赛事会排在前面。</p>