Commit 54813f8d authored by duanruiming's avatar duanruiming

[add] AI路口查询逻辑优化

parent 0ccfd99c
...@@ -18,6 +18,11 @@ ...@@ -18,6 +18,11 @@
</properties> </properties>
<dependencies> <dependencies>
<!--客户端负载均衡loadbalancer-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.github.xiaoymin</groupId> <groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId> <artifactId>knife4j-spring-boot-starter</artifactId>
......
...@@ -16,8 +16,9 @@ public enum EventStatusEnum { ...@@ -16,8 +16,9 @@ public enum EventStatusEnum {
ZERO(0, "未处理"), ZERO(0, "未处理"),
ONE(1, "分析中"), ONE(1, "分析中"),
TWO(2, "优化中"), TWO(2, "优化中"),
THREE(3, "优化中"), THREE(3, "优化完"),
FOUR(4, "已结束"); // 信控没有已结束,优化完
FOUR(4, "优化完");
private Integer code; private Integer code;
private String desc; private String desc;
......
...@@ -92,9 +92,9 @@ public class CrossIndexServiceImpl implements CrossIndexService { ...@@ -92,9 +92,9 @@ public class CrossIndexServiceImpl implements CrossIndexService {
if (!CollectionUtils.isEmpty(list)) { if (!CollectionUtils.isEmpty(list)) {
for (StrategyCrossResultEntity entity : list) { for (StrategyCrossResultEntity entity : list) {
CrossOptResult crossOptResult = new CrossOptResult(); CrossOptResult crossOptResult = new CrossOptResult();
Date date = DateUtil.parse(entity.getIssueTime(), "yyyy-MM-dd HH:mm:ss"); Date date = entity.getIssueTime();
//Date date = DateUtil.parse(entity.getIssueTime(), "yyyy-MM-dd HH:mm:ss");
crossOptResult.setTimeStamp(date); crossOptResult.setTimeStamp(date);
String timingPlan = entity.getTimingPlan();
Integer countDown = entity.getCountDown(); Integer countDown = entity.getCountDown();
if (entity.getCurrentAlgo() == 2) { if (entity.getCurrentAlgo() == 2) {
countDown = 5; countDown = 5;
...@@ -127,9 +127,18 @@ public class CrossIndexServiceImpl implements CrossIndexService { ...@@ -127,9 +127,18 @@ public class CrossIndexServiceImpl implements CrossIndexService {
aiOptResultVO.setStrategy(currentAlgo); aiOptResultVO.setStrategy(currentAlgo);
// 失衡 均衡调控,其他效率提升 // 失衡 均衡调控,其他效率提升
aiOptResultVO.setOptMethod(Objects.equals(1, currentAlgo) ? StrategyControlEnum.ONE.getMethod() : StrategyControlEnum.TWO.getMethod()); aiOptResultVO.setOptMethod(Objects.equals(1, currentAlgo) ? StrategyControlEnum.ONE.getMethod() : StrategyControlEnum.TWO.getMethod());
// 失衡 优化中,其他,优化完 // 失衡 优化中,15分钟内,优化中,其他,优化完
Integer optStatus = Objects.equals(1, currentAlgo) ? OptStatusEnum.ONE.getCode() : OptStatusEnum.TWO.getCode(); aiOptResultVO.setOptStatus(OptStatusEnum.TWO.getCode());
aiOptResultVO.setOptStatus(optStatus); if (Objects.equals(1, currentAlgo)) {
Date issueTimeDate = resultEntity.getIssueTime();
//Date issueTimeDate = DateUtils.parseDate(issueTime);
long optTime = issueTimeDate.getTime();
long currentTimeMillis = System.currentTimeMillis();
long offset = currentTimeMillis - optTime;
if (offset <= 15 * 60 * 1000) {
aiOptResultVO.setOptStatus(OptStatusEnum.ONE.getCode());
}
}
aiOptResultVO.setOptStatusName(Objects.equals(1, currentAlgo) ? OptStatusEnum.ONE.getDesc() : OptStatusEnum.TWO.getDesc()); aiOptResultVO.setOptStatusName(Objects.equals(1, currentAlgo) ? OptStatusEnum.ONE.getDesc() : OptStatusEnum.TWO.getDesc());
if (Objects.isNull(currentAlgo)) { if (Objects.isNull(currentAlgo)) {
aiOptResultVO.setOptStatus(-1); aiOptResultVO.setOptStatus(-1);
......
...@@ -6,6 +6,9 @@ import com.baomidou.mybatisplus.annotation.TableId; ...@@ -6,6 +6,9 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import net.wanji.common.utils.tool.DateUtil;
import java.util.Date;
/** /**
* @author duanruiming * @author duanruiming
...@@ -24,10 +27,10 @@ public class StrategyCrossResultEntity { ...@@ -24,10 +27,10 @@ public class StrategyCrossResultEntity {
private Integer currentAlgo; private Integer currentAlgo;
@TableField("request_time") @TableField("request_time")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private String requestTime; private Date requestTime;
@TableField("issue_time") @TableField("issue_time")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private String issueTime; private Date issueTime;
@TableField("response_code") @TableField("response_code")
private Integer responseCode; private Integer responseCode;
@TableField("timing_plan") @TableField("timing_plan")
......
...@@ -210,7 +210,9 @@ public class StrategyControlServiceImpl implements StrategyControlService { ...@@ -210,7 +210,9 @@ public class StrategyControlServiceImpl implements StrategyControlService {
histVO.setWkt(coordinateByCrossId.replace("POINT(", "").replace(" ", ",").replace(")", "")); histVO.setWkt(coordinateByCrossId.replace("POINT(", "").replace(" ", ",").replace(")", ""));
histVO.setStrategy(resultEntity.getCurrentAlgo()); histVO.setStrategy(resultEntity.getCurrentAlgo());
histVO.setStrategyName(StrategyCrossAlgoEnum.getDescByCode(resultEntity.getCurrentAlgo())); histVO.setStrategyName(StrategyCrossAlgoEnum.getDescByCode(resultEntity.getCurrentAlgo()));
histVO.setOptTime(resultEntity.getIssueTime()); Date issueTime = resultEntity.getIssueTime();
String format = net.wanji.common.utils.tool.DateUtil.format(issueTime, Constants.DATE_FORMAT.valueOf("yyyy-MM-dd HH:mm:ss"));
histVO.setOptTime(format);
histVO.setResult(Objects.equals(200, resultEntity.getResponseCode()) ? "成功" : "失败"); histVO.setResult(Objects.equals(200, resultEntity.getResponseCode()) ? "成功" : "失败");
results.add(histVO); results.add(histVO);
} }
......
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