Commit 7fee30dd authored by 黄伟铭's avatar 黄伟铭
parents 6f2677da 59431af8
......@@ -32,12 +32,12 @@ public class TEventOptimizeInfoController {
// 新增接口用于调用带有条件的分页查询
@ApiOperation(value = "报警优化信息-事件优化记录查询-根据条件分页查询记录", notes = "根据条件分页查询记录", produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON,hidden = false)
@ApiImplicitParams({
@ApiImplicitParam(name = "currentPage", value = "页数", required = true, dataType = "int",defaultValue = "1",example = "1"),
@ApiImplicitParam(name = "pageSize", value = "每页条数", required = true, dataType = "int",defaultValue = "10"),
@ApiImplicitParam(name = "currentPage", value = "页数", required = true, dataType = "Integer",defaultValue = "1",example = "1"),
@ApiImplicitParam(name = "pageSize", value = "每页条数", required = true, dataType = "Integer",defaultValue = "10"),
@ApiImplicitParam(name = "startTime", value = "开始时间,格式:yyyy-MM-dd HH:mm:ss", required = true, dataType = "String",defaultValue = "2025-03-21 00:00:00"),
@ApiImplicitParam(name = "endTime", value = "结束时间,格式:yyyy-MM-dd HH:mm:ss", required = true, dataType = "String",defaultValue = "2025-03-21 23:00:00"),
@ApiImplicitParam(name = "crossId", value = "路口id", required = false, dataType = "String",defaultValue = "",example = "13NAF0B5PH0"),
@ApiImplicitParam(name = "greenId", value = "干线id", required = false, dataType = "int",defaultValue = "",example = "4"),
@ApiImplicitParam(name = "greenId", value = "干线id", required = false, dataType = "Integer",defaultValue = "",example = "4"),
})
@GetMapping("/selectPageWithCrossIdAndGreenId")
public JsonViewObject selectPageWithCrossIdAndGreenId(
......@@ -62,8 +62,8 @@ public class TEventOptimizeInfoController {
@ApiOperation(value = "报警优化信息-根据条件分页查询记录", notes = "根据条件分页查询记录", produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON,hidden = false)
@ApiImplicitParams({
@ApiImplicitParam(name = "currentPage", value = "页数", required = true, dataType = "int",defaultValue = "1",example = "1"),
@ApiImplicitParam(name = "pageSize", value = "每页条数", required = true, dataType = "int",defaultValue = "10"),
@ApiImplicitParam(name = "currentPage", value = "页数", required = true, dataType = "Integer",defaultValue = "1",example = "1"),
@ApiImplicitParam(name = "pageSize", value = "每页条数", required = true, dataType = "Integer",defaultValue = "10"),
@ApiImplicitParam(name = "startTime", value = "开始时间,格式:yyyy-MM-dd HH:mm:ss", required = true, dataType = "String",defaultValue = "2025-03-21 00:00:00"),
@ApiImplicitParam(name = "endTime", value = "结束时间,格式:yyyy-MM-dd HH:mm:ss", required = true, dataType = "String",defaultValue = "2025-03-21 23:00:00"),
@ApiImplicitParam(name = "crossId", value = "路口id", required = true, dataType = "String",defaultValue = "",example = "13MOD0B5SI0"),
......@@ -134,8 +134,8 @@ public class TEventOptimizeInfoController {
// 新增绿波干线接口用于调用带有条件的分页查询
@ApiOperation(value = "报警优化干线信息-根据条件分页查询记录", notes = "根据条件分页查询记录", produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON,hidden = false)
@ApiImplicitParams({
@ApiImplicitParam(name = "currentPage", value = "页数", required = true, dataType = "int",defaultValue = "1",example = "1"),
@ApiImplicitParam(name = "pageSize", value = "每页条数", required = true, dataType = "int",defaultValue = "10"),
@ApiImplicitParam(name = "currentPage", value = "页数", required = true, dataType = "Integer",defaultValue = "1",example = "1"),
@ApiImplicitParam(name = "pageSize", value = "每页条数", required = true, dataType = "Integer",defaultValue = "10"),
@ApiImplicitParam(name = "startTime", value = "开始时间,格式:yyyy-MM-dd HH:mm:ss", required = false, dataType = "String",defaultValue = "2025-03-21 00:00:00"),
@ApiImplicitParam(name = "endTime", value = "结束时间,格式:yyyy-MM-dd HH:mm:ss", required = false, dataType = "String",defaultValue = "2025-03-21 23:00:00"),
@ApiImplicitParam(name = "greenId", value = "绿波干线", required = true, dataType = "integer", defaultValue = "1"),
......
......@@ -32,10 +32,6 @@ public class CrossProblemTotalityAnalysisResult extends ParentResult {
@Data
class CrossProblemTotalityResultResponse {
@ApiModelProperty(value = "路口名称", example = "经十路(舜耕路-山大路)",position = 0)
private String crossName;
@ApiModelProperty(value = "本周溢出总次数", example = "20次",position = 1)
private String weekOverFlowCount;
@ApiModelProperty(value = "本周溢出总次数与上周比较情况", example = "增加【减少】10%",position = 2)
......
......@@ -48,7 +48,6 @@ public class HisenseGreenChartTask {
@Scheduled(fixedRate = 1 * 60 * 1000, initialDelay = 1 * 60 * 1000)
//@Scheduled(fixedRate = 10 * 60 * 1000, initialDelay = 30 * 1000)
public void getGreenChart() {
try {
ObjectMapper mapper = JacksonUtils.getInstance();
......@@ -84,9 +83,7 @@ public class HisenseGreenChartTask {
// 1.根据绿波带长度和速度计算行程时间
// 2.根据相位差,行程时间,海信环图计算绿灯红灯点位 正向 crossRedTimesMap 反向backCrossRedTimesMap
//Map<Integer, List<GreenCrossDirDTO>> greenMap = greenCrossDirCache.stream().collect(Collectors.groupingBy(GreenCrossDirDTO::getGreenId));
// todo 测试只需要绿波编号1
Map<Integer, List<GreenCrossDirDTO>> greenMap = greenCrossDirCache.stream().filter(po -> Objects.equals(1, po.getGreenId())).collect(Collectors.groupingBy(GreenCrossDirDTO::getGreenId));
Map<Integer, List<GreenCrossDirDTO>> greenMap = greenCrossDirCache.stream().collect(Collectors.groupingBy(GreenCrossDirDTO::getGreenId));
List<GreenBeltChartDTO> greenBeltChartDTOS = new ArrayList<>();
for (Map.Entry<Integer, List<GreenCrossDirDTO>> entry : greenMap.entrySet()) {
GreenBeltChartDTO greenBeltChartDTO = new GreenBeltChartDTO();
......@@ -185,8 +182,8 @@ public class HisenseGreenChartTask {
greenChartSchemeHist.setQueryDate(date);
greenChartSchemeHistMapper.insert(greenChartSchemeHist);
}
log.info("绿波图实体参数:{}", mapper.writeValueAsString(results));
log.info("绿波路口方案环图信息:{}", mapper.writeValueAsString(greenSchemeRingPhaseMap));
log.debug("绿波图实体参数:{}", mapper.writeValueAsString(results));
log.debug("绿波路口方案环图信息:{}", mapper.writeValueAsString(greenSchemeRingPhaseMap));
}
} catch (Exception e) {
log.error("通过海信方案处理绿波波定时任务失败:{}", e);
......@@ -235,40 +232,42 @@ public class HisenseGreenChartTask {
List<List<Double>> firstList = crossGreenTimesMap.get(firstCrossId);
List<List<Double>> secondList = crossGreenTimesMap.get(secondCrossId);
// 第一个路口循环绿灯开始时间
for (int i1 = 0; i1 < firstList.size(); i1++) {
List<Double> greenStartEnd = firstList.get(i1);
Double greenStart = greenStartEnd.get(0);
Double greenEnd = greenStartEnd.get(1);
int index = 0;
Double start = 0.0;
Double end = 0.0;
Double start2 = 0.0;
Double end2 = 0.0;
for (int j = greenStart.intValue(); j <= greenEnd.intValue(); j++) {
int firstStartPoint = j + travelTime.intValue();
for (int i3 = 0; i3 < secondList.size(); i3++) {
List<Double> greenStartEnd2 = secondList.get(i3);
Double greenStart2 = greenStartEnd2.get(0);
Double greenEnd2 = greenStartEnd2.get(1);
if (!CollectionUtils.isEmpty(firstList) && !CollectionUtils.isEmpty(secondList)) {
for (int i1 = 0; i1 < firstList.size(); i1++) {
List<Double> greenStartEnd = firstList.get(i1);
Double greenStart = greenStartEnd.get(0);
Double greenEnd = greenStartEnd.get(1);
int index = 0;
Double start = 0.0;
Double end = 0.0;
Double start2 = 0.0;
Double end2 = 0.0;
for (int j = greenStart.intValue(); j <= greenEnd.intValue(); j++) {
int firstStartPoint = j + travelTime.intValue();
for (int i3 = 0; i3 < secondList.size(); i3++) {
List<Double> greenStartEnd2 = secondList.get(i3);
Double greenStart2 = greenStartEnd2.get(0);
Double greenEnd2 = greenStartEnd2.get(1);
if (greenStart <= j && j <= greenEnd
&& greenStart2 <= firstStartPoint && firstStartPoint <= greenEnd2) {
if (greenStart <= j && j <= greenEnd
&& greenStart2 <= firstStartPoint && firstStartPoint <= greenEnd2) {
if (index == 0) {
start = j * 1.0;
start2 = firstStartPoint * 1.0;
} else {
Double tempEnd = j * 1.0;
end = end > tempEnd ? end : tempEnd;
Double tempEnd2 = firstStartPoint * 1.0;
end2 = end2 > tempEnd2 ? end2 : tempEnd2;
if (index == 0) {
start = j * 1.0;
start2 = firstStartPoint * 1.0;
} else {
Double tempEnd = j * 1.0;
end = end > tempEnd ? end : tempEnd;
Double tempEnd2 = firstStartPoint * 1.0;
end2 = end2 > tempEnd2 ? end2 : tempEnd2;
}
++index;
}
++index;
}
}
firstGreenStartList.add(Arrays.asList(start, end));
secondGreenStartList.add(Arrays.asList(start2, end2));
}
firstGreenStartList.add(Arrays.asList(start, end));
secondGreenStartList.add(Arrays.asList(start2, end2));
}
}
greenStartMap.put(firstCrossId, firstGreenStartList);
......@@ -309,10 +308,13 @@ public class HisenseGreenChartTask {
String crossId = greenCrossDirDTO.getCrossId();
Integer distance = greenCrossDirDTO.getDistance();
distances.add(distance * 1.0);
//String crossId = "13MQJ0B5SI0";
String crossKey = CommonUtils.getStrJoin(String.valueOf(crossId), String.valueOf(indexDir));
// 获取海信环相位信息
SchemeGreenDirGreenTimeDTO firstGreenTimeDTO = greenDirGreenTimeMap.get(crossKey);
if (Objects.isNull(firstGreenTimeDTO)) {
log.error("当前路口:{}, 没有环相位信息异常", crossKey);
continue;
}
Integer cycleLen = firstGreenTimeDTO.getCycleLen();
// * 1.0转Double
Double offset = firstGreenTimeDTO.getOffset() * 1.0;
......@@ -377,8 +379,6 @@ public class HisenseGreenChartTask {
private Map<String, GreenwaveRealtimePO> getGreenRealTimeMap() {
Map<String, GreenwaveRealtimePO> realTimeMap = new HashMap<>();
LambdaQueryWrapper<GreenwaveRealtimePO> queryWrapper = new LambdaQueryWrapper<>();
// todo 测试绿波1
queryWrapper.eq(GreenwaveRealtimePO::getGreenId, 1);
List<GreenwaveRealtimePO> greenwaveRealtimePOList = greenwaveRealtimeMapper.selectList(queryWrapper);
for (GreenwaveRealtimePO greenwaveRealtimePO : greenwaveRealtimePOList) {
Integer greenId = greenwaveRealtimePO.getGreenId();
......
......@@ -34,7 +34,7 @@ public class HisenseSchemeRingPhaseInfoTask {
@Resource
private GreenChartSchemeRingPhaseMapper greenChartSchemeRingPhaseMapper;
@Scheduled(fixedRate = 1 * 60 * 1000, initialDelay = 1 * 60 * 1000)
@Scheduled(fixedRate = 10 * 60 * 1000, initialDelay = 1 * 60 * 1000)
public void getSchemeRingPhase() {
List<SchemeGreenDirGreenTimeDTO> schemeGreenDirGreenTimeDTOS = new ArrayList<>();
ObjectMapper mapper = JacksonUtils.getInstance();
......
......@@ -32,12 +32,12 @@ public class TEventOptimizeInfoController {
// 新增接口用于调用带有条件的分页查询
@ApiOperation(value = "报警优化信息-事件优化记录查询-根据条件分页查询记录", notes = "根据条件分页查询记录", produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON,hidden = false)
@ApiImplicitParams({
@ApiImplicitParam(name = "currentPage", value = "页数", required = true, dataType = "int",defaultValue = "1",example = "1"),
@ApiImplicitParam(name = "pageSize", value = "每页条数", required = true, dataType = "int",defaultValue = "10"),
@ApiImplicitParam(name = "currentPage", value = "页数", required = true, dataType = "Integer",defaultValue = "1",example = "1"),
@ApiImplicitParam(name = "pageSize", value = "每页条数", required = true, dataType = "Integer",defaultValue = "10"),
@ApiImplicitParam(name = "startTime", value = "开始时间,格式:yyyy-MM-dd HH:mm:ss", required = true, dataType = "String",defaultValue = "2025-03-21 00:00:00"),
@ApiImplicitParam(name = "endTime", value = "结束时间,格式:yyyy-MM-dd HH:mm:ss", required = true, dataType = "String",defaultValue = "2025-03-21 23:00:00"),
@ApiImplicitParam(name = "crossId", value = "路口id", required = false, dataType = "String",defaultValue = "",example = "13NAF0B5PH0"),
@ApiImplicitParam(name = "greenId", value = "干线id", required = false, dataType = "int",defaultValue = "",example = "4"),
@ApiImplicitParam(name = "greenId", value = "干线id", required = false, dataType = "Integer",defaultValue = "",example = "4"),
})
@GetMapping("/selectPageWithCrossIdAndGreenId")
public JsonViewObject selectPageWithCrossIdAndGreenId(
......@@ -62,8 +62,8 @@ public class TEventOptimizeInfoController {
@ApiOperation(value = "报警优化信息-根据条件分页查询记录", notes = "根据条件分页查询记录", produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON,hidden = false)
@ApiImplicitParams({
@ApiImplicitParam(name = "currentPage", value = "页数", required = true, dataType = "int",defaultValue = "1",example = "1"),
@ApiImplicitParam(name = "pageSize", value = "每页条数", required = true, dataType = "int",defaultValue = "10"),
@ApiImplicitParam(name = "currentPage", value = "页数", required = true, dataType = "integer",defaultValue = "1",example = "1"),
@ApiImplicitParam(name = "pageSize", value = "每页条数", required = true, dataType = "integer",defaultValue = "10"),
@ApiImplicitParam(name = "startTime", value = "开始时间,格式:yyyy-MM-dd HH:mm:ss", required = true, dataType = "String",defaultValue = "2025-03-21 00:00:00"),
@ApiImplicitParam(name = "endTime", value = "结束时间,格式:yyyy-MM-dd HH:mm:ss", required = true, dataType = "String",defaultValue = "2025-03-21 23:00:00"),
@ApiImplicitParam(name = "crossId", value = "路口id", required = true, dataType = "String",defaultValue = "",example = "13MOD0B5SI0"),
......@@ -134,8 +134,8 @@ public class TEventOptimizeInfoController {
// 新增绿波干线接口用于调用带有条件的分页查询
@ApiOperation(value = "报警优化干线信息-根据条件分页查询记录", notes = "根据条件分页查询记录", produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON,hidden = false)
@ApiImplicitParams({
@ApiImplicitParam(name = "currentPage", value = "页数", required = true, dataType = "int",defaultValue = "1",example = "1"),
@ApiImplicitParam(name = "pageSize", value = "每页条数", required = true, dataType = "int",defaultValue = "10"),
@ApiImplicitParam(name = "currentPage", value = "页数", required = true, dataType = "integer",defaultValue = "1",example = "1"),
@ApiImplicitParam(name = "pageSize", value = "每页条数", required = true, dataType = "integer",defaultValue = "10"),
@ApiImplicitParam(name = "startTime", value = "开始时间,格式:yyyy-MM-dd HH:mm:ss", required = false, dataType = "String",defaultValue = "2025-03-21 00:00:00"),
@ApiImplicitParam(name = "endTime", value = "结束时间,格式:yyyy-MM-dd HH:mm:ss", required = false, dataType = "String",defaultValue = "2025-03-21 23:00:00"),
@ApiImplicitParam(name = "greenId", value = "绿波干线", required = true, dataType = "integer", defaultValue = "1"),
......
......@@ -4,20 +4,19 @@ import com.alibaba.fastjson.JSON;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.wanji.opt.controllerv2.judgeanalysis.design.response.ParentResult;
import net.wanji.opt.vo2.TrunkLineCrossProblemVO;
import java.util.List;
@Data
public class GreenHighFrequencyProblemReasonResult extends ParentResult {
private List<TrunkLineCrossProblemEntity> content;
private List<JudTrunkLineCrossProblemEntity> content;
public List<TrunkLineCrossProblemEntity> getContent() {
public List<JudTrunkLineCrossProblemEntity> getContent() {
return content;
}
public GreenHighFrequencyProblemReasonResult setContent( List<TrunkLineCrossProblemEntity> content) {
public GreenHighFrequencyProblemReasonResult setContent( List<JudTrunkLineCrossProblemEntity> content) {
this.content = content;
return this;
}
......@@ -31,7 +30,7 @@ public class GreenHighFrequencyProblemReasonResult extends ParentResult {
@Data
class TrunkLineCrossProblemEntity {
class JudTrunkLineCrossProblemEntity {
@ApiModelProperty(value = "干线ID",example = "")
private String greenId;
@ApiModelProperty(value = "路口ID",example = "")
......
......@@ -32,10 +32,6 @@ public class CrossProblemTotalityAnalysisResult extends ParentResult {
@Data
class CrossProblemTotalityResultResponse {
@ApiModelProperty(value = "路口名称", example = "经十路(舜耕路-山大路)",position = 0)
private String crossName;
@ApiModelProperty(value = "本周溢出总次数", example = "20次",position = 1)
private String weekOverFlowCount;
@ApiModelProperty(value = "本周溢出总次数与上周比较情况", example = "增加【减少】10%",position = 2)
......
package net.wanji.opt.entity.strategy;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/*
* 调度参数配置推送神思
* */
@Data
@EqualsAndHashCode(callSuper = false)
public class SchedulingParamPush {
//开始参数
private List<StrategySchedulingItem> start;
//停止参数
private List<StrategySchedulingItem> end;
}
package net.wanji.opt.entity.strategy;
import lombok.Data;
import lombok.EqualsAndHashCode;
/*
* 参数配置详情推送神思
* */
@Data
@EqualsAndHashCode(callSuper = false)
public class StrategyParamDetailsPush {
//参数中文名称
private String paramCN;
//参数英文名称
private String paramEN;
//参数数据类型
private String dataType;
//参数描述
private String description;
//参数阈值[1,3]
private String threshold;
//参数值
private String value;
}
package net.wanji.opt.entity.strategy;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/*
* 参数配置推送神思最外层
* */
@Data
@EqualsAndHashCode(callSuper = false)
public class StrategyParameterPush {
//1-路口;2干线
private int type;
//干线编号
private List<Integer> greenId;
//路口编号
private List<String> crossId;
//策略唯一编号
private String strategyNo;
//策略名称
private String strategyName;
//场景 编号
private Integer scene;
//场景名称
private String method;
//参数配置
private List<StrategyParamDetailsPush> paramDetails;
//策略调度参数启停
private SchedulingParamPush schedulingParam;
}
......@@ -45,6 +45,12 @@ public class StrategyPriorityGroup {
//干线 IDs
private List<Integer> greenIds;
//策略名称 参数配置神思用
private String strategyName;
//场景 参数配置神思用
private String method;
//场景code 参数配置神思用
private Integer scene;
}
......@@ -42,7 +42,7 @@ public interface StrategyPriorityService extends IService<StrategyPriorityDailyI
List<StrategyPriorityDailyInfo> getPlanConfigData(String crossId, Integer greenId,Integer type);
void saveParamterConfig(StrategyPriorityGroup strategyPriorityGroup) throws JsonProcessingException;
void saveParamterConfig(StrategyPriorityGroup strategyPriorityGroup) throws Exception;
List<StrategyParameterConfig> getParamConfigData(String crossId,Integer greenId, Integer type);
......
......@@ -333,7 +333,7 @@ import java.util.stream.Collectors;
* */
@Override
@Transactional
public void saveParamterConfig(StrategyPriorityGroup group) throws JsonProcessingException {
public void saveParamterConfig(StrategyPriorityGroup group) throws Exception {
try {
List<StrategyParameterConfig> savePlanList = new ArrayList<>();
......@@ -402,6 +402,10 @@ import java.util.stream.Collectors;
}
strategyPriorityMapper.saveParamConfig(savePlanList);
//组装神思需要的参数配置接口
StrategyParameterPush strategyParameterPush = pushStrategyPriorityParam(group);
//推送神思
//Result result = pushStrategyControlService.StartegyPriorityParameterPush(strategyParameterPush);
}catch (Exception e){
log.error("{} saveParamterConfig", this.getClass().getSimpleName(), e);
throw e;
......@@ -652,4 +656,69 @@ import java.util.stream.Collectors;
return strategyPriorityPlanPush;
}
/*参数配置神思推送*/
private StrategyParameterPush pushStrategyPriorityParam(StrategyPriorityGroup group) {
//推送神思接口
StrategyParameterPush strategyParameterPush= new StrategyParameterPush();
//类型:1路口 2 干线
Integer type = group.getType();
//路口id
List<String>crossIds=group.getCrossIds();
//干线id
List<Integer>greenIds=group.getGreenIds();
//策略编号
String strategyNo = group.getStrategyNo();
//策略名称
String strategyName = group.getStrategyName();
//场景编号
Integer scene = group.getScene();
//场景名称
String method = group.getMethod();
//1 路口 2干线
if (type==1){
strategyParameterPush.setType(1);
strategyParameterPush.setGreenId(null);
strategyParameterPush.setCrossId(crossIds);
}else {
strategyParameterPush.setType(2);
strategyParameterPush.setGreenId(greenIds);
strategyParameterPush.setCrossId(null);
}
strategyParameterPush.setStrategyNo(strategyNo);
strategyParameterPush.setStrategyName(strategyName);
strategyParameterPush.setScene(scene);
strategyParameterPush.setMethod(method);
//参数详情
List<StrategyParamDetailsPush> strategyParamDetailsList =new ArrayList<>();
//参数详情
List<StrategyPriorityParamter> parameterConfigList = group.getParameterConfigList();
for (StrategyPriorityParamter item:parameterConfigList){
StrategyParamDetailsPush strategyParamDetailsPush = new StrategyParamDetailsPush();
strategyParamDetailsPush.setParamEN(item.getParamEN());
strategyParamDetailsPush.setParamCN(item.getParamCN());
strategyParamDetailsPush.setDescription(item.getDescription());
strategyParamDetailsPush.setDataType(item.getDataType());
strategyParamDetailsPush.setThreshold(item.getThreshold());
strategyParamDetailsPush.setValue(item.getValue());
strategyParamDetailsList.add(strategyParamDetailsPush);
}
strategyParameterPush.setParamDetails(strategyParamDetailsList);
if(type==1){
//取出调度详情
StrategySchedulingParam schedulingParamters = group.getSchedulingParamters();
List<StrategySchedulingItem> start = schedulingParamters.getStart();
List<StrategySchedulingItem> end = schedulingParamters.getEnd();
//组装调度详情
SchedulingParamPush schedulingParamPush = new SchedulingParamPush();
schedulingParamPush.setStart(start);
schedulingParamPush.setEnd(end);
strategyParameterPush.setSchedulingParam(schedulingParamPush);
}else {
strategyParameterPush.setSchedulingParam(null);
}
return strategyParameterPush;
}
}
package net.wanji.opt.synthesis.service;
import net.wanji.opt.entity.strategy.StrategyParameterPush;
import net.wanji.opt.entity.strategy.StrategyPriorityConfigPush;
import net.wanji.opt.entity.strategy.StrategyPriorityPlanPush;
import net.wanji.opt.synthesis.pojo.Result;
......@@ -44,5 +45,13 @@ public interface PushStrategyControlService {
* @throws Exception
*/
Result StartegyPriorityPlanPush(StrategyPriorityPlanPush req) throws Exception;
/**
* 策略管理参数配置推送
* @param req
* @return
* @throws Exception
*/
Result StartegyPriorityParameterPush(StrategyParameterPush req) throws Exception;
}
......@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.tool.resttool.RestTemplateTool;
import net.wanji.common.utils.tool.JacksonUtils;
import net.wanji.opt.entity.strategy.StrategyParameterPush;
import net.wanji.opt.entity.strategy.StrategyPriorityConfigPush;
import net.wanji.opt.entity.strategy.StrategyPriorityPlanPush;
import net.wanji.opt.synthesis.pojo.Result;
......@@ -106,7 +107,6 @@ public class PushStrategyControlServiceImpl implements PushStrategyControlServic
System.out.println("req~~"+req);
// 序列化请求参数
String jsonReq = mapper.writeValueAsString(req);
System.out.println("请求参数: " + jsonReq);
String resultStr = RestTemplateTool.post(switchUrl, jsonReq);
if (StringUtils.isNotBlank(resultStr)) {
log.info("下发神思策略管理日计划配置推送成功,内容: {}", req);
......@@ -121,4 +121,33 @@ public class PushStrategyControlServiceImpl implements PushStrategyControlServic
throw new Exception(e);
}
}
/**
* 策略管理参数配置推送
* @param req
* @return
* @throws Exception
*/
@Override
public Result StartegyPriorityParameterPush(StrategyParameterPush req) throws Exception {
try {
ObjectMapper mapper = JacksonUtils.getInstance();
System.out.println("req~~"+req);
// 序列化请求参数
String jsonReq = mapper.writeValueAsString(req);
String resultStr = RestTemplateTool.post(switchUrl, jsonReq);
if (StringUtils.isNotBlank(resultStr)) {
log.info("下发神思策略管理参数配置推送成功,内容: {}", req);
Result result = mapper.readValue(resultStr, Result.class);
return result;
} else {
log.error("策略管理参数配置推送url:{}失败:返回数据异常", switchUrl);
return new Result("500", "服务调用失败", null);
}
} catch (Exception e) {
log.error("策略理参数配置推送url:{},失败:{}", switchUrl, e);
throw new Exception(e);
}
}
}
......@@ -53,6 +53,7 @@
<file>${LOG_PATH}/opt/error.log</file>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
<level>WARN</level>
</filter>>
<encoder>
<pattern>${normal-pattern}</pattern>
......@@ -68,7 +69,7 @@
</rollingPolicy>
</appender>
<root level="INFO">
<root level="DEBUG">
<appender-ref ref="consoleLog"/>
<appender-ref ref="fileInfoLog"/>
<appender-ref ref="fileErrorLog"/>
......
......@@ -392,10 +392,10 @@
SELECT t1.green_id as greenId, t4.name as waveName, t1.cross_id as crossId,
t3.name as crossName,t1.sort,
t2.daily_plan_details as dailyPlanDetails
FROM t_greenwave_cross t1
LEFT JOIN t_strategy_priority_daily_info t2 on t1.cross_id = t2.cross_id and t2.type=2
LEFT JOIN t_base_cross_info t3 on t1.cross_id = t3.id
LEFT JOIN t_greenwave_info t4 on t1.green_id = t4.id
FROM t_greenwave_info t4
LEFT JOIN t_greenwave_cross t1 on t1.green_id = t4.id
LEFT JOIN t_strategy_priority_daily_info t2 on t1.cross_id = t2.cross_id and t2.type=2
LEFT JOIN t_base_cross_info t3 on t1.cross_id = t3.id
</select>
<select id="selectGreenPriorityTable" parameterType="map" resultType="net.wanji.opt.entity.strategy.StrategyPriorityConfig">
select
......
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