package com.starry.admin.modules.clerk.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.starry.admin.modules.clerk.module.entity.PlayCustomArticleInfoEntity;

/**
 * 陪聊点赞动态信息Service接口
 *
 * @author admin
 * @since 2024-05-04
 */
public interface IPlayCustomArticleInfoService extends IService<PlayCustomArticleInfoEntity> {

    /**
     * 查询顾客操作动态数据
     *
     * @param articleId
     *            动态ID
     * @param customId
     *            客户ID
     * @param endorseType
     *            操作类型(1:点赞;0:收藏)
     * @return PlayCustomArticleInfoEntity
     */
    PlayCustomArticleInfoEntity selectByArticleId(String articleId, String customId, String endorseType);

    /**
     * 查询陪聊点赞动态信息
     *
     * @param id
     *            陪聊点赞动态信息主键
     * @return 陪聊点赞动态信息
     */
    PlayCustomArticleInfoEntity selectPlayCustomArticleInfoById(String id);

    /**
     * 查询陪聊点赞动态信息列表
     *
     * @param playCustomArticleInfo
     *            陪聊点赞动态信息
     * @return 陪聊点赞动态信息集合
     */
    IPage<PlayCustomArticleInfoEntity> selectPlayCustomArticleInfoByPage(
            PlayCustomArticleInfoEntity playCustomArticleInfo);

    /**
     * 新增陪聊点赞动态信息
     *
     * @param playCustomArticleInfo
     *            陪聊点赞动态信息
     * @return 结果
     */
    boolean create(PlayCustomArticleInfoEntity playCustomArticleInfo);

    /**
     * 修改陪聊点赞动态信息
     *
     * @param playCustomArticleInfo
     *            陪聊点赞动态信息
     * @return 结果
     */
    boolean update(PlayCustomArticleInfoEntity playCustomArticleInfo);

    /**
     * 批量删除陪聊点赞动态信息
     *
     * @param ids
     *            需要删除的陪聊点赞动态信息主键集合
     * @return 结果
     */
    int deletePlayCustomArticleInfoByIds(String[] ids);

    /**
     * 删除陪聊点赞动态信息信息
     *
     * @param id
     *            陪聊点赞动态信息主键
     * @return 结果
     */
    int deletePlayCustomArticleInfoById(String id);

    /**
     * 根据动态ID删除点赞信息
     *
     * @param articleId
     *            动态ID
     */
    void deleteByArticleId(String articleId);
}
