package cn.iocoder.yudao.module.iot.dal.mysql.ota; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.record.IotOtaTaskRecordPageReqVO; import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskRecordDO; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.apache.ibatis.annotations.Mapper; import java.util.Collection; import java.util.List; import java.util.Set; @Mapper public interface IotOtaTaskRecordMapper extends BaseMapperX { default List selectListByFirmwareIdAndTaskId(Long firmwareId, Long taskId) { return selectList(new LambdaQueryWrapperX() .eqIfPresent(IotOtaTaskRecordDO::getFirmwareId, firmwareId) .eqIfPresent(IotOtaTaskRecordDO::getTaskId, taskId) .select(IotOtaTaskRecordDO::getDeviceId, IotOtaTaskRecordDO::getStatus)); } default PageResult selectPage(IotOtaTaskRecordPageReqVO pageReqVO) { return selectPage(pageReqVO, new LambdaQueryWrapperX() .eqIfPresent(IotOtaTaskRecordDO::getTaskId, pageReqVO.getTaskId()) .eqIfPresent(IotOtaTaskRecordDO::getStatus, pageReqVO.getStatus())); } default List selectListByTaskIdAndStatus(Long taskId, Collection statuses) { return selectList(new LambdaQueryWrapperX() .eq(IotOtaTaskRecordDO::getTaskId, taskId) .in(IotOtaTaskRecordDO::getStatus, statuses)); } default Long selectCountByTaskIdAndStatus(Long taskId, Collection statuses) { return selectCount(new LambdaQueryWrapperX() .eq(IotOtaTaskRecordDO::getTaskId, taskId) .in(IotOtaTaskRecordDO::getStatus, statuses)); } default int updateByIdAndStatus(Long id, Integer status, IotOtaTaskRecordDO updateObj) { return update(updateObj, new LambdaUpdateWrapper() .eq(IotOtaTaskRecordDO::getId, id) .eq(IotOtaTaskRecordDO::getStatus, status)); } default int updateByIdAndStatus(Long id, Collection whereStatuses, IotOtaTaskRecordDO updateObj) { return update(updateObj, new LambdaUpdateWrapper() .eq(IotOtaTaskRecordDO::getId, id) .in(IotOtaTaskRecordDO::getStatus, whereStatuses)); } default void updateListByIdAndStatus(Collection ids, Collection whereStatuses, IotOtaTaskRecordDO updateObj) { update(updateObj, new LambdaUpdateWrapper() .in(IotOtaTaskRecordDO::getId, ids) .in(IotOtaTaskRecordDO::getStatus, whereStatuses)); } default List selectListByDeviceIdAndStatus(Set deviceIds, Set statuses) { return selectList(new LambdaQueryWrapperX() .inIfPresent(IotOtaTaskRecordDO::getDeviceId, deviceIds) .inIfPresent(IotOtaTaskRecordDO::getStatus, statuses)); } default List selectListByDeviceIdAndStatus(Long deviceId, Set statuses) { return selectList(new LambdaQueryWrapperX() .eqIfPresent(IotOtaTaskRecordDO::getDeviceId, deviceId) .inIfPresent(IotOtaTaskRecordDO::getStatus, statuses)); } default List selectListByStatus(Integer status) { return selectList(IotOtaTaskRecordDO::getStatus, status); } }