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

179 lines
5.0 KiB
JavaScript
Raw Normal View History

2026-03-23 18:01:01 +08:00
import { http } from '../../utils/request';
// ==================== 用户端参赛记录管理 ====================
/**
* 1. 列表查询
* @param {Object} params - 查询参数
* @param {number} [params.EventId] - 赛事ID (可选)
* @param {string} [params.Status] - 状态 (可选)
* @param {string} [params.Keyword] - 关键字搜索 (队伍名/赛事名)
* @param {number} [params.PageNo] - 当前页码
* @param {number} [params.PageSize] - 每页条数
* @returns {Promise<{
* pageNo: number,
* pageSize: number,
* pages: number,
* total: number,
* rows: Array<{
* registrationId: number,
* eventName: string,
* teamName: string,
* status: string,
* createTime: string,
* updateTime: string,
* payStatus: string,
* certStatus: string,
* hasMaterial: boolean,
* hasVoucher: boolean,
* memberCount: number,
* maxMember: number,
* expireTime: string
* }>
* }>}
*/
export const usereventrecordListGet = (params) => {
return http.get('/usereventrecord/list', { params });
};
/**
* 2. 取消报名
* @param {number} registrationid - 报名记录ID (路径参数)
* @returns {Promise<{
* code: number,
* message: string,
* data: boolean,
* success: boolean
* }>}
*/
export const usereventrecordCancelPost = (registrationid) => {
return http.post(`/usereventrecord/cancel/${registrationid}`);
};
/**
* 3. 上传素材
* @param {number} registrationid - 报名记录ID (路径参数)
* @param {Object} data - 素材表单数据
* @param {Array<File>} data.Files - 文件列表 (最多5个)
* @param {string} data.MaterialType - 素材类型 (图片/视频/其他)
* @param {string} [data.Description] - 描述 (可选)
* @returns {Promise<{
* code: number,
* message: string,
* data: Array<{
* materialId: string,
* ossUrl: string,
* fileName: string,
* fileSize: number,
* uploadTime: string
* }>,
* success: boolean
* }>}
*/
export const usereventrecordMaterialPost = (registrationid, data) => {
const formData = new FormData();
// 添加文件数组
if (data.Files && data.Files.length) {
data.Files.forEach(file => {
formData.append('Files', file);
});
}
// 添加其他字段
formData.append('MaterialType', data.MaterialType);
if (data.Description) formData.append('Description', data.Description);
return http.post(`/usereventrecord/material/${registrationid}`, formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
/**
* 4. 上传付款凭证
* @param {number} registrationid - 报名记录ID (路径参数)
* @param {Object} data - 凭证表单数据
* @param {File} data.File - 凭证图片 (单张)
* @param {number} data.PayAmount - 支付金额
* @param {string} data.PayTime - 支付时间 (ISO格式)
* @param {string} data.PayChannel - 支付渠道 (微信/支付宝/银行转账)
* @param {string} [data.TransactionId] - 交易流水号 (可选)
* @returns {Promise<{
* code: number,
* message: string,
* data: {
* voucherId: string,
* ossUrl: string,
* auditStatus: string
* },
* success: boolean
* }>}
*/
export const usereventrecordVoucherPost = (registrationid, data) => {
const formData = new FormData();
formData.append('File', data.File);
formData.append('PayAmount', data.PayAmount);
formData.append('PayTime', data.PayTime);
formData.append('PayChannel', data.PayChannel);
if (data.TransactionId) formData.append('TransactionId', data.TransactionId);
return http.post(`/usereventrecord/voucher/${registrationid}`, formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
/**
* 5.1 查看队员列表
* @param {number} registrationid - 报名记录ID (路径参数)
* @returns {Promise<Array<{
* userId: number,
* realName: string,
* phone: string,
* email: string,
* role: string,
* inviteStatus: string,
* joinTime: string
* }>>}
*/
export const usereventrecordMembersGet = (registrationid) => {
return http.get(`/usereventrecord/members/${registrationid}`);
};
/**
* 5.2 更换队员
* @param {number} registrationid - 报名记录ID (路径参数)
* @param {number} userid - 被替换的队员ID (路径参数)
* @param {Object} data - 更换信息
* @param {number} data.newUserId - 新队员用户ID
* @param {string} [data.replaceReason] - 更换原因 (可选)
* @returns {Promise<{
* code: number,
* message: string,
* data: boolean,
* success: boolean
* }>}
*/
export const usereventrecordMembersReplacePost = (registrationid, userid, data) => {
return http.post(`/usereventrecord/members/replace/${registrationid}/${userid}`, data);
};
/**
* 6. 查看证书
* @param {number} registrationid - 报名记录ID (路径参数)
* @returns {Promise<{
* code: number,
* message: string,
* data: {
* certUrl: string,
* certNumber: string,
* issueTime: string,
* expireTime: string
* },
* success: boolean
* }>}
*/
export const usereventrecordCertificateGet = (registrationid) => {
return http.get(`/usereventrecord/certificate/${registrationid}`);
};