51 lines
1.5 KiB
Java
51 lines
1.5 KiB
Java
package com.ai.da.service;
|
||
|
||
import com.ai.da.model.dto.ContestantDTO;
|
||
import com.ai.da.model.vo.CheckOTPVO;
|
||
import org.springframework.web.multipart.MultipartFile;
|
||
|
||
import java.util.Map;
|
||
|
||
public interface GlobalAwardService {
|
||
String uploadPdf(MultipartFile file, String email) throws Exception;
|
||
|
||
String uploadVideo(MultipartFile file, String email) throws Exception;
|
||
|
||
Map<String, Object> saveContestant(ContestantDTO request);
|
||
|
||
com.ai.da.model.dto.ContestantDTO getContestantByID(String email);
|
||
|
||
void checkEmail(String email);
|
||
|
||
CheckOTPVO checkCode(String email, String otp);
|
||
|
||
void checkSecurityToken(String email, String securityToken);
|
||
|
||
/**
|
||
* 导出参赛者列表为 Excel(二进制)
|
||
* @return Excel 文件的字节数组
|
||
*/
|
||
byte[] exportContestants() throws Exception;
|
||
|
||
/**
|
||
* 将参赛者列表导出并保存到服务端本地目录(使用服务配置的 uploadDir/exports)
|
||
*/
|
||
void saveContestantsToLocal() throws Exception;
|
||
|
||
/**
|
||
* 将参赛者文件打包为 ZIP 并返回字节数组(不落盘,直接响应给浏览器)
|
||
* @param minContestantNumber 最小参赛者编号
|
||
* @param maxContestantNumber 最大参赛者编号
|
||
* @return ZIP 文件的字节数组
|
||
*/
|
||
byte[] exportContestantFilesAsZip(Integer minContestantNumber, Integer maxContestantNumber) throws Exception;
|
||
|
||
/**
|
||
* 查询参赛者总数
|
||
* @return 参赛者数量
|
||
*/
|
||
long getContestantCount();
|
||
}
|
||
|
||
|