diff --git a/boot-service/src/main/java/com/xwbing/demo/CountDemo.java b/boot-service/src/main/java/com/xwbing/demo/CountDemo.java index 316d8fc..d3e1258 100644 --- a/boot-service/src/main/java/com/xwbing/demo/CountDemo.java +++ b/boot-service/src/main/java/com/xwbing/demo/CountDemo.java @@ -31,13 +31,19 @@ public class CountDemo { JSONArray result = new JSONArray(); if (CollectionUtils.isNotEmpty(list)) { Map> collect = list.stream().collect(Collectors.groupingBy(obj -> obj.getString("item"))); - collect.forEach((k, v) -> { - JSONObject obj = new JSONObject(); - obj.put("name", k); - int sum = v.stream().mapToInt(item -> item.getInteger("value")).sum(); - obj.put("value", sum); + JSONObject obj; + for (String item : ITEM.split(",")) { + obj = new JSONObject(); + obj.put("name", item); + List sample = collect.get(item); + if (sample != null) { + int sum = sample.stream().mapToInt(value -> value.getInteger("value")).sum(); + obj.put("value", sum); + } else { + obj.put("value", 0); + } result.add(obj); - }); + } } else { JSONObject obj; for (String item : ITEM.split(",")) { @@ -141,9 +147,9 @@ public class CountDemo { } public static void main(String[] args) { - List list = listByDate("2018-01-01", "2018-01-10"); + List list = listByDate("2018-01-01", "2018-01-02"); // List list = new ArrayList<>(); log.info(JSON.toJSONString(pie(list), SerializerFeature.PrettyFormat)); - log.info(JSON.toJSONString(barOrLine("2018-01-01", "2018-01-10", list), SerializerFeature.PrettyFormat)); + log.info(JSON.toJSONString(barOrLine("2018-01-01", "2018-01-02", list), SerializerFeature.PrettyFormat)); } }