package com.sonic.frog.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.sonic.frog.domain.entity.AiUserAlbum;
import com.sonic.frog.domain.entity.AiUserAlbumUnlock;
import com.sonic.frog.enums.LockStatusEnum;

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

/**
 * @Author zzhan
 * @Description 查询相册图片是否对访问用户解锁
 * @Date 2023/8/28 13:57
 * @Version 1.0
 */
public interface AiUserAlbumUnlockService extends IService<AiUserAlbumUnlock> {


    /**
     * 批量查询相册解锁
     *
     * @param currentUserId
     * @param aiUserAlbumList ai相册列表
     * @return
     */
    Map<Long, LockStatusEnum> queryAlbumUnlock(Long currentUserId, List<AiUserAlbum> aiUserAlbumList);

    /**
     * 校验相册是否解锁
     *
     * @param currentUserId
     * @param aiUserAlbum
     */
    void checkAlbumLockStatus(Long currentUserId, AiUserAlbum aiUserAlbum);

    /**
     * 查询当前用户解锁过哪些相册图片
     *
     * @param currentUserId
     * @return
     */
    List<Long> getUnlockAlbumIds(Long currentUserId);

    /**
     * 添加解锁记录
     *
     * @param currentUserId
     * @param albumId
     * @param orderNo
     */
    void addUnlockAlbumRecord(Long currentUserId, Long albumId, String orderNo);

    /**
     * 用户是否解锁该相册id
     *
     * @param currentUserId
     * @param albumId
     * @return
     */
    Boolean isUnlockAlbumId(Long currentUserId, Long albumId);
}
