package com.qmth.distributed.print.business.service;

import com.qmth.teachcloud.common.bean.params.UserPushParam;
import com.qmth.teachcloud.common.entity.SysUser;
import com.qmth.teachcloud.common.enums.RoleTypeEnum;

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

/**
 * @Description: 云阅卷用户推送服务接口
 * @Author: CaoZixuan
 * @Date: 2022-08-02
 */
public interface CloudUserPushService {

    /**
     * 推送云阅卷用户
     *
     * @param userId      用户id
     * @param requestUser 请求用户
     */
    void pushCloudUser(Long userId, SysUser requestUser) throws IllegalAccessException;

    /**
     * 推送云阅卷用户
     *
     * @param userIdList  用户id集合
     * @param requestUser 请求用户
     */
    void pushCloudUser(List<Long> userIdList, SysUser requestUser) throws IllegalAccessException;

    /**
     * 异步推送用户
     *
     * @param userPushMap 用户信息
     * @param requestUser 请求的用户
     */
    void asyncPushUser(Map<Long, List<UserPushParam>> userPushMap, SysUser requestUser) throws IllegalAccessException;
}
