package com.cool.store.service;

import com.cool.store.context.LoginUserInfo;
import com.cool.store.dto.BatchStatusRefreshDTO;
import com.cool.store.entity.ImportTaskDO;

import java.util.List;
import java.util.Map;

/**
 * @Author: WangShuo
 * @Date: 2025/05/09/10:12
 * @Version 1.0
 * @注释:
 */
public interface DataHandlerServer {

    /**
     * @Auther: wangshuo
     * @Date: 2025/5/9
     * @description: 导入OA旧数据
     */
    Boolean importOaOldShopData(List<Map<String, Object>> dataMapList, String originalFilename, LoginUserInfo user,
                                ImportTaskDO task);

    /**
     * @Auther: wangshuo
     * @Date: 2025/6/9
     * @description:    //数据处理阶段完成 某些阶段数据处理
     */
    Boolean dataStageHandler(List<Map<String, Object>> dataMapList, String originalFilename, LoginUserInfo user, ImportTaskDO task, Boolean flag);

    /**
     * @Auther: wangshuo
     * @Date: 2025/6/9
     * @description:    //装修数据初始化
     */
    Boolean decorationDataInit();

    /**
     * @Auther: wangshuo
     * @Date: 2025/6/9
     * @description: //处理2024年10-12月数据
     */
    Boolean dataHandlerV20241012(List<Map<String, Object>> dataMapList, String originalFilename, LoginUserInfo user,
                                 ImportTaskDO task);

    Integer JingDongStageHandler();

    /**
     * @Auther: wangshuo
     * @Date: 2025/6/9
     *     //处理测量 设计 施工 验收 完成
     */
    Boolean dataHandlerV2025029(List<Map<String, Object>> dataMapList, String originalFilename, LoginUserInfo user,
                                ImportTaskDO task);

    /**
     * @Auther: wangshuo
     * @Date: 2025/6/9
     * @description: //处理加盟费阶段
     */
    Boolean franchiseFeeStageDateHandler();

    /**
     * @Auther: wangshuo
     * @Date: 2025/6/9
     * @description:处理加盟费缴费信息历史数据
     */
    Boolean franchiseFeeDateHandler(Integer pageSize, Integer pageNum);

    /**
     * @Auther: wangshuo
     * @Date: 2025/5/23
     * @description:不是对外回调接口，针对于已经在oa走完数据的，我们手动调用接口批量修改数据！！！只做云流水别的别用！！！
     */
    Boolean batchStatusRefreshYls(BatchStatusRefreshDTO batchStatusRefreshDTO);

    /**
     * @Auther: wangshuo
     * @Date: 2025/7/11
     * @description:处理老数据 已经建店并且在标品中也建店的数据 处理所属管理区域
     */
    void dataHandlerCreateStore();

    /**
     * @Auther: wangshuo
     * @Date: 2025/8/6
     * @description: 处理数据推送红圈通建店
     */
    void dataHandlerPushHqt();

}
