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.PlayClerkArticleInfoEntity;
import com.starry.admin.modules.clerk.module.vo.PlayClerkArticleQueryVo;
import com.starry.admin.modules.clerk.module.vo.PlayClerkArticleReturnVo;
import com.starry.admin.modules.weichat.entity.article.PlayClerkArticleCustomQueryVo;
import com.starry.admin.modules.weichat.entity.article.PlayClerkArticleCustomReturnVo;

/**
 * 店员动态信息Service接口
 *
 * @author admin
 * @since 2024-05-04
 */
public interface IPlayClerkArticleInfoService extends IService<PlayClerkArticleInfoEntity> {
    /**
     * 查询店员动态信息
     *
     * @param id
     *            店员动态信息主键
     * @return 店员动态信息
     */
    PlayClerkArticleInfoEntity selectPlayClerkArticleInfoById(String id);

    /**
     * 查询店员动态信息列表
     *
     * @param vo
     *            店员动态信息查询对象
     * @param searchByYourself
     *            查询人是否是自己
     *
     * @return 店员动态信息集合
     */
    IPage<PlayClerkArticleReturnVo> selectByPage(PlayClerkArticleQueryVo vo, boolean searchByYourself);

    /**
     * 顾客查询动态列表
     *
     * @param customId
     *            顾客ID
     * @param customId
     *            动态查询对象
     * @return PlayClerkArticleCustomReturnVo
     */
    IPage<PlayClerkArticleCustomReturnVo> customSelectByPage(PlayClerkArticleCustomQueryVo vo, String customId);

    /**
     * 新增店员动态信息
     *
     * @param playClerkArticleInfo
     *            店员动态信息
     * @return 结果
     */
    boolean create(PlayClerkArticleInfoEntity playClerkArticleInfo);

    /**
     * 修改店员动态信息
     *
     * @param playClerkArticleInfo
     *            店员动态信息
     * @return 结果
     */
    boolean update(PlayClerkArticleInfoEntity playClerkArticleInfo);

    /**
     * 批量删除店员动态信息
     *
     * @param ids
     *            需要删除的店员动态信息主键集合
     * @return 结果
     */
    int deletePlayClerkArticleInfoByIds(String[] ids);

    /**
     * 删除店员动态信息信息
     *
     * @param id
     *            店员动态信息主键
     * @return 结果
     */
    int deletePlayClerkArticleInfoById(String id);
}
