feat: 完成梅花易数模块开发
- 新增后端MeiHuaController控制器,提供梅花易数排盘API接口 - 实现前端梅花易数输入界面,支持时间起卦、自动起卦、数字起卦等多种方式 - 创建梅花易数结果展示页面,显示本卦、变卦、互卦、错卦、综卦等完整信息 - 更新API配置文件,添加梅花易数API调用 - 更新pages.json配置,添加梅花易数结果页面路由 - 梅花易数功能完整实现,符合传统易学逻辑
This commit is contained in:
1 parent
bba9ad46de
commit
23188a40e0
3 files changed
+1222
-19
No files matched your search
@@ -0,0 +1,237 @@
|
||||
package xuan.controller;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import xuan.core.meihua.MeiHua;
|
||||
import xuan.core.meihua.settings.MeiHuaJiChuSetting;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/meihua")
|
||||
public class MeiHuaController {
|
||||
|
||||
@PostMapping("/paipan")
|
||||
public Map<String, Object> paiPan(@RequestBody MeiHuaRequest request) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
try {
|
||||
MeiHuaJiChuSetting setting = new MeiHuaJiChuSetting();
|
||||
setting.setName(request.getName() != null ? request.getName() : "某人");
|
||||
setting.setOccupy(request.getOccupy() != null ? request.getOccupy() : "某事");
|
||||
setting.setSex(request.getSex() != null ? request.getSex() : 1);
|
||||
setting.setDate(request.getDate() != null ? request.getDate() : "2024-01-01 00:00:00");
|
||||
setting.setDateType(request.getDateType() != null ? request.getDateType() : 0);
|
||||
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);
|
||||
setting.setShu(request.getShu() != null ? request.getShu() : 111);
|
||||
setting.setDanShu(request.getDanShu() != null ? request.getDanShu() : 111);
|
||||
setting.setShuangShuOne(request.getShuangShuOne() != null ? request.getShuangShuOne() : 111);
|
||||
setting.setShuangShuTwo(request.getShuangShuTwo() != null ? request.getShuangShuTwo() : 111);
|
||||
setting.setShangXiaGuaType(request.getShangXiaGuaType() != null ? request.getShangXiaGuaType() : 1);
|
||||
setting.setDongYaoType(request.getDongYaoType() != null ? request.getDongYaoType() : 0);
|
||||
|
||||
MeiHua meiHua = new MeiHua(setting);
|
||||
|
||||
result.put("success", true);
|
||||
result.put("data", buildMeiHuaData(meiHua));
|
||||
} catch (Exception e) {
|
||||
result.put("success", false);
|
||||
result.put("error", e.getMessage());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private Map<String, Object> buildMeiHuaData(MeiHua meiHua) {
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
|
||||
data.put("name", meiHua.getName());
|
||||
data.put("sex", meiHua.getSex());
|
||||
data.put("age", meiHua.getAge());
|
||||
data.put("solar", meiHua.getSolarStr2());
|
||||
data.put("lunar", meiHua.getLunarStr2());
|
||||
data.put("xingQi", meiHua.getXingQi());
|
||||
data.put("jiJie", meiHua.getJiJie());
|
||||
data.put("shengXiao", meiHua.getShengXiao());
|
||||
data.put("xingZuo", meiHua.getXingZuo());
|
||||
data.put("yueXiang", meiHua.getYueXiang());
|
||||
data.put("yueJiang", meiHua.getYueJiang());
|
||||
data.put("yueJiangShen", meiHua.getYueJiangShen());
|
||||
data.put("wuBuYuShi", meiHua.getWuBuYuShi());
|
||||
|
||||
data.put("yearGanZhi", meiHua.getYearGanZhi());
|
||||
data.put("monthGanZhi", meiHua.getMonthGanZhi());
|
||||
data.put("dayGanZhi", meiHua.getDayGanZhi());
|
||||
data.put("hourGanZhi", meiHua.getHourGanZhi());
|
||||
|
||||
data.put("yearGanZhiWuXing", meiHua.getYearGanZhiWuXing());
|
||||
data.put("monthGanZhiWuXing", meiHua.getMonthGanZhiWuXing());
|
||||
data.put("dayGanZhiWuXing", meiHua.getDayGanZhiWuXing());
|
||||
data.put("hourGanZhiWuXing", meiHua.getHourGanZhiWuXing());
|
||||
|
||||
data.put("yearGanZhiNaYin", meiHua.getYearGanZhiNaYin());
|
||||
data.put("monthGanZhiNaYin", meiHua.getMonthGanZhiNaYin());
|
||||
data.put("dayGanZhiNaYin", meiHua.getDayGanZhiNaYin());
|
||||
data.put("hourGanZhiNaYin", meiHua.getHourGanZhiNaYin());
|
||||
|
||||
data.put("yearGanZhiKongWang", meiHua.getYearGanZhiKongWang());
|
||||
data.put("monthGanZhiKongWang", meiHua.getMonthGanZhiKongWang());
|
||||
data.put("dayGanZhiKongWang", meiHua.getDayGanZhiKongWang());
|
||||
data.put("hourGanZhiKongWang", meiHua.getHourGanZhiKongWang());
|
||||
|
||||
data.put("prevJie", meiHua.getPrevJie());
|
||||
data.put("prevJieDateStr", meiHua.getPrevJieDateStr());
|
||||
data.put("prevJieDay", meiHua.getPrevJieDay());
|
||||
data.put("nextJie", meiHua.getNextJie());
|
||||
data.put("nextJieDateStr", meiHua.getNextJieDateStr());
|
||||
data.put("nextJieDay", meiHua.getNextJieDay());
|
||||
data.put("chuShengJie", meiHua.getChuShengJie());
|
||||
|
||||
data.put("prevQi", meiHua.getPrevQi());
|
||||
data.put("prevQiDateStr", meiHua.getPrevQiDateStr());
|
||||
data.put("prevQiDay", meiHua.getPrevQiDay());
|
||||
data.put("nextQi", meiHua.getNextQi());
|
||||
data.put("nextQiDateStr", meiHua.getNextQiDateStr());
|
||||
data.put("nextQiDay", meiHua.getNextQiDay());
|
||||
data.put("chuShengQi", meiHua.getChuShengQi());
|
||||
|
||||
data.put("shangGuaName", meiHua.getShangGuaName());
|
||||
data.put("xiaGuaName", meiHua.getXiaGuaName());
|
||||
data.put("benGuaName", meiHua.getBenGuaName());
|
||||
data.put("bianGuaName", meiHua.getBianGuaName());
|
||||
data.put("huGuaName", meiHua.getHuGuaName());
|
||||
data.put("cuoGuaName", meiHua.getCuoGuaName());
|
||||
data.put("zongGuaName", meiHua.getZongGuaName());
|
||||
|
||||
data.put("shangGuaAs", meiHua.getShangGuaAs());
|
||||
data.put("xiaGuaAs", meiHua.getXiaGuaAs());
|
||||
data.put("benGuaAs", meiHua.getBenGuaAs());
|
||||
data.put("bianGuaAs", meiHua.getBianGuaAs());
|
||||
data.put("huGuaAs", meiHua.getHuGuaAs());
|
||||
data.put("cuoGuaAs", meiHua.getCuoGuaAs());
|
||||
data.put("zongGuaAs", meiHua.getZongGuaAs());
|
||||
|
||||
data.put("benGuaGuaCi", meiHua.getBenGuaGuaCi());
|
||||
data.put("bianGuaGuaCi", meiHua.getBianGuaGuaCi());
|
||||
data.put("huGuaGuaCi", meiHua.getHuGuaGuaCi());
|
||||
data.put("cuoGuaGuaCi", meiHua.getCuoGuaGuaCi());
|
||||
data.put("zongGuaGuaCi", meiHua.getZongGuaGuaCi());
|
||||
|
||||
data.put("benGuaShangGuaName", meiHua.getBenGuaShangGuaName());
|
||||
data.put("bianGuaShangGuaName", meiHua.getBianGuaShangGuaName());
|
||||
data.put("huGuaShangGuaName", meiHua.getHuGuaShangGuaName());
|
||||
data.put("cuoGuaShangGuaName", meiHua.getCuoGuaShangGuaName());
|
||||
data.put("zongGuaShangGuaName", meiHua.getZongGuaShangGuaName());
|
||||
|
||||
data.put("benGuaXiaGuaName", meiHua.getBenGuaXiaGuaName());
|
||||
data.put("bianGuaXiaGuaName", meiHua.getBianGuaXiaGuaName());
|
||||
data.put("huGuaXiaGuaName", meiHua.getHuGuaXiaGuaName());
|
||||
data.put("cuoGuaXiaGuaName", meiHua.getCuoGuaXiaGuaName());
|
||||
data.put("zongGuaXiaGuaName", meiHua.getZongGuaXiaGuaName());
|
||||
|
||||
data.put("benGuaShangGuaAs", meiHua.getBenGuaShangGuaAs());
|
||||
data.put("bianGuaShangGuaAs", meiHua.getBianGuaShangGuaAs());
|
||||
data.put("huGuaShangGuaAs", meiHua.getHuGuaShangGuaAs());
|
||||
data.put("cuoGuaShangGuaAs", meiHua.getCuoGuaShangGuaAs());
|
||||
data.put("zongGuaShangGuaAs", meiHua.getZongGuaShangGuaAs());
|
||||
|
||||
data.put("benGuaXiaGuaAs", meiHua.getBenGuaXiaGuaAs());
|
||||
data.put("bianGuaXiaGuaAs", meiHua.getBianGuaXiaGuaAs());
|
||||
data.put("huGuaXiaGuaAs", meiHua.getHuGuaXiaGuaAs());
|
||||
data.put("cuoGuaXiaGuaAs", meiHua.getCuoGuaXiaGuaAs());
|
||||
data.put("zongGuaXiaGuaAs", meiHua.getZongGuaXiaGuaAs());
|
||||
|
||||
data.put("benGuaLiuYaoName", meiHua.getBenGuaLiuYaoName());
|
||||
data.put("bianGuaLiuYaoName", meiHua.getBianGuaLiuYaoName());
|
||||
data.put("huGuaLiuYaoName", meiHua.getHuGuaLiuYaoName());
|
||||
data.put("cuoGuaLiuYaoName", meiHua.getCuoGuaLiuYaoName());
|
||||
data.put("zongGuaLiuYaoName", meiHua.getZongGuaLiuYaoName());
|
||||
|
||||
data.put("benGuaLiuYaoAs", meiHua.getBenGuaLiuYaoAs());
|
||||
data.put("bianGuaLiuYaoAs", meiHua.getBianGuaLiuYaoAs());
|
||||
data.put("huGuaLiuYaoAs", meiHua.getHuGuaLiuYaoAs());
|
||||
data.put("cuoGuaLiuYaoAs", meiHua.getCuoGuaLiuYaoAs());
|
||||
data.put("zongGuaLiuYaoAs", meiHua.getZongGuaLiuYaoAs());
|
||||
|
||||
data.put("benGuaLiuYaoYaoCi", meiHua.getBenGuaLiuYaoYaoCi());
|
||||
data.put("bianGuaLiuYaoYaoCi", meiHua.getBianGuaLiuYaoYaoCi());
|
||||
data.put("huGuaLiuYaoYaoCi", meiHua.getHuGuaLiuYaoYaoCi());
|
||||
data.put("cuoGuaLiuYaoYaoCi", meiHua.getCuoGuaLiuYaoYaoCi());
|
||||
data.put("zongGuaLiuYaoYaoCi", meiHua.getZongGuaLiuYaoYaoCi());
|
||||
|
||||
data.put("benGuaLink", meiHua.getBenGuaLink());
|
||||
data.put("bianGuaLink", meiHua.getBianGuaLink());
|
||||
data.put("huGuaLink", meiHua.getHuGuaLink());
|
||||
data.put("cuoGuaLink", meiHua.getCuoGuaLink());
|
||||
data.put("zongGuaLink", meiHua.getZongGuaLink());
|
||||
|
||||
data.put("dongYao", meiHua.getDongYao());
|
||||
data.put("dongYaoStr", meiHua.getDongYaoStr());
|
||||
data.put("guaMa", meiHua.getGuaMa());
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
public static class MeiHuaRequest {
|
||||
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 yearGanZhiType;
|
||||
private Integer monthGanZhiType;
|
||||
private Integer dayGanZhiType;
|
||||
private Integer paiPanType;
|
||||
private Integer shu;
|
||||
private Integer danShu;
|
||||
private Integer shuangShuOne;
|
||||
private Integer shuangShuTwo;
|
||||
private Integer shangXiaGuaType;
|
||||
private Integer dongYaoType;
|
||||
|
||||
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; }
|
||||
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; }
|
||||
public Integer getXuShiSuiType() { return xuShiSuiType; }
|
||||
public void setXuShiSuiType(Integer xuShiSuiType) { this.xuShiSuiType = xuShiSuiType; }
|
||||
public Integer getJieQiType() { return jieQiType; }
|
||||
public void setJieQiType(Integer jieQiType) { this.jieQiType = jieQiType; }
|
||||
public Integer getYearGanZhiType() { return yearGanZhiType; }
|
||||
public void setYearGanZhiType(Integer yearGanZhiType) { this.yearGanZhiType = yearGanZhiType; }
|
||||
public Integer getMonthGanZhiType() { return monthGanZhiType; }
|
||||
public void setMonthGanZhiType(Integer monthGanZhiType) { this.monthGanZhiType = monthGanZhiType; }
|
||||
public Integer getDayGanZhiType() { return dayGanZhiType; }
|
||||
public void setDayGanZhiType(Integer dayGanZhiType) { this.dayGanZhiType = dayGanZhiType; }
|
||||
public Integer getPaiPanType() { return paiPanType; }
|
||||
public void setPaiPanType(Integer paiPanType) { this.paiPanType = paiPanType; }
|
||||
public Integer getShu() { return shu; }
|
||||
public void setShu(Integer shu) { this.shu = shu; }
|
||||
public Integer getDanShu() { return danShu; }
|
||||
public void setDanShu(Integer danShu) { this.danShu = danShu; }
|
||||
public Integer getShuangShuOne() { return shuangShuOne; }
|
||||
public void setShuangShuOne(Integer shuangShuOne) { this.shuangShuOne = shuangShuOne; }
|
||||
public Integer getShuangShuTwo() { return shuangShuTwo; }
|
||||
public void setShuangShuTwo(Integer shuangShuTwo) { this.shuangShuTwo = shuangShuTwo; }
|
||||
public Integer getShangXiaGuaType() { return shangXiaGuaType; }
|
||||
public void setShangXiaGuaType(Integer shangXiaGuaType) { this.shangXiaGuaType = shangXiaGuaType; }
|
||||
public Integer getDongYaoType() { return dongYaoType; }
|
||||
public void setDongYaoType(Integer dongYaoType) { this.dongYaoType = dongYaoType; }
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user