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

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.bigbrother.vo.BigBrotherPageReqVO;
import cn.iocoder.yudao.module.tkdata.controller.admin.employeehosts.vo.EmployeeHostsPageReqVO;
import cn.iocoder.yudao.module.tkdata.dal.dataobject.bigbrother.BigBrotherDO;
import cn.iocoder.yudao.module.tkdata.dal.dataobject.employeehosts.EmployeeHostsDO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 大哥数据 Mapper
 *
 * @author 总后台
 */
@Mapper
public interface BigBrotherMapper extends BaseMapperX<BigBrotherDO> {

//    default PageResult<BigBrotherDO> selectPage(BigBrotherPageReqVO reqVO) {
//        return selectPage(reqVO, new LambdaQueryWrapperX<BigBrotherDO>()
//                .eqIfPresent(BigBrotherDO::getDisplayId, reqVO.getDisplayId())
//                .eqIfPresent(BigBrotherDO::getUserIdStr, reqVO.getUserIdStr())
//                .likeIfPresent(BigBrotherDO::getNickname, reqVO.getNickname())
//                .eqIfPresent(BigBrotherDO::getLevel, reqVO.getLevel())
//                .eqIfPresent(BigBrotherDO::getHostcoins, reqVO.getHostcoins())
//                .eqIfPresent(BigBrotherDO::getFollowerCount, reqVO.getFollowerCount())
//                .eqIfPresent(BigBrotherDO::getFollowingCount, reqVO.getFollowingCount())
//                .eqIfPresent(BigBrotherDO::getRegion, reqVO.getRegion())
//                .eqIfPresent(BigBrotherDO::getHistoricHighCoins, reqVO.getHistoricHighCoins())
//                .eqIfPresent(BigBrotherDO::getTotalGiftCoins, reqVO.getTotalGiftCoins())
//                .eqIfPresent(BigBrotherDO::getHostDisplayId, reqVO.getHostDisplayId())
//                .eqIfPresent(BigBrotherDO::getOwnerId, reqVO.getOwnerId())
//                .betweenIfPresent(BigBrotherDO::getCreateTime, reqVO.getCreateTime())
//                .orderByDesc(BigBrotherDO::getId));
//    }

    IPage<BigBrotherDO> selectPageWithXML(IPage<BigBrotherDO> page, @Param("dto")BigBrotherPageReqVO reqDTO);

}