package com.emotion.service; import com.baomidou.mybatisplus.extension.service.IService; import com.emotion.common.PageResult; import com.emotion.dto.response.EventFavoriteResponse; import com.emotion.dto.response.LifeEventResponse; import com.emotion.entity.EventFavorite; import java.util.Set; /** * 人生事件收藏服务接口 * * @author huazhongmin * @date 2026-07-19 */ public interface EventFavoriteService extends IService { /** * 切换收藏状态(收藏/取消收藏) * * @param eventId 事件ID * @return 收藏状态响应 */ EventFavoriteResponse toggleFavorite(String eventId); /** * 分页查询当前用户收藏的事件列表 * * @param current 当前页码 * @param size 每页大小 * @return 分页结果 */ PageResult getFavoritePage(long current, long size); /** * 批量查询已收藏的事件ID集合 * * @param eventIds 待查询的事件ID集合 * @return 已收藏的事件ID集合 */ Set getFavoritedEventIds(Set eventIds); /** * 检查收藏状态 * * @param eventId 事件ID * @return 收藏状态响应 */ EventFavoriteResponse checkFavorite(String eventId); /** * 检查指定事件是否已被当前用户收藏 * * @param eventId 事件ID * @return 是否已收藏 */ boolean isFavorited(String eventId); /** * 获取当前用户的收藏总数 * * @return 收藏总数 */ long getFavoriteCount(); }