package com.cool.store.service.closeup;

import com.cool.store.request.closeup.*;
import com.cool.store.response.AuditInfoResponse;
import com.cool.store.vo.closeup.CloseUpApplyFormSimpleVO;
import com.cool.store.vo.closeup.CloseUpApplyFormVO;
import com.cool.store.vo.closeup.CloseUpPlatformVO;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * <p>
 * 歇业管理
 * </p>
 *
 * @author wangff
 * @since 2026/4/8
 */
public interface CloseUpService {

    /**
     * 歇业申请
     */
    Boolean closeUpApply(CloseUpApplyRequest request);

    /**
     * 恢复营业申请
     */
    Boolean openApply(CloseUpOpenApplyRequest request);

    /**
     * 审批通过
     */
    Boolean auditPass(CloseUpAuditRequest request);

    /**
     * 审批拒绝
     */
    Boolean auditRejected(CloseUpAuditRequest request);

    /**
     * 小程序歇业申请单分页查询
     */
    PageInfo<CloseUpApplyFormSimpleVO> miniApplyFormList(CloseUpApplySimpleQueryRequest request);

    /**
     * 详情
     */
    CloseUpApplyFormVO getDetail(Long applyId);

    /**
     * 待办列表
     */
    PageInfo<CloseUpApplyFormSimpleVO> todoList(CloseUpTodoQueryRequest request);

    /**
     * 申请列表
     */
    PageInfo<CloseUpApplyFormSimpleVO> applyList(CloseUpQueryRequest request);

    /**
     * 根据申请单id查询歇业开业平台账号
     */
    List<CloseUpPlatformVO> getPlatformListByApplyId(Long applyId);

    /**
     * 查询审批记录
     */
    List<AuditInfoResponse> getAuditRecordList(Long applyId);

    /**
     * 平台待办列表
     */
    PageInfo<CloseUpApplyFormSimpleVO> getPlatformTodoList(CloseUpTodoQueryRequest request);

    /**
     * 门店状态变更
     * @param formId 申请单id
     */
    void storeStatusAndPlatformUpdate(Long formId);

    /**
     * 平台关闭开启处理
     */
    Boolean handlePlatform(CloseUpPlatformHandleRequest request);
}
