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

import com.seer.teach.common.PageListBean;
import com.seer.teach.mp.admin.controller.req.ActivityFormVariableQueryReq;
import com.seer.teach.mp.admin.controller.resp.AdminActivityFormVariableResp;

import java.util.List;

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

    /**
     * 分页查询活动表单变量
     *
     * @param query 查询参数
     * @return 分页结果
     */
    PageListBean<AdminActivityFormVariableResp> pageList(ActivityFormVariableQueryReq query);

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

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

    /**
     * 根据ID获取活动表单变量
     *
     * @param id 变量ID
     * @return 变量信息
     */
    AdminActivityFormVariableResp getById(Integer id);

    /**
     * 根据执行实例ID获取变量列表
     *
     * @param executionId 执行实例ID
     * @return 变量列表
     */
    List<AdminActivityFormVariableResp> listByExecutionId(Integer executionId);
}