diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/api/EventWaveAnalysisFeignClient.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/api/EventWaveAnalysisFeignClient.java index 4233d7201..941038297 100644 --- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/api/EventWaveAnalysisFeignClient.java +++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/api/EventWaveAnalysisFeignClient.java @@ -9,7 +9,9 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; -@FeignClient(value = ServerInfo.ADVANCE_BOOT,path = "/waveAnalysis",fallbackFactory = EventWaveAnalysisFeignClientFallbackFactory.class,contextId = "waveAnalysis") +@FeignClient(value = ServerInfo.ADVANCE_BOOT,path = "/waveAnalysis", + fallbackFactory = EventWaveAnalysisFeignClientFallbackFactory.class, + contextId = "waveAnalysis" ) public interface EventWaveAnalysisFeignClient { diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/dto/waveAnalysis/BackData.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/dto/waveAnalysis/BackData.java index bbf46f5e4..10fae9583 100644 --- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/dto/waveAnalysis/BackData.java +++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/dto/waveAnalysis/BackData.java @@ -1,6 +1,9 @@ package com.njcn.advance.pojo.dto.waveAnalysis; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.sun.jna.Structure; +import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Arrays; import java.util.List; @@ -44,6 +47,7 @@ import java.util.List; * angle_diff_cn C相相位负跳变 * bph_max_value 不平衡度(单位%) */ +@JsonIgnoreProperties(ignoreUnknown = true) public class BackData extends Structure { public int qvvr_cata_cause[] = new int[256]; public int qvvr_phasetype[] = new int[256]; @@ -75,10 +79,14 @@ public class BackData extends Structure { public float angle_diff_cn[] = new float[256]; public float bph_max_value[] = new float[256]; + @Data + @NoArgsConstructor public static class ByReference extends BackData implements Structure.ByReference { } + @Data + @NoArgsConstructor public static class ByValue extends BackData implements Structure.ByValue { } diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/dto/waveAnalysis/EntityAdvancedData.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/dto/waveAnalysis/EntityAdvancedData.java index 5a554eda9..e317950ca 100644 --- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/dto/waveAnalysis/EntityAdvancedData.java +++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/dto/waveAnalysis/EntityAdvancedData.java @@ -1,6 +1,7 @@ package com.njcn.advance.pojo.dto.waveAnalysis; import lombok.Data; +import lombok.NoArgsConstructor; /** * @author njcn @@ -10,6 +11,7 @@ import lombok.Data; * @处理返回的结果 */ @Data +@NoArgsConstructor public class EntityAdvancedData { public float smp_a[]; public float smp_b[]; diff --git a/pqs-common/common-redis/src/main/java/com/njcn/redis/utils/RedisUtil.java b/pqs-common/common-redis/src/main/java/com/njcn/redis/utils/RedisUtil.java index 3138e6173..52a8d8eee 100644 --- a/pqs-common/common-redis/src/main/java/com/njcn/redis/utils/RedisUtil.java +++ b/pqs-common/common-redis/src/main/java/com/njcn/redis/utils/RedisUtil.java @@ -1,6 +1,7 @@ package com.njcn.redis.utils; import lombok.RequiredArgsConstructor; +import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; @@ -68,6 +69,31 @@ public class RedisUtil { return (String) redisTemplate.opsForValue().get(key); } + /** + * 根据key和库索引获取内容字(切库之后,之后查询都是切库数据) + * + * @param dbIndex 指定库索引 + * @param key key值 + */ + public String getStringByKey(Integer dbIndex,String key) { + return getStringByKey(dbIndex,key,true); + } + /** + * 根据key和库索引获取内容字(切库之后,之后查询都是切库数据) + * + * @param dbIndex 指定库索引 + * @param key key值 + * @param fly 是否切回原库 + */ + public String getStringByKey(Integer dbIndex,String key,Boolean fly) { + Integer index = setDbIndex(dbIndex); + String s = (String) redisTemplate.opsForValue().get(key); + if(fly){ + setDbIndex(index); + } + return s; + } + /** * 获取key对应对象数据 */ @@ -101,6 +127,37 @@ public class RedisUtil { redisTemplate.boundValueOps(key).set(value, expireTime, TimeUnit.SECONDS); } } + /** + * 保存数据,指定生命周期(秒) + * + * @param dbIndex 指定库索引 + * @param key 键 + * @param value 值 + * @param expireTime 生命时间 + * @param expireTime 生命时间 + */ + public void saveByKeyWithExpire(Integer dbIndex,String key, Object value, Integer expireTime) { + saveByKeyWithExpire(dbIndex,key,value,expireTime,true); + } + /** + * 保存数据,指定生命周期(秒) + * + * @param dbIndex 指定库索引 + * @param key 键 + * @param value 值 + * @param fly 是否切回原库 + */ + public void saveByKeyWithExpire(Integer dbIndex,String key, Object value, Integer expireTime,Boolean fly) { + Integer index = setDbIndex(dbIndex); + if (expireTime <= 0) { + saveByKey(key, value); + } else { + redisTemplate.boundValueOps(key).set(value, expireTime, TimeUnit.SECONDS); + } + if(fly){ + setDbIndex(index); + } + } /** * 顺序的递增和递减 @@ -242,4 +299,20 @@ public class RedisUtil { } return info; } + private Integer setDbIndex(Integer dbIndex) { + if (dbIndex == null || dbIndex > 15 || dbIndex < 0) { + dbIndex = 0; + } + LettuceConnectionFactory jedisConnectionFactory = (LettuceConnectionFactory) redisTemplate + .getConnectionFactory(); + int database = jedisConnectionFactory.getDatabase(); + jedisConnectionFactory.setDatabase(dbIndex); + redisTemplate.setConnectionFactory(jedisConnectionFactory); + //需要刷新才能生效 + jedisConnectionFactory.afterPropertiesSet(); + // 重置连接 + jedisConnectionFactory.resetConnection(); + return database; + } + }