package com.gyee.power.fitting.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.gyee.power.fitting.common.base.ExcludeQueryWrapper;
import com.gyee.power.fitting.common.util.CollectUtil;
import com.gyee.power.fitting.common.util.SnowFlakeUtil;
import com.gyee.power.fitting.model.ProEconPowerWindInfo;
import com.gyee.power.fitting.mapper.ProEconPowerWindInfoMapper;
import com.gyee.power.fitting.service.ProEconPowerWindInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
*
* 服务实现类
*
*
* @author wang
* @since 2023-10-12
*/
@Service
public class ProEconPowerWindInfoServiceImpl extends ServiceImpl implements ProEconPowerWindInfoService {
@Override
public List selectListByWtIdAndTime(String wtId, List dates) {
ExcludeQueryWrapper wrapper = new ExcludeQueryWrapper<>();
wrapper.eq("windturbine_id", wtId)
.in("time", dates);
try{
return baseMapper.selectList(wrapper);
} catch (Exception e){
log.error("PowerwindinfoServiceImpl--selectListByWtIdAndTime", e);
}
return Collections.EMPTY_LIST;
}
@Override
public void insertBatch(List list) {
list.forEach(item -> item.setId(SnowFlakeUtil.generateId()));
try{
if (list.size() > 1000){
List> coll = CollectUtil.groupListByQty(list, 1000);
coll.forEach(ls -> saveBatch(ls));
} else {
saveBatch(list);
}
}catch (Exception e){
log.error("PowerwindinfoServiceImpl--insertBatch", e);
}
}
@Override
public void deleteBatch(String wtId, List dates) {
QueryWrapper wrapper = new QueryWrapper<>();
wrapper.eq("windturbine_id", wtId);
wrapper.in("time", dates);
try{
baseMapper.delete(wrapper);
}catch (Exception e){
log.error("PowerwindinfoServiceImpl--deleteBatch", e);
}
}
}