package com.openhis.web.nenu.appservice;

import javax.servlet.http.HttpServletResponse;

import org.springframework.web.multipart.MultipartFile;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.core.common.core.domain.R;
import com.openhis.web.nenu.dto.GfStudentListDto;

/**
 * 公费医疗-学生名单管理 AppService
 *
 * @author Thanking
 * @date 2025-10-21
 */
public interface IGfStudentListAppService {

    /**
     * 查询学生名单分页
     *
     * @param searchParam 查询参数
     * @param searchKey 模糊查询关键字
     * @param pageNo 页码
     * @param pageSize 行数
     * @return 学生名单分页
     */
    R<IPage<GfStudentListDto>> getPage(GfStudentListDto searchParam, String searchKey, Integer pageNo,
        Integer pageSize);

    /**
     * 查询学生名单详情
     *
     * @param id ID
     * @return 学生名单详情
     */
    R<GfStudentListDto> getDetail(Long id);

    /**
     * 添加学生名单
     * 
     * @param gfStudentListDto 学生名单Dto
     * @return 结果
     */
    R<?> add(GfStudentListDto gfStudentListDto);

    /**
     * 编辑学生名单
     *
     * @param gfStudentListDto 学生名单Dto
     * @return 结果
     */
    R<?> edit(GfStudentListDto gfStudentListDto);

    /**
     * 删除学生名单
     *
     * @param id ID
     * @return 结果
     */
    R<?> delete(Long id);

    /**
     * 导入学生名单
     *
     * @param file 文件
     * @return 结果
     */
    R<?> importData(MultipartFile file);

    /**
     * 获取导入模板
     *
     * @param response 响应
     */
    void importTemplate(HttpServletResponse response);
}
