Commit f3732b5c authored by zhoushiguang's avatar zhoushiguang

Merge remote-tracking branch 'origin/master'

parents afc6ff71 fd841aec
......@@ -298,7 +298,7 @@ import java.util.stream.Collectors;
StrategyPriorityPlanPush strategyPriorityPlanPush = pushStrategyPriorityPlan(dailyPlanDetails);
List<StrategyPriorityPlanPush> strategyPriorityPlanPush = pushStrategyPriorityPlan(dailyPlanDetails);
//推送日计划配置到神思
//Result result = pushStrategyControlService.StartegyPriorityPlanPush(strategyPriorityPlanPush);
}catch (Exception e){
......@@ -403,7 +403,7 @@ import java.util.stream.Collectors;
strategyPriorityMapper.saveParamConfig(savePlanList);
//组装神思需要的参数配置接口
StrategyParameterPush strategyParameterPush = pushStrategyPriorityParam(group);
List<StrategyParameterPush> strategyParameterPush = pushStrategyPriorityParam(group);
//推送神思
//Result result = pushStrategyControlService.StartegyPriorityParameterPush(strategyParameterPush);
}catch (Exception e){
......@@ -497,84 +497,147 @@ import java.util.stream.Collectors;
}
/*优先级配置神思推送*/
// private List<StrategyPriorityConfigPush> pushStrategyPriorityConfig(List<StrategyPriorityGroup> dataList) {
// //最终优先级配置推送神思
// List<StrategyPriorityConfigPush> pushStrategyPriorityList = new ArrayList<>();
//
// for (StrategyPriorityGroup group : dataList) {
// // 创建顶层对象
// StrategyPriorityConfigPush strategyPriorityConfigPush = new StrategyPriorityConfigPush();
// //1:路口 2:干线
// Integer type = group.getType();
// if (type==1){
// //路口ID
// List<String> crossIds = group.getCrossIds();
// strategyPriorityConfigPush.setCrossId(crossIds);
// //干线ID
// List<Integer> greenIds = group.getGreenIds();
// strategyPriorityConfigPush.setGreenId(null);
// //type
// strategyPriorityConfigPush.setType(type);
//
// // 组装分组详情
// List<GroupIdDetails> groupIdDetailsList = new ArrayList<>();
// GroupIdDetails groupIdDetails = new GroupIdDetails();
// //分组名称
// String label = group.getLabel();
// //分组编号
// Integer labelCode = group.getLabelCode();
// groupIdDetails.setGroupId(labelCode);
// groupIdDetails.setGroupName(label);
// // 创建一个临时列表,用于存储所有详情数据
// List<StrategyPriorityDetailsPush> detailsList = new ArrayList<>();
// //组装详情数据
// for (StrategyPriorityConfig item : group.getData()) {
// StrategyPriorityDetailsPush strategyPriorityDetailsPush=new StrategyPriorityDetailsPush();
// //策略编号
// strategyPriorityDetailsPush.setStrategyNo(item.getStrategyNo());
// //策略名称
// strategyPriorityDetailsPush.setStrategyName(item.getStrategyName());
// //优先级
// strategyPriorityDetailsPush.setPriority(item.getPriority());
// //场景名称
// strategyPriorityDetailsPush.setMethod(item.getMethod());
// //场景编码
// strategyPriorityDetailsPush.setScene(item.getScene());
// //公司名称
// strategyPriorityDetailsPush.setCompany(item.getCompany());
// // 将详情数据添加到临时列表中
// detailsList.add(strategyPriorityDetailsPush);
// }
// //设置详情数据
// groupIdDetails.setStrategyDetails(detailsList);
//
// groupIdDetailsList.add(groupIdDetails);
// strategyPriorityConfigPush.setGroupIdDetails(groupIdDetailsList);
// // 将组装好的 StrategyPriorityConfigPush 对象添加到最终列表中
// pushStrategyPriorityList.add(strategyPriorityConfigPush);
//
// }else if (type==2){
// //干线ID
// List<Integer> greenIds = group.getGreenIds();
// strategyPriorityConfigPush.setGreenId(greenIds);
// strategyPriorityConfigPush.setType(type);
// //路口ID
// List<String> crossIds = group.getCrossIds();
// strategyPriorityConfigPush.setCrossId(null);
// // 组装分组详情
// List<GroupIdDetails> groupIdDetailsList = new ArrayList<>();
// GroupIdDetails groupIdDetails = new GroupIdDetails();
// //分组名称
// String label = group.getLabel();
// //分组编号
// Integer labelCode = group.getLabelCode();
// groupIdDetails.setGroupId(labelCode);
// groupIdDetails.setGroupName(label);
// // 创建一个临时列表,用于存储所有详情数据
// List<StrategyPriorityDetailsPush> detailsList = new ArrayList<>();
// //组装详情数据
// for (StrategyPriorityConfig item : group.getData()) {
// StrategyPriorityDetailsPush strategyPriorityDetailsPush=new StrategyPriorityDetailsPush();
// //策略编号
// strategyPriorityDetailsPush.setStrategyNo(item.getStrategyNo());
// //策略名称
// strategyPriorityDetailsPush.setStrategyName(item.getStrategyName());
// //优先级
// strategyPriorityDetailsPush.setPriority(item.getPriority());
// //场景名称
// strategyPriorityDetailsPush.setMethod(item.getMethod());
// //场景编码
// strategyPriorityDetailsPush.setScene(item.getScene());
// //公司名称
// strategyPriorityDetailsPush.setCompany(item.getCompany());
// // 将详情数据添加到临时列表中
// detailsList.add(strategyPriorityDetailsPush);
// }
// //设置详情数据
// groupIdDetails.setStrategyDetails(detailsList);
//
// groupIdDetailsList.add(groupIdDetails);
// strategyPriorityConfigPush.setGroupIdDetails(groupIdDetailsList);
// // 将组装好的 StrategyPriorityConfigPush 对象添加到最终列表中
// pushStrategyPriorityList.add(strategyPriorityConfigPush);
// }
// }
// return pushStrategyPriorityList;
// }
/*优先级配置神思推送*/
private List<StrategyPriorityConfigPush> pushStrategyPriorityConfig(List<StrategyPriorityGroup> dataList) {
//最终优先级配置推送神思
// 最终优先级配置推送神思
List<StrategyPriorityConfigPush> pushStrategyPriorityList = new ArrayList<>();
// 创建顶层对象
StrategyPriorityConfigPush strategyPriorityConfigPush = new StrategyPriorityConfigPush();
// 分组详情列表
List<GroupIdDetails> groupIdDetailsList = new ArrayList<>();
for (StrategyPriorityGroup group : dataList) {
for (StrategyPriorityGroup group : dataList) {
// 创建顶层对象
StrategyPriorityConfigPush strategyPriorityConfigPush = new StrategyPriorityConfigPush();
//1:路口 2:干线
// 设置基本信息
Integer type = group.getType();
if (type==1){
//路口ID
List<String> crossIds = group.getCrossIds();
strategyPriorityConfigPush.setCrossId(crossIds);
//干线ID
List<Integer> greenIds = group.getGreenIds();
strategyPriorityConfigPush.setType(type);
if (type == 1) {
// 路口类型
strategyPriorityConfigPush.setCrossId(group.getCrossIds());
strategyPriorityConfigPush.setGreenId(null);
//type
strategyPriorityConfigPush.setType(type);
} else if (type == 2) {
// 干线类型
strategyPriorityConfigPush.setGreenId(group.getGreenIds());
strategyPriorityConfigPush.setCrossId(null);
}
// 组装分组详情
List<GroupIdDetails> groupIdDetailsList = new ArrayList<>();
GroupIdDetails groupIdDetails = new GroupIdDetails();
//分组名称
String label = group.getLabel();
//分组编号
Integer labelCode = group.getLabelCode();
groupIdDetails.setGroupId(labelCode);
groupIdDetails.setGroupName(label);
// 创建一个临时列表,用于存储所有详情数据
List<StrategyPriorityDetailsPush> detailsList = new ArrayList<>();
//组装详情数据
for (StrategyPriorityConfig item : group.getData()) {
StrategyPriorityDetailsPush strategyPriorityDetailsPush=new StrategyPriorityDetailsPush();
//策略编号
strategyPriorityDetailsPush.setStrategyNo(item.getStrategyNo());
//策略名称
strategyPriorityDetailsPush.setStrategyName(item.getStrategyName());
//优先级
strategyPriorityDetailsPush.setPriority(item.getPriority());
//场景名称
strategyPriorityDetailsPush.setMethod(item.getMethod());
//场景编码
strategyPriorityDetailsPush.setScene(item.getScene());
//公司名称
strategyPriorityDetailsPush.setCompany(item.getCompany());
// 将详情数据添加到临时列表中
detailsList.add(strategyPriorityDetailsPush);
}
//设置详情数据
groupIdDetails.setStrategyDetails(detailsList);
groupIdDetailsList.add(groupIdDetails);
strategyPriorityConfigPush.setGroupIdDetails(groupIdDetailsList);
// 将组装好的 StrategyPriorityConfigPush 对象添加到最终列表中
pushStrategyPriorityList.add(strategyPriorityConfigPush);
// 设置分组名称和编号
groupIdDetails.setGroupName(group.getLabel());
groupIdDetails.setGroupId(group.getLabelCode());
}else if (type==2){
//干线ID
List<Integer> greenIds = group.getGreenIds();
strategyPriorityConfigPush.setGreenId(greenIds);
strategyPriorityConfigPush.setType(type);
//路口ID
List<String> crossIds = group.getCrossIds();
strategyPriorityConfigPush.setCrossId(null);
// 组装分组详情
List<GroupIdDetails> groupIdDetailsList = new ArrayList<>();
GroupIdDetails groupIdDetails = new GroupIdDetails();
//分组名称
String label = group.getLabel();
//分组编号
Integer labelCode = group.getLabelCode();
groupIdDetails.setGroupId(labelCode);
groupIdDetails.setGroupName(label);
// 创建一个临时列表,用于存储所有详情数据
// 创建一个临时列表,用于存储所有策略详情数据
List<StrategyPriorityDetailsPush> detailsList = new ArrayList<>();
//组装详情数据
// 组装策略详情数据
for (StrategyPriorityConfig item : group.getData()) {
StrategyPriorityDetailsPush strategyPriorityDetailsPush=new StrategyPriorityDetailsPush();
StrategyPriorityDetailsPush strategyPriorityDetailsPush = new StrategyPriorityDetailsPush();
// 填充策略详情字段
//策略编号
strategyPriorityDetailsPush.setStrategyNo(item.getStrategyNo());
//策略名称
......@@ -587,25 +650,30 @@ import java.util.stream.Collectors;
strategyPriorityDetailsPush.setScene(item.getScene());
//公司名称
strategyPriorityDetailsPush.setCompany(item.getCompany());
// 将详情数据添加到临时列表中
// 将策略详情添加到临时列表中
detailsList.add(strategyPriorityDetailsPush);
}
//设置详情数据
// 设置策略详情列表
groupIdDetails.setStrategyDetails(detailsList);
// 添加分组详情到分组详情列表
groupIdDetailsList.add(groupIdDetails);
strategyPriorityConfigPush.setGroupIdDetails(groupIdDetailsList);
// 将组装好的 StrategyPriorityConfigPush 对象添加到最终列表中
pushStrategyPriorityList.add(strategyPriorityConfigPush);
}
}
// 设置分组详情列表到顶层对象
strategyPriorityConfigPush.setGroupIdDetails(groupIdDetailsList);
// 将组装好的 StrategyPriorityConfigPush 对象添加到最终列表中
pushStrategyPriorityList.add(strategyPriorityConfigPush);
return pushStrategyPriorityList;
}
/*日计划配置神思推送*/
private StrategyPriorityPlanPush pushStrategyPriorityPlan(List<StrategyPriorityGroup> dailyPlanDetails) {
private List<StrategyPriorityPlanPush> pushStrategyPriorityPlan(List<StrategyPriorityGroup> dailyPlanDetails) {
//日计划推送到神思
List<StrategyPriorityPlanPush> strategyPriorityPlanPushList=new ArrayList<>();
StrategyPriorityPlanPush strategyPriorityPlanPush= new StrategyPriorityPlanPush();
//
List<DailyPlanDetails> dailyPlanDetailsList = new ArrayList<>();
......@@ -654,10 +722,12 @@ import java.util.stream.Collectors;
// 设置每日计划详情列表到推送对象
strategyPriorityPlanPush.setDailyPlanDetails(dailyPlanDetailsList);
return strategyPriorityPlanPush;
strategyPriorityPlanPushList.add(strategyPriorityPlanPush);
return strategyPriorityPlanPushList;
}
/*参数配置神思推送*/
private StrategyParameterPush pushStrategyPriorityParam(StrategyPriorityGroup group) {
private List<StrategyParameterPush> pushStrategyPriorityParam(StrategyPriorityGroup group) {
List<StrategyParameterPush> StrategyParameterPushList=new ArrayList<>();
//推送神思接口
StrategyParameterPush strategyParameterPush= new StrategyParameterPush();
//类型:1路口 2 干线
......@@ -717,8 +787,8 @@ import java.util.stream.Collectors;
}else {
strategyParameterPush.setSchedulingParam(null);
}
return strategyParameterPush;
StrategyParameterPushList.add(strategyParameterPush);
return StrategyParameterPushList;
}
}
......@@ -44,7 +44,7 @@ public interface PushStrategyControlService {
* @return
* @throws Exception
*/
Result StartegyPriorityPlanPush(StrategyPriorityPlanPush req) throws Exception;
Result StartegyPriorityPlanPush(List<StrategyPriorityPlanPush> req) throws Exception;
/**
* 策略管理参数配置推送
......@@ -52,6 +52,6 @@ public interface PushStrategyControlService {
* @return
* @throws Exception
*/
Result StartegyPriorityParameterPush(StrategyParameterPush req) throws Exception;
Result StartegyPriorityParameterPush(List<StrategyParameterPush> req) throws Exception;
}
......@@ -101,13 +101,13 @@ public class PushStrategyControlServiceImpl implements PushStrategyControlServic
* 日计划配置推送
* */
@Override
public Result StartegyPriorityPlanPush(StrategyPriorityPlanPush req) throws Exception {
public Result StartegyPriorityPlanPush(List<StrategyPriorityPlanPush> req) throws Exception {
try {
ObjectMapper mapper = JacksonUtils.getInstance();
System.out.println("req~~"+req);
// 序列化请求参数
String jsonReq = mapper.writeValueAsString(req);
String resultStr = RestTemplateTool.post(switchUrl, jsonReq);
System.out.println("req~~"+jsonReq);
String resultStr = RestTemplateTool.postList(switchUrl, jsonReq);
if (StringUtils.isNotBlank(resultStr)) {
log.info("下发神思策略管理日计划配置推送成功,内容: {}", req);
Result result = mapper.readValue(resultStr, Result.class);
......@@ -129,13 +129,13 @@ public class PushStrategyControlServiceImpl implements PushStrategyControlServic
* @throws Exception
*/
@Override
public Result StartegyPriorityParameterPush(StrategyParameterPush req) throws Exception {
public Result StartegyPriorityParameterPush(List<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);
System.out.println("req~~"+jsonReq);
String resultStr = RestTemplateTool.postList(switchUrl, jsonReq);
if (StringUtils.isNotBlank(resultStr)) {
log.info("下发神思策略管理参数配置推送成功,内容: {}", req);
Result result = mapper.readValue(resultStr, Result.class);
......
......@@ -285,11 +285,13 @@
JOIN t_base_rid_info t3
ON sub_t2.cross_id=t3.end_cross_id
AND sub_t2.dir_type=t3.in_dir
AND t1.in_dir=t3.in_dir
WHERE
1=1
<if test="greenId!=null and greenId!=''">
AND t1.green_id=#{greenId}
</if>
and t1.sort!=1
ORDER BY
sub_t2.traffic_index DESC
limit 1
......
......@@ -52,7 +52,7 @@
and year_week = #{yearWeek}
</if>
<if test="crossIdList != null">
and t4.cross_id in
and cross_id in
<foreach collection="crossIdList" item="crossId" open="(" close=")" separator=",">
#{crossId}
</foreach>
......
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