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.ReceiveElectricityValueFinalMapper;
import com.ruoyi.fuzhou.domain.ReceiveElectricityValueFinal;
import com.ruoyi.fuzhou.service.ReceiveElectricityValueFinalService;
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 ReceiveElectricityValueFinalServiceImpl extends ServiceImpl implements ReceiveElectricityValueFinalService {
@Autowired
private ReceiveElectricityValueFinalMapper receiveElectricityValueFinalMapper;
//查询所有数据列表
@Override
public List listAll(){
return receiveElectricityValueFinalMapper.selectList(null);
}
//批量插入
@Override
public Integer saveBatch(List electricityValueFinals){
int i = 0;
for (ReceiveElectricityValueFinal receiveElectricityValueFinal : electricityValueFinals){
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("ID",receiveElectricityValueFinal.getId());
if(!receiveElectricityValueFinalMapper.exists(queryWrapper)){
receiveElectricityValueFinalMapper.insert(receiveElectricityValueFinal);
i++;
}
}
return i;
}
//条件查询
@Override
public List queryData(ReceiveValueListVo vo){
LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(ReceiveElectricityValueFinal::getDeviceName, String.valueOf(vo.getId()))
.ge(vo.getStartTime() != null, ReceiveElectricityValueFinal::getCreateTime, vo.getStartTime())
.lt(vo.getEndTime() != null, ReceiveElectricityValueFinal::getCreateTime, vo.getEndTime())
.orderByDesc(ReceiveElectricityValueFinal::getCreateTime);
return receiveElectricityValueFinalMapper.selectList(lambdaQueryWrapper);
}
//批量删除
@Override
public Integer deleteBatch(List ids){
return receiveElectricityValueFinalMapper.deleteBatchIds(ids);
}
//修改更新
@Override
public Integer updateDate(ReceiveElectricityValueFinal receiveElectricityValueFinal){
return receiveElectricityValueFinalMapper.updateById(receiveElectricityValueFinal);
}
//查询总数
@Override
public Long queryCount(){
return receiveElectricityValueFinalMapper.selectCount(null);
}
}