package com.ruixuan.live.service;

import com.alibaba.fastjson.JSONObject;
import com.ruixuan.common.core.domain.ResultResponse;
import com.ruixuan.common.core.page.TableDataInfo;
import com.ruixuan.live.entity.KuaishouLiveUserAccount;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

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

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


    List<KuaishouLiveUserAccount> queryAllList(KuaishouLiveUserAccount kuaishouLiveUserAccount);
    /**
     * 新增快手直播账户
     *
     * @param kuaishouLiveUserAccount 快手直播账户
     * @return 结果
     */
    public ResultResponse insertKuaishouLiveUserAccount(KuaishouLiveUserAccount kuaishouLiveUserAccount);

    ResultResponse insertByExcel(MultipartFile file,Long createrId);
    /**
     * 修改快手直播账户
     *
     * @param kuaishouLiveUserAccount 快手直播账户
     * @return 结果
     */
    public ResultResponse updateKuaishouLiveUserAccount(KuaishouLiveUserAccount kuaishouLiveUserAccount);

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

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

    List<JSONObject> queryNicknameList();

    List<JSONObject> queryAccountListByKsId(Long ksId);

    ResultResponse queryRoles(String type);

    ResultResponse queryAccountAllUsers(Long ksId, Long accountId );

    ResultResponse deleteAccountAllUser(Long ksId, Long accountId, String role, Long userId);
}
