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.ReceiveCarValueFinal;
import com.ruoyi.fuzhou.domain.ReceiveWeatherValueFinal;
import com.ruoyi.fuzhou.domain.vo.ReceiveValueListVo;
import com.ruoyi.fuzhou.mapper.ReceiveWeatherValueFinalMapper;
import com.ruoyi.fuzhou.service.ReceiveWeatherValueFinalService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
* 气象设备实时数据 服务实现类
*
*
* @author sunjiawei
* @since 2025-05-23
*/
@Service
@DataSource(value = DataSourceType.SLAVE)
public class ReceiveWeatherValueFinalServiceImpl extends ServiceImpl implements ReceiveWeatherValueFinalService {
@Autowired
private ReceiveWeatherValueFinalMapper receiveWeatherValueFinalMapper;
//查询所有数据列表
@Override
public List listAll(){
return receiveWeatherValueFinalMapper.selectList(null);
}
//批量插入
@Override
public Integer saveBatchNew(List carValueFinals){
int i = 0;
for (ReceiveWeatherValueFinal receiveCarValueFinal : carValueFinals){
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("ID",receiveCarValueFinal.getId());
if(!receiveWeatherValueFinalMapper.exists(queryWrapper)){
receiveWeatherValueFinalMapper.insert(receiveCarValueFinal);
i++;
}
}
return i;
}
//条件查询
@Override
public List queryData(ReceiveValueListVo vo){
LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(ReceiveWeatherValueFinal::getDeviceName, String.valueOf(vo.getId()))
.ge(vo.getStartTime() != null, ReceiveWeatherValueFinal::getCreateTime, vo.getStartTime())
.lt(vo.getEndTime() != null, ReceiveWeatherValueFinal::getCreateTime, vo.getEndTime())
.orderByDesc(ReceiveWeatherValueFinal::getCreateTime);
return receiveWeatherValueFinalMapper.selectList(lambdaQueryWrapper);
}
//批量删除
@Override
public Integer deleteBatch(List ids){
return receiveWeatherValueFinalMapper.deleteBatchIds(ids);
}
//修改更新
@Override
public Integer updateDate(ReceiveWeatherValueFinal receiveWeatherValueFinal){
return receiveWeatherValueFinalMapper.updateById(receiveWeatherValueFinal);
}
//查询总数
@Override
public Long queryCount(){
return receiveWeatherValueFinalMapper.selectCount(null);
}
}