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

import com.seer.teach.common.PageListBean;
import com.seer.teach.mp.admin.controller.req.ActivityFormFieldQueryReq;
import com.seer.teach.mp.admin.controller.resp.AdminActivityFormFieldResp;

import java.util.List;

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

    /**
     * 分页查询活动表单字段
     *
     * @param query 查询参数
     * @return 分页结果
     */
    PageListBean<AdminActivityFormFieldResp> pageList(ActivityFormFieldQueryReq query);

    /**
     * 保存或更新活动表单字段
     *
     * @param request 请求参数
     * @return 操作结果
     */
    Boolean saveOrUpdate(ActivityFormFieldQueryReq request);

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

    /**
     * 根据ID获取活动表单字段
     *
     * @param id 字段ID
     * @return 字段信息
     */
    AdminActivityFormFieldResp getById(Integer id);

    /**
     * 根据模板ID获取字段列表
     *
     * @param templateId 模板ID
     * @return 字段列表
     */
    List<AdminActivityFormFieldResp> listByTemplateId(Integer templateId);
}