package com.mcwl.communityCenter.mapper;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mcwl.communityCenter.domain.PublishCommentLike;
import com.mcwl.communityCenter.domain.dto.CommentLikeDetailRes;
import com.mcwl.communityCenter.domain.dto.PublishCommentLikeRes;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import javax.validation.constraints.NotNull;

/**
 * @Author：ChenYan
 * @Project：mcwl-ai
 * @Package：com.mcwl.communityCenter.mapper
 * @Filename：PublishCommissionLikeMapper
 * @Description TODO
 * @Date：2025/1/17 14:26
 */
@Mapper
public interface PublishCommentLikeMapper extends BaseMapper<PublishCommentLike> {

    @InterceptorIgnore(tenantLine = "true")
    PublishCommentLike selectByTenantIdAndCommunityIdAndCommentId(@Param("tenantId") Long tenantId,
                                                                  @Param("communityId") Long communityId,
                                                                  @Param("commentId") Long commentId);

    @InterceptorIgnore(tenantLine = "true")
    void updateDelFlagById(@Param("publishCommentLike") PublishCommentLike publishCommentLike);

    @InterceptorIgnore(tenantLine = "true")
    PublishCommentLike selectLike(@Param("publishCommentLikeRes") PublishCommentLikeRes publishCommentLikeRes,
                                  @Param("userId") Long userId);

    @InterceptorIgnore(tenantLine = "true")
    PublishCommentLike publishCommentLike(@Param("commentLikeDetailRes") CommentLikeDetailRes commentLikeDetailRes,
                                          @Param("userId") Long userId);
}
