package cn.iocoder.yudao.module.tkdata.dal.mysql.employeehosts;

import java.util.*;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.tkdata.controller.admin.newhosts.vo.NewHostsPageReqVO;
import cn.iocoder.yudao.module.tkdata.dal.dataobject.employeehosts.EmployeeHostsDO;
import cn.iocoder.yudao.module.tkdata.dal.dataobject.newhosts.NewHostsDO;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.tkdata.controller.admin.employeehosts.vo.*;
import org.apache.ibatis.annotations.Param;

/**
 * 员工分配主播表，结构和主播表相同，多了user_id 字段来区分所属员工 Mapper
 *
 * @author 芋道源码
 */
@Mapper
public interface EmployeeHostsMapper extends BaseMapperX<EmployeeHostsDO> {

    int insertIgnore(EmployeeHostsDO bean);

    int batchInsertIgnore(List<EmployeeHostsDO> list);

    IPage<EmployeeHostsDO> selectPageWithXMLWithSelf(IPage<EmployeeHostsDO> page, @Param("req") EmployeeHostsPageReqVO reqVO);

    IPage<EmployeeHostsDO> selectPageWithXML(IPage<EmployeeHostsDO> page, @Param("req") EmployeeHostsPageReqVO reqVO);

    void batchUpdate(ArrayList<EmployeeHostsDO> employeeHostsDOS);

    CompletedRateVO selectEmployeeHostsWithOperationStatus(@Param("userId") Long userId);

    List<CompletedRateVO> selectEmployeeHostsCompleteBarChart(@Param("list") List<Long> list, @Param("days") Integer days);
}