package shop.alien.store.service;

import shop.alien.entity.result.R;
import shop.alien.entity.store.StoreDictionary;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * 意见反馈字典管理Service
 */
public interface DictOpinionFeedbackService {

    /**
     * 查询意见反馈字典（三级树形结构）
     * 如果传入dictDetail，则查询匹配的记录及其父级和子级树形结构
     * 如果不传dictDetail，则返回完整的字典库树形结构
     *
     * @param dictDetail 字典描述（可选），如果传入则根据此参数过滤
     * @return 字典树形结构列表
     */
    List<StoreDictionary> queryDictOpinionFeedbackTree(String dictDetail);

    /**
     * 新增意见反馈字典（支持一级、二级、三级）
     *
     * @param storeDictionary 字典信息
     * @return 新增结果
     */
    boolean addDictOpinionFeedback(StoreDictionary storeDictionary);

    /**
     * 修改意见反馈字典（支持一级、二级、三级）
     *
     * @param storeDictionary 字典信息
     * @return 修改结果
     */
    boolean updateDictOpinionFeedback(StoreDictionary storeDictionary);

    /**
     * 批量导入意见反馈字典
     *
     * @param file Excel文件
     * @return 导入结果
     */
    R<String> importDictOpinionFeedback(org.springframework.web.multipart.MultipartFile file);

    /**
     * 下载意见反馈字典导入模板
     *
     * @param response HTTP响应
     * @throws IOException IO异常
     */
    void downloadTemplate(HttpServletResponse response) throws IOException;
}


