feat: 优化四柱八字模块,使命理解释更加通俗易懂
- 后端API优化: * 新增财运分析模块 * 优化命理解释内容,使用大白话描述 * 总体评价:用通俗易懂的语言描述核心性格特质 * 性格特点:列出优点、缺点和建议 * 事业发展:详细列出五行对应的行业方向 * 感情婚姻:男女命分别解读,给出实用建议 * 财运分析:理财建议和财富观念 * 健康提醒:五行对应的健康问题和养生建议 - 前端页面优化: * 调整展示顺序:公历农历 -> 命理解读 -> 详细分析 -> 四柱八字 * 简化页面结构,突出重点内容 * 优化样式,提升可读性 * 保持与后端API数据结构一致 - pages.json更新: * 添加占星术和塔罗牌页面配置 * 更新应用名称为'命理测算'
This commit is contained in:
1 parent
a155543af9
commit
093d379555
2 files changed
+169
-122
No files matched your search
@@ -90,33 +90,47 @@ public class BaZiController {
|
||||
analysis.put("personality", generatePersonality(baZi));
|
||||
analysis.put("career", generateCareer(baZi));
|
||||
analysis.put("marriage", generateMarriage(baZi));
|
||||
analysis.put("wealth", generateWealth(baZi));
|
||||
analysis.put("health", generateHealth(baZi));
|
||||
analysis.put("reasoning", generateReasoning(baZi));
|
||||
|
||||
return analysis;
|
||||
}
|
||||
|
||||
private String generateSummary(BaZi baZi) {
|
||||
String dayGanZhi = baZi.getDayGanZhi();
|
||||
String riZhu = dayGanZhi;
|
||||
String riGan = riZhu.substring(0, 1);
|
||||
String riGan = dayGanZhi.substring(0, 1);
|
||||
|
||||
StringBuilder summary = new StringBuilder();
|
||||
summary.append("您的日主为").append(riGan).append(",代表您的核心性格特质。");
|
||||
|
||||
if ("甲乙".contains(riGan)) {
|
||||
summary.append("木性仁慈,性格善良,有同情心,喜欢帮助他人。");
|
||||
} else if ("丙丁".contains(riGan)) {
|
||||
summary.append("火性热情,性格开朗,活力充沛,善于交际。");
|
||||
} else if ("戊己".contains(riGan)) {
|
||||
summary.append("土性稳重,性格踏实,做事认真,有责任心。");
|
||||
} else if ("庚辛".contains(riGan)) {
|
||||
summary.append("金性刚毅,性格果断,有决断力,讲义气。");
|
||||
} else {
|
||||
summary.append("水性灵活,性格聪明,思维敏捷,适应力强。");
|
||||
summary.append("【总体评价】\n\n");
|
||||
|
||||
if ("甲".equals(riGan)) {
|
||||
summary.append("您是一个有领导力的人,像大树一样正直挺拔。做事有魄力,喜欢当主角,有担当,能扛事。");
|
||||
} else if ("乙".equals(riGan)) {
|
||||
summary.append("您是一个灵活变通的人,像花草一样柔韧。适应能力强,能屈能伸,善于处理人际关系。");
|
||||
} else if ("丙".equals(riGan)) {
|
||||
summary.append("您是一个热情开朗的人,像太阳一样温暖。善于表达,有感染力,容易成为人群中的焦点。");
|
||||
} else if ("丁".equals(riGan)) {
|
||||
summary.append("您是一个细腻体贴的人,像灯烛一样温暖。心思细腻,有耐心,善于照顾他人感受。");
|
||||
} else if ("戊".equals(riGan)) {
|
||||
summary.append("您是一个稳重可靠的人,像大地一样厚实。值得信赖,有包容心,能担当重任。");
|
||||
} else if ("己".equals(riGan)) {
|
||||
summary.append("您是一个有爱心的人,像田园一样肥沃。善于培育,愿意付出,有耐心和毅力。");
|
||||
} else if ("庚".equals(riGan)) {
|
||||
summary.append("您是一个果断刚毅的人,像宝剑一样锋利。做事雷厉风行,讲义气,有正义感。");
|
||||
} else if ("辛".equals(riGan)) {
|
||||
summary.append("您是一个有品味的人,像珠宝一样精致。注重细节,追求完美,有艺术天赋。");
|
||||
} else if ("壬".equals(riGan)) {
|
||||
summary.append("您是一个有冲劲的人,像江河一样奔放。目标明确,勇往直前,有开拓精神。");
|
||||
} else if ("癸".equals(riGan)) {
|
||||
summary.append("您是一个聪明智慧的人,像雨露一样滋润。心思细腻,观察力强,善于思考。");
|
||||
}
|
||||
|
||||
summary.append("根据八字格局,您的人生既有先天基础,也需后天把握机遇。");
|
||||
summary.append("\n\n");
|
||||
summary.append("【人生建议】\n\n");
|
||||
summary.append("人生就像一场马拉松,不在于起点,而在于过程中的坚持和努力。您的八字显示,您有自己独特的优势和潜力。");
|
||||
summary.append("关键是要发挥自己的长处,弥补自己的短板。");
|
||||
summary.append("记住:命运掌握在自己手中,后天的努力和选择同样重要。");
|
||||
|
||||
return summary.toString();
|
||||
}
|
||||
@@ -127,28 +141,48 @@ public class BaZiController {
|
||||
|
||||
StringBuilder personality = new StringBuilder();
|
||||
|
||||
personality.append("【性格特征】\n");
|
||||
personality.append("【性格特点】\n\n");
|
||||
|
||||
if ("甲".equals(riGan)) {
|
||||
personality.append("甲木日主,像大树一样正直挺拔,有领导力,喜欢当主角,做事有魄力。");
|
||||
personality.append("优点:正直、有担当、有领导力、做事有魄力\n");
|
||||
personality.append("缺点:有时候太固执,不善于妥协\n");
|
||||
personality.append("建议:学会灵活变通,多听取他人意见\n");
|
||||
} else if ("乙".equals(riGan)) {
|
||||
personality.append("乙木日主,像花草一样柔和,适应力强,能屈能伸,善于变通。");
|
||||
personality.append("优点:灵活、适应力强、善于变通、人际关系好\n");
|
||||
personality.append("缺点:有时候优柔寡断,缺乏主见\n");
|
||||
personality.append("建议:培养决断力,学会坚持自己的立场\n");
|
||||
} else if ("丙".equals(riGan)) {
|
||||
personality.append("丙火日主,像太阳一样热情,给人温暖,善于表达,有感染力。");
|
||||
personality.append("优点:热情、开朗、有感染力、善于表达\n");
|
||||
personality.append("缺点:有时候太冲动,缺乏耐心\n");
|
||||
personality.append("建议:学会冷静思考,培养耐心\n");
|
||||
} else if ("丁".equals(riGan)) {
|
||||
personality.append("丁火日主,像灯烛一样温暖,心思细腻,体贴入微,有耐心。");
|
||||
personality.append("优点:细腻、体贴、有耐心、善于照顾他人\n");
|
||||
personality.append("缺点:有时候太敏感,容易多想\n");
|
||||
personality.append("建议:学会放宽心态,不要过于纠结细节\n");
|
||||
} else if ("戊".equals(riGan)) {
|
||||
personality.append("戊土日主,像大地一样稳重,值得信赖,有包容心,能担当重任。");
|
||||
personality.append("优点:稳重、可靠、有包容心、值得信赖\n");
|
||||
personality.append("缺点:有时候太保守,缺乏创新\n");
|
||||
personality.append("建议:学会接受新事物,勇于尝试\n");
|
||||
} else if ("己".equals(riGan)) {
|
||||
personality.append("己土日主,像田园一样肥沃,善于培育,有爱心,愿意付出。");
|
||||
personality.append("优点:有爱心、有耐心、善于培育、愿意付出\n");
|
||||
personality.append("缺点:有时候太执着,不善于放手\n");
|
||||
personality.append("建议:学会适度放手,给自己和他人空间\n");
|
||||
} else if ("庚".equals(riGan)) {
|
||||
personality.append("庚金日主,像宝剑一样锋利,做事果断,讲义气,有正义感。");
|
||||
personality.append("优点:果断、刚毅、讲义气、有正义感\n");
|
||||
personality.append("缺点:有时候太强硬,缺乏柔情\n");
|
||||
personality.append("建议:学会温柔待人,培养耐心\n");
|
||||
} else if ("辛".equals(riGan)) {
|
||||
personality.append("辛金日主,像珠宝一样精致,有品味,注重细节,追求完美。");
|
||||
personality.append("优点:有品味、注重细节、追求完美、有艺术天赋\n");
|
||||
personality.append("缺点:有时候太挑剔,要求过高\n");
|
||||
personality.append("建议:学会接受不完美,给自己和他人宽容\n");
|
||||
} else if ("壬".equals(riGan)) {
|
||||
personality.append("壬水日主,像江河一样奔放,有冲劲,目标明确,勇往直前。");
|
||||
personality.append("优点:有冲劲、目标明确、勇往直前、有开拓精神\n");
|
||||
personality.append("缺点:有时候太急躁,缺乏耐心\n");
|
||||
personality.append("建议:学会稳扎稳打,不要急于求成\n");
|
||||
} else if ("癸".equals(riGan)) {
|
||||
personality.append("癸水日主,像雨露一样滋润,心思细腻,观察力强,有智慧。");
|
||||
personality.append("优点:聪明、智慧、心思细腻、观察力强\n");
|
||||
personality.append("缺点:有时候太内向,不善表达\n");
|
||||
personality.append("建议:学会主动表达,多与人交流\n");
|
||||
}
|
||||
|
||||
return personality.toString();
|
||||
@@ -157,86 +191,105 @@ public class BaZiController {
|
||||
private String generateCareer(BaZi baZi) {
|
||||
StringBuilder career = new StringBuilder();
|
||||
|
||||
career.append("【事业发展】\n");
|
||||
career.append("根据您的八字格局,建议您选择适合五行属性的行业:\n");
|
||||
career.append("【事业发展】\n\n");
|
||||
career.append("适合的行业方向:\n\n");
|
||||
|
||||
career.append("• 五行属木的行业:教育、文化、艺术、种植、木材加工、家具、服装、纺织品、医药、保健品等。\n");
|
||||
career.append("• 五行属火的行业:电力、能源、餐饮、酒店、美容、化妆品、广告、影视、网络、电子等。\n");
|
||||
career.append("• 五行属土的行业:房地产、建筑、建材、农业、畜牧业、矿业、仓储、物流等。\n");
|
||||
career.append("• 五行属金的行业:金融、银行、证券、保险、金属、机械、五金、珠宝、首饰等。\n");
|
||||
career.append("• 五行属水的行业:水利、水产、航运、交通、旅游、酒店、餐饮、娱乐、文化、教育等。\n");
|
||||
career.append("• 木属性行业:教育、培训、文化、艺术、出版、设计、园林、农业、林业、木材加工、家具制造、纺织品、服装、医药、保健品等。\n\n");
|
||||
|
||||
career.append("选择与您八字用神五行相符的行业,更有利于事业发展。");
|
||||
career.append("• 火属性行业:电力、能源、电子、IT、互联网、餐饮、酒店、美容、化妆品、广告、影视、传媒、娱乐、体育等。\n\n");
|
||||
|
||||
career.append("• 土属性行业:房地产、建筑、建材、装饰、农业、畜牧业、矿业、地质、仓储、物流、中介、咨询、管理等。\n\n");
|
||||
|
||||
career.append("• 金属性行业:金融、银行、证券、保险、投资、金属、机械、五金、珠宝、首饰、汽车、航空、法律、执法等。\n\n");
|
||||
|
||||
career.append("• 水属性行业:水利、水产、航运、交通、旅游、酒店、餐饮、娱乐、文化、教育、传媒、贸易、物流、清洁等。\n\n");
|
||||
|
||||
career.append("【事业建议】\n\n");
|
||||
career.append("选择行业时,建议结合自己的兴趣、特长和八字五行来综合考虑。");
|
||||
career.append("如果八字中某个五行特别旺,可以选择与之相关的行业,这样更容易发挥优势。");
|
||||
career.append("如果八字中某个五行缺失,可以在工作中多接触相关领域,或者通过学习来弥补。");
|
||||
|
||||
return career.toString();
|
||||
}
|
||||
|
||||
private String generateMarriage(BaZi baZi) {
|
||||
StringBuilder marriage = new StringBuilder();
|
||||
|
||||
marriage.append("【感情婚姻】\n\n");
|
||||
|
||||
Integer sex = baZi.getSex();
|
||||
|
||||
marriage.append("【感情婚姻】\n");
|
||||
|
||||
if (sex != null && sex == 1) {
|
||||
marriage.append("男命以财星为妻,八字中财星旺相,有利于婚姻感情。");
|
||||
marriage.append("男命看婚姻:\n\n");
|
||||
marriage.append("• 您的八字中财星代表妻子,财星旺相的话,妻子贤惠能干,婚姻幸福。\n");
|
||||
marriage.append("• 财星弱的话,可能需要晚婚,或者妻子身体较弱,需要多关心照顾。\n");
|
||||
marriage.append("• 建议选择性格互补的伴侣,这样婚姻更和谐。\n\n");
|
||||
} else {
|
||||
marriage.append("女命以官杀为夫,八字中官杀旺相,有利于婚姻感情。");
|
||||
marriage.append("女命看婚姻:\n\n");
|
||||
marriage.append("• 您的八字中官杀代表丈夫,官杀旺相的话,丈夫有能力,婚姻稳定。\n");
|
||||
marriage.append("• 官杀弱的话,可能需要晚婚,或者丈夫事业需要扶持。\n");
|
||||
marriage.append("• 建议选择有责任心、有担当的伴侣,这样婚姻更幸福。\n\n");
|
||||
}
|
||||
|
||||
marriage.append("\n\n建议您在选择伴侣时,关注对方的性格是否与您互补。");
|
||||
marriage.append("同时,也要注意双方的八字五行是否相生相合,这有助于婚姻的和谐。");
|
||||
marriage.append("【婚姻建议】\n\n");
|
||||
marriage.append("婚姻需要经营,不是命中注定就一成不变的。");
|
||||
marriage.append("好的婚姻需要双方共同努力,相互理解,相互包容。");
|
||||
marriage.append("遇到问题时,多沟通,多换位思考,不要轻易放弃。");
|
||||
marriage.append("记住:婚姻是两个人的事,需要共同经营和维护。");
|
||||
|
||||
return marriage.toString();
|
||||
}
|
||||
|
||||
private String generateWealth(BaZi baZi) {
|
||||
StringBuilder wealth = new StringBuilder();
|
||||
|
||||
wealth.append("【财运分析】\n\n");
|
||||
|
||||
wealth.append("财运特点:\n\n");
|
||||
wealth.append("• 正财:通过正当工作、努力劳动获得的收入,稳定可靠。\n");
|
||||
wealth.append("• 偏财:意外之财、投资收益、奖金等,时有时无。\n\n");
|
||||
|
||||
wealth.append("【理财建议】\n\n");
|
||||
wealth.append("1. 合理规划:收入要合理分配,不要过度消费。\n");
|
||||
wealth.append("2. 稳健投资:选择适合自己的投资方式,不要盲目跟风。\n");
|
||||
wealth.append("3. 开源节流:既要努力工作增加收入,也要学会节约开支。\n");
|
||||
wealth.append("4. 未雨绸缪:要有储蓄习惯,为未来做好准备。\n");
|
||||
wealth.append("5. 理性消费:不要冲动消费,买真正需要的东西。\n\n");
|
||||
|
||||
wealth.append("记住:财富不是人生的全部,健康、家庭、友情同样重要。");
|
||||
|
||||
return wealth.toString();
|
||||
}
|
||||
|
||||
private String generateHealth(BaZi baZi) {
|
||||
StringBuilder health = new StringBuilder();
|
||||
|
||||
health.append("【健康注意】\n");
|
||||
health.append("根据您的八字五行,需要注意以下方面的健康问题:\n");
|
||||
health.append("【健康提醒】\n\n");
|
||||
|
||||
health.append("• 五行属木:注意肝胆健康,保持心情舒畅,避免过度劳累。\n");
|
||||
health.append("• 五行属火:注意心脏和眼睛健康,避免过度焦虑,保持充足睡眠。\n");
|
||||
health.append("• 五行属土:注意脾胃健康,饮食规律,避免暴饮暴食。\n");
|
||||
health.append("• 五行属金:注意肺部和呼吸系统健康,避免吸烟,保持空气清新。\n");
|
||||
health.append("• 五行属水:注意肾脏和泌尿系统健康,多喝水,避免过度劳累。\n");
|
||||
health.append("根据八字五行,需要注意以下方面的健康:\n\n");
|
||||
|
||||
health.append("建议您定期体检,保持良好的生活习惯,这对您的健康非常重要。");
|
||||
health.append("• 木(肝胆):如果八字木旺或木弱,要注意肝胆健康。保持心情舒畅,避免生气,少喝酒,多吃绿色蔬菜。\n\n");
|
||||
|
||||
health.append("• 火(心脏、眼睛):如果八字火旺或火弱,要注意心脏和眼睛健康。避免过度焦虑,保持充足睡眠,少吃辛辣食物。\n\n");
|
||||
|
||||
health.append("• 土(脾胃):如果八字土旺或土弱,要注意脾胃健康。饮食规律,避免暴饮暴食,少吃生冷食物。\n\n");
|
||||
|
||||
health.append("• 金(肺部、呼吸系统):如果八字金旺或金弱,要注意肺部和呼吸系统健康。避免吸烟,保持空气清新,多吃白色食物。\n\n");
|
||||
|
||||
health.append("• 水(肾脏、泌尿系统):如果八字水旺或水弱,要注意肾脏和泌尿系统健康。多喝水,避免过度劳累,少吃咸食。\n\n");
|
||||
|
||||
health.append("【养生建议】\n\n");
|
||||
health.append("1. 规律作息:早睡早起,保证充足睡眠。\n");
|
||||
health.append("2. 适量运动:每天坚持运动30分钟以上。\n");
|
||||
health.append("3. 健康饮食:多吃蔬菜水果,少吃油腻食物。\n");
|
||||
health.append("4. 定期体检:每年至少体检一次,早发现早治疗。\n");
|
||||
health.append("5. 心理健康:保持良好心态,学会释放压力。\n\n");
|
||||
|
||||
health.append("记住:健康是最大的财富,要珍惜和保护好自己的身体。");
|
||||
|
||||
return health.toString();
|
||||
}
|
||||
|
||||
private String generateReasoning(BaZi baZi) {
|
||||
StringBuilder reasoning = new StringBuilder();
|
||||
|
||||
reasoning.append("【推理过程】\n");
|
||||
reasoning.append("1. 排八字:根据您的出生时间,换算成对应的天干地支,形成四柱八字。\n");
|
||||
reasoning.append(" 年柱:").append(baZi.getYearGanZhi()).append("\n");
|
||||
reasoning.append(" 月柱:").append(baZi.getMonthGanZhi()).append("\n");
|
||||
reasoning.append(" 日柱:").append(baZi.getDayGanZhi()).append("\n");
|
||||
reasoning.append(" 时柱:").append(baZi.getHourGanZhi()).append("\n\n");
|
||||
|
||||
reasoning.append("2. 定日主:以日柱天干代表命主本人,您的日主为").append(baZi.getDayGanZhi().substring(0, 1)).append("。\n\n");
|
||||
|
||||
reasoning.append("3. 定旺衰:以月令为核心,判断日主在八字中的能量强弱。\n\n");
|
||||
|
||||
reasoning.append("4. 取十神:根据日主与其他天干地支的五行关系,确定十神。\n\n");
|
||||
|
||||
reasoning.append("5. 论格局:通过月令透干和十神组合,判断命主的核心特质与发展方向。\n\n");
|
||||
|
||||
reasoning.append("6. 五行分析:分析八字中五行的分布、旺衰和缺失情况。\n");
|
||||
if (baZi.getWuXingWangShuai() != null && baZi.getWuXingWangShuai().length > 0) {
|
||||
reasoning.append(" 五行旺衰:").append(String.join("、", baZi.getWuXingWangShuai())).append("\n");
|
||||
}
|
||||
if (baZi.getWuXingQueShi() != null && baZi.getWuXingQueShi().length > 0) {
|
||||
reasoning.append(" 五行缺失:").append(String.join("、", baZi.getWuXingQueShi())).append("\n");
|
||||
}
|
||||
|
||||
reasoning.append("\n7. 综合分析:结合以上信息,给出通俗易懂的命理解释。");
|
||||
|
||||
return reasoning.toString();
|
||||
}
|
||||
|
||||
public static class BaZiRequest {
|
||||
private String name;
|
||||
private String occupy;
|
||||
|
||||
Reference in new issue
Block a user