package com.cool.store.service;

import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dto.pre.fry.ApplyManagementQueryDTO;
import com.cool.store.enums.FileTypeEnum;
import com.cool.store.request.*;
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.visit.VisitRecordQueryRequest;

/**
 * @Author: WangShuo
 * @Date: 2024/10/24/下午4:57
 * @Version 1.0
 * @注释:
 */
public interface ExportService {

     Long branchShopList(BranchShopRequest request,LoginUserInfo user);

     /**
      * @Auther: wangshuo
      * @Date: 2025/7/3
      * @description://进度管理页面通用导出入口
      *      //财务导出      //加盟开店申请      //进度确认
      */
     Long exportProgressBase(BranchShopRequest request, LoginUserInfo user, FileTypeEnum fileTypeEnum);

    /**
     * @Auther: wangshuo
     * @Date: 2025/7/3
     * @description: //正新鸡排加盟报表导出
     */
     Long exportZxjpOpenShopReport(FranchiseReportRequest request, LoginUserInfo user);
     /**
      * @Auther: wangshuo
      * @Date: 2025/7/3
      * @description:
     //正新鸡排门店维度加盟导出
      */
     Long exportZxjpOpenShopReportPage(FranchiseReportRequest request, LoginUserInfo user);
     /**
      * @Auther: wangshuo
      * @Date: 2025/7/3
      * @description:预炸资质申请管理
      */
     Long exportPreFryQualificationApply(ApplyManagementQueryDTO request, LoginUserInfo user);

     /**
      * 拜访记录导出
      * @param request 拜访记录查询Request
      * @param user 当前用户
      * @return 记录总数
      */
     Long exportVisitRecord(VisitRecordQueryRequest request, LoginUserInfo user);

    /**
     * 导出标准店订单记录
     * @param request
     * @param user
     * @return
     */
    Long exportStandardStoreOrderRecord(PCStoreOrderQueryRequest request, LoginUserInfo user);
     /**
      * 全部铺位导出
      * @param request 查询Request
      * @param user 当前用户
      * @return 记录总数
      */
     Long pointExport(AllPointPageRequest request, LoginUserInfo user);

     /**
      * 我的铺位导出
      * @param request 查询Request
      * @param user 当前用户
      * @return 记录总数
      */
     Long myPointExport(PointPageRequest request, LoginUserInfo user);

     /**
      * 订单设备明细导出
      * @param orderId 订单ID
      * @param user 当前用户
      * @return 记录总数
      */
     Long exportOrderDeviceDetail(Long orderId, LoginUserInfo user);

     /**
      * 十二分制积分流水导出
      * @param request 查询Request
      * @param user 当前用户
      * @return 记录总数
      */
     Long exportTpScoreJournal(TpScoreJournalQueryRequest request, LoginUserInfo user);
}
