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

import com.red.circle.other.infra.database.cache.entity.material.EmojiConfigCache;
import com.red.circle.other.infra.database.cache.entity.material.UserEmojiBackpackCache;
import java.util.List;

/**
 * <p>
 * 表情.
 * </p>
 *
 * @author pengshigang
 * @since 2021-08-25
 */
public interface EmojiCacheService {

  /**
   * 获取历史表情包.
   */
  List<EmojiConfigCache> listEmojiHistoryVersion(String sysOrigin);

  /**
   * 获取系统默认表情包.
   */
  List<EmojiConfigCache> listEmojiSystem(String sysOrigin);

  /**
   * 获取系统用户表情包.
   */
  UserEmojiBackpackCache getBySystemUserBag(String sysOrigin);

  /**
   * 获取平台所有的表情.
   */
  List<UserEmojiBackpackCache> listEmojiAll(String sysOrigin);

  /**
   * 用户表情背包.
   */
  List<UserEmojiBackpackCache> listEmojiBag(Long userId);

  /**
   * 用户表情背包id.
   */
  List<Long> listEmojiBagIds(Long userId);

  /**
   * 移除用户表情缓存.
   */
  void removeUserEmojiBackpack(Long userId);

  /**
   * 移除缓存.
   */
  void removeConfig();

}
