package net.ferrum.business.mapper;

import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.ferrum.business.domain.QsSupplier;
import net.ferrum.business.domain.QsUserSupplier;
import net.ferrum.business.domain.bo.QsSupplierBo;
import net.ferrum.business.domain.vo.QsSupplierVo;
import net.ferrum.business.domain.vo.QsUserSupplierVo;
import net.ferrum.common.core.domain.entity.SysUser;
import net.ferrum.common.core.mapper.BaseMapperPlus;
import net.ferrum.common.core.page.TableDataInfo;
import net.ferrum.common.utils.BeanCopyUtils;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * userSupplierMapper接口
 *
 * @author tzx
 * @date 2025-07-13
 */

public interface QsUserSupplierMapper extends BaseMapperPlus<QsUserSupplierMapper, QsUserSupplier, QsUserSupplierVo> {

    Page<QsSupplierVo> selectSuppliersByUsersPages(@Param("page") Page<QsSupplierVo> page,@Param("bo")QsSupplierBo bo);
    //Page<QsSupplierVo> selectSuppliersByUsersPages(@Param("page") Page<QsSupplierVo> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper);

    List<QsUserSupplierVo> selectUsersbySupplierId(@Param("supplierId")Long supplierId);

    @Override
    default Class<QsUserSupplierMapper> currentMapperClass() {
        return BaseMapperPlus.super.currentMapperClass();
    }
}
