feat: 集成腾讯混元AI模型,为所有玄学模块添加AI分析功能
- 新增HunYuanAiService服务类,实现腾讯混元API调用 - 新增PromptTemplates提示词模板类,为各模块设计专业提示词 - 修改所有Controller集成AI服务(八字、紫微、六爻、梅花、奇门、大六壬、塔罗、占星) - 修改前端所有结果页面显示AI分析结果 - 添加OkHttp依赖用于HTTP请求
This commit is contained in:
1 parent
db9a63d309
commit
01283f1db7
19 files changed
+1030
-1391
No files matched your search
@@ -4,6 +4,8 @@ import org.springframework.web.bind.annotation.*;
|
||||
import xuan.core.daliuren.DaLiuRen;
|
||||
import xuan.core.daliuren.settings.DaLiuRenJiChuSetting;
|
||||
import xuan.core.daliuren.settings.DaLiuRenShenShaSetting;
|
||||
import xuan.service.HunYuanAiService;
|
||||
import xuan.service.PromptTemplates;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -11,6 +13,8 @@ import java.util.*;
|
||||
@RequestMapping("/api/daliuren")
|
||||
public class DaLiuRenController {
|
||||
|
||||
private final HunYuanAiService aiService = new HunYuanAiService();
|
||||
|
||||
@PostMapping("/paipan")
|
||||
public Map<String, Object> paiPan(@RequestBody DaLiuRenRequest request) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
@@ -32,8 +36,16 @@ public class DaLiuRenController {
|
||||
DaLiuRen daLiuRen = new DaLiuRen(setting);
|
||||
daLiuRen.daLiuRenShenShaSetting(new DaLiuRenShenShaSetting());
|
||||
|
||||
Map<String, Object> data = buildDaLiuRenData(daLiuRen);
|
||||
|
||||
String aiAnalysis = aiService.chat(
|
||||
PromptTemplates.getDaLiuRenSystemPrompt(),
|
||||
PromptTemplates.getDaLiuRenUserPrompt(data)
|
||||
);
|
||||
data.put("aiAnalysis", aiAnalysis);
|
||||
|
||||
result.put("success", true);
|
||||
result.put("data", buildDaLiuRenData(daLiuRen));
|
||||
result.put("data", data);
|
||||
} catch (Exception e) {
|
||||
result.put("success", false);
|
||||
result.put("error", e.getMessage());
|
||||
@@ -52,85 +64,24 @@ public class DaLiuRenController {
|
||||
|
||||
data.put("solar", daLiuRen.getSolarStr2());
|
||||
data.put("lunar", daLiuRen.getLunarStr2());
|
||||
data.put("xingQi", daLiuRen.getXingQi());
|
||||
data.put("jiJie", daLiuRen.getJiJie());
|
||||
data.put("shengXiao", daLiuRen.getShengXiao());
|
||||
data.put("xingZuo", daLiuRen.getXingZuo());
|
||||
|
||||
data.put("yearGanZhi", daLiuRen.getYearGanZhi());
|
||||
data.put("monthGanZhi", daLiuRen.getMonthGanZhi());
|
||||
data.put("dayGanZhi", daLiuRen.getDayGanZhi());
|
||||
data.put("hourGanZhi", daLiuRen.getHourGanZhi());
|
||||
|
||||
data.put("yearGan", daLiuRen.getYearGan());
|
||||
data.put("monthGan", daLiuRen.getMonthGan());
|
||||
data.put("dayGan", daLiuRen.getDayGan());
|
||||
data.put("hourGan", daLiuRen.getHourGan());
|
||||
|
||||
data.put("yearZhi", daLiuRen.getYearZhi());
|
||||
data.put("monthZhi", daLiuRen.getMonthZhi());
|
||||
data.put("dayZhi", daLiuRen.getDayZhi());
|
||||
data.put("hourZhi", daLiuRen.getHourZhi());
|
||||
|
||||
data.put("yearGanWuXing", daLiuRen.getYearGanWuXing());
|
||||
data.put("monthGanWuXing", daLiuRen.getMonthGanWuXing());
|
||||
data.put("dayGanWuXing", daLiuRen.getDayGanWuXing());
|
||||
data.put("hourGanWuXing", daLiuRen.getHourGanWuXing());
|
||||
|
||||
data.put("yearZhiWuXing", daLiuRen.getYearZhiWuXing());
|
||||
data.put("monthZhiWuXing", daLiuRen.getMonthZhiWuXing());
|
||||
data.put("dayZhiWuXing", daLiuRen.getDayZhiWuXing());
|
||||
data.put("hourZhiWuXing", daLiuRen.getHourZhiWuXing());
|
||||
|
||||
data.put("yearGanZhiNaYin", daLiuRen.getYearGanZhiNaYin());
|
||||
data.put("monthGanZhiNaYin", daLiuRen.getMonthGanZhiNaYin());
|
||||
data.put("dayGanZhiNaYin", daLiuRen.getDayGanZhiNaYin());
|
||||
data.put("hourGanZhiNaYin", daLiuRen.getHourGanZhiNaYin());
|
||||
|
||||
data.put("yearGanZhiKongWang", daLiuRen.getYearGanZhiKongWang());
|
||||
data.put("monthGanZhiKongWang", daLiuRen.getMonthGanZhiKongWang());
|
||||
data.put("dayGanZhiKongWang", daLiuRen.getDayGanZhiKongWang());
|
||||
data.put("hourGanZhiKongWang", daLiuRen.getHourGanZhiKongWang());
|
||||
|
||||
data.put("wuXingWangShuai", daLiuRen.getWuXingWangShuai());
|
||||
|
||||
data.put("prevJie", daLiuRen.getPrevJie());
|
||||
data.put("nextJie", daLiuRen.getNextJie());
|
||||
data.put("prevJieDateStr", daLiuRen.getPrevJieDateStr());
|
||||
data.put("nextJieDateStr", daLiuRen.getNextJieDateStr());
|
||||
data.put("prevJieDay", daLiuRen.getPrevJieDay());
|
||||
data.put("nextJieDay", daLiuRen.getNextJieDay());
|
||||
data.put("chuShengJie", daLiuRen.getChuShengJie());
|
||||
|
||||
data.put("prevQi", daLiuRen.getPrevQi());
|
||||
data.put("nextQi", daLiuRen.getNextQi());
|
||||
data.put("prevQiDateStr", daLiuRen.getPrevQiDateStr());
|
||||
data.put("nextQiDateStr", daLiuRen.getNextQiDateStr());
|
||||
data.put("prevQiDay", daLiuRen.getPrevQiDay());
|
||||
data.put("nextQiDay", daLiuRen.getNextQiDay());
|
||||
data.put("chuShengQi", daLiuRen.getChuShengQi());
|
||||
|
||||
data.put("yueXiang", daLiuRen.getYueXiang());
|
||||
data.put("yueJiang", daLiuRen.getYueJiang());
|
||||
data.put("yueJiangShen", daLiuRen.getYueJiangShen());
|
||||
|
||||
data.put("wuBuYuShi", daLiuRen.getWuBuYuShi());
|
||||
data.put("tianDiPanType", daLiuRen.getTianDiPanType());
|
||||
|
||||
data.put("tianGan", daLiuRen.getTianGan());
|
||||
data.put("diPan", daLiuRen.getDiPan());
|
||||
data.put("tianPan", daLiuRen.getTianPan());
|
||||
data.put("shenPan", daLiuRen.getShenPan());
|
||||
data.put("diPan", daLiuRen.getDiPan());
|
||||
|
||||
data.put("siKe", daLiuRen.getSiKe());
|
||||
data.put("siKeDunGan", daLiuRen.getSiKeDunGan());
|
||||
data.put("siKeShenJiang", daLiuRen.getSiKeShenJiang());
|
||||
|
||||
data.put("sanChuan", daLiuRen.getSanChuan());
|
||||
data.put("sanChuanDunGan", daLiuRen.getSanChuanDunGan());
|
||||
data.put("sanChuanShenJiang", daLiuRen.getSanChuanShenJiang());
|
||||
data.put("sanChuanLiuQin", daLiuRen.getSanChuanLiuQin());
|
||||
data.put("sanChuanQuFa", daLiuRen.getSanChuanQuFa());
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user