Browse Source

过三关

zhangbin 1 year ago
parent
commit
c1407459ea

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

@@ -87,6 +87,7 @@ public class GanZhiController extends BaseController {
         int maxTianGan = ganZhiService.getMaxTianGan(ganZhiDto);  //最出能量最强的天干
         Map<String,String> geJuMap = ganZhiService.getGeJu(ganZhiRowVoList,maxTianGan,riYuanQrMap.get("qr").toString()); //查出八字常见格局
 
+        Map<Integer,String> guoGuanMap = ganZhiService.getGuo3Guan(ganZhiRowVoList,riYuanQrMap.get("qr").toString());
 
         Map<String, Integer> fiveCountMap = ganZhiService.getGanZhiRowVoCount(ganZhiDto);
         List<GanZhiNaYinVo> ganZhiNaYinVoList = ganZhiService.selectGanZhiNaYinList(ganZhiDto);
@@ -111,6 +112,7 @@ public class GanZhiController extends BaseController {
         ganZhiVo.setDiseasePartList(diseasePartList);
         ganZhiVo.setDaYunList(ganZhiDto.getDaYunList());
         ganZhiVo.setGeJuMap(geJuMap);
+        ganZhiVo.setGuoGuanMap(guoGuanMap);
 
         // 输出结果
         return Response.success(ganZhiVo);

+ 2 - 0
xpgx-service/src/main/java/com/miaxis/gan/service/IGanZhiService.java

@@ -93,4 +93,6 @@ public interface IGanZhiService extends IService<GanZhi>{
     int getMaxTianGan(GanZhiDto ganZhiDto);
 
     Map<String,String> getGeJu(List<GanZhiRowVo> list, int maxTianGan, String qr);
+
+    Map<Integer, String> getGuo3Guan(List<GanZhiRowVo> list, String qr);
 }

+ 175 - 17
xpgx-service/src/main/java/com/miaxis/gan/service/impl/GanZhiServiceImpl.java

@@ -1160,8 +1160,8 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
         return geJuMap;
     }
 
-
-    public Map<String, String> getGuo3Guan(List<GanZhiRowVo> list, String qr) {
+    @Override
+    public Map<Integer, String> getGuo3Guan(List<GanZhiRowVo> list, String qr) {
 
         String yearGan = list.get(0).getShiShen1();
         String yearZhi = list.get(1).getShiShen1();
@@ -1172,20 +1172,27 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
         String timeGan = list.get(6).getShiShen1();
         String timeZhi = list.get(7).getShiShen1();
 
+        int x = 1;
+        Map<Integer,String> guo3GuanMap = new TreeMap<Integer, String>();
+
+
 
         //1.八字带午火脾气最不好
         for (int i = 0; i < list.size(); i++) {
             if ((i == 1 || i == 3 || i == 5 || i == 7) && i != 4) {   //地支
                 if ("午".equals(list.get(i).getName())) {
-                    System.out.println("八字带午火脾气很不好。");
+                    guo3GuanMap.put(x++,"脾气比较大,容易发火。");
+                    System.out.println("脾气比较大,容易发火。");
                 }
             }
         }
         //2.身强身弱
         if (qr.contains("强")) {
-            System.out.println("容易破财,总是被人劫财。");
+            guo3GuanMap.put(x++,"容易破财,被人劫财。");
+            System.out.println("容易破财,被人劫财。");
         } else if (qr.contains("弱")) {
-            System.out.println("不太好赚钱,看阒别人发财,自己却不容易挣钱。");
+            guo3GuanMap.put(x++,"不太好赚钱,看着别人发财,自己却不容易挣钱。");
+            System.out.println("不太好赚钱,看着别人发财,自己却不容易挣钱。");
         }
 
         //3.有甲有金,面部有伤或者头部有伤
@@ -1209,6 +1216,7 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
             }
         }
         if (jia == true && jin == true) {
+            guo3GuanMap.put(x++,"面部有伤或者头部有伤。");
             System.out.println("面部有伤或者头部有伤。");
         }
 
@@ -1221,8 +1229,11 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 tuContent.append(";");
             }
         }
-        tuContent.append("以上身体部位存在坑痕疤痣。");
-        System.out.println(tuContent.toString());
+        if(tuContent.toString().length()>0) {
+            tuContent.append("以上身体部位存在伤疤或痣。");
+            guo3GuanMap.put(x++,tuContent.toString());
+            System.out.println(tuContent.toString());
+        }
 
         //5.卯为电脑,显示类的东西(需要住满3年以上)
         StringBuffer maoContent = new StringBuffer();
@@ -1232,34 +1243,181 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 maoContent.append(";");
             }
         }
-        maoContent.append("如果居住满3年以上,以上方位存在电脑或显示器类的物品。");
-        System.out.println(maoContent.toString());
+        if(maoContent.toString().length()>0) {
+            maoContent.append("如果当前住所居住满3年以上,以上方位存在电脑或显示器类的物品。");
+            guo3GuanMap.put(x++,maoContent.toString());
+            System.out.println(maoContent.toString());
+        }
 
         //6.偏印为翅膀,羽毛,会飞的东西(需要住满3年以上)
         StringBuffer pianContent = new StringBuffer();
         for (int i = 0; i < list.size(); i++) {
-            if (list.get(i).getShiShen1().contains("偏印") || list.get(i).getShiShen2().contains("偏印") || list.get(i).getShiShen3().contains("偏印")) {
+            if (list.get(i).getShiShen1().contains("偏印") || (list.get(i).getShiShen2()!=null && list.get(i).getShiShen2().contains("偏印")) || (list.get(i).getShiShen3()!=null && list.get(i).getShiShen3().contains("偏印"))) {
                 pianContent.append(shiShenConfig.getPosition().get(i));
                 pianContent.append(";");
             }
         }
-        pianContent.append("如果居住满3年以上,以上方位存在带有翅膀,羽毛,会飞的东西物品或摆件。");
-        System.out.println(pianContent.toString());
+        if(pianContent.toString().length()>0) {
+            pianContent.append("如果当前住所居住满3年以上,以上方位存在带有翅膀,羽毛,会飞的东西物品或摆件。");
+            guo3GuanMap.put(x++,pianContent.toString());
+            System.out.println(pianContent.toString());
+        }
+
+
 
         //7.正财代表女人,钱,珠宝
         StringBuffer zhengcaiContent = new StringBuffer();
         for (int i = 0; i < list.size(); i++) {
-            if (list.get(i).getShiShen1().contains("偏印") || list.get(i).getShiShen2().contains("偏印") || list.get(i).getShiShen3().contains("偏印")) {
+            if (list.get(i).getShiShen1().contains("正财") || (list.get(i).getShiShen2()!=null && list.get(i).getShiShen2().contains("正财")) || (list.get(i).getShiShen3()!=null && list.get(i).getShiShen3().contains("正财"))) {
                 zhengcaiContent.append(shiShenConfig.getPosition().get(i));
                 zhengcaiContent.append(";");
             }
         }
-        zhengcaiContent.append("如果居住满3年以上,以上方位存在带有翅膀,羽毛,会飞的东西物品或摆件。");
-        System.out.println(zhengcaiContent.toString());
+        if(zhengcaiContent.toString().length()>0) {
+            zhengcaiContent.append("如果当前住所居住满3年以上,以上方位存在带有女性,照片,结婚证,金钱,珠宝,较有价值的物品。");
+            guo3GuanMap.put(x++,zhengcaiContent.toString());
+            System.out.println(zhengcaiContent.toString());
+        }
 
 
-        Map<String, String> geJuMap = new TreeMap<String, String>();
-        return geJuMap;
+        //8.正印代表文件,书籍
+        StringBuffer zhengyinContent = new StringBuffer();
+        for (int i = 0; i < list.size(); i++) {
+            if (list.get(i).getShiShen1().contains("正印") || (list.get(i).getShiShen2() != null && list.get(i).getShiShen2().contains("正印")) || (list.get(i).getShiShen3() != null && list.get(i).getShiShen3().contains("正印"))) {
+                zhengyinContent.append(shiShenConfig.getPosition().get(i));
+                zhengyinContent.append(";");
+            }
+        }
+        if(zhengyinContent.toString().length()>0) {
+            zhengyinContent.append("如果当前住所居住满3年以上,以上方位存在带有女性照片,结婚证,金钱,珠宝,较有价值的物品。");
+            guo3GuanMap.put(x++,zhengyinContent.toString());
+            System.out.println(zhengyinContent.toString());
+        }
+
+
+        //9.丁火喜欢熬夜
+        if (list.get(4).getName().equals("丁")) {
+            System.out.println("自己比较喜欢熬夜,到晚上会比较有精神。");
+            guo3GuanMap.put(x++,"自己比较喜欢熬夜,到晚上会比较有精神。");
+        }
+        if (list.get(6).getName().equals("丁")) {
+            System.out.println("儿子或女儿比较喜欢熬夜,到晚上会比较有精神。");
+            guo3GuanMap.put(x++,"儿子或女儿比较喜欢熬夜,到晚上会比较有精神。");
+        }
+
+
+        //10.八字那个宫位有土,哪里有坑痕疤痣。
+        StringBuffer shenContent = new StringBuffer();
+        String shen = "辰戌丑未";
+        for (int i = 0; i < list.size(); i++) {
+            if (shen.contains(list.get(i).getName())) {
+                shenContent.append(shiShenConfig.getBody().get(i));
+                shenContent.append(";");
+            }
+        }
+        if(shenContent.toString().length()>0) {
+            shenContent.append("如果当前住所居住满3年以上,以上方位存在神佛类物品或摆件(包含中西方诸神,佛主、耶稣等等)。");
+            System.out.println(shenContent.toString());
+            guo3GuanMap.put(x++,shenContent.toString());
+        }
+
+
+        //11.酉金为瓶瓶罐罐,能发出声音的物品
+        StringBuffer youContent = new StringBuffer();
+        for (int i = 0; i < list.size(); i++) {
+            if ("酉".equals(list.get(i).getName())) {
+                youContent.append(shiShenConfig.getBody().get(i));
+                youContent.append(";");
+            }
+        }
+        if(youContent.toString().length()>0) {
+            youContent.append("如果当前住所居住满3年以上,以上方位瓶瓶罐罐,能发出声音的物品,如耳机音箱之类。");
+            System.out.println(youContent.toString());
+            guo3GuanMap.put(x++,youContent.toString());
+        }
+
+
+        //12.酉金带食神
+        boolean sing = false;
+        for (int i = 0; i < list.size(); i++) {
+            if ("酉".equals(list.get(i).getName()) && (list.get(i).getShiShen1()!=null && list.get(i).getShiShen1().contains("食神")) || (list.get(i).getShiShen2() != null && list.get(i).getShiShen2().contains("食神")) || (list.get(i).getShiShen3() != null && list.get(i).getShiShen3().contains("食神"))) {
+                sing = true;
+            }
+        }
+        if (sing) {
+            System.out.println("在唱歌方面表现出色,嗓音优美动人,超越了一般水平。");
+            guo3GuanMap.put(x++,"在唱歌方面表现出色,嗓音优美动人,超越了一般水平。");
+        }
+
+
+        //13.庚金暴力
+        StringBuffer genContent = new StringBuffer();
+        genContent.append("以下单纯是指暴力,脾气可能还不错。真发火时可能会动手。");
+        if (list.get(2).getName().equals("庚")) {
+            genContent.append("父亲比较有暴力倾向,可能有对母亲动手过。");
+        }
+        if (list.get(3).getName().equals("申")) {
+            genContent.append("母亲比较有暴力倾向,可能有对父亲动手过。");
+        }
+        if (list.get(4).getName().equals("庚")) {
+            //性别
+            if (list.get(4).getShiShen1().contains("男")) {
+                genContent.append("自己比较有暴力倾向,可能对老婆家暴。");
+            } else if (list.get(4).getShiShen1().contains("女")) {
+                genContent.append("自己比较有暴力倾向,可能对老公家暴。");
+            }
+        }
+        if (list.get(5).getName().equals("申")) {
+            //性别
+            if (list.get(4).getShiShen1().contains("男")) {
+                genContent.append("老婆比较暴力,可能对你家暴。");
+            } else if (list.get(4).getShiShen1().contains("女")) {
+                genContent.append("老公比较暴力,可能对你家暴。");
+            }
+        }
+        if(genContent.toString().length()>0) {
+            System.out.println(genContent.toString());
+            guo3GuanMap.put(x++,genContent.toString());
+        }
+
+
+        //14.有甲有金,面部有伤或者头部有伤
+        boolean bi = false;
+        boolean cai = false;
+        for (int i = 0; i < list.size(); i++) {
+            //性别
+            if (list.get(4).getShiShen1().contains("男")) {
+                if ((i == 1 || i == 3 || i == 5 || i == 7) && i != 4) {
+                    if (list.get(i).getShiShen1() != null && list.get(i).getShiShen1().contains("比肩") || list.get(i).getShiShen2() != null && list.get(i).getShiShen2().contains("比肩") || list.get(i).getShiShen3() != null && list.get(i).getShiShen3().contains("比肩")) {
+                        bi = true;
+                    }
+                    if (list.get(i).getShiShen1() != null && list.get(i).getShiShen1().contains("正财") || list.get(i).getShiShen2() != null && list.get(i).getShiShen2().contains("正财") || list.get(i).getShiShen3() != null && list.get(i).getShiShen3().contains("正财")) {
+                        cai = true;
+                    }
+                }
+            } else if (list.get(4).getShiShen1().contains("女")) {
+                if ((i == 1 || i == 3 || i == 5 || i == 7) && i != 4) {
+                    if (list.get(i).getShiShen1() != null && list.get(i).getShiShen1().contains("比肩") || list.get(i).getShiShen2() != null && list.get(i).getShiShen2().contains("比肩") || list.get(i).getShiShen3() != null && list.get(i).getShiShen3().contains("比肩")) {
+                        bi = true;
+                    }
+                    if (list.get(i).getShiShen1() != null && list.get(i).getShiShen1().contains("正官") || list.get(i).getShiShen2() != null && list.get(i).getShiShen2().contains("正官") || list.get(i).getShiShen3() != null && list.get(i).getShiShen3().contains("正官")) {
+                        cai = true;
+                    }
+                }
+            }
+        }
+        if (bi == true && cai == true) {
+            //性别
+            if (list.get(4).getShiShen1().contains("男")) {
+                System.out.println("大概率跟老婆(过去或未来)在一个公司或单位,一起工作过。");
+                guo3GuanMap.put(x++,"大概率跟老婆(过去或未来)在一个公司或单位,一起工作过。");
+            } else if (list.get(4).getShiShen1().contains("女")) {
+                System.out.println("大概率跟老公(过去或未来)在一个公司或单位,一起工作过。");
+                guo3GuanMap.put(x++,"大概率跟老婆(过去或未来)在一个公司或单位,一起工作过。");
+            }
+        }
+
+        return guo3GuanMap;
     }
 
 

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

@@ -46,6 +46,9 @@ public class GanZhiVo {
     @ApiModelProperty(value = "八字格局")
     private Map<String,String> geJuMap;
 
+    @ApiModelProperty(value = "三过关")
+    private Map<Integer,String> guoGuanMap;
+
     @ApiModelProperty(value = "八字五行集合")
     private List<GanZhiRowVo> ganZhiRowVoList;