package com.qmth.teachcloud.common.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.teachcloud.common.bean.params.UserPushParam;
import com.qmth.teachcloud.common.entity.PushUserTrack;

import java.util.List;
import java.util.Set;

/**
 * <p>
 * 用户推送轨迹表 服务类
 * </p>
 *
 * @author wangliang
 * @since 2021-11-04
 */
public interface PushUserTrackService extends IService<PushUserTrack> {


    /**
     * 创建用户推送轨迹记录(用户前后角色对比创建)
     *
     * @param currentRoleIdSet 当前用户角色集合
     * @param userId           当前用户主键
     * @param enable           启用/禁用
     * @return 该用户推送轨迹记录集合（0条或2条）
     */
    List<PushUserTrack> createPushTrackUser(Set<Long> dbRoleIdSet, Set<Long> currentRoleIdSet, Long userId, boolean enable,Long requestUserId);


    /**
     * 根据用户推送轨迹记录解析用户推送数据
     *
     * @param pushUserTrackList 该用户推送轨迹记录集合（0条或2条）
     * @return 组装好的用户推送信息集合
     */
    List<UserPushParam> analyzeUserPushSpecialPrivilege(List<PushUserTrack> pushUserTrackList);
}
