package com.zhentao.service;

import com.zhentao.common.PageResult;
import com.zhentao.vo.DynamicVO;

/**
 * 动态互动服务：点赞 / 收藏
 */
public interface InteractionService {

    /**
     * 点赞动态（同一用户同一内容仅一次，幂等）
     */
    void like(Integer userId, Integer dynamicId);

    /**
     * 取消点赞（幂等）
     */
    void unlike(Integer userId, Integer dynamicId);

    /**
     * 收藏动态（同一用户同一内容仅一次，幂等）
     */
    void favorite(Integer userId, Integer dynamicId);

    /**
     * 取消收藏（幂等）
     */
    void unfavorite(Integer userId, Integer dynamicId);

    /**
     * 查询用户收藏列表（按时间倒序）
     */
    PageResult<DynamicVO> listFavorites(Integer userId, Integer pageNum, Integer pageSize);

    /**
     * 查询用户点赞列表（按时间倒序）
     */
    PageResult<DynamicVO> listLikedDynamics(Integer userId, Integer pageNum, Integer pageSize);
}


