package com.red.circle.other.infra.database.cache.service.user;


import com.red.circle.other.domain.model.user.UserProfile;
import com.red.circle.other.infra.database.rds.entity.user.user.BaseInfo;

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

/**
 * 用户资料缓存服务.
 *
 * @author pengliang on 2023/11/16
 */
public interface UserProfileCacheService {

  /**
   * 获取用户资料.
   */
  UserProfile getUserProfile(Long userId);

  /**
   * 获取一组用户资料.
   */
  List<UserProfile> listUserProfile(Set<Long> userIds);

  /**
   * 获取一组用户资料映射信息.
   */
  Map<Long, UserProfile> mapUserProfile(Set<Long> userIds);

  /**
   * 获取用户归属系统.
   */
  String getSysOrigin(Long userId);

  /**
   * 获取用户头像.
   */
  String getUserAvatar(Long userId);

  /**
   * 获取用户昵称.
   */
  String getUserNickname(Long userId);

  /**
   * 获取用户基本.
   */
  BaseInfo getBaseInfo(Long userId);

}
