package com.cool.store.service.close;

import com.cool.store.request.close.file.*;
import com.cool.store.vo.close.file.CloseStoreFileDetailMiniVO;
import com.cool.store.vo.close.file.CloseStoreFileDetailVO;

/**
 * <p>
 * 闭店资料 服务类
 * </p>
 *
 * @author wangff
 * @since 2025/10/7
 */
public interface CloseStoreFileService {

    /**
     * 更新材料邮寄地址
     * @param request 闭店资料邮寄地址信息Request
     * @return 是否成功
     */
    Boolean updateMailAddress(CloseStoreMailAddressRequest request);

    /**
     * 提交材料审批
     * @param request 闭店材料审批Request
     * @return 是否成功
     */
    Boolean submitFileApprove(CloseStoreFileApproveRequest request);

    /**
     * 单个材料提交审批
     * @param request 闭店材料信息Request
     * @return 是否成功
     */
    Boolean submitFileApproveSingle(CloseStoreFileInfoRequest request);

    /**
     * 查询闭店资料详情
     * @param closeStoreId 闭店申请id
     * @return 闭店资料详情VO
     */
    CloseStoreFileDetailVO getFileDetail(Long closeStoreId);

    /**
     * 查询小程序闭店资料详情
     * @param closeStoreId 闭店申请id
     * @return 小程序闭店资料详情VO
     */
    CloseStoreFileDetailMiniVO getMiniFileDetail(Long closeStoreId);

    /**
     * 提交材料
     * @param request 闭店资料邮寄信息Request
     * @return 是否成功
     */
    Boolean submitFile(CloseStoreMailInfoRequest request);

    /**
     * 修改材料
     * @param request 闭店材料提交Request
     * @return 是否成功
     */
    Boolean updateFile(CloseStoreFileSubmitRequest request);

    /**
     * 督导审批
     * @param request 审批Request
     * @return 是否成功
     */
    Boolean supervisionAudit(CloseStoreFileAuditRequest request);
}
