package com.xy.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xy.dto.DeviceSimDto;
import com.xy.entity.DeviceSim;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 设备流量卡 Mapper 接口
 * </p>
 *
 * @author lijin
 * @since 2023-10-16
 */
public interface DeviceSimMapper extends BaseMapper<DeviceSim> {

    /**
     * 分页查询
     *
     * @param page
     * @param queryPage
     * @return
     */
    IPage<DeviceSimDto.PageVo> page(IPage page, @Param("queryPage") DeviceSimDto.Page queryPage);

    /**
     * 数量查询
     *
     * @param queryPage
     * @return
     */
    int pageCount(@Param("queryPage") DeviceSimDto.PageCount queryPage);

    /**
     * 数量查询
     *
     * @param queryPage
     * @return
     */
    int pageCount2(@Param("queryPage") DeviceSimDto.PageCount queryPage);

    /**
     * 分页查询
     *
     * @param page
     * @param queryPage
     * @return
     */
    IPage<DeviceSimDto.PageVo> page2(IPage page, @Param("queryPage") DeviceSimDto.Page queryPage);

    /**
     * 全量查询
     *
     * @param queryPage
     * @return
     */
    List<DeviceSimDto.PageVo> page(@Param("queryPage") DeviceSimDto.Page queryPage);

    /**
     * 全量查询
     *
     * @param queryPage
     * @return
     */
    List<DeviceSimDto.PageVo> page2(@Param("queryPage") DeviceSimDto.Page queryPage);

    /**
     * 管流量卡过期
     *
     * @param page
     * @param map
     * @return
     */
    IPage<Long> deviceSimTimeout(IPage page, @Param("query") Map<String, Object> map);

    /**
     * 查询过期条数
     *
     * @param deviceSimTimeoutCount
     * @return
     */
    DeviceSimDto.DeviceSimTimeoutCountVo deviceSimTimeoutCount(@Param("query") DeviceSimDto.DeviceSimTimeoutCount deviceSimTimeoutCount);
}
