package com.yida.data.user.service;

import com.yida.data.common.core.entity.CurrentUser;
import com.yida.data.user.dto.*;
import org.ehcache.impl.internal.concurrent.ConcurrentHashMap;

import java.util.List;

/**
 * 学校智慧迎新学生信息导入service层
 *
 * @author ZYJ
 * @date 2021/8/23
 */
public interface ImportWelcomeStudentService {

    /**
     * 保存导入数据
     *
     * @param concurrentHashMap 需要保存的用户数据
     * @param errorMap          导入错误数据集合
     * @param schoolId          学校id
     * @param timestamp         时间戳
     * @author ZYJ
     * @date 2021/8/23 16:52
     */
    void saveExcelData(ConcurrentHashMap<Integer, WelcomeStudentImportDTO> concurrentHashMap,
                       ConcurrentHashMap<Integer, Object> errorMap,
                       Long schoolId,
                       long timestamp);

    /**
     * 保存一键邀请导入数据
     *
     * @param concurrentHashMap 需要保存的用户数据
     * @param errorList         导入错误数据集合
     * @param schoolId          学校id
     * @param uuid              当前导入数据唯一标识
     * @param currentUser       当前登录用户信息
     * @author ZYJ
     * @date 2021/8/24 17:33
     */
    void saveInviteExcelData(ConcurrentHashMap<Integer, WelcomeInviteImportDTO> concurrentHashMap,
                             List<StudentErrorExportDTO> errorList,
                             Long schoolId,
                             String uuid,
                             CurrentUser currentUser);

    /**
     * 保存校园卡号导入数据
     *
     * @param concurrentHashMap 需要保存的用户数据
     * @param errorList         导入错误数据集合
     * @param schoolId          学校id
     * @param currentUser       当前登录用户信息
     * @author ZYJ
     * @date 2023/2/19 14:45
     */
    void saveCardExcelData(ConcurrentHashMap<Integer, CardImportDTO> concurrentHashMap,
                           List<CardErrorExportDTO> errorList,
                           Long schoolId,
                           CurrentUser currentUser);
}
