zhangbin před 1 rokem
rodič
revize
e7a9924ce9

+ 4 - 0
xpgx-admin/src/main/java/com/miaxis/app/controller/gan/GanZhiController.java

@@ -118,8 +118,11 @@ public class GanZhiController extends BaseController {
 
         String caiYun = ganZhiService.getCaiYun(ganZhiRowVoList, riYuanQrMap, shiShenCountMap);
 
+        String qingGan = ganZhiService.getQingGanYun(ganZhiRowVoList,riYuanQrMap, shiShenCountMap); //情感
         String piQi = ganZhiService.getPiQi(ganZhiRowVoList); //脾气
 
+
+
         GanZhiVo ganZhiVo = new GanZhiVo();
         ganZhiVo.setNongDay(lunar.getYear() + "年(生肖" + lunar.getYearShengXiao() + ")" + lunar.getMonth() + "月" + lunar.getDay() + "日" + lunar.getTime() + "时");
         ganZhiVo.setBirthDay(ganZhiDto.getBirthDay());
@@ -143,6 +146,7 @@ public class GanZhiController extends BaseController {
         ganZhiVo.setGuiren(guiren);
         ganZhiVo.setChenGuMap(chenGuMap);
         ganZhiVo.setPiQi(piQi);
+        ganZhiVo.setQingGan(qingGan);
 
         reportMap.put("财运",caiYun);
         ganZhiVo.setReportMap(reportMap);

+ 8 - 0
xpgx-common/src/main/java/com/miaxis/common/config/ShiShenConfig.java

@@ -126,6 +126,9 @@ public class ShiShenConfig {
     //五鬼运财 生肖
     private final Map<String, String> wuGuiShengXiao = new TreeMap<String, String>();
 
+    //容易出桃花的八字
+    private final List<String> taoHuaZi = new ArrayList<String>();
+
 
     @PostConstruct
     public void init() {
@@ -1187,6 +1190,11 @@ public class ShiShenConfig {
         wuGuiShengXiao.put("戌", "虎");
         wuGuiShengXiao.put("亥", "兔");
 
+        taoHuaZi.add("子");
+        taoHuaZi.add("午");
+        taoHuaZi.add("卯");
+        taoHuaZi.add("酉");
+
     }
 
 

+ 147 - 43
xpgx-service/src/main/java/com/miaxis/gan/service/impl/GanZhiServiceImpl.java

@@ -21,6 +21,7 @@ import com.miaxis.jie.vo.JieQiVo;
 import com.miaxis.number.domain.NumberYun;
 import com.miaxis.number.mapper.NumberYunMapper;
 import com.nlf.calendar.Lunar;
+import org.apache.poi.xssf.usermodel.XSSFPivotTable;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.apache.commons.lang3.StringUtils;
@@ -411,6 +412,9 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
             xiYong = shiShenConfig.getXiYong().get(fiveQr);
             xiYongShiShen.addAll(shiShenConfig.getXiYongShiShenR());
         }
+        List<String> xiYongOld = new ArrayList<>();
+        xiYongOld.addAll(xiYong);
+
         String xi1 = xiYong.get(0);
         String xi2 = xiYong.get(1);
 
@@ -430,6 +434,7 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
         qr.put("score", score);
         qr.put("qr", fiveQr);
         qr.put("xiYong", xiYong);
+        qr.put("xiYongOld", xiYongOld);
         qr.put("xiYongShiShen", xiYongShiShen);
         return qr;
     }
@@ -451,7 +456,6 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
 
 
 
-
         /*--------------------------年柱---------------------------*/
         //天干 头
         String yearGanShiShen = ganZhiRowVoList.get(0).getShiShen1();
@@ -1785,6 +1789,7 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
     public String getCaiYun(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Object> riYuanQrMap, Map<String, Integer> shiShenCountMap) {
         String qr = (String) riYuanQrMap.get("qr");
         List<String> xiYong = (List<String>) riYuanQrMap.get("xiYong");
+        List<String> xiYongOld = (List<String>) riYuanQrMap.get("xiYongOld");
 
         StringBuffer caiContent = new StringBuffer();
         if (qr.contains("强")) {
@@ -1815,13 +1820,13 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
 
 
         if (caiContent.toString().contains("身强") && caiContent.toString().contains("财旺")) {
-            caiContent.append("遇大运流年,见食伤财才则发大财。年份为" + xiYong.get(0) + "、" + xiYong.get(1) + "均带有食伤财才。");
+            caiContent.append("遇大运流年,见食伤财才则发大财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有食伤财才。");
         } else if (caiContent.toString().contains("身强") && caiContent.toString().contains("财弱")) {
-            caiContent.append("遇大运流年,见食伤财才则发中财。年份为" + xiYong.get(0) + "、" + xiYong.get(1) + "均带有食伤财才。");
+            caiContent.append("遇大运流年,见食伤财才则发中财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有食伤财才。");
         } else if (caiContent.toString().contains("身弱") && caiContent.toString().contains("财旺")) {
-            caiContent.append("遇大运流年,见印枭比劫则发大财。年份为" + xiYong.get(0) + "、" + xiYong.get(1) + "均带有印枭比劫。");
+            caiContent.append("遇大运流年,见印枭比劫则发大财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有印枭比劫。");
         } else if (caiContent.toString().contains("身弱") && caiContent.toString().contains("财弱")) {
-            caiContent.append("遇大运流年,见印枭比劫则发中财。年份为" + xiYong.get(0) + "、" + xiYong.get(1) + "均带有印枭比劫。");
+            caiContent.append("遇大运流年,见印枭比劫则发中财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有印枭比劫。");
         } else if (caiContent.toString().contains("身强") && caiContent.toString().contains("四柱无财")) {
             caiContent.append("遇大运流年,见财则有钱进账,但不长久。");
         } else if (caiContent.toString().contains("身弱") && caiContent.toString().contains("四柱无财")) {
@@ -1843,57 +1848,156 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
     public String getQingGanYun(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Object> riYuanQrMap, Map<String, Integer> shiShenCountMap) {
         String qr = (String) riYuanQrMap.get("qr");
         List<String> xiYong = (List<String>) riYuanQrMap.get("xiYong");
+        List<String> xiYongOld = (List<String>) riYuanQrMap.get("xiYongOld");
         List<String> xiYongShiShen = (List<String>) riYuanQrMap.get("xiYongShiShen");
 
+        StringBuffer qiangGanContent = new StringBuffer();
 
-        StringBuffer caiContent = new StringBuffer();
-        if (qr.contains("强")) {
-            caiContent.append("身强");
-        } else if (qr.contains("弱")) {
-            caiContent.append("身弱");
-        }
+        String sex = ganZhiRowVoList.get(4).getShiShen1();
+        String five = ganZhiRowVoList.get(5).getFive();
+        if ("元男".equals(sex)) {
+            //正财、偏财为男人的老婆
+            int zhengCaiCount = shiShenCountMap.get("正财");
+            int pianCaiCount = shiShenCountMap.get("偏财");
+            int total = zhengCaiCount + pianCaiCount;
+            if (total == 0) {
+                qiangGanContent.append("男人四柱无财,找老婆会比较困难,自己也可能不太想结婚。");
+            }
 
-        int pianCaiCount = shiShenCountMap.get("偏财");
-        int zhengCaiCount = shiShenCountMap.get("正财");
+            if (qr.contains("强")) {
+                qiangGanContent.append("夫妻星为喜用,婚后夫妻关系还不错;");
+            } else if (qr.contains("弱")) {
+                qiangGanContent.append("夫妻星为忌凶,婚后夫妻关系不是很幸福;");
+            }
+            if (qr.contains("强") && xiYongOld.contains(five)) {  //强喜
+                qiangGanContent.append("而且能够得到老婆家族的帮助。");
+            } else if (qr.contains("弱") && xiYongOld.contains(five)) {  //弱喜
+                qiangGanContent.append("不过是能够得到老婆家族的帮助。");
+            } else if (qr.contains("强") && !xiYongOld.contains(five)) {  //强忌
+                qiangGanContent.append("但能不太能够得到老婆家族的帮助。");
+            } else if (qr.contains("弱") && !xiYongOld.contains(five)) {   //弱忌
+                qiangGanContent.append("也能不太能够得到老婆家族的帮助。");
+            }
 
-        int totalCount = pianCaiCount + zhengCaiCount;
-        if (totalCount >= 2) {
-            caiContent.append("财旺;");
-        } else if (totalCount >= 1) {
-            caiContent.append("财弱;");
-        } else if (totalCount == 0) {
-            caiContent.append("四柱无财;");
-        }
-        if (totalCount != 0) {
-            if (pianCaiCount == 0) {
-                caiContent.append("八字无偏财,尽量不要做投机性生意;");
+            String dayGanShiShen1 = ganZhiRowVoList.get(5).getShiShen1();
+            String dayGanShiShen2 = ganZhiRowVoList.get(5).getShiShen2();
+            String dayGanShiShen3 = ganZhiRowVoList.get(5).getShiShen3();
+
+            if (dayGanShiShen1 != null && dayGanShiShen1.contains("劫财")) {
+                qiangGanContent.append("在夫妻宫本气坐落劫财,有克妻之相,会影响到夫妻感情。");
             }
-            if (zhengCaiCount == 0) {
-                caiContent.append("八字没有正财,有偏财,投资要谨慎,不要借贷;");
+            if (dayGanShiShen2 != null && dayGanShiShen2.contains("劫财")) {
+                qiangGanContent.append("在夫妻宫中气坐落劫财,有中度克妻之相,会影响到夫妻感情。");
+            }
+            if (dayGanShiShen3 != null && dayGanShiShen3.contains("劫财")) {
+                qiangGanContent.append("在夫妻宫余气坐落劫财,有轻微克妻之相,会影响到夫妻感情。");
             }
+
+            if (dayGanShiShen1 != null && dayGanShiShen1.contains("伤官")) {
+                qiangGanContent.append("在夫妻宫本气坐落劫财,夫妻不和睦之相。");
+            }
+            if (dayGanShiShen2 != null && dayGanShiShen2.contains("伤官")) {
+                qiangGanContent.append("在夫妻宫中气坐落劫财,夫妻不和睦之相。");
+            }
+            if (dayGanShiShen3 != null && dayGanShiShen3.contains("伤官")) {
+                qiangGanContent.append("在夫妻宫余气坐落劫财,夫妻不和睦之相。");
+            }
+
+            if (dayGanShiShen1 != null && dayGanShiShen1.contains("偏印")) {
+                qiangGanContent.append("在夫妻宫本气坐落偏印,夫妻不和睦之相。");
+            }
+            if (dayGanShiShen2 != null && dayGanShiShen2.contains("偏印")) {
+                qiangGanContent.append("在夫妻宫中气坐落偏印,夫妻不和睦之相。");
+            }
+            if (dayGanShiShen3 != null && dayGanShiShen3.contains("偏印")) {
+                qiangGanContent.append("在夫妻宫余气坐落偏印,夫妻不和睦之相。");
+            }
+
+            String yearGan = ganZhiRowVoList.get(0).getName();
+            String monthGan = ganZhiRowVoList.get(2).getName();
+            String dayGan = ganZhiRowVoList.get(4).getName();
+            String timeGan = ganZhiRowVoList.get(6).getName();
+
+            shiShenConfig.getTianGanYY().get("tianGanYY");
+
+
+        } else if ("元女".equals(sex)) {
+            //正官、七杀为女人的老公
+            int zhengCaiCount = shiShenCountMap.get("正官");
+            int pianCaiCount = shiShenCountMap.get("七杀");
+            int total = zhengCaiCount + pianCaiCount;
+            if (total == 0) {
+                qiangGanContent.append("女人四柱无官杀,找老公会比较困难,自己也不太愿意结婚。");
+            }
+            if (qr.contains("强")) {
+                qiangGanContent.append("夫妻星为喜用,婚后夫妻关系还不错");
+            } else if (qr.contains("弱")) {
+                qiangGanContent.append("夫妻星为忌凶,婚后夫妻关系不是很幸福");
+            }
+
+            if (qr.contains("强") && xiYong.contains(five)) {  //强喜
+                qiangGanContent.append("而且能够得到老公家族的帮助。");
+            } else if (qr.contains("弱") && xiYong.contains(five)) {  //弱喜
+                qiangGanContent.append("不过是能够得到老公家族的帮助。");
+            } else if (qr.contains("强") && !xiYong.contains(five)) {  //强忌
+                qiangGanContent.append("但能不太能够得到老公家族的帮助。");
+            } else if (qr.contains("弱") && !xiYong.contains(five)) {   //弱忌
+                qiangGanContent.append("也能不太能够得到老公家族的帮助。");
+            }
+
+            String dayGanShiShen1 = ganZhiRowVoList.get(5).getShiShen1();
+            String dayGanShiShen2 = ganZhiRowVoList.get(5).getShiShen2();
+            String dayGanShiShen3 = ganZhiRowVoList.get(5).getShiShen3();
+
+            if (dayGanShiShen1 != null && dayGanShiShen1.contains("伤官")) {
+                qiangGanContent.append("在夫妻宫本气坐落伤官,有克夫之相,会影响到夫妻感情。");
+            }
+            if (dayGanShiShen2 != null && dayGanShiShen2.contains("伤官")) {
+                qiangGanContent.append("在夫妻宫中气坐落伤官,有中度克夫之相,会影响到夫妻感情。");
+            }
+            if (dayGanShiShen3 != null && dayGanShiShen3.contains("伤官")) {
+                qiangGanContent.append("在夫妻宫余气坐落伤官,有轻微克夫之相,会影响到夫妻感情。");
+            }
+
+            if (dayGanShiShen1 != null && dayGanShiShen1.contains("偏印")) {
+                qiangGanContent.append("在夫妻宫本气坐落偏印,夫妻不和睦之相。");
+            }
+            if (dayGanShiShen2 != null && dayGanShiShen2.contains("偏印")) {
+                qiangGanContent.append("在夫妻宫中气坐落偏印,夫妻不和睦之相。");
+            }
+            if (dayGanShiShen3 != null && dayGanShiShen3.contains("偏印")) {
+                qiangGanContent.append("在夫妻宫余气坐落偏印,夫妻不和睦之相。");
+            }
+
         }
 
-        if (caiContent.toString().contains("身强") && caiContent.toString().contains("财旺")) {
-            caiContent.append("遇大运流年,见食伤财才则发大财。年份为" + xiYong.get(0) + "、" + xiYong.get(1) + "均带有食伤财才。");
-        } else if (caiContent.toString().contains("身强") && caiContent.toString().contains("财弱")) {
-            caiContent.append("遇大运流年,见食伤财才则发中财。年份为" + xiYong.get(0) + "、" + xiYong.get(1) + "均带有食伤财才。");
-        } else if (caiContent.toString().contains("身弱") && caiContent.toString().contains("财旺")) {
-            caiContent.append("遇大运流年,见印枭比劫则发大财。年份为" + xiYong.get(0) + "、" + xiYong.get(1) + "均带有印枭比劫。");
-        } else if (caiContent.toString().contains("身弱") && caiContent.toString().contains("财弱")) {
-            caiContent.append("遇大运流年,见印枭比劫则发中财。年份为" + xiYong.get(0) + "、" + xiYong.get(1) + "均带有印枭比劫。");
-        } else if (caiContent.toString().contains("身强") && caiContent.toString().contains("四柱无财")) {
-            caiContent.append("遇大运流年,见财则有钱进账,但不长久。");
-        } else if (caiContent.toString().contains("身弱") && caiContent.toString().contains("四柱无财")) {
-            caiContent.append("不好发财,俗称和尚命。");
+
+        int taoHuaZiCount = 0;
+        if (shiShenConfig.getTaoHuaZi().contains(ganZhiRowVoList.get(1).getName())) {
+            taoHuaZiCount++;
+        }
+        if (shiShenConfig.getTaoHuaZi().contains(ganZhiRowVoList.get(2).getName())) {
+            taoHuaZiCount++;
+        }
+        if (shiShenConfig.getTaoHuaZi().contains(ganZhiRowVoList.get(3).getName())) {
+            taoHuaZiCount++;
+        }
+        if (shiShenConfig.getTaoHuaZi().contains(ganZhiRowVoList.get(4).getName())) {
+            taoHuaZiCount++;
         }
 
-        String monthZhi = ganZhiRowVoList.get(3).getName();
-        String nian = shiShenConfig.getWuGui().get(monthZhi);
-        String shengXiao = shiShenConfig.getWuGuiShengXiao().get(monthZhi);
+        if (taoHuaZiCount == 4) {
+            qiangGanContent.append("地支中子午卯酉,非常之旺。桃花非常多,俗称桃花命。要小心一定因桃花引发的灾祸。");
+        }
+        if (taoHuaZiCount == 3) {
+            qiangGanContent.append("地支中子午卯酉,比较旺。桃花非常多,要小心一定因桃花引发的灾祸。");
+        }
+        if (taoHuaZiCount == 2) {
+            qiangGanContent.append("地支中子午卯酉,相对比较旺。流年容易遇桃花之事。");
+        }
 
-        caiContent.append("遇到" + shengXiao + "年(" + nian + "年),遇五鬼神煞比较容易得到偏财,但是同时也较易惹上小人、是非和灾害等。五鬼煞入命,会出现莫名其妙无风起浪的危险,因此一定要防患于未然,于官府当中更应该提防,在交友方面也应该小心,否则会有刑讼官司、破财牢狱之灾。");
 
-        return caiContent.toString();
+        return qiangGanContent.toString();
     }
 
 

+ 3 - 0
xpgx-service/src/main/java/com/miaxis/gan/vo/GanZhiVo.java

@@ -82,6 +82,9 @@ public class GanZhiVo {
     @ApiModelProperty(value = "脾气")
     private String piQi;
 
+    @ApiModelProperty(value = "情感")
+    private String qingGan;
+
     @ApiModelProperty(value = "称骨评语")
     private Map<String,String> chenGuMap;