package com.dsh.competition.service;
import com.alipay.api.AlipayApiException;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.mb.cloud.common.core.exception.BusinessException;
import com.dsh.competition.entity.Competition;
import com.dsh.competition.model.CompetitionInfo;
import com.dsh.competition.model.CompetitionListVo;
import com.dsh.competition.model.PaymentCompetitionVo;
import com.dsh.competition.util.ResultUtil;
import java.util.List;
/**
*
* 服务类
*
*
* @author jqs
* @since 2023-06-26
*/
public interface CompetitionService extends IService {
/**
* 修改活动并校验已报名数据的完整性。
*
* @param competition 管理端提交的活动信息
* @throws cn.mb.cloud.common.core.exception.BusinessException 活动不存在或编辑数据不合法时抛出
*/
void updateCompetition(Competition competition) throws BusinessException;
/**
* 获取赛事列表
*
* @param content
* @param registerCondition
* @param heat
* @return
*/
List queryCompetitionList(String cityCode, String content, Integer registerCondition, String heat) throws Exception;
/**
* 获取赛事详情
*
* @param uid
* @param id
* @return
*/
CompetitionInfo queryCompetitionInfo(Integer uid, Integer id, String lon, String lat) throws Exception;
/**
* 赛事报名
*
* @param uid
* @param paymentCompetitionVo
* @return
* @throws Exception
*/
ResultUtil paymentCompetition(Integer uid, PaymentCompetitionVo paymentCompetitionVo) throws Exception;
/**
* 定时任务修改赛事状态
*/
void taskSetStatus();
/**
* 赛事可用课包
*
* @param uid
* @param id
* @return
*/
ResultUtil paymentCompetitionCourseList(Integer uid, Integer id);
void moneyOut() throws AlipayApiException;
}