Commit 3a049925 authored by duanruiming's avatar duanruiming

[update] opt优化

parent a0e43a4d
package net.wanji.opt.po.base;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author hfx
* @date 2023/01/12 13:29:39
* @desc 路口基础信息
*/
@Data
public class CrossInfoPO {
@ApiModelProperty(name = "路口ID",notes = "")
private String id;
@ApiModelProperty(name = "路口名称",notes = "")
private String name;
@ApiModelProperty(name = "路口类型",notes = "")
private Integer type;
@ApiModelProperty(name = "路口级别",notes = "")
private Integer level;
@ApiModelProperty(name = "行政区划代码",notes = "")
private Integer areaCode;
@ApiModelProperty(name = "路口位置",notes = "")
private String location;
@ApiModelProperty(name = "是否信控路口:1是;0否",notes = "")
private Integer isSignal;
@ApiModelProperty(name = "是否启动优化:1是;0否",notes = "")
private Integer isStart;
@ApiModelProperty(name = "是否下发方案:1是;0否",notes = "")
private Integer isSend;
}
package net.wanji.opt.service; package net.wanji.opt.service;
import net.wanji.opt.dto.CrossInfoDTO;
import net.wanji.opt.query.CrossQuery;
import java.util.List;
/** /**
* @author hfx * @author hfx
* @date 2023/1/12 15:12 * @date 2023/1/12 15:12
...@@ -17,6 +12,6 @@ public interface CrossInfoService { ...@@ -17,6 +12,6 @@ public interface CrossInfoService {
* 查询路口基础信息列表 * 查询路口基础信息列表
* @return * @return
*/ */
List<CrossInfoDTO> listCrossInfo(CrossQuery query); // List<CrossInfoDTO> listCrossInfo(CrossQuery query);
} }
package net.wanji.opt.service.impl; package net.wanji.opt.service.impl;
import net.wanji.common.utils.tool.BeanListUtils;
import net.wanji.opt.dao.mapper.CrossInfoMapper;
import net.wanji.opt.dto.CrossInfoDTO;
import net.wanji.opt.po.base.CrossInfoPO;
import net.wanji.opt.query.CrossQuery;
import net.wanji.opt.service.CrossInfoService; import net.wanji.opt.service.CrossInfoService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/** /**
* @author hfx * @author hfx
* @date 2023/1/12 15:12 * @date 2023/1/12 15:12
...@@ -20,14 +11,14 @@ import java.util.List; ...@@ -20,14 +11,14 @@ import java.util.List;
@Service @Service
public class CrossInfoServiceImpl implements CrossInfoService { public class CrossInfoServiceImpl implements CrossInfoService {
@Resource // @Resource
CrossInfoMapper crossInfoMapper; // CrossInfoMapper crossInfoMapper;
//
public List<CrossInfoDTO> listCrossInfo(CrossQuery query) { // public List<CrossInfoDTO> listCrossInfo(CrossQuery query) {
//
// 获取数据库数据 // // 获取数据库数据
List<CrossInfoPO> crossInfoPOList = crossInfoMapper.listCrossInfo(query); // List<CrossInfoPO> crossInfoPOList = crossInfoMapper.listCrossInfo(query);
return BeanListUtils.populateList(crossInfoPOList, new ArrayList<>(), CrossInfoDTO.class); // return BeanListUtils.populateList(crossInfoPOList, new ArrayList<>(), CrossInfoDTO.class);
} // }
} }
...@@ -10,16 +10,13 @@ import lombok.extern.slf4j.Slf4j; ...@@ -10,16 +10,13 @@ import lombok.extern.slf4j.Slf4j;
import net.wanji.common.dto.CrossIdDTO; import net.wanji.common.dto.CrossIdDTO;
import net.wanji.common.utils.tool.CrossUtil; import net.wanji.common.utils.tool.CrossUtil;
import net.wanji.databus.dao.entity.RidInfoEntity; import net.wanji.databus.dao.entity.RidInfoEntity;
import net.wanji.databus.dao.mapper.CrossDataHistMapper; import net.wanji.databus.dao.mapper.*;
import net.wanji.databus.dao.mapper.CrossDataRealtimeMapper;
import net.wanji.databus.dao.mapper.CrossDirDataHistMapper;
import net.wanji.databus.dao.mapper.RidInfoMapper;
import net.wanji.databus.po.CrossDataHistPO; import net.wanji.databus.po.CrossDataHistPO;
import net.wanji.databus.po.CrossDataRealtimePO; import net.wanji.databus.po.CrossDataRealtimePO;
import net.wanji.databus.po.CrossDirDataHistPO; import net.wanji.databus.po.CrossDirDataHistPO;
import net.wanji.feign.pojo.vo.SchemeSendVO; import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.vo.SchemeSendVO;
import net.wanji.opt.dao.mapper.CrossDirInfoMapper; import net.wanji.opt.dao.mapper.CrossDirInfoMapper;
import net.wanji.opt.dao.mapper.CrossInfoMapper;
import net.wanji.opt.dao.mapper.CrossPhaseMapper; import net.wanji.opt.dao.mapper.CrossPhaseMapper;
import net.wanji.opt.dao.mapper.CrossSchemeMapper; import net.wanji.opt.dao.mapper.CrossSchemeMapper;
import net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper; import net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper;
...@@ -30,7 +27,6 @@ import net.wanji.opt.dto.OptDataExtend; ...@@ -30,7 +27,6 @@ import net.wanji.opt.dto.OptDataExtend;
import net.wanji.opt.dto.SendManualDTO; import net.wanji.opt.dto.SendManualDTO;
import net.wanji.opt.dto.strategy.AddOrUpdateSceneDTO; import net.wanji.opt.dto.strategy.AddOrUpdateSceneDTO;
import net.wanji.opt.dto.strategy.QuerySceneDTO; import net.wanji.opt.dto.strategy.QuerySceneDTO;
import net.wanji.opt.po.base.CrossInfoPO;
import net.wanji.opt.po.base.CrossPhasePO; import net.wanji.opt.po.base.CrossPhasePO;
import net.wanji.opt.po.base.CrossSchemeOptLogPO; import net.wanji.opt.po.base.CrossSchemeOptLogPO;
import net.wanji.opt.po.base.CrossSchemePO; import net.wanji.opt.po.base.CrossSchemePO;
...@@ -44,15 +40,7 @@ import net.wanji.opt.vo.SchemeOptSendVO; ...@@ -44,15 +40,7 @@ import net.wanji.opt.vo.SchemeOptSendVO;
import net.wanji.opt.vo.SchemeOptVO; import net.wanji.opt.vo.SchemeOptVO;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.Collection;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.TreeSet;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
......
...@@ -13,13 +13,13 @@ import net.wanji.databus.bo.CrossDirDataHistAvgBO; ...@@ -13,13 +13,13 @@ import net.wanji.databus.bo.CrossDirDataHistAvgBO;
import net.wanji.databus.dao.mapper.CrossDataRealtimeMapper; import net.wanji.databus.dao.mapper.CrossDataRealtimeMapper;
import net.wanji.databus.dao.mapper.CrossDirDataHistMapper; import net.wanji.databus.dao.mapper.CrossDirDataHistMapper;
import net.wanji.databus.dao.mapper.CrossDirDataRealtimeMapper; import net.wanji.databus.dao.mapper.CrossDirDataRealtimeMapper;
import net.wanji.databus.dao.mapper.CrossInfoMapper;
import net.wanji.databus.po.CrossDataRealtimePO; import net.wanji.databus.po.CrossDataRealtimePO;
import net.wanji.databus.po.CrossDirDataRealtimePO; import net.wanji.databus.po.CrossDirDataRealtimePO;
import net.wanji.opt.dao.mapper.CrossInfoMapper; import net.wanji.databus.po.CrossInfoPO;
import net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper; import net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper;
import net.wanji.opt.dto.CrossIdAndMinutesDTO; import net.wanji.opt.dto.CrossIdAndMinutesDTO;
import net.wanji.opt.dto.OptDataExtend; import net.wanji.opt.dto.OptDataExtend;
import net.wanji.opt.po.base.CrossInfoPO;
import net.wanji.opt.po.base.CrossSchemeOptLogPO; import net.wanji.opt.po.base.CrossSchemeOptLogPO;
import net.wanji.opt.service.EvaluateService; import net.wanji.opt.service.EvaluateService;
import net.wanji.opt.vo.EvaluateCrossDetailVO; import net.wanji.opt.vo.EvaluateCrossDetailVO;
......
...@@ -9,39 +9,25 @@ import net.wanji.common.enums.EventAlarmEnum; ...@@ -9,39 +9,25 @@ import net.wanji.common.enums.EventAlarmEnum;
import net.wanji.common.enums.EventAlarmSourceEnum; import net.wanji.common.enums.EventAlarmSourceEnum;
import net.wanji.common.utils.tool.CrossUtil; import net.wanji.common.utils.tool.CrossUtil;
import net.wanji.databus.dao.entity.RidInfoEntity; import net.wanji.databus.dao.entity.RidInfoEntity;
import net.wanji.databus.dao.mapper.CrossDataRealtimeMapper; import net.wanji.databus.dao.mapper.*;
import net.wanji.databus.dao.mapper.CrossDirDataHistMapper;
import net.wanji.databus.dao.mapper.CrossTurnDataRealtimeMapper;
import net.wanji.databus.dao.mapper.RidInfoMapper;
import net.wanji.databus.po.CrossDataRealtimePO; import net.wanji.databus.po.CrossDataRealtimePO;
import net.wanji.databus.po.CrossDirDataHistPO; import net.wanji.databus.po.CrossDirDataHistPO;
import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.po.CrossTurnDataRealtimePO; import net.wanji.databus.po.CrossTurnDataRealtimePO;
import net.wanji.databus.vo.AbnormalCrossListVO; import net.wanji.databus.vo.AbnormalCrossListVO;
import net.wanji.opt.dao.mapper.CrossDirInfoMapper; import net.wanji.opt.dao.mapper.CrossDirInfoMapper;
import net.wanji.opt.dao.mapper.CrossInfoMapper;
import net.wanji.opt.dao.mapper.trend.EventAlarmMapper; import net.wanji.opt.dao.mapper.trend.EventAlarmMapper;
import net.wanji.opt.dao.mapper.trend.GreenwaveInfoMapper; import net.wanji.opt.dao.mapper.trend.GreenwaveInfoMapper;
import net.wanji.opt.dto.trend.AbnormalCrossListDTO; import net.wanji.opt.dto.trend.AbnormalCrossListDTO;
import net.wanji.opt.dto.trend.GreenwaveListDTO; import net.wanji.opt.dto.trend.GreenwaveListDTO;
import net.wanji.opt.po.base.CrossInfoPO;
import net.wanji.opt.po.trend.EventAlarmPO; import net.wanji.opt.po.trend.EventAlarmPO;
import net.wanji.opt.service.TrendService; import net.wanji.opt.service.TrendService;
import net.wanji.opt.vo.AbnormalCrossDetailVO; import net.wanji.opt.vo.*;
import net.wanji.opt.vo.AbnormalCrossStats;
import net.wanji.opt.vo.AbnormalCrossVO;
import net.wanji.opt.vo.EventAlarmVO;
import net.wanji.opt.vo.GreenwaveListVO;
import net.wanji.opt.vo.GreenwaveStats;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.*;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
......
...@@ -4,7 +4,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -4,7 +4,7 @@ import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.exception.FeignServiceException; import net.wanji.common.framework.exception.FeignServiceException;
import net.wanji.common.framework.rest.JsonViewObject; import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.entity.develop.servicedevelop.develop.StatusCodeEnum; import net.wanji.databus.entity.develop.servicedevelop.develop.StatusCodeEnum;
import net.wanji.feign.pojo.vo.SchemeSendVO; import net.wanji.databus.vo.SchemeSendVO;
import net.wanji.feign.service.UtcFeignClients; import net.wanji.feign.service.UtcFeignClients;
import net.wanji.opt.cache.CrossDirTurnPhaseCache; import net.wanji.opt.cache.CrossDirTurnPhaseCache;
import net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper; import net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper;
......
package net.wanji.opt.task; package net.wanji.opt.task;
import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.wanji.common.enums.CrossStatusEnum; import net.wanji.common.enums.CrossStatusEnum;
import net.wanji.common.framework.Constants; import net.wanji.common.framework.Constants;
import net.wanji.databus.dao.mapper.CrossDataRealtimeMapper; import net.wanji.databus.dao.mapper.CrossDataRealtimeMapper;
import net.wanji.databus.po.CrossDataRealtimePO; import net.wanji.databus.po.CrossDataRealtimePO;
import net.wanji.opt.dto.CrossTurnDataRealtimeDTO;
import net.wanji.opt.dto.LaneInfoDTO;
import net.wanji.opt.kafka.ConsumerHandler; import net.wanji.opt.kafka.ConsumerHandler;
import net.wanji.opt.po.kafka.LanePeriodicDataPO;
import net.wanji.opt.query.LaneQuery;
import net.wanji.opt.service.CrossOptimizeService; import net.wanji.opt.service.CrossOptimizeService;
import net.wanji.opt.service.impl.LaneInfoServiceImpl; import net.wanji.opt.service.impl.LaneInfoServiceImpl;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -92,40 +88,20 @@ public class CrossMonitorTask { ...@@ -92,40 +88,20 @@ public class CrossMonitorTask {
BeanUtils.copyProperties(po, dto); BeanUtils.copyProperties(po, dto);
dto.setCrossId(po.getCrossId()); dto.setCrossId(po.getCrossId());
dto.setStatus(status); dto.setStatus(status);
dto.setDirList(null);
dto.setTurnList(null);
dtoList.add(dto); dtoList.add(dto);
} }
return dtoList; return dtoList;
} }
/** /**
* 获取路口实时监测数据 * 获取路口实时监测数据,获取数据中心存入到数据库中的数据
* (暂定从数据中心kafka获取) * (暂定从数据中心kafka获取)
* *
* @return * @return
*/ */
public List<CrossDataRealtimePO> listCrossDataRealtime() { public List<CrossDataRealtimePO> listCrossDataRealtime() {
List<CrossDataRealtimePO> crossDataRealtimePOS = crossDataRealtimeMapper.selectList(new LambdaQueryWrapper<>());
// todo test数据 return crossDataRealtimePOS;
List<CrossDataRealtimePO> crossDataRealtimePOList = new ArrayList<>(1);
CrossDataRealtimePO crossDataRealtimePO = crossDataRealtimeMapper.selectByCrossId("14Q1409IRF0");
CrossDataRealtimePO crossDataRealtimePO1 = crossDataRealtimeMapper.selectByCrossId("14Q0S09IQB0");
crossDataRealtimePOList.add(crossDataRealtimePO);
crossDataRealtimePOList.add(crossDataRealtimePO1);
String lanePeriodicData = consumerHandler.getTopicMessage("JN040001LanePeriodicData");
LanePeriodicDataPO lanePeriodicDataPO = JSONObject.parseObject(lanePeriodicData, LanePeriodicDataPO.class);
// todo 对数据进行处理,可能主要是CrossTurnDataRealtimeDTO中的车间距,车时距等配置修改
CrossTurnDataRealtimeDTO crossTurnDataRealtimeDTO = new CrossTurnDataRealtimeDTO();
// 查询车道信息表
LaneQuery laneQuery = new LaneQuery();
List<LaneInfoDTO> laneInfoDTOS = laneInfoService.listLaneInfo(laneQuery);
// 将车道信息表转存路口实时数据CrossDataRealtimePO,转向数据CrossTurnDataRealtimeDTO,方向数据CrossDirDataHistPO
// 通过数据进行优化
return crossDataRealtimePOList;
} }
} }
\ No newline at end of file
...@@ -3,7 +3,7 @@ package net.wanji.opt.vo; ...@@ -3,7 +3,7 @@ package net.wanji.opt.vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import net.wanji.feign.pojo.vo.SchemeSendVO; import net.wanji.databus.vo.SchemeSendVO;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
......
<?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.opt.dao.mapper.CrossInfoMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="net.wanji.opt.po.base.CrossInfoPO">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="type" column="type"/>
<result property="level" column="level"/>
<result property="areaCode" column="area_code"/>
<result property="location" column="location"/>
<result property="isSignal" column="is_signal"/>
<result property="isStart" column="is_start"/>
<result property="isSend" column="is_send"/>
</resultMap>
<!-- 查询路口列表信息 -->
<select id="listCrossInfo" parameterType="net.wanji.opt.query.CrossQuery" resultMap="BaseResultMap">
select
id
,name
,type
,level
,area_code
,location
,is_signal
,is_start
,is_send
from
t_base_cross_info
where 1 = 1
<if test="isSignal != null and isSignal != '' ">
and is_signal = #{isSignal}
</if>
<if test="isStart != null and isStart != '' ">
and is_start = #{isStart}
</if>
<if test="isSend != null and isSend != '' ">
and is_send = #{isSend}
</if>
</select>
<select id="selectByCrossIds" resultType="net.wanji.opt.po.base.CrossInfoPO">
select
id,name,type,level,area_code,is_signal,is_start,is_send,location
from t_base_cross_info
where id IN
<foreach collection="crossIdList" item="crossId" separator="," open="(" close=")">
#{crossId}
</foreach>
</select>
<select id="selectById" resultType="net.wanji.opt.po.base.CrossInfoPO">
select
id,name,type,level,area_code,is_signal,is_start,is_send,location
from t_base_cross_info
where id = #{crossId}
</select>
<select id="selectByName" resultType="net.wanji.opt.po.base.CrossInfoPO">
select
id,name,type,level,area_code,is_signal,is_start,is_send,location
from t_base_cross_info
<where>
<if test="name != null and name != ''">
AND name LIKE CONCAT('%',#{name},'%')
</if>
</where>
order by id
</select>
<select id="selectAll" resultType="net.wanji.opt.po.base.CrossInfoPO">
select
id,name,type,level,area_code,is_signal,is_start,is_send,location
from t_base_cross_info
order by id
</select>
</mapper>
package net.wanji.opt.dao.mapper; package net.wanji.databus.dao.mapper;
import net.wanji.opt.po.base.CrossInfoPO; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import net.wanji.opt.query.CrossQuery; import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.po.TBaseCrossInfo;
import net.wanji.databus.vo.CrossDeviceStatusInfoOutVO;
import net.wanji.databus.vo.CrossInfoVO;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
...@@ -12,14 +15,14 @@ import java.util.List; ...@@ -12,14 +15,14 @@ import java.util.List;
* @desc CrossInfoMapper * @desc CrossInfoMapper
*/ */
@Repository @Repository
public interface CrossInfoMapper { public interface CrossInfoMapper extends BaseMapper<TBaseCrossInfo> {
/** /**
* 查询路口列表信息 * 查询路口列表信息
* @param query * @param query
* @return * @return
*/ */
List<CrossInfoPO> listCrossInfo(CrossQuery query); // List<CrossInfoPO> listCrossInfo(CrossQuery query);
List<CrossInfoPO> selectByCrossIds(List<String> crossIdList); List<CrossInfoPO> selectByCrossIds(List<String> crossIdList);
...@@ -28,4 +31,23 @@ public interface CrossInfoMapper { ...@@ -28,4 +31,23 @@ public interface CrossInfoMapper {
List<CrossInfoPO> selectByName(String name); List<CrossInfoPO> selectByName(String name);
List<CrossInfoPO> selectAll(); List<CrossInfoPO> selectAll();
int deleteByPrimaryKey(String id);
@Override
int insert(TBaseCrossInfo record);
int insertSelective(TBaseCrossInfo record);
TBaseCrossInfo selectByPrimaryKey(String id);
int updateByPrimaryKeySelective(TBaseCrossInfo record);
int updateByPrimaryKey(TBaseCrossInfo record);
List<CrossInfoPO> selectAll(CrossInfoVO crossInfoVO);
Integer countSelectAll(CrossInfoVO crossInfoVO);
List<CrossDeviceStatusInfoOutVO> listCrossDeviceStatusInfo();
} }
...@@ -4,11 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableName; ...@@ -4,11 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import net.wanji.databus.dto.CrossDirInfoDTO;
import net.wanji.databus.dto.CrossTurnInfoDTO;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @author duanruiming * @author duanruiming
...@@ -18,84 +15,126 @@ import java.util.List; ...@@ -18,84 +15,126 @@ import java.util.List;
@TableName("t_cross_data_realtime") @TableName("t_cross_data_realtime")
@ApiModel(value = "CrossDataRealtimePO", description = "路口实时数据") @ApiModel(value = "CrossDataRealtimePO", description = "路口实时数据")
public class CrossDataRealtimePO { public class CrossDataRealtimePO {
/** 路口编号 */ /**
@ApiModelProperty(value = "路口编号",notes = "") * 路口编号
private String crossId ; */
/** 路口状态:0正常;1失衡;2拥堵;3溢出;4死锁 */ @ApiModelProperty(value = "路口编号", notes = "")
@ApiModelProperty(value = "路口状态:0正常;1失衡;2拥堵;3溢出;4死锁",notes = "") private String crossId;
private Integer status ; /**
/** 拥堵类型:1常规;2异常 */ * 路口状态:0正常;1失衡;2拥堵;3溢出;4死锁
@ApiModelProperty(value = "拥堵类型:1常规;2异常",notes = "") */
private Integer type ; @ApiModelProperty(value = "路口状态:0正常;1失衡;2拥堵;3溢出;4死锁", notes = "")
/** 交通指数(1~10) */ private Integer status;
@ApiModelProperty(value = "交通指数(1~10)",notes = "") /**
private Double trafficIndex ; * 拥堵类型:1常规;2异常
/** 开始时间:yyyy-MM-dd HH;mm:ss */ */
@ApiModelProperty(value = "开始时间:yyyy-MM-dd HH:mm:ss",notes = "") @ApiModelProperty(value = "拥堵类型:1常规;2异常", notes = "")
private Date startTime ; private Integer type;
@ApiModelProperty(value = "持续时间(单位:分钟)",notes = "") /**
private Integer duration ; * 交通指数(1~10)
/** 是否失衡:0否;1是 */ */
@ApiModelProperty(value = "是否失衡:0否;1是",notes = "") @ApiModelProperty(value = "交通指数(1~10)", notes = "")
private Integer isUnbalance ; private Double trafficIndex;
/** 是否溢出:0否;1是 */ /**
@ApiModelProperty(value = "是否溢出:0否;1是",notes = "") * 开始时间:yyyy-MM-dd HH;mm:ss
private Integer isSpillover ; */
/** 是否拥堵:0否;1是 */ @ApiModelProperty(value = "开始时间:yyyy-MM-dd HH:mm:ss", notes = "")
@ApiModelProperty(value = "是否拥堵:0否;1是",notes = "") private Date startTime;
private Integer isCongestion ; @ApiModelProperty(value = "持续时间(单位:分钟)", notes = "")
/** 失衡指数 */ private Integer duration;
@ApiModelProperty(value = "失衡指数",notes = "") /**
private Double unbalanceIndex ; * 是否失衡:0否;1是
/** 溢出指数 */ */
@ApiModelProperty(value = "溢出指数",notes = "") @ApiModelProperty(value = "是否失衡:0否;1是", notes = "")
private Double spilloverIndex ; private Integer isUnbalance;
/** 拥堵指数 */ /**
@ApiModelProperty(value = "拥堵指数",notes = "") * 是否溢出:0否;1是
private Double congestionIndex ; */
/** 路口失衡方向:1,2,3... */ @ApiModelProperty(value = "是否溢出:0否;1是", notes = "")
@ApiModelProperty(value = "路口失衡方向:1,2,3...",notes = "") private Integer isSpillover;
private String unbalanceDirs ; /**
/** 路口溢出方向:1,2,3... */ * 是否拥堵:0否;1是
@ApiModelProperty(value = "路口溢出方向:1,2,3...",notes = "") */
private String spilloverDirs ; @ApiModelProperty(value = "是否拥堵:0否;1是", notes = "")
/** 路口拥堵方向:1,2,3... */ private Integer isCongestion;
@ApiModelProperty(value = "路口拥堵方向:1,2,3...",notes = "") /**
private String congestionDirs ; * 失衡指数
/** 交通流量(辆) */ */
@ApiModelProperty(value = "交通流量(辆)",notes = "") @ApiModelProperty(value = "失衡指数", notes = "")
private Integer flow ; private Double unbalanceIndex;
/** 交通流率/h */ /**
@ApiModelProperty(value = "交通流率/h",notes = "") * 溢出指数
private Double flowRate ; */
/** 平均速度(km/h) */ @ApiModelProperty(value = "溢出指数", notes = "")
@ApiModelProperty(value = "平均速度(km/h)",notes = "") private Double spilloverIndex;
private Double speed ; /**
/** 最大排队(米) */ * 拥堵指数
@ApiModelProperty(value = "最大排队(米)",notes = "") */
private Double queueLength ; @ApiModelProperty(value = "拥堵指数", notes = "")
/** 停车次数(次) */ private Double congestionIndex;
@ApiModelProperty(value = "停车次数(次)",notes = "") /**
private Double stopTimes ; * 路口失衡方向:1,2,3...
/** 延误时间(秒) */ */
@ApiModelProperty(value = "延误时间(秒)",notes = "") @ApiModelProperty(value = "路口失衡方向:1,2,3...", notes = "")
private Integer delayTime ; private String unbalanceDirs;
/** 饱和度 */ /**
@ApiModelProperty(value = "饱和度",notes = "") * 路口溢出方向:1,2,3...
private Double sturation ; */
/** 采集时间(10位时间戳) */ @ApiModelProperty(value = "路口溢出方向:1,2,3...", notes = "")
@ApiModelProperty(value = "采集时间(10位时间戳)",notes = "") private String spilloverDirs;
private Integer batchTime ; /**
/** 创建时间 */ * 路口拥堵方向:1,2,3...
@ApiModelProperty(value = "创建时间",notes = "") */
private Date gmtCreate ; @ApiModelProperty(value = "路口拥堵方向:1,2,3...", notes = "")
/** 修改时间 */ private String congestionDirs;
@ApiModelProperty(value = "修改时间",notes = "") /**
private Date gmtModified ; * 交通流量(辆)
*/
@ApiModelProperty(name = "路口方向列表",notes = "") @ApiModelProperty(value = "交通流量(辆)", notes = "")
List<CrossDirInfoDTO> dirList; private Integer flow;
/**
@ApiModelProperty(name = "路口转向列表",notes = "") * 交通流率/h
List<CrossTurnInfoDTO> turnList; */
@ApiModelProperty(value = "交通流率/h", notes = "")
private Double flowRate;
/**
* 平均速度(km/h)
*/
@ApiModelProperty(value = "平均速度(km/h)", notes = "")
private Double speed;
/**
* 最大排队(米)
*/
@ApiModelProperty(value = "最大排队(米)", notes = "")
private Double queueLength;
/**
* 停车次数(次)
*/
@ApiModelProperty(value = "停车次数(次)", notes = "")
private Double stopTimes;
/**
* 延误时间(秒)
*/
@ApiModelProperty(value = "延误时间(秒)", notes = "")
private Integer delayTime;
/**
* 饱和度
*/
@ApiModelProperty(value = "饱和度", notes = "")
private Double sturation;
/**
* 采集时间(10位时间戳)
*/
@ApiModelProperty(value = "采集时间(10位时间戳)", notes = "")
private Integer batchTime;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间", notes = "")
private Date gmtCreate;
/**
* 修改时间
*/
@ApiModelProperty(value = "修改时间", notes = "")
private Date gmtModified;
} }
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