package com.ruixuan.live.mapper;

import com.alibaba.fastjson.JSONObject;
import com.ruixuan.live.entity.KuaishouLiveUserAccount;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 快手直播账户Mapper接口
 *
 * @author ruoyi
 * @date 2022-05-31
 */
public interface KuaishouLiveUserAccountMapper {
    /**
     * 查询快手直播账户
     *
     * @param id 快手直播账户主键
     * @return 快手直播账户
     */
    KuaishouLiveUserAccount selectKuaishouLiveUserAccountById(String id);

    /**
     * 查询快手直播账户列表
     *
     * @param kuaishouLiveUserAccount 快手直播账户
     * @return 快手直播账户集合
     */
    List<KuaishouLiveUserAccount> selectKuaishouLiveUserAccountList(KuaishouLiveUserAccount kuaishouLiveUserAccount);

    /**
     * 新增快手直播账户
     *
     * @param kuaishouLiveUserAccount 快手直播账户
     * @return 结果
     */
    int insertKuaishouLiveUserAccount(KuaishouLiveUserAccount kuaishouLiveUserAccount);

    /**
     * 修改快手直播账户
     *
     * @param kuaishouLiveUserAccount 快手直播账户
     * @return 结果
     */
    int updateKuaishouLiveUserAccount(KuaishouLiveUserAccount kuaishouLiveUserAccount);

    /**
     * 删除快手直播账户
     *
     * @param id 快手直播账户主键
     * @return 结果
     */
    int deleteKuaishouLiveUserAccountById(String id);

    /**
     * 批量删除快手直播账户
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteKuaishouLiveUserAccountByIds(String[] ids);

    List<JSONObject> queryNicknameList();

    List<JSONObject> queryAccountListByKsId(Long ksId);

    KuaishouLiveUserAccount getOne(KuaishouLiveUserAccount account);

    void replaceBatch(@Param(value = "accountList")  List<KuaishouLiveUserAccount> accountList);

    List<KuaishouLiveUserAccount> queryAllList(KuaishouLiveUserAccount kuaishouLiveUserAccount);

    List<Long> queryAccountIdsByUserId(@Param("userId") Long userId);

    List<KuaishouLiveUserAccount> queryAllListByAccountIds(KuaishouLiveUserAccount kuaishouLiveUserAccount);

    List<KuaishouLiveUserAccount> selectAllListByAccountIds(KuaishouLiveUserAccount kuaishouLiveUserAccount);

}
