fix: 修复星座查询结果不正确的问题

- 使用自定义的getXingZuoByDate方法替代solar.getXingZuo()
- 确保星座日期范围与显示的日期范围一致
- 白羊座: 3月21日-4月19日
- 金牛座: 4月20日-5月20日
- 双子座: 5月21日-6月21日
- 巨蟹座: 6月22日-7月22日
- 狮子座: 7月23日-8月22日
- 处女座: 8月23日-9月22日
- 天秤座: 9月23日-10月23日
- 天蝎座: 10月24日-11月22日
- 射手座: 11月23日-12月21日
- 摩羯座: 12月22日-1月19日
- 水瓶座: 1月20日-2月18日
- 双鱼座: 2月19日-3月20日
This commit is contained in:
H1d3rOne committed 2026-03-08 02:08:43 +08:00
1 parent c819b5f746
commit 02c5c6e110
1 file changed
+29 -2
@@ -162,8 +162,7 @@ public class ToolController {
int month = Integer.parseInt(params.get("month").toString());
int day = Integer.parseInt(params.get("day").toString());
Solar solar = Solar.fromYmd(2000, month, day);
String xingZuo = solar.getXingZuo();
String xingZuo = getXingZuoByDate(month, day);
Map<String, Object> data = new HashMap<>();
data.put("month", month);
@@ -273,6 +272,34 @@ public class ToolController {
}
return result;
}
private String getXingZuoByDate(int month, int day) {
if ((month == 3 && day >= 21) || (month == 4 && day <= 19)) {
return "白羊座";
} else if ((month == 4 && day >= 20) || (month == 5 && day <= 20)) {
return "金牛座";
} else if ((month == 5 && day >= 21) || (month == 6 && day <= 21)) {
return "双子座";
} else if ((month == 6 && day >= 22) || (month == 7 && day <= 22)) {
return "巨蟹座";
} else if ((month == 7 && day >= 23) || (month == 8 && day <= 22)) {
return "狮子座";
} else if ((month == 8 && day >= 23) || (month == 9 && day <= 22)) {
return "处女座";
} else if ((month == 9 && day >= 23) || (month == 10 && day <= 23)) {
return "天秤座";
} else if ((month == 10 && day >= 24) || (month == 11 && day <= 22)) {
return "天蝎座";
} else if ((month == 11 && day >= 23) || (month == 12 && day <= 21)) {
return "射手座";
} else if ((month == 12 && day >= 22) || (month == 1 && day <= 19)) {
return "摩羯座";
} else if ((month == 1 && day >= 20) || (month == 2 && day <= 18)) {
return "水瓶座";
} else {
return "双鱼座";
}
}
@PostMapping("/wuxing")
public Map<String, Object> wuXingQuery(@RequestBody Map<String, Object> params) {