diff --git a/src/main/java/xuan/controller/ToolController.java b/src/main/java/xuan/controller/ToolController.java index 92b4fc1..5d467cc 100644 --- a/src/main/java/xuan/controller/ToolController.java +++ b/src/main/java/xuan/controller/ToolController.java @@ -111,9 +111,19 @@ public class ToolController { try { int year = Integer.parseInt(params.get("year").toString()); - Solar solar = Solar.fromYmd(year, 1, 1); - Lunar lunar = solar.getLunar(); - String shengXiao = lunar.getYearShengXiao(); + String[] shengXiaoList = {"鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"}; + String[] ganList = {"甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"}; + String[] zhiList = {"子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"}; + + int shengXiaoIndex = (year - 4) % 12; + if (shengXiaoIndex < 0) shengXiaoIndex += 12; + String shengXiao = shengXiaoList[shengXiaoIndex]; + + int ganIndex = (year - 4) % 10; + if (ganIndex < 0) ganIndex += 10; + int zhiIndex = (year - 4) % 12; + if (zhiIndex < 0) zhiIndex += 12; + String ganZhi = ganList[ganIndex] + zhiList[zhiIndex]; Map data = new HashMap<>(); data.put("year", year); @@ -134,7 +144,7 @@ public class ToolController { shengXiaoInfo.put("猪", "亥猪,五行属水,善良宽厚,乐观豁达"); data.put("info", shengXiaoInfo.getOrDefault(shengXiao, "未知生肖")); - data.put("ganZhi", lunar.getYearInGanZhi()); + data.put("ganZhi", ganZhi); result.put("success", true); result.put("data", data);