package com.cool.store.service;

import com.cool.store.dto.pre.fry.ApplyManagementDTO;
import com.cool.store.entity.ImportTaskDO;
import com.cool.store.request.AllPointPageRequest;
import com.cool.store.request.FranchiseReportRequest;
import com.cool.store.request.order.PCStoreOrderQueryRequest;
import com.cool.store.request.tp.TpScoreJournalQueryRequest;
import com.cool.store.request.visit.VisitRecordQueryRequest;
import com.cool.store.request.PointPageRequest;
import com.cool.store.request.visit.VisitRecordQueryRequest;
import com.cool.store.response.BranchShopResponse;
import com.cool.store.response.FranchiseReportResponse;
import com.cool.store.response.ShopReportResponse;

import java.util.List;

/**
 *   @Author: WangShuo
 *   @Date: 2024/10/29/下午1:57
 *   @Version 1.0
 *   @注释:
 */
public interface ExportRealizeService {


    void branchShopList(List<BranchShopResponse> list,ImportTaskDO importTaskDO);

    void exportFinance(List<BranchShopResponse> list,ImportTaskDO importTaskDO);

    void exportJoinShop(List<BranchShopResponse> list,ImportTaskDO importTaskDO);

    void exportProgress(List<BranchShopResponse> list,ImportTaskDO importTaskDO);

    void exportZxjpOpenShopReport(List<FranchiseReportResponse> list, ImportTaskDO importTaskDO, FranchiseReportRequest request);

    void exportZxjpOpenShopReportPage(List<ShopReportResponse> list, ImportTaskDO importTaskDO, FranchiseReportRequest request);

    void exportPreFryQualificationApply(List<ApplyManagementDTO> list, ImportTaskDO importTaskDO);

    /**
     * 拜访记录导出
     */
    void exportVisitRecord(VisitRecordQueryRequest request, ImportTaskDO importTaskDO);

    void exportOrderRecord(PCStoreOrderQueryRequest request, ImportTaskDO importTaskDO);
    void exportPoint(AllPointPageRequest request, ImportTaskDO importTaskDO);
    void myExportPoint(PointPageRequest request, String userId, ImportTaskDO importTaskDO);

    /**
     * 导出订单设备明细
     * @param orderId 订单ID
     * @param importTaskDO 导出任务
     */
    void exportOrderDeviceDetail(Long orderId, ImportTaskDO importTaskDO);

    /**
     * 十二分制积分流水导出
     * @param request 查询Request
     * @param importTaskDO 导出任务
     */
    void exportTpScoreJournal(TpScoreJournalQueryRequest request, ImportTaskDO importTaskDO);
}
