package com.seer.teach.mp.admin.service;

import com.seer.teach.common.PageListBean;
import com.seer.teach.mp.admin.controller.req.AgentActivityParticipantQueryReq;
import com.seer.teach.mp.admin.controller.req.AgentActivityParticipantReq;
import com.seer.teach.mp.admin.controller.resp.AdminAgentActivityParticipantResp;
import com.seer.teach.mp.entity.MpAgentActivityParticipantEntity;

import java.util.List;

/**
 * <p>
 * 代理商活动参与记录表 管理端服务类
 * </p>
 *
 * @author
 * @since 2025-12-30
 */
public interface IAdminAgentActivityParticipantService {

    /**
     * 分页查询代理商活动参与记录列表（管理端）
     *
     * @param query 查询条件
     * @return 代理商活动参与记录分页列表
     */
    PageListBean<AdminAgentActivityParticipantResp> pageList(AgentActivityParticipantQueryReq query);

    /**
     * 创建代理商活动参与记录（管理端）
     *
     * @param entity 参与记录实体
     * @return 操作是否成功
     */
    boolean saveParticipant(AgentActivityParticipantReq entity);

    /**
     * 更新代理商活动参与记录（管理端）
     *
     * @param entity 参与记录实体
     * @return 操作是否成功
     */
    boolean updateParticipant(MpAgentActivityParticipantEntity entity);

    /**
     * 根据ID获取代理商活动参与记录详情（管理端）
     *
     * @param id 参与记录ID
     * @return 参与记录详情
     */
    AdminAgentActivityParticipantResp getById(Integer id);

    /**
     * 根据ID删除代理商活动参与记录（管理端）
     *
     * @param ids 参与记录ID
     * @return 操作是否成功
     */
    Boolean deleteById(List<Integer> ids);
}