package com.ruoyi.hezhi.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.hezhi.domain.TbConferenceRegistration;
import com.ruoyi.hezhi.domain.dto.ConferenceRegistrationDTO;

import java.util.List;
import java.util.Map;

/**
 * 参会报名Service接口
 *
 * @author ruoyi
 * @date 2024-10-28
 */
public interface ITbConferenceRegistrationService
{
    /**
     * 查询参会报名
     *
     * @param conferenceRegistrationId 参会报名主键
     * @return 参会报名
     */
    public TbConferenceRegistration selectTbConferenceRegistrationByConferenceRegistrationId(Long conferenceRegistrationId);

    /**
     * 查询参会报名列表
     *
     * @param tbConferenceRegistration 参会报名
     * @return 参会报名集合
     */
    public List<TbConferenceRegistration> selectTbConferenceRegistrationList(TbConferenceRegistration tbConferenceRegistration);

    /**
     * 新增参会报名
     *
     * @param tbConferenceRegistration 参会报名
     * @return 结果
     */
    public int insertTbConferenceRegistration(TbConferenceRegistration tbConferenceRegistration);

    /**
     * 修改参会报名
     *
     * @param tbConferenceRegistration 参会报名
     * @return 结果
     */
    public int updateTbConferenceRegistration(TbConferenceRegistration tbConferenceRegistration);

    /**
     * 批量删除参会报名
     *
     * @param conferenceRegistrationIds 需要删除的参会报名主键集合
     * @return 结果
     */
    public int deleteTbConferenceRegistrationByConferenceRegistrationIds(Long[] conferenceRegistrationIds);

    /**
     * 删除参会报名信息
     *
     * @param conferenceRegistrationId 参会报名主键
     * @return 结果
     */
    public int deleteTbConferenceRegistrationByConferenceRegistrationId(Long conferenceRegistrationId);

    /**
     * 参会报名
     *
     * @param conferenceRegistrationDTO
     * @return ok
     */
    public AjaxResult conferenceRegistration(ConferenceRegistrationDTO conferenceRegistrationDTO);

    /**
     * 参会报名详情
     *
     * @param params 参数
     * @return 参会报名详情
     */
    public Map<String, Object> getConferenceRegistrationInfo(Map<String, Object> params);
}
