package com.ruoyi.fuzhou.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.fuzhou.domain.vo.ReceiveValueListVo;
import com.ruoyi.fuzhou.mapper.ReceiveOilValueFinalMapper;
import com.ruoyi.fuzhou.domain.ReceiveOilValueFinal;
import com.ruoyi.fuzhou.service.ReceiveOilValueFinalService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
* 油设备实时数据 服务实现类
*
*
* @author sunjiawei
* @since 2025-04-25
*/
@Service
@DataSource(value = DataSourceType.SLAVE)
public class ReceiveOilValueFinalServiceImpl extends ServiceImpl implements ReceiveOilValueFinalService {
@Autowired
private ReceiveOilValueFinalMapper receiveOilValueFinalMapper;
//查询所有数据列表
@Override
public List listAll(){
return receiveOilValueFinalMapper.selectList(null);
}
//批量插入
@Override
public Integer saveBatch(List oilValueFinals){
int i = 0;
for (ReceiveOilValueFinal receiveOilValueFinal : oilValueFinals){
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("ID",receiveOilValueFinal.getId());
if(!receiveOilValueFinalMapper.exists(queryWrapper)){
receiveOilValueFinalMapper.insert(receiveOilValueFinal);
i++;
}
}
return i;
}
//条件查询
@Override
public List queryData(ReceiveValueListVo vo){
LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(ReceiveOilValueFinal::getDeviceName, String.valueOf(vo.getId()))
.ge(vo.getStartTime() != null, ReceiveOilValueFinal::getCreateTime, vo.getStartTime())
.lt(vo.getEndTime() != null, ReceiveOilValueFinal::getCreateTime, vo.getEndTime())
.orderByDesc(ReceiveOilValueFinal::getCreateTime);
return receiveOilValueFinalMapper.selectList(lambdaQueryWrapper);
}
//批量删除
@Override
public Integer deleteBatch(List ids){
return receiveOilValueFinalMapper.deleteBatchIds(ids);
}
//修改更新
@Override
public Integer updateDate(ReceiveOilValueFinal receiveOilValueFinal){
return receiveOilValueFinalMapper.updateById(receiveOilValueFinal);
}
//查询总数
@Override
public Long queryCount(){
return receiveOilValueFinalMapper.selectCount(null);
}
}