Commit f13a6341 authored by hanbing's avatar hanbing

[update] 诊断优化,下发手动干预增加数据拓展JSON

parent 95f84355
......@@ -23,6 +23,7 @@ import net.wanji.opt.dao.mapper.trend.CrossDataRealtimeMapper;
import net.wanji.opt.dao.mapper.trend.CrossDirDataHistMapper;
import net.wanji.opt.dto.CrossIdAndDirDTO;
import net.wanji.opt.dto.CrossIdAndSchemeIdDTO;
import net.wanji.opt.dto.OptDataExtend;
import net.wanji.opt.dto.SendManualDTO;
import net.wanji.opt.dto.strategy.AddOrUpdateSceneDTO;
import net.wanji.opt.dto.strategy.QuerySceneDTO;
......@@ -74,7 +75,6 @@ public class DiagnoServiceImpl implements DiagnoService {
private final FeignProxyService feignProxyService;
private final CrossDataHistMapper crossDataHistMapper;
private final CrossDirDataHistMapper crossDirDataHistMapper;
private Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
public DiagnoServiceImpl(CrossInfoMapper crossInfoMapper, CrossDataRealtimeMapper crossDataRealtimeMapper,
......@@ -206,7 +206,11 @@ public class DiagnoServiceImpl implements DiagnoService {
@Override
public void sendManual(SendManualDTO sendManualDTO) throws Exception {
// 构造场景、策略、方法
String optDataExtend = buildOptDataExtend(sendManualDTO);
SchemeOptSendVO schemeOptSendVO = new SchemeOptSendVO();
schemeOptSendVO.setDataExtend(optDataExtend);
Integer optTypeInt = sendManualDTO.getOptType();
String optTypeStr = String.valueOf(optTypeInt);
schemeOptSendVO.setOptType(optTypeStr);
......@@ -237,6 +241,24 @@ public class DiagnoServiceImpl implements DiagnoService {
feignProxyService.schemeOptSend(schemeOptSendVO);
}
private String buildOptDataExtend(SendManualDTO sendManualDTO) {
String crossId = sendManualDTO.getSendCrossId();
// 选择数据批次时间最大的记录
List<CrossSchemeOptLogPO> maxList = crossSchemeOptLogMapper.selectMaxByCrossId(crossId);
if (CollectionUtil.isEmpty(maxList)) {
throw new RuntimeException("没有该路口优化日志数据");
}
CrossSchemeOptLogPO crossSchemeOptLogPO = maxList.get(0);
String dataExtend = crossSchemeOptLogPO.getDataExtend();
OptDataExtend optDataExtendOld = gson.fromJson(dataExtend, OptDataExtend.class);
OptDataExtend optDataExtendNew = new OptDataExtend();
optDataExtendNew.setSceneName(optDataExtendOld.getSceneName());
optDataExtendNew.setStrategyName(optDataExtendOld.getStrategyName());
// todo 改为枚举值
optDataExtendNew.setIdeaName("手动干预");
return gson.toJson(optDataExtendNew);
}
private List<SchemeSendVO.Pattern> buildPatternList(String sendCrossId, Integer schemeId,
Map<String, Integer> phaseOffsetTimeMap) {
List<SchemeSendVO.Pattern> patternList = new ArrayList<>();
......
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