179 lines
5.0 KiB
JavaScript
179 lines
5.0 KiB
JavaScript
|
|
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}`);
|
||
|
|
};
|