package com.ssyf.module.robot.service;

import com.github.pagehelper.PageInfo;
import com.ssyf.module.robot.domain.entity.LiveRoomRelation;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ssyf.module.robot.domain.query.LiveRoomRelationQuery;

import java.util.List;

/**
* @author ELSA
* @description 针对表【live_room_relation(直播间关联数据表)】的数据库操作Service
* @createDate 2026-01-07 15:18:11
*/
public interface LiveRoomRelationService extends IService<LiveRoomRelation> {
    /**
     * 创建角色
     * @param query
     * @return
     */
    LiveRoomRelation addOne(LiveRoomRelationQuery query);

    /**
     * 删除指定角色
     * @param uid
     */
    void removeByUid(String uid);
    void removeBatchByUids(List<String> uids);
    /**
     * 更新指定角色
     * @param uid
     * @param query
     */
    void updateByUid(String uid, LiveRoomRelationQuery query);

    /**
     * 获取指定角色
     * @param uid
     * @return
     */
    LiveRoomRelation getOneByUid(String uid);

    /**
     * 分页获取数据
     * @param query
     * @return
     */
    PageInfo<LiveRoomRelation> getPage(LiveRoomRelationQuery query);

    /**
     * 获取数据
     * @param query
     * @return
     */
    List<LiveRoomRelation> getList(LiveRoomRelationQuery query);

    LiveRoomRelation checkedExistAndGet(String uid);

    /**
     * 总数统计
     * @param query
     * @return
     */
    Integer countBy(LiveRoomRelationQuery query);
    
    /**
     * 批量新增数据
     * @param queries 批量数据列表
     * @return 新增成功的实体列表
     */
    List<LiveRoomRelation> addBatch(List<LiveRoomRelationQuery> queries);


    List<LiveRoomRelation> getListByRelationCode(String relationCode ,String relationType);

}
