Commit 8cc00d1e authored by duanruiming's avatar duanruiming

[update] 优化失衡数据逻辑;

parent 3556c1a2
......@@ -12,6 +12,7 @@ import java.util.Objects;
@Getter
@AllArgsConstructor
public enum PhaseEmptyEnum {
//
EXT_NS(-100, "1,5", "2", "延长南北方向直行的绿灯"),
EXT_EW(-101, "3,7", "2", "延长东西方向直行的绿灯"),
EXT_NS_L(-102, "1,5", "1", " 延长南北方向左转的绿灯"),
......@@ -65,6 +66,15 @@ public enum PhaseEmptyEnum {
private final String turn;
private final String desc;
public static String getDesc(Integer code) {
for (PhaseEmptyEnum value : PhaseEmptyEnum.values()) {
if (Objects.equals(code, value.getCode())) {
return value.getDesc();
}
}
return null;
}
public static String getDir(Integer code) {
for (PhaseEmptyEnum value : PhaseEmptyEnum.values()) {
if (Objects.equals(code, value.getCode())) {
......
......@@ -61,6 +61,7 @@ public class CrossStrategyOptConsumerHandler implements KafkaListenerErrorHandle
@KafkaListener(topics = {"${kafka-consumer.imbalanceAlgorithmResultTopic}"}, groupId = "group")
public void receiveImbalanceData(ConsumerRecord<Object, Object> record, Acknowledgment acknowledgment) throws Exception {
String message = String.valueOf(record.value());
try {
if (StringUtils.isNotBlank(message)) {
ObjectMapper mapper = JacksonUtils.getInstance();
ImbalanceAlgorithmDTO imbalanceAlgorithmDTO = mapper.readValue(message, ImbalanceAlgorithmDTO.class);
......@@ -68,6 +69,9 @@ public class CrossStrategyOptConsumerHandler implements KafkaListenerErrorHandle
imbalanceAlgorithmDTO.setRtnType(3);
crossStrategyOptService.save(imbalanceAlgorithmDTO);
}
} catch (Exception e) {
log.error("当前数据处理异常:{}", message);
}
acknowledgment.acknowledge();
}
......
......@@ -61,19 +61,21 @@ public class CrossStrategyOptServiceImpl implements CrossStrategyOptService {
} else {
entity.setResponseCode(200);
}
entity.setResponseContent(idx.getResponseContent());
} else {
if (Objects.nonNull(idx.getResponseCode()) && !Objects.equals(-1, idx.getResponseCode())) {
entity.setResponseCode(idx.getResponseCode());
} else {
entity.setResponseCode(500);
}
String desc = PhaseEmptyEnum.getDesc(rtnType);
entity.setResponseContent(desc);
}
entity.setRtnType(rtnType);
String name = CrossInfoCache.getName(crossId);
entity.setCrossName(name);
entity.setEmptyDir(PhaseEmptyEnum.getDir(rtnType));
entity.setEmptyTurn(PhaseEmptyEnum.getTurn(rtnType));
entity.setResponseContent(idx.getResponseContent());
if (Objects.nonNull(date)) {
String parse = DateUtil.format(date, "yyyyMMdd");
entity.setDt(Integer.valueOf(parse));
......@@ -126,6 +128,7 @@ public class CrossStrategyOptServiceImpl implements CrossStrategyOptService {
}
crossStrategyResultMapper.insert(crossStrategyResultEntity);
} catch (Exception e) {
log.error("失衡优化策略数据处理失败:", e);
throw new RuntimeException(e);
}
}
......
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