Commit 5a6e9700 authored by zhoushiguang's avatar zhoushiguang

事件接口调整、评介接口bug修改

parent d1ee8ada
......@@ -57,6 +57,36 @@ public class EsDateIndexUtil {
return sortedSet;
}
/**
* 获取时段范围内不同时间粒度的时间轴
* @param groupType 0:5分钟 1:15分钟 2:30分钟 3:1小时 4:天粒度 5:10分钟
* @param startTime 开始时间
* @param endTime 截止时间
* @return
*/
public static List<String> getTimeGranularityAxisAll(String groupType,String startTime, String endTime) {
//存放时段
List<String> sortedSet = new ArrayList<>();
//===========================根据开始、结束时间输出完整时刻点=================================================//
DateTime start = DateTime.parse(startTime, DateTimeFormat.forPattern(EsDateIndexUtil.YMD_HM_FORMATTER));
DateTime end = DateTime.parse(endTime, DateTimeFormat.forPattern(EsDateIndexUtil.YMD_HM_FORMATTER));
if (Objects.equals("0", groupType)) {
sortedSet.addAll(EsDateIndexUtil.getTimeScopeList(start, end, TimeGranularityEnum.FIVE_MINUTE, "yyyy-MM-dd HH:mm:00"));
} else if (Objects.equals("1", groupType)) {
sortedSet.addAll(EsDateIndexUtil.getTimeScopeList(start, end, TimeGranularityEnum.FIFTEEN_MINUTE, "yyyy-MM-dd HH:mm:00"));
} else if (Objects.equals("2", groupType)) {
sortedSet.addAll(EsDateIndexUtil.getTimeScopeList(start, end, TimeGranularityEnum.THIRTY_MINUTE, "yyyy-MM-dd HH:mm:00"));
} else if (Objects.equals("3", groupType)) {
sortedSet.addAll(EsDateIndexUtil.getTimeScopeList(start, end, TimeGranularityEnum.ONE_HOUR, "yyyy-MM-dd HH:00:00"));
} else if (Objects.equals("4", groupType)) {
sortedSet.addAll(EsDateIndexUtil.getTimeScopeList(start, end, TimeGranularityEnum.ONE_DAY, EsDateIndexUtil.YMD_FORMATTER));
} else if (Objects.equals("5", groupType)) {
sortedSet.addAll(EsDateIndexUtil.getTimeScopeList(start, end, TimeGranularityEnum.TEN_MINUTE, "yyyy-MM-dd HH:mm:00"));
}
return sortedSet;
}
/**
* 根据开始结束时间获取不同时间粒度的时刻点
*
......
......@@ -9,6 +9,9 @@ import lombok.experimental.Accessors;
import net.wanji.common.framework.domain.TrackableEntity;
import java.util.Date;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
/**
* <p>
......@@ -21,7 +24,6 @@ import java.math.BigDecimal;
@Data
@ApiModel(value="EventInfo对象", description="交通事件信息")
public class EventInfo extends TrackableEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键ID")
......
......@@ -6,6 +6,7 @@ import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.enums.BaseEnum;
import net.wanji.common.enums.TurnConvertEnum;
import net.wanji.common.framework.Constants;
import net.wanji.common.framework.dubbointerface.impl.BaseDubboInterfaceImpl;
import net.wanji.common.framework.exception.DubboProviderException;
import net.wanji.common.framework.mapper.BaseInterfaceMapper;
......@@ -44,6 +45,7 @@ import java.math.BigDecimal;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
......@@ -417,7 +419,7 @@ public class GreenwaveHistProviderImpl extends BaseDubboInterfaceImpl<GreenwaveH
params.put("dir", BaseEnum.SignalDirectionEnum.getCodeByName(directionName.substring(0, directionName.indexOf("进口"))));
}
//存放时段
Set<String> sortedSet = EsDateIndexUtil.getTimeGranularityAxis(groupType, startTime, endTime);
List<String> sortedSet = EsDateIndexUtil.getTimeGranularityAxisAll(groupType, startTime, endTime);
//======================================================================================================//
//存放所有数据
List<Map<String, Object>> allList = new ArrayList<>();
......@@ -534,19 +536,17 @@ public class GreenwaveHistProviderImpl extends BaseDubboInterfaceImpl<GreenwaveH
if (params.get("dir") != null) {
allList = allList.stream().filter(o -> Objects.equals(params.get("dir").toString(), o.get("dirType").toString())).collect(Collectors.toList());
}
List<String> timeList = this.getTimeAxisList(groupType,sortedSet);
JSONObject jsonObject = new JSONObject();
jsonObject.put("timeList", sortedSet);
jsonObject.put("timeList", timeList);
jsonObject.put("dateTimeList", sortedSet);
jsonObject.put("dataList", allList);
jsonObject.put("scopeList", scopeList);
return jsonObject;
}
public static void main(String[] args) {
DateTime dateTime = new DateTime(new Date());
System.out.println(dateTime.hourOfDay().get());
}
private void mockData(List<CrossLaneDataHistPoExtend> list) {
if (mockFlag) {
int maxFlow = list.stream().filter(o -> Objects.nonNull(o.getFlow())).mapToInt(CrossLaneDataHistPoExtend::getFlow).max().orElse(0);
......@@ -893,7 +893,7 @@ public class GreenwaveHistProviderImpl extends BaseDubboInterfaceImpl<GreenwaveH
* @param sortedSet
* @param startTime
*/
private List<CrossLaneDataHistPoExtend> processData(Map.Entry<String, List<CrossLaneDataHistPoExtend>> entry, String groupType, Set<String> sortedSet, String startTime) {
private List<CrossLaneDataHistPoExtend> processData(Map.Entry<String, List<CrossLaneDataHistPoExtend>> entry, String groupType, Collection<String> sortedSet, String startTime) {
//按方向排序
List<CrossLaneDataHistPoExtend> value = entry.getValue().stream().sorted(Comparator.comparing(o -> o.getStartTime())).collect(Collectors.toList());
......@@ -904,10 +904,10 @@ public class GreenwaveHistProviderImpl extends BaseDubboInterfaceImpl<GreenwaveH
timeList.addAll(value.stream().map(po -> DateUtil.formatDate(po.getStartTime(), EsDateIndexUtil.YMD_FORMATTER)).collect(Collectors.toSet()));
} else if (Objects.equals("3", groupType)) {
//小时粒度
timeList.addAll(value.stream().map(po -> DateUtil.formatDate(po.getStartTime(), EsDateIndexUtil.H_FORMATTER)).collect(Collectors.toSet()));
timeList.addAll(value.stream().map(po -> DateUtil.formatDate(po.getStartTime(), "yyyy-MM-dd HH:00:00")).collect(Collectors.toSet()));
} else {
//小时分钟粒度
timeList.addAll(value.stream().map(po -> DateUtil.formatDate(po.getStartTime(), EsDateIndexUtil.HM_FORMATTER)).collect(Collectors.toSet()));
timeList.addAll(value.stream().map(po -> DateUtil.formatDate(po.getStartTime(), "yyyy-MM-dd HH:mm:00")).collect(Collectors.toSet()));
}
//补充缺少时段数据,保留时段字段默认值
for (String timeSec : sortedSet) {
......@@ -917,11 +917,11 @@ public class GreenwaveHistProviderImpl extends BaseDubboInterfaceImpl<GreenwaveH
tmp.setTurnType(value.get(0).getTurnType());
tmp.setDirType(value.get(0).getDirType());
tmp.setTimeAxis(timeSec);
String parseTime = startTime.substring(0, startTime.lastIndexOf(" ") + 1) + timeSec;
// String parseTime = startTime.substring(0, startTime.lastIndexOf(" ") + 1) + timeSec;
if (Objects.equals("4", groupType)) {
tmp.setStartTime(DateTime.parse(timeSec, DateTimeFormat.forPattern(EsDateIndexUtil.YMD_FORMATTER)).toDate());
} else {
tmp.setStartTime(DateTime.parse(parseTime, DateTimeFormat.forPattern("yyyy-MM-dd HH:mm")).toDate());
tmp.setStartTime(DateTime.parse(startTime, DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:00")).toDate());
}
value.add(tmp);
}
......@@ -943,5 +943,16 @@ public class GreenwaveHistProviderImpl extends BaseDubboInterfaceImpl<GreenwaveH
return value;
}
private List<String> getTimeAxisList(String groupType,List<String> timeList) {
//存放时段
List<String> formatTimeList = new ArrayList<>();
if (Objects.equals("4", groupType)) {
//天粒度
formatTimeList.addAll(timeList);
} else {
//小时分钟粒度
formatTimeList.addAll(timeList.stream().map(dt -> dt.substring(dt.indexOf(" "),dt.lastIndexOf(":"))).collect(Collectors.toList()));
}
return formatTimeList;
}
}
......@@ -434,9 +434,9 @@
</set>
</sql>
<select id="getListByStartAndEnd" parameterType="java.util.Map" resultType="map">
SELECT start_time startTime,
end_time endTime,
<select id="getListByStartAndEnd" parameterType="java.util.Map" resultType="java.util.Map">
SELECT DATE_FORMAT(start_time,'%Y-%m-%d %H:%i:%s') startTime,
DATE_FORMAT(end_time,'%Y-%m-%d %H:%i:%s') endTime,
ABS(TIMESTAMPDIFF( SECOND, start_time, end_time )) AS duration,
info.type,
c.label as typeName
......
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