package jnpf.cultivate.service;

import jnpf.base.service.SuperService;
import jnpf.model.cultivate.dto.gained.FtbLikePagination;
import jnpf.model.cultivate.po.gained.FtbCourseGainedLikeEntity;

import java.util.List;

/**
 *
 * 心得点赞 服务类
 *
 */
public interface FtbCourseGainedLikeService extends SuperService<FtbCourseGainedLikeEntity> {
        /**
         * 列表查询
         * @param pagination 列表参数
         * @return 分页结果
         */
        List<FtbCourseGainedLikeEntity> getList(FtbLikePagination pagination);

        /**
         * 详情
         * @param id id
         * @return 结果
         */
        FtbCourseGainedLikeEntity getInfo(String id);

        /**
         * 新增
         * @param entity 实体
         */
        void create(FtbCourseGainedLikeEntity entity);

        /**
         * 更新
         * @param id 主键
         * @param entity 实体
         */
        void update(String id, FtbCourseGainedLikeEntity entity);

        /**
         * 删除
         * @param entity 实体
         */
        void delete(FtbCourseGainedLikeEntity entity);
        /**
         * 根据获得点赞的实体对象获取当前用户点赞信息
         *
         * @param gainedLikeEntity 获得点赞的实体对象，包含获得点赞的相关信息
         * @return 返回当前用户点赞信息，如果找不到则返回null
         */
        Integer getMyLike(FtbCourseGainedLikeEntity gainedLikeEntity);

        /**
         * 根据获得点赞的ID和点赞用户的ID删除点赞记录
         *
         * @param gainedId 获得点赞的ID
         * @param likeUserId 点赞用户的ID
         */
        void deleteLikeByGainedId(String gainedId, String likeUserId);
}