YD_Event.Web/src/api/match/usereventregistration.js

207 lines
5.6 KiB
JavaScript
Raw Normal View History

2026-03-23 18:01:01 +08:00
import { http } from '../../utils/request';
// ==================== 用户端报名管理服务 ====================
/**
* 1. 赛事列表展示接口
* @param {Object} params - 查询参数
* @param {string} [params.Status] - 赛事状态 (Enrolling=报名中, Ongoing=比赛中, Ended=已结束)
* @param {string} [params.Type] - 赛事类型 (Online=线上, Offline=线下)
* @param {string} [params.StartTime] - 时间范围开始
* @param {string} [params.EndTime] - 时间范围结束
* @param {string} [params.Keyword] - 关键字搜索(赛事名称)
* @param {number} [params.PageNo] - 当前页码
* @param {number} [params.PageSize] - 每页条数
* @returns {Promise<{
* pageNo: number,
* pageSize: number,
* pages: number,
* total: number,
* rows: Array<{
* id: number,
* name: string,
* coverImage: string,
* status: string,
* type: string,
* registrationEndTime: string,
* matchStartTime: string,
* matchEndTime: string
* }>
* }>}
*/
export const usereventregistrationListGet = (params) => {
return http.get('/usereventregistration/list', { params });
};
/**
2026-03-30 02:42:26 +08:00
* 获取赛事详情
* @param {number} id - 赛事ID (路径参数)
* @returns {Promise<{
* eventName: string,
* coverImage: string,
* eventVideo: string,
* eventType: string,
* registrationType: string,
* pointsRuleId: number,
* registrationStartTime: string,
* registrationEndTime: string,
* isNeedMaterial: boolean,
* materialRemark: string,
* materialUploadStartTime: string,
* materialUploadEndTime: string,
* matchStartTime: string,
* matchEndTime: string,
* provinceId: number,
* cityId: number,
* districtId: number,
* detailAddress: string,
* eventIntroduction: string,
* customConfigJson: string,
* units: Array<{
* unitType: string,
* unitName: string,
* logoUrl: string,
* sort: number
* }>,
* projects: Array<{
* id: number,
* name: string,
* projectTypeId: number,
* projectTypeName: string,
* completionCount: number,
* durationMinutes: number,
* durationSeconds: number,
* fee: number,
* limitCount: number,
* groups: Array<{
* groupName: string,
* birthDateStart: string,
* birthDateEnd: string,
* gender: string
* }>
* }>,
* registrationLimit: {
* individualProjectLimit: number,
* teamProjectLimit: number
* },
* feeConfig: {
* chargeMode: string,
* price: number,
* merchantId: number,
* merchantName: string,
* creditCode: string,
* bankName: string,
* accountNumber: string
* },
* id: number,
* provinceName: string,
* cityName: string,
* districtName: string,
* eventStatus: string,
* qrCodeUrl: string
* }>}
*/
2026-03-23 18:01:01 +08:00
export const usereventregistrationDetailGet = (id) => {
2026-03-30 02:42:26 +08:00
// return http.get(`/usereventregistration/detail/${id}`);
return http.get(`/event/detail/${id}`);
2026-03-23 18:01:01 +08:00
};
/**
* 3.1 选择报名项目接口
* @param {number} eventid - 赛事ID (路径参数)
* @returns {Promise<Array<{
* id: number,
* name: string,
* groupName: string,
* fee: number,
* limitCount: number,
* registeredCount: number,
* requirements: string,
* teamSize: number,
* completionCount: number
* }>>}
*/
export const usereventregistrationProjectsGet = (eventid) => {
return http.get(`/usereventregistration/projects/${eventid}`);
};
/**
* 3.2 分配队员接口 - 搜索队员
* @param {Object} params - 查询参数
* @param {string} params.keyword - 搜索关键字
* @returns {Promise<Array<{
* userId: number,
* name: string,
* mobile: string,
* idCard: string,
* gender: string,
* isEligible: boolean,
* ineligibilityReason: string
* }>>}
*/
export const usereventregistrationMembersSearchGet = (params) => {
return http.get('/usereventregistration/members/search', { params });
};
/**
* 3.2 分配队员接口 - 提交报名(含保存草稿)
* @param {Object} data - 报名信息
* @param {number} data.eventId - 赛事ID
* @param {Array<number>} data.projectIds - 选择的项目ID列表
* @param {Array<number>} data.memberIds - 选择的队员ID列表
* @param {boolean} data.isDraft - 是否为草稿 (true=保存草稿, false=提交)
* @returns {Promise<number>} - 返回报名记录ID
*/
export const usereventregistrationSubmitPost = (data) => {
return http.post('/usereventregistration/submit', data);
};
/**
* 3.3 预览支付接口
* @param {number} registrationid - 报名记录ID (路径参数)
* @returns {Promise<{
* eventId: number,
* eventName: string,
* projects: Array<{
* id: number,
* name: string,
* groupName: string,
* fee: number,
* limitCount: number,
* registeredCount: number,
* requirements: string,
* teamSize: number,
* completionCount: number
* }>,
* members: Array<{
* userId: number,
* name: string,
* mobile: string,
* idCard: string,
* gender: string,
* isEligible: boolean,
* ineligibilityReason: string
* }>,
* totalAmount: number,
* feeDetails: object
* }>}
*/
export const usereventregistrationPreviewGet = (registrationid) => {
return http.get(`/usereventregistration/preview/${registrationid}`);
};
/**
* 创建支付订单
* @param {Object} data - 订单信息
* @param {number} data.registrationId - 报名记录ID
* @param {number} data.paymentMethod - 支付方式 (1:微信支付, 2:支付宝支付, 3:银行转账)
* @returns {Promise<{
* orderNo: string,
* payUrl: string,
* status: number
* }>}
*/
export const usereventregistrationOrderCreatePost = (data) => {
return http.post('/usereventregistration/order/create', data);
};