package jnpf.culture.service;

import com.github.pagehelper.PageInfo;
import jnpf.base.service.SuperService;
import jnpf.entity.culture.CultureTextSetting;
import jnpf.model.culture.dto.CultureTextSettingDto;
import jnpf.model.culture.dto.SettingQueryDto;
import jnpf.model.culture.vo.CultureTextSettingVo;
import jnpf.model.culture.vo.UploadInfoVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 文化打卡服务 - web
 *
 * @author yanwenfu
 * @create 2025-12-23
 */
public interface CultureTextSettingService extends SuperService<CultureTextSetting> {

    /**
     * 文字配置 - 列表(分页)
     * @param queryDto 查询条件
     * @return com.github.pagehelper.PageInfo<jnpf.model.culture.vo.CultureTextSettingVo>
     */
    PageInfo<CultureTextSettingVo> getCultureTextSettingList(SettingQueryDto queryDto);

    /**
     * 文字配置 - 新增
     * @param textSettingDto 文案设置dto
     */
    void addTextSetting(CultureTextSettingDto textSettingDto) throws Exception;

    /**
     * 文字配置 - 编辑
     * @param id 文案id
     * @param textSettingDto 文案设置dto
     */
    void updateTextSetting(String id, CultureTextSettingDto textSettingDto) throws Exception;

    /**
     * 文字配置 - 批量删除
     * @param ids 文案ids
     */
    void deleteTextSettingBatch(List<String> ids) throws Exception;

    /**
     * 文字配置 - 导入
     * @param file 文件
     * @throws Exception 导入异常
     * @return jnpf.model.culture.vo.UploadInfoVo
     */
    UploadInfoVo textSettingImport(MultipartFile file) throws Exception;

    /**
     * 查询文字配置数量
     * @return java.lang.Integer
     */
    Integer getCultureTextSettingCount();
}
