zhangbin 1 year ago
parent
commit
fc94a6cd1d

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

@@ -127,7 +127,7 @@ public class GanZhiController extends BaseController {
 
         Map<Integer,String> qingGan = ganZhiService.getQingGanYun(ganZhiRowVoList, riYuanQrMap, shiShenCountMap, fiveCountMap, geju); //情感
 
-        Map<Integer,String> ziNvYun = ganZhiService.getZiNvYun(ganZhiRowVoList, riYuanQrMap, shiShenCountMap, fiveCountMap, geju, ganZhiKongWangVoList); //情感
+        Map<Integer,String> ziNvYun = ganZhiService.getZiNvYun(ganZhiRowVoList, riYuanQrMap, shiShenCountMap, fiveCountMap, geju, ganZhiKongWangVoList); //子女
 
         String piQi = ganZhiService.getPiQi(ganZhiRowVoList); //脾气
 
@@ -157,6 +157,7 @@ public class GanZhiController extends BaseController {
         ganZhiVo.setPiQi(piQi);
         ganZhiVo.setQingGan(qingGan);
         ganZhiVo.setCaiYun(caiYun);
+        ganZhiVo.setZiNvYun(ziNvYun);
 
         ganZhiVo.setReportMap(reportMap);
 

+ 11 - 38
xpgx-admin/src/test/java/com/miaxis/test/Test.java

@@ -1,53 +1,26 @@
 package com.miaxis.test;
 
-import java.io.File;
-import java.util.Arrays;
-import java.util.Comparator;
+import com.miaxis.common.config.ShiShenConfig;
 
 public class Test {
 
     public static void main(String[] args) {
 
-        /**
+        ShiShenConfig shiShenConfig = new ShiShenConfig();
+        shiShenConfig.init();
 
-        long timestamp = 1682363931131L;
-        // 将时间戳转换为Date对象
-        Date date = new Date(timestamp);
-        // 创建SimpleDateFormat对象,指定输出格式
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        // 将时区设置为北京时区
-        sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
-        // 格式化Date对象为字符串
-        String timeStr = sdf.format(date);
-        // 输出结果
-        System.out.println(timeStr);
+        String zhengGuanTianGan = shiShenConfig.getZhengGuanF().get("壬");
+        String benQi = shiShenConfig.getBenQiF().get(zhengGuanTianGan);
+        String zhongQi = shiShenConfig.getZhongQiF().get(zhengGuanTianGan);
+        String yuQi = shiShenConfig.getYuQiF().get(zhengGuanTianGan);
 
-        **/
 
-        //System.out.println(System.currentTimeMillis());
+        System.out.println(zhengGuanTianGan);
+        System.out.println(benQi);
+        System.out.println(zhongQi);
+        System.out.println(yuQi);
 
 
-
-            String folderPath = "H:/河南省"; // 替换为你的文件夹路径
-            File folder = new File(folderPath);
-            File[] files = folder.listFiles();
-
-            if (files != null) {
-
-
-                Arrays.sort(files, new Comparator<File>() {
-                    @Override
-                    public int compare(File file1, File file2) {
-                        return file1.getName().compareTo(file2.getName());
-                    }
-                });
-
-
-                for (File file : files) {
-                    System.out.println(file.getName());
-                }
-            }
-
     }
 
 }

+ 123 - 5
xpgx-common/src/main/java/com/miaxis/common/config/ShiShenConfig.java

@@ -20,27 +20,34 @@ public class ShiShenConfig {
     private final Map<String, String> ganZhiFive = new TreeMap<String, String>();
     //正印
     private final Map<String, String> zhengYin = new TreeMap<String, String>();
+    private final Map<String, String> zhengYinF = new TreeMap<String, String>();
     //食神
     private final Map<String, String> shiShen = new TreeMap<String, String>();
+    private final Map<String, String> shiShenF = new TreeMap<String, String>();
     //正官
     private final Map<String, String> zhengGuan = new TreeMap<String, String>();
+    private final Map<String, String> zhengGuanF = new TreeMap<String, String>();
     //正财
     private final Map<String, String> zhengCai = new TreeMap<String, String>();
+    private final Map<String, String> zhengCaiF = new TreeMap<String, String>();
     //七杀
     private final Map<String, String> qiSha = new TreeMap<String, String>();
-    private final Map<String, String> qiShaBenQi = new TreeMap<String, String>();
-    private final Map<String, String> qiShaZhongQi = new TreeMap<String, String>();
-    private final Map<String, String> qiShaYuQi = new TreeMap<String, String>();
+    private final Map<String, String> qiShaF = new TreeMap<String, String>();
     //偏印
     private final Map<String, String> pianYin = new TreeMap<String, String>();
+    private final Map<String, String> pianYinF = new TreeMap<String, String>();
     //伤官
     private final Map<String, String> shangGuan = new TreeMap<String, String>();
+    private final Map<String, String> shangGuanF = new TreeMap<String, String>();
     //劫财
     private final Map<String, String> jieCai = new TreeMap<String, String>();
+    private final Map<String, String> jieCaiF = new TreeMap<String, String>();
     //比肩
     private final Map<String, String> biJian = new TreeMap<String, String>();
+    private final Map<String, String> biJianF = new TreeMap<String, String>();
     //偏财
     private final Map<String, String> pianCai = new TreeMap<String, String>();
+    private final Map<String, String> pianCaiF = new TreeMap<String, String>();
 
     //身强喜用十神
     private final List<String> xiYongShiShenQ = new ArrayList<String>();
@@ -224,6 +231,17 @@ public class ShiShenConfig {
         zhengYin.put("戊", "辛");
         zhengYin.put("辛", "壬");
         zhengYin.put("庚", "癸");
+        //正印反
+        zhengYinF.put("甲", "癸");
+        zhengYinF.put("乙", "壬");
+        zhengYinF.put("丙", "乙");
+        zhengYinF.put("丁", "甲");
+        zhengYinF.put("戊", "丁");
+        zhengYinF.put("己", "丙");
+        zhengYinF.put("庚", "己");
+        zhengYinF.put("辛", "戊");
+        zhengYinF.put("壬", "辛");
+        zhengYinF.put("癸", "庚");
 
         //食神
         shiShen.put("丙", "甲");
@@ -236,6 +254,17 @@ public class ShiShenConfig {
         shiShen.put("癸", "辛");
         shiShen.put("甲", "壬");
         shiShen.put("乙", "癸");
+        //食神反
+        shiShenF.put("甲", "丙");
+        shiShenF.put("乙", "丁");
+        shiShenF.put("丙", "戊");
+        shiShenF.put("丁", "己");
+        shiShenF.put("戊", "庚");
+        shiShenF.put("己", "辛");
+        shiShenF.put("庚", "壬");
+        shiShenF.put("辛", "癸");
+        shiShenF.put("壬", "甲");
+        shiShenF.put("癸", "乙");
 
         //正官
         zhengGuan.put("辛", "甲");
@@ -248,6 +277,18 @@ public class ShiShenConfig {
         zhengGuan.put("丙", "辛");
         zhengGuan.put("己", "壬");
         zhengGuan.put("戊", "癸");
+        //正官反
+        zhengGuanF.put("甲", "辛");
+        zhengGuanF.put("乙", "庚");
+        zhengGuanF.put("丙", "癸");
+        zhengGuanF.put("丁", "壬");
+        zhengGuanF.put("戊", "乙");
+        zhengGuanF.put("己", "甲");
+        zhengGuanF.put("庚", "丁");
+        zhengGuanF.put("辛", "丙");
+        zhengGuanF.put("壬", "己");
+        zhengGuanF.put("癸", "戊");
+
 
         //正财
         zhengCai.put("己", "甲");
@@ -260,6 +301,17 @@ public class ShiShenConfig {
         zhengCai.put("甲", "辛");
         zhengCai.put("丁", "壬");
         zhengCai.put("丙", "癸");
+        //正财 反
+        zhengCaiF.put("甲", "己");
+        zhengCaiF.put("乙", "戊");
+        zhengCaiF.put("丙", "辛");
+        zhengCaiF.put("丁", "庚");
+        zhengCaiF.put("戊", "癸");
+        zhengCaiF.put("己", "壬");
+        zhengCaiF.put("庚", "乙");
+        zhengCaiF.put("辛", "甲");
+        zhengCaiF.put("壬", "丁");
+        zhengCaiF.put("癸", "丙");
 
 
         //七杀
@@ -273,7 +325,17 @@ public class ShiShenConfig {
         qiSha.put("丁", "辛");
         qiSha.put("戊", "壬");
         qiSha.put("己", "癸");
-
+        //七杀反
+        qiShaF.put("甲", "庚");
+        qiShaF.put("乙", "辛");
+        qiShaF.put("丙", "壬");
+        qiShaF.put("丁", "癸");
+        qiShaF.put("戊", "甲");
+        qiShaF.put("己", "乙");
+        qiShaF.put("庚", "丙");
+        qiShaF.put("辛", "丁");
+        qiShaF.put("壬", "戊");
+        qiShaF.put("癸", "己");
 
         //偏印
         pianYin.put("壬", "甲");
@@ -286,6 +348,18 @@ public class ShiShenConfig {
         pianYin.put("己", "辛");
         pianYin.put("庚", "壬");
         pianYin.put("辛", "癸");
+        //偏印反
+        pianYinF.put("甲" ,"壬");
+        pianYinF.put("乙" ,"癸");
+        pianYinF.put("丙" ,"甲");
+        pianYinF.put("丁" ,"乙");
+        pianYinF.put("戊" ,"丙");
+        pianYinF.put("己" ,"丁");
+        pianYinF.put("庚" ,"戊");
+        pianYinF.put("辛" ,"己");
+        pianYinF.put("壬" ,"庚");
+        pianYinF.put("癸" ,"辛");
+
 
         //伤官
         shangGuan.put("丁", "甲");
@@ -298,6 +372,18 @@ public class ShiShenConfig {
         shangGuan.put("壬", "辛");
         shangGuan.put("乙", "壬");
         shangGuan.put("甲", "癸");
+        //伤官反
+        shangGuanF.put("甲", "丁");
+        shangGuanF.put("乙", "丙");
+        shangGuanF.put("丙", "己");
+        shangGuanF.put("丁", "戊");
+        shangGuanF.put("戊", "辛");
+        shangGuanF.put("己", "庚");
+        shangGuanF.put("庚", "癸");
+        shangGuanF.put("辛", "壬");
+        shangGuanF.put("壬", "乙");
+        shangGuanF.put("癸", "甲");
+
 
         //劫财
         jieCai.put("乙", "甲");
@@ -310,6 +396,17 @@ public class ShiShenConfig {
         jieCai.put("庚", "辛");
         jieCai.put("癸", "壬");
         jieCai.put("壬", "癸");
+        //劫财反
+        jieCaiF.put("甲", "乙");
+        jieCaiF.put("乙", "甲");
+        jieCaiF.put("丙", "丁");
+        jieCaiF.put("丁", "丙");
+        jieCaiF.put("戊", "己");
+        jieCaiF.put("己", "戊");
+        jieCaiF.put("庚", "辛");
+        jieCaiF.put("辛", "庚");
+        jieCaiF.put("壬", "癸");
+        jieCaiF.put("癸", "壬");
 
         //比肩
         biJian.put("甲", "甲");
@@ -322,6 +419,17 @@ public class ShiShenConfig {
         biJian.put("辛", "辛");
         biJian.put("壬", "壬");
         biJian.put("癸", "癸");
+        //比肩反
+        biJianF.put("甲", "甲");
+        biJianF.put("乙", "乙");
+        biJianF.put("丙", "丙");
+        biJianF.put("丁", "丁");
+        biJianF.put("戊", "戊");
+        biJianF.put("己", "己");
+        biJianF.put("庚", "庚");
+        biJianF.put("辛", "辛");
+        biJianF.put("壬", "壬");
+        biJianF.put("癸", "癸");
 
 
         //偏财
@@ -335,7 +443,17 @@ public class ShiShenConfig {
         pianCai.put("乙", "辛");
         pianCai.put("丙", "壬");
         pianCai.put("丁", "癸");
-
+        //偏财反
+        pianCaiF.put("甲" ,"戊");
+        pianCaiF.put("乙" ,"己");
+        pianCaiF.put("丙" ,"庚");
+        pianCaiF.put("丁" ,"辛");
+        pianCaiF.put("戊" ,"壬");
+        pianCaiF.put("己" ,"癸");
+        pianCaiF.put("庚" ,"甲");
+        pianCaiF.put("辛" ,"乙");
+        pianCaiF.put("壬" ,"丙");
+        pianCaiF.put("癸" ,"丁");
 
         //本气
         benQi.put("子", "癸");

+ 168 - 15
xpgx-service/src/main/java/com/miaxis/gan/service/impl/GanZhiServiceImpl.java

@@ -1690,12 +1690,11 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
 
         List<String> xiYongList = (List) riYuanQrMap.get("xiYong");
         StringBuffer industry = new StringBuffer();
-        if (geju != null && !"".equals(geju)) {
+        if (geju != null && !"".equals(geju) && !"比肩".equals(geju) && !"劫财".equals(geju)) {
             industry.append("根据十神格局分析出推荐行业:");
             industry.append(shiShenConfig.getShiShenIndustry().get(geju));
         }
 
-
         industry.append("根据五行喜用推荐行业:");
         for (int i = 0; i < xiYongList.size(); i++) {
             industry.append(shiShenConfig.getFiveIndustry().get(xiYongList.get(i)));
@@ -2547,19 +2546,101 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
 
         String sex = ganZhiRowVoList.get(4).getShiShen1();
         String dayGan = ganZhiRowVoList.get(4).getName();
-
         String dayZhi = ganZhiRowVoList.get(5).getName();
         String timeZhi = ganZhiRowVoList.get(7).getName();
 
         boolean dayZhiAndTimeZhi = ShiShenConfig.areZodiacsChong(dayZhi, timeZhi);
         //时支与日支相冲
         if (dayZhiAndTimeZhi) {
-            ziNvMap.put(x++,"时支与日支相冲,与子女缘薄");
+            ziNvMap.put(x++, "时支与日支相冲,与子女缘薄");
         }
 
 
-
         if ("元男".equals(sex)) {  //正官=女儿 七杀=儿子
+            String zhengGuanTianGan = shiShenConfig.getZhengGuanF().get(dayGan);
+            String benQiZhengGuan = shiShenConfig.getBenQiF().get(zhengGuanTianGan);
+            String zhongQiZhengGuan = shiShenConfig.getZhongQiF().get(zhengGuanTianGan);
+            String yuQiZhengGuan = shiShenConfig.getYuQiF().get(zhengGuanTianGan);
+
+            String qiShaTianGan = shiShenConfig.getQiShaF().get(dayGan);
+            String benQiqiSha = shiShenConfig.getBenQiF().get(qiShaTianGan);
+            String zhongQiqiSha = shiShenConfig.getZhongQiF().get(qiShaTianGan);
+            String yuQiqiSha = shiShenConfig.getYuQiF().get(qiShaTianGan);
+
+            for (int i = 0; i < kongwangList.size(); i++) {
+
+                if (StringUtils.isNotEmpty(benQiZhengGuan) && kongwangList.get(i).getKongWang().contains(benQiZhengGuan)) {
+                    ziNvMap.put(x++, "正官星" + zhengGuanTianGan + "," + benQiZhengGuan + "本气在" + kongwangList.get(i).getZhu() + "柱空亡表现与女儿缘薄。");
+                }
+                if (StringUtils.isNotEmpty(zhongQiZhengGuan) && kongwangList.get(i).getKongWang().contains(zhongQiZhengGuan)) {
+                    ziNvMap.put(x++, "正官星" + zhengGuanTianGan + "," + zhongQiZhengGuan + "中气在" + kongwangList.get(i).getZhu() + "柱空亡表现与女儿缘薄。");
+                }
+                if (StringUtils.isNotEmpty(yuQiZhengGuan) && kongwangList.get(i).getKongWang().contains(yuQiZhengGuan)) {
+                    ziNvMap.put(x++, "正官星" + zhengGuanTianGan + "," + yuQiZhengGuan + "余气在" + kongwangList.get(i).getZhu() + "柱空亡表现与女儿缘薄。");
+                }
+
+                if (StringUtils.isNotEmpty(benQiqiSha) && kongwangList.get(i).getKongWang().contains(benQiqiSha)) {
+                    ziNvMap.put(x++, "七杀星" + qiShaTianGan + "," + benQiqiSha + "本气在" + kongwangList.get(i).getZhu() + "柱空亡表现与儿子缘薄。");
+                }
+                if (StringUtils.isNotEmpty(zhongQiqiSha) && kongwangList.get(i).getKongWang().contains(zhongQiqiSha)) {
+                    ziNvMap.put(x++, "七杀星" + qiShaTianGan + "," + zhongQiqiSha + "中气在" + kongwangList.get(i).getZhu() + "柱空亡表现与儿子缘薄。");
+                }
+                if (StringUtils.isNotEmpty(yuQiqiSha) && kongwangList.get(i).getKongWang().contains(yuQiqiSha)) {
+                    ziNvMap.put(x++, "七杀星" + qiShaTianGan + "," + yuQiqiSha + "余气在" + kongwangList.get(i).getZhu() + "柱空亡表现与儿子缘薄。");
+                }
+
+                if (kongwangList.get(i).getKongWang().contains(timeZhi)) {
+                    ziNvMap.put(x++, "时柱的" + timeZhi + "在" + kongwangList.get(i).getZhu() + "柱空亡表现与子女缘薄。");
+                }
+
+            }
+
+            int zhengGuanCount = shiShenCountMap.get("正官");
+            int qiShaCount = shiShenCountMap.get("七杀");
+
+            int total = zhengGuanCount + qiShaCount;
+            if (total == 0) {
+                ziNvMap.put(x++, "男命的本命局没有官杀子女星,表现与子女缘薄。");
+            }
+
+            //4 男命食神格,伤官格,与子女缘薄,; 女命正印格,偏印格,与子女缘薄
+            if("食神".equals(geju)) {
+                ziNvMap.put(x++, "男命食神格,表现与子女缘薄。");
+            }
+            if("伤官".equals(geju)) {
+                ziNvMap.put(x++, "男命伤官格,表现与子女缘薄。");
+            }
+
+            //按照年干,年支,月干,月支,日支,时干,时支的顺序
+            //地支本气子女星,能够顺利有子女
+            //地支中气子女星,代表怀孕后会不太顺利
+            //地支余气子女星,代表与子女缘薄,不一定能出生,易流产
+            int benQiCount = 0;
+            int zhongQiCount = 0;
+            int yuQiCount = 0;
+            for (int i = 0; i < ganZhiRowVoList.size(); i++) {
+                String shiShen1 = ganZhiRowVoList.get(i).getShiShen1();
+                String shiShen2 = ganZhiRowVoList.get(i).getShiShen2();
+                String shiShen3 = ganZhiRowVoList.get(i).getShiShen3();
+
+                if (shiShen1 != null && (shiShen1.contains("正官") || shiShen1.contains("七杀"))) {
+                    benQiCount++;
+                }
+                if (shiShen2 != null && (shiShen2.contains("正官") || shiShen2.contains("七杀"))) {
+                    zhongQiCount++;
+                }
+                if (shiShen3 != null && (shiShen3.contains("正官") || shiShen3.contains("七杀"))) {
+                    yuQiCount++;
+                }
+            }
+
+            if(benQiCount>0){
+                ziNvMap.put(x++, "天干地支本气子女星,子女能够顺利出生。");
+            } else if (zhongQiCount>0) {
+                ziNvMap.put(x++, "地支中气子女星,代表妻子怀孕后会不顺利,注意保养。");
+            } else if (yuQiCount>0) {
+                ziNvMap.put(x++, "地支余气子女星,代表妻子怀孕会不顺利,容易有流产之事发生。");
+            }
 
 
         } else if ("元女".equals(sex)) { //食神=女儿 伤官=儿子
@@ -2568,29 +2649,101 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
             String dayZhiShiShen3 = ganZhiRowVoList.get(7).getShiShen3();
             //劫财
             if (dayZhiShiShen1 != null && dayZhiShiShen1.contains("劫财")) {
-                ziNvMap.put(x++,"时支落羊刃,子女剖腹产不是顺产");
+                ziNvMap.put(x++, "时支落羊刃,子女剖腹产不是顺产");
             }
             if (dayZhiShiShen2 != null && dayZhiShiShen2.contains("劫财")) {
-                ziNvMap.put(x++,"时支落羊刃,子女剖腹产不是顺产");
+                ziNvMap.put(x++, "时支落羊刃,子女剖腹产不是顺产");
             }
             if (dayZhiShiShen3 != null && dayZhiShiShen3.contains("劫财")) {
-                ziNvMap.put(x++,"时支落羊刃,子女剖腹产不是顺产");
+                ziNvMap.put(x++, "时支落羊刃,子女剖腹产不是顺产");
             }
-        }
 
+            //食神 女儿
+            String shiShenTianGan = shiShenConfig.getShiShenF().get(dayGan);
+            String benQiShiShen = shiShenConfig.getBenQiF().get(shiShenTianGan);
+            String zhongQiShiShen = shiShenConfig.getZhongQiF().get(shiShenTianGan);
+            String yuQiShiShen = shiShenConfig.getYuQiF().get(shiShenTianGan);
+            //伤官 儿子
+            String shangGuanTianGan = shiShenConfig.getShangGuanF().get(dayGan);
+            String benQiShangGuan = shiShenConfig.getBenQiF().get(shangGuanTianGan);
+            String zhongQiShangGuan = shiShenConfig.getZhongQiF().get(shangGuanTianGan);
+            String yuQiShangGuan = shiShenConfig.getYuQiF().get(shangGuanTianGan);
+
+            for (int i = 0; i < kongwangList.size(); i++) {
+
+                if (StringUtils.isNotEmpty(benQiShiShen) && kongwangList.get(i).getKongWang().contains(benQiShiShen)) {
+                    ziNvMap.put(x++, "食神星" + shiShenTianGan + "的" + benQiShiShen + "本气在" + kongwangList.get(i).getZhu() + "空亡表现与女儿缘薄。");
+                }
+                if (StringUtils.isNotEmpty(zhongQiShiShen) && kongwangList.get(i).getKongWang().contains(zhongQiShiShen)) {
+                    ziNvMap.put(x++, "食神星" + shiShenTianGan + "的" + zhongQiShiShen + "中气在" + kongwangList.get(i).getZhu() + "空亡表现与女儿缘薄。");
+                }
+                if (StringUtils.isNotEmpty(yuQiShiShen) && kongwangList.get(i).getKongWang().contains(yuQiShiShen)) {
+                    ziNvMap.put(x++, "食神星" + shiShenTianGan + "的" + yuQiShiShen + "余气在" + kongwangList.get(i).getZhu() + "空亡表现与女儿缘薄。");
+                }
+
+                if (StringUtils.isNotEmpty(benQiShangGuan) && kongwangList.get(i).getKongWang().contains(benQiShangGuan)) {
+                    ziNvMap.put(x++, "伤官星" + shangGuanTianGan + "的" + benQiShangGuan + "本气在" + kongwangList.get(i).getZhu() + "空亡表现与儿子缘薄。");
+                }
+                if (StringUtils.isNotEmpty(zhongQiShangGuan) && kongwangList.get(i).getKongWang().contains(zhongQiShangGuan)) {
+                    ziNvMap.put(x++, "伤官星" + shangGuanTianGan + "的" + zhongQiShangGuan + "中气在" + kongwangList.get(i).getZhu() + "空亡表现与儿子缘薄。");
+                }
+                if (StringUtils.isNotEmpty(yuQiShangGuan) && kongwangList.get(i).getKongWang().contains(yuQiShangGuan)) {
+                    ziNvMap.put(x++, "伤官星" + shangGuanTianGan + "的" + yuQiShangGuan + "余气在" + kongwangList.get(i).getZhu() + "空亡表现与儿子缘薄。");
+                }
+                if (kongwangList.get(i).getKongWang().contains(timeZhi)) {
+                    ziNvMap.put(x++, "时柱的" + timeZhi + "在" + kongwangList.get(i).getZhu() + "柱空亡表现与子女缘薄。");
+                }
+            }
 
-        //以下带了三条以上,都不好要孩子。
-        //1.子女星空亡 与子女缘薄
-        //    String dayGan = ganZhiRowVoList.get(5).getName();
+            int shiShenCount = shiShenCountMap.get("食神");
+            int shangGuanCount = shiShenCountMap.get("伤官");
 
+            int total = shiShenCount + shangGuanCount;
+            if (total == 0) {
+                ziNvMap.put(x++, "女命的本命局没有食伤子女星,表现与子女缘薄。");
+            }
 
-        //2.时柱两个字空亡 与子女缘薄
+            //4  女命正印格,偏印格,与子女缘薄
+            if("正印".equals(geju)) {
+                ziNvMap.put(x++, "女命正印格,表现与子女缘薄。");
+            }
+            if("偏印".equals(geju)) {
+                ziNvMap.put(x++, "女命偏印格,表现与子女缘薄。");
+            }
+            //按照年干,年支,月干,月支,日支,时干,时支的顺序
+            //地支本气子女星,能够顺利有子女
+            //地支中气子女星,代表怀孕后会不太顺利
+            //地支余气子女星,代表与子女缘薄,不一定能出生,易流产
+            int benQiCount = 0;
+            int zhongQiCount = 0;
+            int yuQiCount = 0;
+            for (int i = 0; i < ganZhiRowVoList.size(); i++) {
+                String shiShen1 = ganZhiRowVoList.get(i).getShiShen1();
+                String shiShen2 = ganZhiRowVoList.get(i).getShiShen2();
+                String shiShen3 = ganZhiRowVoList.get(i).getShiShen3();
 
+                if (shiShen1 != null && (shiShen1.contains("伤官") || shiShen1.contains("食神"))) {
+                    benQiCount++;
+                }
+                if (shiShen2 != null && (shiShen2.contains("伤官") || shiShen2.contains("食神"))) {
+                    zhongQiCount++;
+                }
+                if (shiShen3 != null && (shiShen3.contains("伤官") || shiShen3.contains("食神"))) {
+                    yuQiCount++;
+                }
+            }
 
-        //3.本命局没有子女星 与子女缘薄
+            if(benQiCount>0){
+                ziNvMap.put(x++, "天干地支本气子女星,子女能够顺利出生。");
+            } else if (zhongQiCount>0) {
+                ziNvMap.put(x++, "地支中气子女星,代表怀孕后会不顺利,注意保养。");
+            } else if (yuQiCount>0) {
+                ziNvMap.put(x++, "地支余气子女星,代表怀孕会不顺利,容易有流产之事发生。");
+            }
 
+        }
+        ziNvMap.put(x++, "缘薄表示将会跟孩子聚少离多,缘薄之相有4条以上,会不好要孩子。以上的能量为本气>中气>余气。");
 
-        //4 男命食神格,伤官格,与子女缘薄,; 女命正印格,偏印格,与子女缘薄
 
 
         return ziNvMap;

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

@@ -88,6 +88,9 @@ public class GanZhiVo {
     @ApiModelProperty(value = "情感")
     private Map<Integer,String> qingGan;
 
+    @ApiModelProperty(value = "子女")
+    private Map<Integer,String> ziNvYun;
+
     @ApiModelProperty(value = "称骨评语")
     private Map<String,String> chenGuMap;