ProEconPowerWindInfoServiceImpl.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.gyee.power.fitting.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.gyee.power.fitting.common.base.ExcludeQueryWrapper;
  4. import com.gyee.power.fitting.common.util.CollectUtil;
  5. import com.gyee.power.fitting.common.util.SnowFlakeUtil;
  6. import com.gyee.power.fitting.model.ProEconPowerWindInfo;
  7. import com.gyee.power.fitting.mapper.ProEconPowerWindInfoMapper;
  8. import com.gyee.power.fitting.service.ProEconPowerWindInfoService;
  9. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  10. import org.springframework.stereotype.Service;
  11. import java.util.Collections;
  12. import java.util.List;
  13. /**
  14. * <p>
  15. * 服务实现类
  16. * </p>
  17. *
  18. * @author wang
  19. * @since 2023-10-12
  20. */
  21. @Service
  22. public class ProEconPowerWindInfoServiceImpl extends ServiceImpl<ProEconPowerWindInfoMapper, ProEconPowerWindInfo> implements ProEconPowerWindInfoService {
  23. @Override
  24. public List<ProEconPowerWindInfo> selectListByWtIdAndTime(String wtId, List<String> dates) {
  25. ExcludeQueryWrapper<ProEconPowerWindInfo> wrapper = new ExcludeQueryWrapper<>();
  26. wrapper.eq("windturbine_id", wtId)
  27. .in("time", dates);
  28. try{
  29. return baseMapper.selectList(wrapper);
  30. } catch (Exception e){
  31. log.error("PowerwindinfoServiceImpl--selectListByWtIdAndTime", e);
  32. }
  33. return Collections.EMPTY_LIST;
  34. }
  35. @Override
  36. public void insertBatch(List<ProEconPowerWindInfo> list) {
  37. list.forEach(item -> item.setId(SnowFlakeUtil.generateId()));
  38. try{
  39. if (list.size() > 1000){
  40. List<List<ProEconPowerWindInfo>> coll = CollectUtil.groupListByQty(list, 1000);
  41. coll.forEach(ls -> saveBatch(ls));
  42. } else {
  43. saveBatch(list);
  44. }
  45. }catch (Exception e){
  46. log.error("PowerwindinfoServiceImpl--insertBatch", e);
  47. }
  48. }
  49. @Override
  50. public void deleteBatch(String wtId, List<String> dates) {
  51. QueryWrapper<ProEconPowerWindInfo> wrapper = new QueryWrapper<>();
  52. wrapper.eq("windturbine_id", wtId);
  53. wrapper.in("time", dates);
  54. try{
  55. baseMapper.delete(wrapper);
  56. }catch (Exception e){
  57. log.error("PowerwindinfoServiceImpl--deleteBatch", e);
  58. }
  59. }
  60. }