package org.lym.pom.service;

import org.lym.pom.repository.mongo.Attitude;

import java.util.Map;

/**
 * 赞/踩服务
 *
 * @author lym
 */
public interface AttitudeService {

    /**
     * 点赞 / 踩
     *
     * @param attitude 交互信息
     * @return 添加成功返回true，否则返回false
     */
    boolean addAttitude(Attitude attitude);

    /**
     * 取消喜欢/点赞
     *
     * @param attitude 交互信息
     */
    void removeAttitude(Attitude attitude);

    /**
     * 根据 id 查询单条关系是否存在
     * @param attitude （id）
     * @return 交互详情
     */
    Attitude queryAttitudeDetail(String relatedId, String relatedType, String userId);

    /**
     * 查询某个评论/动态的交互数目
     */
    Map<String, Integer> countAttitudeNumber(String relatedId, String relatedType);
}
