From 91a14ca6d1d677100b4083747a18b6583b2ec34c Mon Sep 17 00:00:00 2001 From: xuan-bot Date: Sat, 7 Mar 2026 23:50:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加保存记录API到RecordController - 修复DeductRecordRepository的HQL语法错误 - 更新前端api.js添加记录API - 更新八字结果页面保存测算记录 - 完善记录列表页面显示历史记录 --- data/xuan.mv.db | Bin 0 -> 24576 bytes .../xuan/controller/LiuYaoController.java | 13 +- .../xuan/controller/RecordController.java | 14 ++ .../java/xuan/controller/TaLuoController.java | 1 + .../java/xuan/controller/ZiWeiController.java | 154 +++++------------- .../repository/DeductRecordRepository.java | 5 +- .../xuan/service/DeductRecordService.java | 3 +- xuan-deduct-uniapp/src/pages/bazi/result.vue | 20 +++ .../src/pages/records/records.vue | 148 +++++++++++++++-- xuan-deduct-uniapp/src/utils/api.js | 49 ++++++ 10 files changed, 280 insertions(+), 127 deletions(-) create mode 100644 data/xuan.mv.db diff --git a/data/xuan.mv.db b/data/xuan.mv.db new file mode 100644 index 0000000000000000000000000000000000000000..7e217a558ddeaf4dacebe9932068c28994fef5e1 GIT binary patch literal 24576 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 MO^E-;SH%DS2hUb(-2eap literal 0 HcmV?d00001 diff --git a/src/main/java/xuan/controller/LiuYaoController.java b/src/main/java/xuan/controller/LiuYaoController.java index 449d398..52ea263 100644 --- a/src/main/java/xuan/controller/LiuYaoController.java +++ b/src/main/java/xuan/controller/LiuYaoController.java @@ -29,7 +29,18 @@ 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.setLiuYaoYaoXiang(request.getLiuYaoYaoXiang() != null ? request.getLiuYaoYaoXiang() : "——,——,——,——,——,——"); + 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.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/RecordController.java b/src/main/java/xuan/controller/RecordController.java index d435853..5c20c3c 100644 --- a/src/main/java/xuan/controller/RecordController.java +++ b/src/main/java/xuan/controller/RecordController.java @@ -17,6 +17,20 @@ public class RecordController { @Autowired private DeductRecordService recordService; + @PostMapping("/save") + public Map saveRecord(@RequestBody DeductRecord record) { + Map result = new HashMap<>(); + try { + DeductRecord saved = recordService.saveRecord(record); + result.put("success", true); + result.put("data", saved); + } catch (Exception e) { + result.put("success", false); + result.put("error", e.getMessage()); + } + return result; + } + @GetMapping("/list") public Map getRecords(@RequestParam String userId) { Map result = new HashMap<>(); diff --git a/src/main/java/xuan/controller/TaLuoController.java b/src/main/java/xuan/controller/TaLuoController.java index cea40a2..1c472fe 100644 --- a/src/main/java/xuan/controller/TaLuoController.java +++ b/src/main/java/xuan/controller/TaLuoController.java @@ -148,3 +148,4 @@ 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 114a4f5..0022126 100644 --- a/src/main/java/xuan/controller/ZiWeiController.java +++ b/src/main/java/xuan/controller/ZiWeiController.java @@ -10,39 +10,6 @@ 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(); @@ -76,125 +43,86 @@ 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("wuXingJu", ziWei.getWuXingJu()); + data.put("lunar", ziWei.getLunarStr2()); + data.put("shengXiao", ziWei.getShengXiao()); 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("shiErGongZhuXingGuanXi", ziWei.getShiErGongZhuXingGuanXi()); + data.put("yearGanZhiNaYin", ziWei.getYearGanZhiNaYin()); + data.put("monthGanZhiNaYin", ziWei.getMonthGanZhiNaYin()); + data.put("dayGanZhiNaYin", ziWei.getDayGanZhiNaYin()); + data.put("hourGanZhiNaYin", ziWei.getHourGanZhiNaYin()); - data.put("huaLuXingGongWei", ziWei.getHuaLuXingGongWei()); - data.put("huaQuanXingGongWei", ziWei.getHuaQuanXingGongWei()); - data.put("huaKeXingGongWei", ziWei.getHuaKeXingGongWei()); - data.put("huaJiXingGongWei", ziWei.getHuaJiXingGongWei()); + data.put("mingGongDiZhi", ziWei.getMingGongDiZhi()); + data.put("shenGongDiZhi", ziWei.getShenGongDiZhi()); + data.put("mingGongGongWei", ziWei.getMingGongGongWei()); + data.put("shenGongGongWei", ziWei.getShenGongGongWei()); + data.put("mingZhu", ziWei.getMingZhu()); data.put("shenZhu", ziWei.getShenZhu()); + data.put("nanNvYinYang", ziWei.getNanNvYinYang()); + data.put("shiErGongDiZhi", ziWei.getShiErGongDiZhi()); data.put("shiErGongTianGan", ziWei.getShiErGongTianGan()); data.put("shiErMingGong", ziWei.getShiErMingGong()); data.put("shiErShenGong", ziWei.getShiErShenGong()); + + data.put("shiErGongZhuXing", ziWei.getShiErGongZhuXing(false)); data.put("shiErGongSiHuaXing", ziWei.getShiErGongSiHuaXing()); - data.put("shiErGongSiHuaXingGuanXi", ziWei.getShiErGongSiHuaXingGuanXi()); + data.put("shiErZhangSheng", ziWei.getShiErZhangSheng()); + data.put("daXian", ziWei.getDaXian()); - 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; } - - private Map buildJieDu(ZiWei ziWei, List shiErMingGong, List> shiErGongZhuXing) { - Map jieDu = new HashMap<>(); - - int mingGongIndex = ziWei.getMingGongGongWei() - 1; - List mingGongStars = shiErGongZhuXing.get(mingGongIndex); - + + 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; } public String getDate() { return date; } - for (String star : mingGongStars) { - if (ZHU_XING_JIE_DU.containsKey(star)) { + public void setDate(String date) { this.date = date; } + public Integer getDateType() { return dateType; } public void setDateType(Integer dateType) { this.dateType = dateType; } public Integer getLeapMonthType() { return leapMonthType; } public void setLeapMonthType(Integer leapMonthType) { this.leapMonthType = leapMonthType; } diff --git a/src/main/java/xuan/repository/DeductRecordRepository.java b/src/main/java/xuan/repository/DeductRecordRepository.java index 01fcbac..d22bc8c 100644 --- a/src/main/java/xuan/repository/DeductRecordRepository.java +++ b/src/main/java/xuan/repository/DeductRecordRepository.java @@ -1,5 +1,6 @@ package xuan.repository; +import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; @@ -15,6 +16,6 @@ public interface DeductRecordRepository extends JpaRepository findByUserIdAndTypeOrderByCreateTimeDesc(String userId, String type); - @Query("SELECT d FROM DeductRecord d WHERE d.userId = :userId ORDER BY d.createTime DESC LIMIT 10") - List findTop10ByUserIdOrderByCreateTimeDesc(@Param("userId") String userId); + @Query("SELECT d FROM DeductRecord d WHERE d.userId = :userId ORDER BY d.createTime DESC") + List findTop10ByUserIdOrderByCreateTimeDesc(@Param("userId") String userId, Pageable pageable); } diff --git a/src/main/java/xuan/service/DeductRecordService.java b/src/main/java/xuan/service/DeductRecordService.java index c87ed99..cab3124 100644 --- a/src/main/java/xuan/service/DeductRecordService.java +++ b/src/main/java/xuan/service/DeductRecordService.java @@ -1,6 +1,7 @@ package xuan.service; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.PageRequest; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import xuan.entity.DeductRecord; @@ -33,7 +34,7 @@ public class DeductRecordService { } public List findRecentByUserId(String userId) { - return recordRepository.findTop10ByUserIdOrderByCreateTimeDesc(userId); + return recordRepository.findTop10ByUserIdOrderByCreateTimeDesc(userId, PageRequest.of(0, 10)); } @Transactional diff --git a/xuan-deduct-uniapp/src/pages/bazi/result.vue b/xuan-deduct-uniapp/src/pages/bazi/result.vue index ed61a01..5afbcf2 100644 --- a/xuan-deduct-uniapp/src/pages/bazi/result.vue +++ b/xuan-deduct-uniapp/src/pages/bazi/result.vue @@ -165,6 +165,7 @@