diff --git a/src/main/java/xuan/controller/LiuYaoController.java b/src/main/java/xuan/controller/LiuYaoController.java index f94bf7e..449d398 100644 --- a/src/main/java/xuan/controller/LiuYaoController.java +++ b/src/main/java/xuan/controller/LiuYaoController.java @@ -29,17 +29,7 @@ public class LiuYaoController { setting.setLeapMonthType(request.getLeapMonthType() != null ? request.getLeapMonthType() : 0); setting.setXuShiSuiType(request.getXuShiSuiType() != null ? request.getXuShiSuiType() : 0); setting.setJieQiType(request.getJieQiType() != null ? request.getJieQiType() : 1); - setting.setYearGanZhiType(request.getYearGanZhiType() != null ? request.getYearGanZhiType() : 2); - setting.setMonthGanZhiType(request.getMonthGanZhiType() != null ? request.getMonthGanZhiType() : 1); - setting.setDayGanZhiType(request.getDayGanZhiType() != null ? request.getDayGanZhiType() : 0); - setting.setPaiPanType(request.getPaiPanType() != null ? request.getPaiPanType() : 0); - if (request.getLiuYaoYaoXiang() != null) { - String[] yaoXiang = request.getLiuYaoYaoXiang().split(","); - if (yaoXiang.length >= 6) { - setting.setLiuYao(yaoXiang[0].equals("—") || yaoXiang[0].equals("阳") ? 1 : 0); - setting.setWuYao(yaoXiang[1].equals("—") || yaoXiang[1].equals("阳") ? 1 : 0); - setting.setSiYao(yaoXiang[2].equals("—") || yaoXiang[2].equals("阳") ? 1 : 0); - setting.setSanYao(yaoXiang[3].equals("—") || yaoXiang[3].equals("阳") ? 1 : 0); + setting.setLiuYaoYaoXiang(request.getLiuYaoYaoXiang() != null ? request.getLiuYaoYaoXiang() : "——,——,——,——,——,——"); setting.setErYao(yaoXiang[4].equals("—") || yaoXiang[4].equals("阳") ? 1 : 0); setting.setYiYao(yaoXiang[5].equals("—") || yaoXiang[5].equals("阳") ? 1 : 0); } diff --git a/src/main/java/xuan/controller/TaLuoController.java b/src/main/java/xuan/controller/TaLuoController.java index 1c472fe..cea40a2 100644 --- a/src/main/java/xuan/controller/TaLuoController.java +++ b/src/main/java/xuan/controller/TaLuoController.java @@ -148,4 +148,3 @@ public class TaLuoController { public String getSpreadType() { return spreadType; } public void setSpreadType(String spreadType) { this.spreadType = spreadType; } } -} diff --git a/src/main/java/xuan/controller/ZiWeiController.java b/src/main/java/xuan/controller/ZiWeiController.java index 1b0c084..114a4f5 100644 --- a/src/main/java/xuan/controller/ZiWeiController.java +++ b/src/main/java/xuan/controller/ZiWeiController.java @@ -10,6 +10,39 @@ import java.util.*; @RestController @RequestMapping("/api/ziwei") + private static final Map ZHU_XING_JIE_DU = new HashMap<>(); + private static final Map GONG_WEI_JIE_DU = new HashMap<>(); + + static { + ZHU_XING_JIE_DU.put("紫微", "帝王之星,主权威领导,性格稳重有魄力,适合管理岗位,天生具有统御能力"); + ZHU_XING_JIE_DU.put("天机", "智慧之星,主聪明机敏,善于策划分析,适合参谋顾问,思维活跃多变"); + ZHU_XING_JIE_DU.put("太阳", "光明之星,主外向热情,事业心强,利于公职发展,贵人运旺"); + ZHU_XING_JIE_DU.put("武曲", "财星,主刚毅果断,理财能力强,适合金融商业,财运亨通"); + ZHU_XING_JIE_DU.put("天同", "福星,主温和仁慈,人缘好福气厚,适合服务行业,生活安逸"); + ZHU_XING_JIE_DU.put("廉贞", "桃花星,主才华艺术,感情丰富,适合文艺创作,魅力十足"); + ZHU_XING_JIE_DU.put("天府", "财库星,主稳重守成,善于理财积累,适合财务管理,财源稳定"); + ZHU_XING_JIE_DU.put("太阴", "阴柔之星,主细腻敏感,直觉力强,适合文艺创作,财运平稳"); + ZHU_XING_JIE_DU.put("贪狼", "欲望之星,主多才多艺,交际能力强,适合演艺销售,但需防贪欲"); + ZHU_XING_JIE_DU.put("巨门", "口舌之星,主能言善辩,适合律师教师,但易招是非口舌"); + ZHU_XING_JIE_DU.put("天相", "印星,主正直公正,适合公务员法律,贵人运佳,事业平稳"); + ZHU_XING_JIE_DU.put("天梁", "荫星,主慈悲为怀,适合医疗教育,有长辈贵人,福泽深厚"); + ZHU_XING_JIE_DU.put("七杀", "将星,主刚强果断,适合军警创业,有领导才能,但需防冲动"); + ZHU_XING_JIE_DU.put("破军", "变动之星,主开创冒险,适合创业改革,变动多端,需稳中求进"); + + GONG_WEI_JIE_DU.put("命宫", "代表核心性格、人生基调、先天特质"); + GONG_WEI_JIE_DU.put("兄弟宫", "代表兄弟姐妹关系、同辈交往、合作能力"); + GONG_WEI_JIE_DU.put("夫妻宫", "代表婚姻感情、配偶特质、婚姻质量"); + GONG_WEI_JIE_DU.put("子女宫", "代表子女运势、后代情况、桃花缘分"); + GONG_WEI_JIE_DU.put("财帛宫", "代表财富来源、理财能力、财运起伏"); + GONG_WEI_JIE_DU.put("疾厄宫", "代表健康状况、易患疾病、养生方向"); + GONG_WEI_JIE_DU.put("迁移宫", "代表外出运势、人际交往、贵人运"); + GONG_WEI_JIE_DU.put("交友宫", "代表朋友关系、下属能力、人际网络"); + GONG_WEI_JIE_DU.put("官禄宫", "代表事业发展、职业方向、官运仕途"); + GONG_WEI_JIE_DU.put("田宅宫", "代表房产运势、家庭环境、祖业继承"); + GONG_WEI_JIE_DU.put("福德宫", "代表精神状态、福报厚薄、晚年运势"); + GONG_WEI_JIE_DU.put("父母宫", "代表父母关系、长辈助力、学历背景"); + } + public class ZiWeiController { private final HunYuanAiService aiService = new HunYuanAiService(); @@ -43,79 +76,125 @@ public class ZiWeiController { data.put("aiAnalysis", aiAnalysis); result.put("success", true); + data.put("occupy", ziWei.getOccupy()); result.put("data", data); } catch (Exception e) { + data.put("zao", ziWei.getZao()); result.put("success", false); result.put("error", e.getMessage()); } + data.put("xingQi", ziWei.getXingQi()); + data.put("jiJie", ziWei.getJiJie()); return result; } - + data.put("yueXiang", ziWei.getYueXiang()); + data.put("yueJiang", ziWei.getYueJiang()); + data.put("yueJiangShen", ziWei.getYueJiangShen()); + data.put("wuBuYuShi", ziWei.getWuBuYuShi()); + + data.put("yearGan", ziWei.getYearGan()); + data.put("monthGan", ziWei.getMonthGan()); + data.put("dayGan", ziWei.getDayGan()); + data.put("hourGan", ziWei.getHourGan()); + data.put("yearZhi", ziWei.getYearZhi()); + data.put("monthZhi", ziWei.getMonthZhi()); + data.put("dayZhi", ziWei.getDayZhi()); + data.put("hourZhi", ziWei.getHourZhi()); private Map buildZiWeiData(ZiWei ziWei) { Map data = new HashMap<>(); data.put("name", ziWei.getName()); data.put("sex", ziWei.getSex()); data.put("age", ziWei.getAge()); + data.put("yearGanZhiNaYin", ziWei.getYearGanZhiNaYin()); + data.put("monthGanZhiNaYin", ziWei.getMonthGanZhiNaYin()); + data.put("dayGanZhiNaYin", ziWei.getDayGanZhiNaYin()); + data.put("hourGanZhiNaYin", ziWei.getHourGanZhiNaYin()); + + data.put("nanNvYinYang", ziWei.getNanNvYinYang()); + data.put("mingGongGongWei", ziWei.getMingGongGongWei()); + data.put("shenGongGongWei", ziWei.getShenGongGongWei()); data.put("solar", ziWei.getSolarStr2()); - data.put("lunar", ziWei.getLunarStr2()); - data.put("shengXiao", ziWei.getShengXiao()); + + data.put("wuXingJu", ziWei.getWuXingJu()); data.put("xingZuo", ziWei.getXingZuo()); data.put("wuXingJu", ziWei.getWuXingJu()); data.put("yearGanZhi", ziWei.getYearGanZhi()); data.put("monthGanZhi", ziWei.getMonthGanZhi()); data.put("dayGanZhi", ziWei.getDayGanZhi()); + data.put("ziWeiXingGongWei", ziWei.getZiWeiXingGongWei()); + data.put("tianFuXingGongWei", ziWei.getTianFuXingGongWei()); + data.put("ziWeiXingGongDiZhi", ziWei.getZiWeiXingGongDiZhi()); + data.put("tianFuXingGongDiZhi", ziWei.getTianFuXingGongDiZhi()); + + data.put("ziWeiXingXiZhuXing", ziWei.getZiWeiXingXiZhuXing()); + data.put("tianFuXingXiZhuXing", ziWei.getTianFuXingXiZhuXing()); + data.put("shiZhiZhuXing", ziWei.getShiZhiZhuXing()); + data.put("yueZhiZhuXing", ziWei.getYueZhiZhuXing()); + data.put("nianGanZhuXing", ziWei.getNianGanZhuXing()); + data.put("nianZhiZhuXing", ziWei.getNianZhiZhuXing()); + data.put("dayZhuXing", ziWei.getDayZhuXing()); + + data.put("shiErZhangSheng", ziWei.getShiErZhangSheng()); + data.put("jieLuKongWang", ziWei.getJieLuKongWang()); + data.put("xunZhongKongWang", ziWei.getXunZhongKongWang()); + data.put("tianShangTianShiXing", ziWei.getTianShangTianShiXing()); + + data.put("daXian", ziWei.getDaXian()); + data.put("xiaoXian", ziWei.getXiaoXian()); + data.put("shiErGongBoShi", ziWei.getShiErGongBoShi()); + data.put("liuNianSuiQianZhuXing", ziWei.getLiuNianSuiQianZhuXing()); + data.put("liuNianJiangQianZhuXing", ziWei.getLiuNianJiangQianZhuXing()); + data.put("hourGanZhi", ziWei.getHourGanZhi()); - data.put("mingGongDiZhi", ziWei.getMingGongDiZhi()); - data.put("shenGongDiZhi", ziWei.getShenGongDiZhi()); - data.put("mingZhu", ziWei.getMingZhu()); + data.put("shiErGongZhuXingGuanXi", ziWei.getShiErGongZhuXingGuanXi()); + + data.put("huaLuXingGongWei", ziWei.getHuaLuXingGongWei()); + data.put("huaQuanXingGongWei", ziWei.getHuaQuanXingGongWei()); + data.put("huaKeXingGongWei", ziWei.getHuaKeXingGongWei()); + data.put("huaJiXingGongWei", ziWei.getHuaJiXingGongWei()); data.put("shenZhu", ziWei.getShenZhu()); data.put("shiErGongDiZhi", ziWei.getShiErGongDiZhi()); data.put("shiErGongTianGan", ziWei.getShiErGongTianGan()); data.put("shiErMingGong", ziWei.getShiErMingGong()); data.put("shiErShenGong", ziWei.getShiErShenGong()); - - List> shiErGongZhuXing = ziWei.getShiErGongZhuXing(false); - data.put("shiErGongZhuXing", shiErGongZhuXing); data.put("shiErGongSiHuaXing", ziWei.getShiErGongSiHuaXing()); - data.put("shiErZhangSheng", ziWei.getShiErZhangSheng()); - data.put("daXian", ziWei.getDaXian()); + data.put("shiErGongSiHuaXingGuanXi", ziWei.getShiErGongSiHuaXingGuanXi()); + data.put("mingZhu", ziWei.getMingZhu()); + data.put("shenZhu", ziWei.getShenZhu()); + data.put("ziDou", ziWei.getZiDou()); + data.put("liuDou", ziWei.getLiuDou()); + + data.put("prevJie", ziWei.getPrevJie()); + data.put("nextJie", ziWei.getNextJie()); + data.put("chuShengJie", ziWei.getChuShengJie()); + data.put("prevQi", ziWei.getPrevQi()); + data.put("nextQi", ziWei.getNextQi()); + data.put("chuShengQi", ziWei.getChuShengQi()); data.put("huaLuXingGongWeiJieDu", ziWei.getHuaLuXingGongWeiJieDu()); data.put("huaQuanXingGongWeiJieDu", ziWei.getHuaQuanXingGongWeiJieDu()); data.put("huaKeXingGongWeiJieDu", ziWei.getHuaKeXingGongWeiJieDu()); data.put("huaJiXingGongWeiJieDu", ziWei.getHuaJiXingGongWeiJieDu()); + data.put("jieDu", buildJieDu(ziWei, shiErMingGong, shiErGongZhuXing)); + return data; } - - public static class ZiWeiRequest { - private String name; - private String occupy; - private Integer sex; - private String date; - private Integer dateType; - private Integer leapMonthType; - private Integer xuShiSuiType; - private Integer jieQiType; - private Integer wuXingJuType; - private Integer yearGanZhiType; - private Integer monthGanZhiType; - private Integer dayGanZhiType; - - public String getName() { return name; } - public void setName(String name) { this.name = name; } - public String getOccupy() { return occupy; } - public void setOccupy(String occupy) { this.occupy = occupy; } - public Integer getSex() { return sex; } - public void setSex(Integer sex) { this.sex = sex; } + + private Map buildJieDu(ZiWei ziWei, List shiErMingGong, List> shiErGongZhuXing) { + Map jieDu = new HashMap<>(); + + int mingGongIndex = ziWei.getMingGongGongWei() - 1; + List mingGongStars = shiErGongZhuXing.get(mingGongIndex); + public String getDate() { return date; } - public void setDate(String date) { this.date = date; } - public Integer getDateType() { return dateType; } + for (String star : mingGongStars) { + if (ZHU_XING_JIE_DU.containsKey(star)) { public void setDateType(Integer dateType) { this.dateType = dateType; } public Integer getLeapMonthType() { return leapMonthType; } public void setLeapMonthType(Integer leapMonthType) { this.leapMonthType = leapMonthType; } diff --git a/xuan-deduct-uniapp/src/components/MarkdownRenderer.vue b/xuan-deduct-uniapp/src/components/MarkdownRenderer.vue new file mode 100644 index 0000000..f393701 --- /dev/null +++ b/xuan-deduct-uniapp/src/components/MarkdownRenderer.vue @@ -0,0 +1,153 @@ + + + + + diff --git a/xuan-deduct-uniapp/src/pages.json b/xuan-deduct-uniapp/src/pages.json index e95870f..ce35999 100644 --- a/xuan-deduct-uniapp/src/pages.json +++ b/xuan-deduct-uniapp/src/pages.json @@ -1,4 +1,11 @@ { + "easycom": { + "autoscan": true, + "custom": { + "markdown-renderer": "@/components/MarkdownRenderer.vue", + "^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue" + } + }, "pages": [ { "path": "pages/index/index", diff --git a/xuan-deduct-uniapp/src/pages/bazi/bazi.vue b/xuan-deduct-uniapp/src/pages/bazi/bazi.vue index ff8efa8..dca9053 100644 --- a/xuan-deduct-uniapp/src/pages/bazi/bazi.vue +++ b/xuan-deduct-uniapp/src/pages/bazi/bazi.vue @@ -24,7 +24,7 @@ - 公历日期 + 出生日期 diff --git a/xuan-deduct-uniapp/src/pages/daliuren/daliuren.vue b/xuan-deduct-uniapp/src/pages/daliuren/daliuren.vue index 18d98c9..4c57f1c 100644 --- a/xuan-deduct-uniapp/src/pages/daliuren/daliuren.vue +++ b/xuan-deduct-uniapp/src/pages/daliuren/daliuren.vue @@ -31,7 +31,7 @@ - 公历日期 + 出生日期 diff --git a/xuan-deduct-uniapp/src/pages/daliuren/result.vue b/xuan-deduct-uniapp/src/pages/daliuren/result.vue index 1125850..41e04be 100644 --- a/xuan-deduct-uniapp/src/pages/daliuren/result.vue +++ b/xuan-deduct-uniapp/src/pages/daliuren/result.vue @@ -20,9 +20,12 @@ - 🤖 AI课体解读 + + + 🤖 AI课体解读 + - {{ result.aiAnalysis }} + @@ -214,12 +217,20 @@