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

import com.seer.teach.common.PageListBean;
import com.seer.teach.mp.admin.controller.req.ActivityFormQueryReq;
import com.seer.teach.mp.admin.controller.req.ActivityFormReq;
import com.seer.teach.mp.admin.controller.resp.AdminActivityFormRelationResp;
import com.seer.teach.mp.admin.controller.resp.AdminActivityFormResp;

/**
 * <p>
 * 管理端活动表单模板服务类
 * </p>
 *
 * @author Lingma
 * @since 2026-01-10
 */
public interface IAdminActivityFormService {

    /**
     * 保存活动表单模板
     *
     * @param request 请求参数
     * @return 操作结果
     */
    Boolean save(ActivityFormReq request);

    /**
     * 删除活动表单模板
     *
     * @param id 模板ID
     * @return 操作结果
     */
    Boolean deleteById(Integer id);

    /**
     * 根据ID获取活动表单模板
     *
     * @param id 模板ID
     * @return 模板信息
     */
    AdminActivityFormResp getById(Integer id);

    /**
     * 更新活动表单模板
     *
     * @param request 模板信息
     * @return 操作结果
     */
    Boolean update(ActivityFormReq request);

    /**
     * 发布新版本
     *
     * @param req 请求参数
     * @return 操作结果
     */
    Boolean publishNewVersion(ActivityFormReq req);
}