Commit be464e2a authored by duanruiming's avatar duanruiming

Merge remote-tracking branch 'origin/master'

parents 60bd2539 45351e23
package net.wanji.opt.common; package net.wanji.opt.common;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import net.wanji.opt.dto.CrossEventDTO;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ZSetOperations; import org.springframework.data.redis.core.ZSetOperations;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -22,14 +25,20 @@ public class RedisUtils { ...@@ -22,14 +25,20 @@ public class RedisUtils {
/** /**
* 7号库获取最大 score zset 元素 * 7号库获取最大 score zset 元素
*/ */
public Object getMaxScoreElement(String redisKey) { public Object getMaxScoreElement(String redisKey) throws JsonProcessingException {
ObjectMapper objectMapper = new ObjectMapper();
ZSetOperations<String, Object> zSetOps = redis7Template.opsForZSet(); ZSetOperations<String, Object> zSetOps = redis7Template.opsForZSet();
Set<Object> result = zSetOps.reverseRange(redisKey, 0, 0); Set<Object> result = zSetOps.reverseRange(redisKey, 0, -1);
if (result != null && !result.isEmpty()) { if (result != null && !result.isEmpty()) {
return result.iterator().next(); for (Object o : result) {
} else { CrossEventDTO dto = objectMapper.readValue(o.toString(), CrossEventDTO.class);
return null; String msgType = dto.getMsgType();
if (msgType.startsWith("50")) {
return o;
}
} }
} }
return null;
}
} }
...@@ -1076,9 +1076,12 @@ public class TrendServiceImpl implements TrendService { ...@@ -1076,9 +1076,12 @@ public class TrendServiceImpl implements TrendService {
String redisKey = crossId + ":" + inDir; String redisKey = crossId + ":" + inDir;
Object element = redisUtils.getMaxScoreElement(redisKey); Object element = redisUtils.getMaxScoreElement(redisKey);
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
if (element != null) {
CrossEventDTO dto = objectMapper.readValue(element.toString(), CrossEventDTO.class); CrossEventDTO dto = objectMapper.readValue(element.toString(), CrossEventDTO.class);
return dto.getTransitTime().intValue(); return dto.getTransitTime().intValue();
} }
return 0;
}
private Integer calcUncoordinatePhaseQueue( private Integer calcUncoordinatePhaseQueue(
List<CrossDirDataHistPO> crossDirDataHistPOList, List<Integer> coordDirList) { List<CrossDirDataHistPO> crossDirDataHistPOList, List<Integer> coordDirList) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment