From c86e14235bd26eb9338371d107cf7f0d1e387bb7 Mon Sep 17 00:00:00 2001 From: xiangwbs Date: Wed, 22 Nov 2017 23:09:47 +0800 Subject: [PATCH] merge --- .../java/com/xwbing/service/DemoService.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/boot-service/src/main/java/com/xwbing/service/DemoService.java b/boot-service/src/main/java/com/xwbing/service/DemoService.java index edfa153..ad60c18 100644 --- a/boot-service/src/main/java/com/xwbing/service/DemoService.java +++ b/boot-service/src/main/java/com/xwbing/service/DemoService.java @@ -22,7 +22,7 @@ public class DemoService { private static Double formate(Double v1) { BigDecimal bg = new BigDecimal(v1); - return bg.setScale(0, BigDecimal.ROUND_HALF_UP).doubleValue(); + return bg.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue(); } private Double hoursBetween(String startDateTime, String endDateTime) { @@ -37,17 +37,24 @@ public class DemoService { return null; } - private Map hand(List gpsList) { + private Map hand(List gpsList, String endTime) { Map map = new HashMap<>(); //存数据库 JSONObject obj = gpsList.get(0); // TODO: 2017/11/22 //获取下一个时间 - String startTime = LocalDateTime.parse((String) obj.get("time"), dateTimeFormatter).plusHours(1).format(dateTimeFormatter); - //过滤 - gpsList = gpsList.stream().filter(jsonObject -> ((String) jsonObject.get("time")).compareTo(startTime) < 0 ? true : false).collect(Collectors.toList()); - map.put("startTime", startTime); - map.put("gpsList", gpsList); + String time = (String) obj.get("time"); + String startTime = LocalDateTime.parse(time, dateTimeFormatter).plusHours(1).format(dateTimeFormatter); + //跟截止时间比较 + if (hoursBetween(startTime, endTime) > 1) { + //过滤 + gpsList = gpsList.stream().filter(jsonObject -> ((String) jsonObject.get("time")).compareTo(startTime) < 0 ? true : false).collect(Collectors.toList()); + map.put("gpsList", gpsList); + map.put("startTime", startTime); + }else { + map.put("startTime",time); + map.put("startTime",gpsList); + } return map; } @@ -70,7 +77,7 @@ public class DemoService { } while (hoursBetween(startTime, endTime) > 1) { if (CollectionUtils.isNotEmpty(gpsList)) { - Map hand = hand(gpsList); + Map hand = hand(gpsList,endTime); startTime = (String) hand.get("startTime"); gpsList = (List) hand.get("hand"); } else { @@ -80,7 +87,7 @@ public class DemoService { if (CollectionUtils.isNotEmpty(gpsList)) { //排序 //获取处理结果 - Map hand = hand(gpsList); + Map hand = hand(gpsList,endTime); startTime = (String) hand.get("startTime"); gpsList = (List) hand.get("hand"); }