| | |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.time.LocalTime; |
| | | import java.util.List; |
| | | import java.util.Random; |
| | | |
| | | @Service |
| | |
| | | private final BigDecimal targetLow = new BigDecimal("85"); |
| | | |
| | | private final BigDecimal targetHigh = new BigDecimal("87"); |
| | | |
| | | |
| | | |
| | | private final int maxIncrement = 10; |
| | |
| | | public void reset() { |
| | | BigDecimal currentValue = BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP); |
| | | updateCurrentValue(currentValue); |
| | | |
| | | refreshValueOne = new BigDecimal("0"); |
| | | TSystemConfiguration sysConfigs = systemConfigurationMapper.selectList(new LambdaQueryWrapper<TSystemConfiguration>() |
| | | .eq(TSystemConfiguration::getType,4)).get(0); |
| | | sysConfigs.setContent("0"); |
| | | systemConfigurationMapper.updateById(sysConfigs); |
| | | |
| | | //更新 |
| | | this.isRunning = true; |
| | | } |
| | | |
| | | |
| | | |
| | | public static BigDecimal refreshValueOne = new BigDecimal("0"); |
| | | /** |
| | | *光伏发电和消纳 |
| | | */ |
| | | @Scheduled(cron = "0 */1 * * * ?") // 每分钟点执行 |
| | | public void refreshValueOne() { |
| | | // 判断时间是否在6:00到8:59 |
| | | LocalTime now = LocalTime.now(); |
| | | if (now.isAfter(LocalTime.of(6, 0)) && now.isBefore(LocalTime.of(8, 59))) { |
| | | refreshValueOne = refreshValueOne.add(new BigDecimal("0.5")); |
| | | List<TSystemConfiguration> sysConfigs = systemConfigurationMapper.selectList(new LambdaQueryWrapper<TSystemConfiguration>() |
| | | .in(TSystemConfiguration::getType,4,5)); |
| | | TSystemConfiguration sysConfig = sysConfigs.stream().filter(e -> e.getType() == 4).findFirst().orElse(null); |
| | | sysConfig.setContent(refreshValueOne.toString()); |
| | | systemConfigurationMapper.updateById(sysConfig); |
| | | |
| | | |
| | | TSystemConfiguration sysConfig1 = sysConfigs.stream().filter(e -> e.getType() == 5).findFirst().orElse(null); |
| | | String string = new BigDecimal(sysConfig1.getContent()).add(new BigDecimal("0.5")).toString(); |
| | | sysConfig1.setContent(string); |
| | | systemConfigurationMapper.updateById(sysConfig1); |
| | | // 在6:00到8:59之间,不执行 |
| | | return; |
| | | } |
| | | // 9:00-16:59每分钟增加随机3 到 3.5 |
| | | if (now.isAfter(LocalTime.of(9, 0)) && now.isBefore(LocalTime.of(16, 59))) { |
| | | refreshValueOne = refreshValueOne.add(new BigDecimal(3 + (3.5 - 3) * random.nextDouble()) |
| | | .setScale(2, RoundingMode.HALF_UP)); |
| | | List<TSystemConfiguration> sysConfigs = systemConfigurationMapper.selectList(new LambdaQueryWrapper<TSystemConfiguration>() |
| | | .in(TSystemConfiguration::getType,4,5)); |
| | | |
| | | TSystemConfiguration sysConfig = sysConfigs.stream().filter(e -> e.getType() == 4).findFirst().orElse(null); |
| | | sysConfig.setContent(refreshValueOne.toString()); |
| | | systemConfigurationMapper.updateById(sysConfig); |
| | | |
| | | |
| | | TSystemConfiguration sysConfig1 = sysConfigs.stream().filter(e -> e.getType() == 5).findFirst().orElse(null); |
| | | String string = new BigDecimal(sysConfig1.getContent()).add(new BigDecimal(3 + (3.5 - 3) * random.nextDouble())).toString(); |
| | | sysConfig1.setContent(string); |
| | | systemConfigurationMapper.updateById(sysConfig1); |
| | | return; |
| | | } |
| | | //17:00-18:59 每分钟增加0.5 |
| | | if (now.isAfter(LocalTime.of(17, 0)) && now.isBefore(LocalTime.of(18, 59))) { |
| | | refreshValueOne = refreshValueOne.add(new BigDecimal("0.5")); |
| | | List<TSystemConfiguration> sysConfigs = systemConfigurationMapper.selectList(new LambdaQueryWrapper<TSystemConfiguration>() |
| | | .in(TSystemConfiguration::getType,4,5)); |
| | | |
| | | TSystemConfiguration sysConfig = sysConfigs.stream().filter(e -> e.getType() == 4).findFirst().orElse(null); |
| | | sysConfig.setContent(refreshValueOne.toString()); |
| | | systemConfigurationMapper.updateById(sysConfig); |
| | | |
| | | |
| | | TSystemConfiguration sysConfig1 = sysConfigs.stream().filter(e -> e.getType() == 5).findFirst().orElse(null); |
| | | String string = new BigDecimal(sysConfig1.getContent()).add(new BigDecimal("0.5")).toString(); |
| | | sysConfig1.setContent(string); |
| | | systemConfigurationMapper.updateById(sysConfig1); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |