|
@@ -1,6 +1,10 @@
|
|
|
package com.ruoyi.web.runner;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.date.DateField;
|
|
|
+import cn.hutool.core.date.DateRange;
|
|
|
+import cn.hutool.core.date.DateTime;
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.io.file.FileReader;
|
|
|
import com.alibaba.druid.pool.DruidDataSource;
|
|
|
import com.alibaba.fastjson2.JSON;
|
|
@@ -16,18 +20,19 @@ import com.ruoyi.ucp.entity.UcpDataSource;
|
|
|
import com.ruoyi.ucp.feign.AdapterApi;
|
|
|
import com.ruoyi.ucp.service.*;
|
|
|
import com.ruoyi.ucp.util.CalcCache;
|
|
|
+import com.ruoyi.web.controller.JavaFunctionJobHandler;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.boot.CommandLineRunner;
|
|
|
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
|
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
|
+import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.io.File;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
+import java.util.concurrent.ConcurrentHashMap;
|
|
|
|
|
|
@Component
|
|
|
public class LoadDataSourceRunner implements CommandLineRunner {
|
|
@@ -53,10 +58,13 @@ public class LoadDataSourceRunner implements CommandLineRunner {
|
|
|
@Resource
|
|
|
private IFormulaService formulaService;
|
|
|
@Resource
|
|
|
- @Autowired
|
|
|
private RedisTemplate redisTemplate;
|
|
|
+ @Resource
|
|
|
+ private StringRedisTemplate stringRedisTemplate;
|
|
|
@Value("${ruoyi.profile}")
|
|
|
private String path;
|
|
|
+// @Resource
|
|
|
+// private JavaFunctionJobHandler task;
|
|
|
|
|
|
@Override
|
|
|
public void run(String... args) {
|
|
@@ -91,10 +99,10 @@ public class LoadDataSourceRunner implements CommandLineRunner {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|
|
|
- LettuceConnectionFactory factory = (LettuceConnectionFactory) redisTemplate.getConnectionFactory();
|
|
|
+ LettuceConnectionFactory factory = (LettuceConnectionFactory) stringRedisTemplate.getConnectionFactory();
|
|
|
int database = factory.getDatabase();
|
|
|
factory.setDatabase(9);
|
|
|
- redisTemplate.setConnectionFactory(factory);
|
|
|
+ stringRedisTemplate.setConnectionFactory(factory);
|
|
|
factory.afterPropertiesSet();
|
|
|
factory.resetConnection();
|
|
|
/*Set<String> keys = redisTemplate.keys("monthCurve_*");
|
|
@@ -109,13 +117,13 @@ public class LoadDataSourceRunner implements CommandLineRunner {
|
|
|
CalcCache.wtMcfMap.put(powerList.get(0).getWindturbineId(), collect);
|
|
|
}*/
|
|
|
|
|
|
- String zllgl = (String) redisTemplate.opsForValue().get("ZLLGL");
|
|
|
+ String zllgl = stringRedisTemplate.opsForValue().get("ZLLGL");
|
|
|
//字符串类型转换为list月拟合曲线集合
|
|
|
Map<String, Map<Double, ProBasicModelPowerRd>> bzgl = JSON.parseObject(zllgl, new TypeReference<Map<String, Map<Double, ProBasicModelPowerRd>>>() {
|
|
|
}.getType());
|
|
|
- Map<String, Map<Double, Double>> bz = new HashMap<>();
|
|
|
+ Map<String, ConcurrentHashMap<Double, Double>> bz = new HashMap<>();
|
|
|
bzgl.forEach((modeId, map) -> {
|
|
|
- Map<Double, Double> mdd = new HashMap<>();
|
|
|
+ ConcurrentHashMap<Double, Double> mdd = new ConcurrentHashMap<>();
|
|
|
map.forEach((speed, mprd) -> {
|
|
|
mdd.put(speed, mprd.getEnsurePower());
|
|
|
});
|
|
@@ -126,8 +134,20 @@ public class LoadDataSourceRunner implements CommandLineRunner {
|
|
|
factory.setDatabase(database);
|
|
|
factory.afterPropertiesSet();
|
|
|
factory.resetConnection();
|
|
|
- String glqxnh = (String) redisTemplate.opsForValue().get("glqxnh");
|
|
|
- CalcCache.fitcoef = JSON.parseObject(glqxnh, new TypeReference<Map<String, double[]>>() {
|
|
|
- }.getType());
|
|
|
+
|
|
|
+
|
|
|
+ Set<String> keys = stringRedisTemplate.keys("glqxnh:5:*");
|
|
|
+ for (String key : keys) {
|
|
|
+ String yc = stringRedisTemplate.opsForValue().get(key);
|
|
|
+ ConcurrentHashMap<Double, Double> wtyc = JSON.parseObject(yc, new TypeReference<ConcurrentHashMap<Double, Double>>() {}.getType());
|
|
|
+ CalcCache.fitcoef.put(key.replaceFirst("glqxnh:5:",""),wtyc);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+// DateTime start = DateUtil.parse("2024-03-25");
|
|
|
+// DateTime end = DateUtil.parse("2024-06-25");
|
|
|
+// task.calcGlqxnh(start,end);
|
|
|
+// System.out.println("选否");
|
|
|
}
|
|
|
}
|