231 lines
6.6 KiB
JavaScript
231 lines
6.6 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}`);
|
||
};
|
||
|
||
/**
|
||
* 7. 获取取消报名预览
|
||
* @param {number} registrationId - 报名记录ID (路径参数)
|
||
* @returns {Promise<{
|
||
* registrationId: number,
|
||
* eventName: string,
|
||
* teamName: string,
|
||
* chargeMode: number,
|
||
* chargeModeText: string,
|
||
* originalAmount: number,
|
||
* couponDiscountAmount: number,
|
||
* actualPaidAmount: number,
|
||
* daysBeforeMatch: number,
|
||
* refundRuleDescription: string,
|
||
* deductPercentage: number,
|
||
* deductAmount: number,
|
||
* estimatedRefundAmount: number,
|
||
* cancelableMembers: Array<{
|
||
* personId: number,
|
||
* name: string,
|
||
* canCancel: boolean,
|
||
* uncancelableReason: string,
|
||
* isLeader: boolean
|
||
* }>,
|
||
* isTeamProject: boolean,
|
||
* canPartialCancel: boolean,
|
||
* cancelReasons: Array<string>
|
||
* }>}
|
||
*/
|
||
export const usereventrecordCancelPreviewGet = (registrationId) => {
|
||
return http.get(`/usereventrecord/cancel/preview/${registrationId}`);
|
||
};
|
||
|
||
/**
|
||
* 8. 执行取消报名
|
||
* @param {Object} data - 取消报名数据
|
||
* @param {number} data.registrationId - 报名ID
|
||
* @param {number} data.cancelType - 取消类型:0-全队取消,1-部分取消
|
||
* @param {Array<number>} [data.personIds] - 取消的队员ID列表(部分取消时必填)
|
||
* @param {string} data.cancelReason - 取消原因
|
||
* @returns {Promise<{
|
||
* success: boolean,
|
||
* message: string,
|
||
* refundAmount: number,
|
||
* refundNo: string,
|
||
* cancelTime: string
|
||
* }>}
|
||
*/
|
||
export const usereventrecordCancelExecutePost = (data) => {
|
||
return http.post('/usereventrecord/cancel/execute', data);
|
||
}; |