diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/saledata/vo/HolidayTree.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/saledata/vo/HolidayTree.java index c22c9f6e8..cd239d92a 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/saledata/vo/HolidayTree.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/saledata/vo/HolidayTree.java @@ -4,58 +4,38 @@ import java.util.*; public class HolidayTree { - // 第一层: 年份 -> 节假日数据 + // 第一层: 年份 -> 前五日数据 private Map yearMap = new HashMap<>(); - public void addHolidayData(String year, String holidayName, Integer day, Integer count) { - YearNode yearNode = yearMap.computeIfAbsent(year, k -> new YearNode(year)); - yearNode.addHolidayData(holidayName, day, count); + // 添加年份数据 + public void addHolidayData(String year, Integer day, Integer count) { + YearNode yearNode = yearMap.computeIfAbsent(year, k -> new YearNode()); + yearNode.addDayData(day, count); } // 第一层节点: 年份 static class YearNode { - private String year; - private Map holidayMap = new HashMap<>(); +// private String year; + private Map dayDataMap = new HashMap<>(); // 第几天 -> 数量 - public YearNode(String year) { - this.year = year; +// public YearNode(String year) { +// this.year = year; +// } + + // 添加某一天的数据 + public void addDayData(Integer day, Integer count) { + // 只记录前五天的数据 + if (day >= 1 && day <= 5) { + dayDataMap.put(day, count); + } } - // 添加节假日数据 - public void addHolidayData(String holidayName, Integer day, Integer count) { - HolidayNode holidayNode = holidayMap.computeIfAbsent(holidayName, k -> new HolidayNode(holidayName)); - holidayNode.addHolidayDay(day, count); - } +// public String getYear() { +// return year; +// } - public String getYear() { - return year; - } - - public Map getHolidayMap() { - return holidayMap; - } - } - - // 第二层节点: 节假日 - static class HolidayNode { - private String holidayName; - private Map holidayDays = new HashMap<>(); // 第几天 -> 数量 - - public HolidayNode(String holidayName) { - this.holidayName = holidayName; - } - - // 添加节假日的具体天数与数量 - public void addHolidayDay(Integer day, Integer count) { - holidayDays.put(day, count); - } - - public String getHolidayName() { - return holidayName; - } - - public Map getHolidayDays() { - return holidayDays; + public Map getDayDataMap() { + return dayDataMap; } } @@ -65,24 +45,22 @@ public class HolidayTree { } // 测试打印树形数据 -// public static void main(String[] args) { -// HolidayTree tree = new HolidayTree(); -// -// // 添加一些示例数据 -// tree.addHolidayData("2023", "New Year", 1, 100); -// tree.addHolidayData("2023", "New Year", 2, 120); -// tree.addHolidayData("2023", "Spring Festival", 1, 200); -// tree.addHolidayData("2024", "New Year", 1, 150); -// -// // 打印树形数据 -// tree.getYearMap().forEach((year, yearNode) -> { -// System.out.println("Year: " + year); -// yearNode.getHolidayMap().forEach((holiday, holidayNode) -> { -// System.out.println(" Holiday: " + holiday); -// holidayNode.getHolidayDays().forEach((day, count) -> { -// System.out.println(" Day " + day + ": " + count); -// }); -// }); -// }); -// } + public static void main(String[] args) { + HolidayTree tree = new HolidayTree(); + + // 添加一些示例数据 + tree.addHolidayData("2023", 1, 100); + tree.addHolidayData("2023", 2, 120); + tree.addHolidayData("2023", 6, 200); // 这条数据不会被记录 + tree.addHolidayData("2024", 1, 150); + tree.addHolidayData("2024", 3, 130); + + // 打印树形数据 + tree.getYearMap().forEach((year, yearNode) -> { + System.out.println("Year: " + year); + yearNode.getDayDataMap().forEach((day, count) -> { + System.out.println(" Day " + day + ": " + count); + }); + }); + } }