package cn.iocoder.yudao.module.system.dal.mysql.robot;

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.system.controller.admin.robot.camera.RobotCameraPageReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotCameraDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 车辆摄像头信息 Mapper
 *
 * @author 陈宾顺
 */
@Mapper
public interface RobotCameraMapper extends BaseMapperX<RobotCameraDO> {

    default PageResult<RobotCameraDO> selectPage(RobotCameraPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<RobotCameraDO>()
                .eqIfPresent(RobotCameraDO::getRobotNo, reqVO.getRobotNo())
                .eqIfPresent(RobotCameraDO::getCameraPosition, reqVO.getCameraPosition())
                .eqIfPresent(RobotCameraDO::getCameraIp, reqVO.getCameraIp())
                .eqIfPresent(RobotCameraDO::getCameraPort, reqVO.getCameraPort())
                .eqIfPresent(RobotCameraDO::getCameraAccount, reqVO.getCameraAccount())
                .eqIfPresent(RobotCameraDO::getCameraPassword, reqVO.getCameraPassword())
                .betweenIfPresent(RobotCameraDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(RobotCameraDO::getId));
    }

    void deleteByRobotNo(@Param("robotNo") String robotNo);
}