Commit 4fe1638a authored by hanbing's avatar hanbing

[update] 方案管理,车道信息返回拥堵状态和指数

parent 6c87b648
......@@ -17,4 +17,8 @@ public class LaneListElement {
private Integer laneType;
@ApiModelProperty(value = "灯组代码", required = true)
private String ledNum;
@ApiModelProperty(value = "交通状态:1畅通;2缓行;3拥堵;4严重拥堵;5未知", required = true)
private Integer status;
@ApiModelProperty(value = "交通指数", required = true)
private Double traffic_index;
}
\ No newline at end of file
package net.wanji.web.mapper.scheme;
import net.wanji.web.po.scheme.CrossTurnDataHistPO;
import org.springframework.stereotype.Repository;
/**
* @author Kent HAN
* @date 2023/1/11 17:25
*/
@Repository
public interface CrossTurnDataHistMapper {
CrossTurnDataHistPO selectByLane(String crossId, Integer key, String turn);
}
package net.wanji.web.po.scheme;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author Kent HAN
* @date 2022/12/29 9:17
*/
@Data
public class CrossTurnDataHistPO {
/** 转向ID(路口ID_驶入方向_转向类型) */
@ApiModelProperty(name = "转向ID(路口ID_驶入方向_转向类型)",notes = "")
private String id ;
/** 转向类型:u掉头;l左转;s直行;r右转; */
@ApiModelProperty(name = "转向类型:u掉头;l左转;s直行;r右转;",notes = "")
private String turnType ;
/** 驶入方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北 */
@ApiModelProperty(name = "驶入方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北",notes = "")
private Integer inDir ;
/** 驶出方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北 */
@ApiModelProperty(name = "驶出方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北",notes = "")
private Integer outDir ;
/** 路口ID */
@ApiModelProperty(name = "路口ID",notes = "")
private String crossId ;
/** 交通流量(辆) */
@ApiModelProperty(name = "交通流量(辆)",notes = "")
private Integer flow ;
/** 交通状态:1畅通;2缓行;3拥堵;4严重拥堵;5未知 */
@ApiModelProperty(name = "交通状态:1畅通;2缓行;3拥堵;4严重拥堵;5未知",notes = "")
private Integer status ;
/** 交通指数 */
@ApiModelProperty(name = "交通指数",notes = "")
private Double trafficIndex ;
/** 平均速度(km/h) */
@ApiModelProperty(name = "平均速度(km/h)",notes = "")
private Double speed ;
/** 驶入速度(km/h) */
@ApiModelProperty(name = "驶入速度(km/h)",notes = "")
private Double inSpeed ;
/** 驶出速度(km/h) */
@ApiModelProperty(name = "驶出速度(km/h)",notes = "")
private Double outSpeed ;
/** 排队长度(米) */
@ApiModelProperty(name = "排队长度(米)",notes = "")
private Double queueLength ;
/** 停车次数(次) */
@ApiModelProperty(name = "停车次数(次)",notes = "")
private Double stopTimes ;
/** 延误时间(秒) */
@ApiModelProperty(name = "延误时间(秒)",notes = "")
private Integer delayTime ;
/** 饱和度 */
@ApiModelProperty(name = "饱和度",notes = "")
private Double sturation ;
/** 车头间距(米) */
@ApiModelProperty(name = "车头间距(米)",notes = "")
private Double vehheadDist ;
/** 车头时距(秒) */
@ApiModelProperty(name = "车头时距(秒)",notes = "")
private Double vehheadTime ;
/** 可信度:0~1 */
@ApiModelProperty(name = "可信度:0~1",notes = "")
private Double quality ;
/** 采集时间(10位时间戳) */
@ApiModelProperty(name = "采集时间(10位时间戳)",notes = "")
private Integer batchTime ;
/** 创建时间 */
@ApiModelProperty(name = "创建时间",notes = "")
private Date gmtCreate ;
/** 修改时间 */
@ApiModelProperty(name = "修改时间",notes = "")
private Date gmtModified ;
}
......@@ -3,6 +3,7 @@ package net.wanji.web.service.scheme.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import net.wanji.common.dto.CrossIdDTO;
import net.wanji.common.enums.TurnConvertEnum;
import net.wanji.web.common.enums.LightsAddressEnum;
import net.wanji.web.common.exception.LightLaneConflictException;
import net.wanji.web.common.exception.RidInfoException;
......@@ -14,11 +15,13 @@ import net.wanji.web.mapper.scheme.CrossDirInfoMapper;
import net.wanji.web.mapper.scheme.CrossLaneLightsMapper;
import net.wanji.web.mapper.scheme.CrossLightsMapper;
import net.wanji.web.mapper.scheme.CrossPhaseLightsMapper;
import net.wanji.web.mapper.scheme.CrossTurnDataHistMapper;
import net.wanji.web.mapper.scheme.LaneInfoMapper;
import net.wanji.web.mapper.scheme.LaneSegmentMapper;
import net.wanji.web.po.scheme.CrossDirInfoPO;
import net.wanji.web.po.scheme.CrossLaneLightsPO;
import net.wanji.web.po.scheme.CrossLightsPO;
import net.wanji.web.po.scheme.CrossTurnDataHistPO;
import net.wanji.web.po.scheme.LaneInfoPO;
import net.wanji.web.service.scheme.CrossConfigService;
import org.springframework.stereotype.Service;
......@@ -66,14 +69,16 @@ public class CrossConfigServiceImpl implements CrossConfigService {
}
private final CrossPhaseLightsMapper crossPhaseLightsMapper;
private final CrossTurnDataHistMapper crossTurnDataHistMapper;
public CrossConfigServiceImpl(CrossDirInfoMapper crossDirInfoMapper, LaneInfoMapper laneInfoMapper, CrossLaneLightsMapper crossLaneLightsMapper, LaneSegmentMapper laneSegmentMapper, CrossLightsMapper crossLightsMapper, CrossPhaseLightsMapper crossPhaseLightsMapper) {
public CrossConfigServiceImpl(CrossDirInfoMapper crossDirInfoMapper, LaneInfoMapper laneInfoMapper, CrossLaneLightsMapper crossLaneLightsMapper, LaneSegmentMapper laneSegmentMapper, CrossLightsMapper crossLightsMapper, CrossPhaseLightsMapper crossPhaseLightsMapper, CrossTurnDataHistMapper crossTurnDataHistMapper) {
this.crossDirInfoMapper = crossDirInfoMapper;
this.laneInfoMapper = laneInfoMapper;
this.crossLaneLightsMapper = crossLaneLightsMapper;
this.laneSegmentMapper = laneSegmentMapper;
this.crossLightsMapper = crossLightsMapper;
this.crossPhaseLightsMapper = crossPhaseLightsMapper;
this.crossTurnDataHistMapper = crossTurnDataHistMapper;
}
@Override
......@@ -393,6 +398,13 @@ public class CrossConfigServiceImpl implements CrossConfigService {
laneListElement.setLedNum(lightsCode);
}
laneListElementList.add(laneListElement);
// 查询拥堵状态和指数
String codeByKey = TurnConvertEnum.getCodeByKey(turn);
CrossTurnDataHistPO crossTurnDataHistPO = crossTurnDataHistMapper.selectByLane(crossId, key, codeByKey);
Integer status = crossTurnDataHistPO.getStatus();
laneListElement.setStatus(status);
Double trafficIndex = crossTurnDataHistPO.getTrafficIndex();
laneListElement.setTraffic_index(trafficIndex);
}
dirListElement.setLaneList(laneListElementList);
// 构造行人过街数据
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.wanji.web.mapper.scheme.CrossTurnDataHistMapper">
<select id="selectByLane" resultType="net.wanji.web.po.scheme.CrossTurnDataHistPO">
select
id,turn_type,in_dir,out_dir,cross_id,flow,status,traffic_index,speed,in_speed,out_speed,queue_length,stop_times,delay_time,sturation,vehhead_dist,vehhead_time,quality,batch_time,gmt_create,gmt_modified
from t_cross_turn_data_realtime
where cross_id = #{crossId} and in_dir = #{key} and turn_type = #{turn}
</select>
</mapper>
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