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

import com.seer.teach.common.PageListBean;
import com.seer.teach.mp.admin.controller.req.MpActivityQueryReq;
import com.seer.teach.mp.admin.controller.req.MpActivityReq;
import com.seer.teach.mp.admin.controller.resp.AdminActivityResp;

/**
 * <p>
 * 管理端代理商活动服务类
 * </p>
 *
 * @author Lingma
 * @since 2025-12-30
 */
public interface IAdminActivityService {

    /**
     * 分页查询代理商活动列表（管理端）
     *
     * @param query 查询条件
     * @return 代理商活动分页列表
     */
    PageListBean<AdminActivityResp> pageList(MpActivityQueryReq query);

    /**
     * 创建或更新代理商活动（管理端）
     *
     * @param request 活动请求对象
     * @return 操作是否成功
     */
    boolean saveOrUpdateActivity(MpActivityReq request);

    /**
     * 删除代理商活动（管理端）
     *
     * @param id 活动ID
     * @return 操作是否成功
     */
    boolean deleteActivity(Integer id);

    /**
     * 根据ID获取活动详情（管理端）
     *
     * @param id 活动ID
     * @return 活动详情
     */
    AdminActivityResp getById(Integer id);
}