Эх сурвалжийг харах

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	xpgx-service/src/main/java/com/miaxis/gan/service/impl/GanZhiServiceImpl.java
zhangbin 1 жил өмнө
parent
commit
bdd3f05733

+ 19 - 11
xpgx-admin/src/main/java/com/miaxis/app/controller/gan/GanZhiController.java

@@ -63,8 +63,8 @@ public class GanZhiController extends BaseController {
         Map<String, String> reportMap = new TreeMap<String, String>();
 
 
-        Date birthDay = ganZhiDto.getBirthDay();
-        Lunar lunar = Lunar.fromDate(birthDay);
+        Date birthday = ganZhiDto.getBirthday();
+        Lunar lunar = Lunar.fromDate(birthday);
         GanZhiDaYunVo ganZhiDaYunVo = new GanZhiDaYunVo();
         ganZhiDaYunVo.setLunar(lunar);
         System.out.println("农历:" + lunar.getYear() + "年(生肖" + lunar.getYearShengXiao() + ")" + lunar.getMonth() + "月" + lunar.getDay() + "日" + lunar.getTime() + "时");
@@ -94,9 +94,16 @@ public class GanZhiController extends BaseController {
         List<GanZhiRowVo> ganZhiRowVoList = ganZhiService.selectGanZhiRowVoList(ganZhiDto); //拼装
         Map<String, Integer> fiveCountMap = ganZhiService.getGanZhiRowVoCount(ganZhiRowVoList, reportMap); //五行数量
         Map<String, Object> riYuanQrMap = ganZhiService.getRiYuanQr(ganZhiRowVoList, fiveCountMap);  //查出日元强弱
-        String xifangWei = ganZhiService.getXiFangWei(ganZhiDaYunVo.getLunar()); //喜用的方位
-        Map<String, String> chenGuMap = ganZhiService.getChenGu(ganZhiDaYunVo.getLunar(), ganZhiDto.getSex());
 
+        Map<Integer, String> xifangWeiMap = null;
+        if (ganZhiDaYunVo.getLunarAdjust() != null) {
+            xifangWeiMap = ganZhiService.getXiFangWei(ganZhiDaYunVo.getLunarAdjust()); //喜用的方位
+        } else {
+            xifangWeiMap = ganZhiService.getXiFangWei(ganZhiDaYunVo.getLunar()); //喜用的方位
+        }
+
+        //称骨算命,只需要用原来的
+        Map<String, String> chenGuMap = ganZhiService.getChenGu(ganZhiDaYunVo.getLunar(), ganZhiDto.getSex());
 
         String guiren = ganZhiService.getGuiren(ganZhiRowVoList);  //贵人
 
@@ -116,16 +123,18 @@ public class GanZhiController extends BaseController {
         Map<String, Integer> zaoShiCount = ganZhiService.getZaoShiCount(ganZhiRowVoList, fiveCountMap, reportMap);
         List<DiseasePart> diseasePartList = ganZhiService.getJiBing(ganZhiRowVoList, fiveCountMap);
 
-        String caiYun = ganZhiService.getCaiYun(ganZhiRowVoList, riYuanQrMap, shiShenCountMap);
+        Map<Integer,String> caiYun = ganZhiService.getCaiYun(ganZhiRowVoList, riYuanQrMap, shiShenCountMap);
 
-        String qingGan = ganZhiService.getQingGanYun(ganZhiRowVoList,riYuanQrMap, shiShenCountMap, fiveCountMap); //情感
-        String piQi = ganZhiService.getPiQi(ganZhiRowVoList); //脾气
+        Map<Integer,String> qingGan = ganZhiService.getQingGanYun(ganZhiRowVoList, riYuanQrMap, shiShenCountMap, fiveCountMap, geju); //情感
 
+        Map<Integer,String> ziNvYun = ganZhiService.getZiNvYun(ganZhiRowVoList, riYuanQrMap, shiShenCountMap, fiveCountMap, geju, ganZhiKongWangVoList); //情感
+
+        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());
+        ganZhiVo.setBirthday(ganZhiDto.getBirthday());
         ganZhiVo.setGanZhiRowVoList(ganZhiRowVoList);
         ganZhiVo.setFiveCountMap(fiveCountMap);
         ganZhiVo.setShiShenCountMap(shiShenCountMap);
@@ -141,17 +150,16 @@ public class GanZhiController extends BaseController {
         ganZhiVo.setDaYunList(ganZhiDaYunVo.getDaYunList());
         ganZhiVo.setGeJuMap(geJuMap);
         ganZhiVo.setGuoGuanMap(guoGuanMap);
-        ganZhiVo.setXiFangWei(xifangWei);
+        ganZhiVo.setXiFangWei(xifangWeiMap);
         ganZhiVo.setIndustry(industry);
         ganZhiVo.setGuiren(guiren);
         ganZhiVo.setChenGuMap(chenGuMap);
         ganZhiVo.setPiQi(piQi);
         ganZhiVo.setQingGan(qingGan);
+        ganZhiVo.setCaiYun(caiYun);
 
-        reportMap.put("财运",caiYun);
         ganZhiVo.setReportMap(reportMap);
 
-
         // 输出结果
         return Response.success(ganZhiVo);
     }

+ 2 - 2
xpgx-admin/src/test/java/com/miaxis/test/GanTest.java

@@ -45,9 +45,9 @@ public class GanTest {
 
         // 假设使用 cn.6tail 的 lunar 库来转换日期
         GanZhiDto ganZhiDto = new GanZhiDto();
-        ganZhiDto.setBirthDay(DateUtils.parseDate("2002-09-08 14:02:00"));
+        ganZhiDto.setBirthday(DateUtils.parseDate("2002-09-08 14:02:00"));
         ganZhiDto.setSex(1);
-        Lunar lunar = Lunar.fromDate(ganZhiDto.getBirthDay());
+        Lunar lunar = Lunar.fromDate(ganZhiDto.getBirthday());
 
         // 获取干支纪年
         ganZhiDto.setYearGan(lunar.getYearGan());

+ 60 - 0
xpgx-admin/src/test/java/com/miaxis/test/Test3.java

@@ -0,0 +1,60 @@
+package com.miaxis.test;
+
+import com.miaxis.common.config.ShiShenConfig;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class Test3 {
+
+
+    public static void main(String[] args) {
+
+        String targetDizhi = null;
+
+        int day = 32;
+        ShiShenConfig shiShenConfig = new ShiShenConfig();
+        shiShenConfig.init();
+
+        List<String> circularList = new ArrayList<String>();
+        circularList.addAll(shiShenConfig.getDizhi());
+        // 指定要重复的次数
+        int repeatCount = 4;
+        int index = 0;
+        boolean isFind = false;
+        // 当作为圆形列表使用
+        for (int i = 0; i < repeatCount; i++) {
+            // 循环输出列表元素
+            for (String element : circularList) {
+                if("亥".equals(element)) {
+                    isFind = true;
+                }
+                if(isFind) {
+                    index++;
+                }
+                if(index==day) {
+                    System.out.println("找到对应的地支"+element);
+                    targetDizhi=element;
+                    break;
+                }
+            }
+            if(index==day) {
+                break;
+            }
+            //System.out.println(); // 换行
+            // 将列表的最后一个元素移到列表的开头
+            String lastElement = circularList.remove(circularList.size() - 1);
+            circularList.add(0, lastElement);
+        }
+
+        String fangWeiA = shiShenConfig.getDizhiFangWei().get(targetDizhi);
+        String fangWeiB = shiShenConfig.getFangWeiDui().get(fangWeiA);
+
+        System.out.println("你的配偶和你的方位是"+fangWeiA+"————"+fangWeiB+"(你们的出生地的家为准,两点连线。)");
+
+    }
+}
+
+
+

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

@@ -129,6 +129,24 @@ public class ShiShenConfig {
     //容易出桃花的八字
     private final List<String> taoHuaZi = new ArrayList<String>();
 
+    //长相长得漂亮
+    private final List<String> zhangXiangHao = new ArrayList<String>();
+    //长相长得一般
+    private final List<String> zhangXiangZhong = new ArrayList<String>();
+    //长相朴素
+    private final List<String> zhangXiangCha = new ArrayList<String>();
+
+    //配偶比自己年龄大还是年龄小
+    private final Map<String,String> peiouOld = new TreeMap<String, String>();
+
+    //12地支
+    private final List<String> dizhi = new ArrayList<String>();
+
+    //12地支方位
+    private final Map<String, String> dizhiFangWei = new TreeMap<String, String>();
+
+    //方位对向
+    private final Map<String, String> fangWeiDui = new TreeMap<String, String>();
 
     @PostConstruct
     public void init() {
@@ -1195,6 +1213,75 @@ public class ShiShenConfig {
         taoHuaZi.add("卯");
         taoHuaZi.add("酉");
 
+        zhangXiangHao.add("子");
+        zhangXiangHao.add("午");
+        zhangXiangHao.add("卯");
+        zhangXiangHao.add("酉");
+
+        zhangXiangZhong.add("寅");
+        zhangXiangZhong.add("申");
+        zhangXiangZhong.add("巳");
+        zhangXiangZhong.add("亥");
+
+        zhangXiangCha.add("辰");
+        zhangXiangCha.add("戌");
+        zhangXiangCha.add("丑");
+        zhangXiangCha.add("未");
+
+        //five.add("木");
+        //five.add("火");
+        //five.add("土");
+        //five.add("金");
+        //five.add("水");
+
+        peiouOld.put("伤官","伤官代表了外向才华和才气的发挥,性格外向多情,多才多艺,往往不受世谷礼法的约束,常常违返伦理,不授受长辈批评,我行我素,因此一般来说伤官旺的人,特别喜欢接近年龄差距大的人,一般来说你的另一半年龄要比你大。");
+        peiouOld.put("食神","食神虽没有伤官的那种叛逆,但也不喜欢受到束缚,可以说不论男女都不喜欢官杀的克制,会比较喜欢选择年龄差距大的人来相处。");
+        peiouOld.put("偏财","偏财个性慷慨而圆滑,风流多情,特别是男生,容易接触外面的女性,这些年来的包二奶和婚外情很多是一些贪财旺而透合的人,因些偏财旺的人,其配偶的年龄一般比自己小很多岁。");
+        peiouOld.put("七杀","七杀代表了权威和冒险,有魄力,但也有刚愎自用的一面,在女生中七杀为夫星,适合找年长的丈夫,用兄长般爱护弟妹的感情,使感情上更充实,否则在你的生涯中,在感情方面难免多有纷争或波折,正因为七杀有冒险并且独断专行的一面,反传统,因此你的配偶和你之间的年龄会有较大的差距,对方年龄上会比你大很多。");
+        peiouOld.put("偏印","偏印代表学士才华,虽然十神有偏印的人思想带点奇怪,挑选配偶有点与众不同,不过偏印是克制食神和伤官的,所以你的配偶年龄和你之间差距是比较小的,你们之间一般相差2-3岁。");
+        peiouOld.put("劫财","劫财代表对外的感情,经常隐藏自己的真面目,自我本性潜在,是一种复杂的性格,男人婚后对妻子不够体贴,对外面女人却慷慨。因此寻找配偶的年龄不宜太小,但也不宜太大,2-3岁比较适合。");
+        peiouOld.put("正印","正印代表信誉与学问,虽然温文尔雅,确实容易养成依赖心里,有懒惰的习惯,凡事不愿动手,因此印星旺的人,寻找配偶年龄差距较小,甚至男人的配偶有比自己年纪大的倾向。");
+        peiouOld.put("正官","正官代表地位名望,约束力,做事一板一眼,因此正官较为成熟,你和配偶的年龄差距也不会很大,而你往往会有比配偶大的倾向。");
+        peiouOld.put("正财","正财重视信用,勤劳节俭,安守本分,因此你和配偶年龄差距会很小,同岁或大一岁左右。");
+        peiouOld.put("比肩","比肩代表着对内的感情友谊,性情光明,不过六亲缘分浅薄,男女都不宜早婚,配偶年龄差距也不会很大,一般是在一两岁之间。");
+
+        dizhi.add("子");
+        dizhi.add("丑");
+        dizhi.add("寅");
+        dizhi.add("卯");
+        dizhi.add("辰");
+        dizhi.add("巳");
+        dizhi.add("午");
+        dizhi.add("未");
+        dizhi.add("申");
+        dizhi.add("酉");
+        dizhi.add("戌");
+        dizhi.add("亥");
+
+        dizhiFangWei.put("子","北");
+        dizhiFangWei.put("丑","东北");
+        dizhiFangWei.put("寅","东北");
+        dizhiFangWei.put("卯","东");
+        dizhiFangWei.put("辰","东南");
+        dizhiFangWei.put("巳","东南");
+        dizhiFangWei.put("午","南");
+        dizhiFangWei.put("未","西南");
+        dizhiFangWei.put("申","西南");
+        dizhiFangWei.put("酉","西");
+        dizhiFangWei.put("戌","西北");
+        dizhiFangWei.put("亥","西北");
+
+        fangWeiDui.put("北","南");
+        fangWeiDui.put("南","北");
+        fangWeiDui.put("西","东");
+        fangWeiDui.put("东","西");
+        fangWeiDui.put("东北","西南");
+        fangWeiDui.put("西南","东北");
+        fangWeiDui.put("东南","西北");
+        fangWeiDui.put("西北","东南");
+
+
+
     }
 
 
@@ -1322,5 +1409,78 @@ public class ShiShenConfig {
         return 0;
     }
 
+    public static String getShengRelationship(String element) {
+        String sheng = null;
+        switch (element) {
+            case "木":
+                sheng = "火";
+                break;
+            case "火":
+                sheng = "土";
+                break;
+            case "土":
+                sheng = "金";
+                break;
+            case "金":
+                sheng = "水";
+                break;
+            case "水":
+                sheng = "木";
+                break;
+            default:
+                return "无效的五行元素";
+        }
+        return sheng;
+    }
+
+    public static String getKeRelationship(String element) {
+        String ke = "";
+        switch (element) {
+            case "木":
+                ke = "土";
+                break;
+            case "火":
+                ke = "金";
+                break;
+            case "土":
+                ke = "水";
+                break;
+            case "金":
+                ke = "木";
+                break;
+            case "水":
+                ke = "火";
+                break;
+            default:
+                return "无效的五行元素";
+        }
+        return ke;
+    }
+
+
+    public static String getKeWoRelationship(String element) {
+        String keWo = null;
+        switch (element) {
+            case "木":
+                keWo = "金";
+                break;
+            case "火":
+                keWo = "水";
+                break;
+            case "土":
+                keWo = "木";
+                break;
+            case "金":
+                keWo = "火";
+                break;
+            case "水":
+                keWo = "土";
+                break;
+            default:
+                return "无效的五行元素";
+        }
+        return keWo;
+    }
+
 
 }

+ 1 - 1
xpgx-service/src/main/java/com/miaxis/gan/dto/GanZhiDto.java

@@ -30,7 +30,7 @@ public class GanZhiDto {
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "出生日期 yyyy-MM-dd HH:mm:ss")
-    private Date birthDay;
+    private Date birthday;
 
     @ApiModelProperty(value = "是否保存 0:不保存 1保存")
     private Integer isSave;

+ 5 - 3
xpgx-service/src/main/java/com/miaxis/gan/service/IGanZhiService.java

@@ -104,7 +104,7 @@ public interface IGanZhiService extends IService<GanZhi>{
 
     Map<Integer, String> getGuo3Guan(List<GanZhiRowVo> list, String qr);
 
-    String getXiFangWei(Lunar lunar);
+    Map<Integer, String> getXiFangWei(Lunar lunar);
 
     String getIndustry(Map<String, Object> riYuanQrMap,String geju);
 
@@ -114,7 +114,9 @@ public interface IGanZhiService extends IService<GanZhi>{
 
     String getPiQi(List<GanZhiRowVo> ganZhiRowVoList);
 
-    String getCaiYun(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Object> riYuanQrMap, Map<String, Integer> shiShenCountMap);
+    Map<Integer,String> getCaiYun(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Object> riYuanQrMap, Map<String, Integer> shiShenCountMap);
 
-    String getQingGanYun(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Object> riYuanQrMap, Map<String, Integer> shiShenCountMap, Map<String, Integer> fiveCountMap);
+    Map<Integer, String> getQingGanYun(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Object> riYuanQrMap, Map<String, Integer> shiShenCountMap, Map<String, Integer> fiveCountMap, String guju);
+
+    Map<Integer, String> getZiNvYun(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Object> riYuanQrMap, Map<String, Integer> shiShenCountMap, Map<String, Integer> fiveCountMap, String geju,List<GanZhiKongWangVo> kongWangList);
 }

+ 460 - 208
xpgx-service/src/main/java/com/miaxis/gan/service/impl/GanZhiServiceImpl.java

@@ -1,15 +1,16 @@
 package com.miaxis.gan.service.impl;
 
-import java.util.*;
-
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.miaxis.common.config.ShiShenConfig;
 import com.miaxis.common.utils.DateUtils;
 import com.miaxis.disease.domain.DiseasePart;
 import com.miaxis.disease.dto.DiseasePartDto;
 import com.miaxis.disease.mapper.DiseasePartMapper;
+import com.miaxis.gan.domain.GanZhi;
 import com.miaxis.gan.dto.GanZhiDto;
 import com.miaxis.gan.dto.LiuNianDto;
+import com.miaxis.gan.mapper.GanZhiMapper;
+import com.miaxis.gan.service.IGanZhiService;
 import com.miaxis.gan.vo.GanZhiDaYunVo;
 import com.miaxis.gan.vo.GanZhiKongWangVo;
 import com.miaxis.gan.vo.GanZhiNaYinVo;
@@ -21,13 +22,11 @@ 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.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.apache.commons.lang3.StringUtils;
-import com.miaxis.gan.mapper.GanZhiMapper;
-import com.miaxis.gan.domain.GanZhi;
-import com.miaxis.gan.service.IGanZhiService;
+
+import java.util.*;
 
 /**
  * 天干地支Service业务层处理
@@ -692,7 +691,7 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
         }
 
         //判断当天是否是节气,如果在节前前, 月柱修改
-        Date d1 = ganZhiDto.getBirthDay();
+        Date d1 = ganZhiDto.getBirthday();
         Lunar lunar = Lunar.fromDate(d1);
         List<JieQiVo> list = jieQiMapper.selectJiiQiFb(d1);
         if (lunar.getJieQi() != null && !"".equals(lunar.getJieQi())) {
@@ -708,7 +707,7 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 ganZhiDto.setMonthGan(lunar2.getMonthGan());
                 ganZhiDto.setMonthZhi(lunar2.getMonthZhi());
                 System.out.println(lunar2.getYearGan() + "," + lunar2.getYearZhi() + "," + lunar2.getMonthGan() + "," + lunar2.getMonthZhi() + "," + lunar2.getDayGan() + "," + lunar2.getDayZhi() + "," + lunar2.getTimeGan() + "," + lunar2.getTimeZhi());
-
+                ganZhiDaYunVo.setLunarAdjust(lunar2);
             }
         }
         System.out.println(ganZhiDto.getYearGan() + "," + ganZhiDto.getYearZhi() + "," + ganZhiDto.getMonthGan() + "," + ganZhiDto.getMonthZhi() + "," + ganZhiDto.getDayGan() + "," + ganZhiDto.getDayZhi() + "," + ganZhiDto.getTimeGan() + "," + ganZhiDto.getTimeZhi());
@@ -726,7 +725,7 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
             Lunar lunar3 = Lunar.fromDate(d3);
             ganZhiDto.setDayGan(lunar3.getDayGan());
             ganZhiDto.setDayZhi(lunar3.getDayZhi());
-            ganZhiDaYunVo.setLunar(lunar3);
+            ganZhiDaYunVo.setLunarAdjust(lunar3);
             System.out.println(lunar3.getYearGan() + "," + lunar3.getYearZhi() + "," + lunar3.getMonthGan() + "," + lunar3.getMonthZhi() + "," + lunar3.getDayGan() + "," + lunar3.getDayZhi() + "," + lunar3.getTimeGan() + "," + lunar3.getTimeZhi());
         }
 
@@ -1669,16 +1668,19 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
 
 
     @Override
-    public String getXiFangWei(Lunar lunar) {
-        String str = lunar.toFullString();
-        String[] s = str.split(" ");
-        StringBuffer fangWei = new StringBuffer();
+    public Map<Integer, String> getXiFangWei(Lunar lunar) {
+        int x = 1;  //序号
 
+        Map<Integer, String> xiFangMap = new TreeMap<Integer, String>();
+        String str = lunar.toFullString();
         str = str.substring(str.indexOf("喜神方位"));
+        String[] xiFang = str.split(" ");
 
-        System.out.println(str);
+        for (int i = 0; i < xiFang.length; i++) {
+            xiFangMap.put(x++, xiFang[i]);
+        }
 
-        return str;
+        return xiFangMap;
 
     }
 
@@ -1786,15 +1788,21 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
     }
 
     @Override
-    public String getCaiYun(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Object> riYuanQrMap, Map<String, Integer> shiShenCountMap) {
+    public Map<Integer, 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");
 
+        int x = 1;  //序号
+        Map<Integer, String> caiMap = new TreeMap<Integer, String>();
+        StringBuffer caiQrContent = new StringBuffer();
+
         StringBuffer caiContent = new StringBuffer();
         if (qr.contains("强")) {
+            caiQrContent.append("身强");
             caiContent.append("身强");
         } else if (qr.contains("弱")) {
+            caiQrContent.append("身强");
             caiContent.append("身弱");
         }
 
@@ -1803,116 +1811,178 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
 
         int totalCount = pianCaiCount + zhengCaiCount;
         if (totalCount >= 2) {
-            caiContent.append("财旺;");
+            caiQrContent.append("财旺;");
+            caiContent.append("财旺;");
         } else if (totalCount >= 1) {
-            caiContent.append("财弱;");
+            caiQrContent.append("财弱;");
+            caiContent.append("财弱;");
         } else if (totalCount == 0) {
-            caiContent.append("四柱无财;");
+            caiQrContent.append("四柱无财;");
+            caiContent.append("四柱无财;");
+        }
+
+        if (caiQrContent.toString().length() > 0) {     //如果有内容写进去
+            caiMap.put(x++, caiQrContent.toString());
         }
+
+        StringBuffer wuCaiContent = new StringBuffer();
         if (totalCount != 0) {
             if (pianCaiCount == 0) {
-                caiContent.append("八字无偏财,尽量不要做投机性生意;");
+                wuCaiContent.append("八字无偏财,尽量不要做投机性生意;");
+                caiContent.append("八字无偏财,尽量不要做投机性生意;");
             }
             if (zhengCaiCount == 0) {
-                caiContent.append("八字没有正财,有偏财,投资要谨慎,不要借贷;");
+                wuCaiContent.append("八字没有正财,有偏财,投资要谨慎,不要借贷;");
+                caiContent.append("八字没有正财,有偏财,投资要谨慎,不要借贷;");
             }
         }
 
+        if (wuCaiContent.toString().length() > 0) {     //如果有内容写进去
+            caiMap.put(x++, wuCaiContent.toString());
+        }
 
+        StringBuffer caiQrWrContent = new StringBuffer();
         if (caiContent.toString().contains("身强") && caiContent.toString().contains("财旺")) {
+            caiQrWrContent.append("遇大运流年,见食伤财才则发大财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有食伤财才。");
             caiContent.append("遇大运流年,见食伤财才则发大财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有食伤财才。");
         } else if (caiContent.toString().contains("身强") && caiContent.toString().contains("财弱")) {
+            caiQrWrContent.append("遇大运流年,见食伤财才则发中财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有食伤财才。");
             caiContent.append("遇大运流年,见食伤财才则发中财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有食伤财才。");
         } else if (caiContent.toString().contains("身弱") && caiContent.toString().contains("财旺")) {
+            caiQrWrContent.append("遇大运流年,见印枭比劫则发大财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有印枭比劫。");
             caiContent.append("遇大运流年,见印枭比劫则发大财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有印枭比劫。");
         } else if (caiContent.toString().contains("身弱") && caiContent.toString().contains("财弱")) {
+            caiQrWrContent.append("遇大运流年,见印枭比劫则发中财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有印枭比劫。");
             caiContent.append("遇大运流年,见印枭比劫则发中财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有印枭比劫。");
         } else if (caiContent.toString().contains("身强") && caiContent.toString().contains("四柱无财")) {
+            caiQrWrContent.append("遇大运流年,见财则有钱进账,但不长久。");
             caiContent.append("遇大运流年,见财则有钱进账,但不长久。");
         } else if (caiContent.toString().contains("身弱") && caiContent.toString().contains("四柱无财")) {
+            caiQrWrContent.append("不好发财,俗称和尚命。");
             caiContent.append("不好发财,俗称和尚命。");
         }
 
+        if (caiQrWrContent.toString().length() > 0) {     //如果有内容写进去
+            caiMap.put(x++, caiQrWrContent.toString());
+        }
 
         String monthZhi = ganZhiRowVoList.get(3).getName();
         String nian = shiShenConfig.getWuGui().get(monthZhi);
         String shengXiao = shiShenConfig.getWuGuiShengXiao().get(monthZhi);
 
+        StringBuffer wuGuiConent = new StringBuffer();
+        wuGuiConent.append("遇到" + shengXiao + "年(" + nian + "年),遇五鬼神煞比较容易得到偏财,但是同时也较易惹上小人、是非和灾害等。五鬼煞入命,会出现莫名其妙无风起浪的危险,因此一定要防患于未然,于官府当中更应该提防,在交友方面也应该小心,否则会有刑讼官司、破财牢狱之灾。");
+        if (wuGuiConent.toString().length() > 0) {     //如果有内容写进去
+            caiMap.put(x++, wuGuiConent.toString());
+        }
         caiContent.append("遇到" + shengXiao + "年(" + nian + "年),遇五鬼神煞比较容易得到偏财,但是同时也较易惹上小人、是非和灾害等。五鬼煞入命,会出现莫名其妙无风起浪的危险,因此一定要防患于未然,于官府当中更应该提防,在交友方面也应该小心,否则会有刑讼官司、破财牢狱之灾。");
 
-        return caiContent.toString();
+        return caiMap;
     }
 
 
     @Override
-    public String getQingGanYun(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Object> riYuanQrMap, Map<String, Integer> shiShenCountMap, Map<String, Integer> fiveCountMap) {
+    public Map<Integer, String> getQingGanYun(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Object> riYuanQrMap, Map<String, Integer> shiShenCountMap, Map<String, Integer> fiveCountMap, String geju) {
         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");
 
+        int x = 1;  //序号
+        Map<Integer, String> qiangGanMap = new TreeMap<Integer, String>();
         StringBuffer qiangGanContent = new StringBuffer();
 
         String sex = ganZhiRowVoList.get(4).getShiShen1();
         String five = ganZhiRowVoList.get(5).getFive();
         if ("元男".equals(sex)) {
+            StringBuffer zhengCaiContent = new StringBuffer();
             //正财、偏财为男人的老婆
             int zhengCaiCount = shiShenCountMap.get("正财");
             int pianCaiCount = shiShenCountMap.get("偏财");
             int total = zhengCaiCount + pianCaiCount;
             if (total == 0) {
+                zhengCaiContent.append("男人四柱无财,找老婆会比较困难,自己也可能不太想结婚。");
                 qiangGanContent.append("男人四柱无财,找老婆会比较困难,自己也可能不太想结婚。");
             }
 
             if (qr.contains("强")) {
+                zhengCaiContent.append("夫妻星为喜用,婚后夫妻关系还不错;");
                 qiangGanContent.append("夫妻星为喜用,婚后夫妻关系还不错;");
             } else if (qr.contains("弱")) {
+                zhengCaiContent.append("夫妻星为忌凶,婚后夫妻关系不是很幸福;");
                 qiangGanContent.append("夫妻星为忌凶,婚后夫妻关系不是很幸福;");
             }
             if (qr.contains("强") && xiYongOld.contains(five)) {  //强喜
+                zhengCaiContent.append("而且能够得到老婆家族的帮助。");
                 qiangGanContent.append("而且能够得到老婆家族的帮助。");
             } else if (qr.contains("弱") && xiYongOld.contains(five)) {  //弱喜
+                zhengCaiContent.append("不过是能够得到老婆家族的帮助。");
                 qiangGanContent.append("不过是能够得到老婆家族的帮助。");
             } else if (qr.contains("强") && !xiYongOld.contains(five)) {  //强忌
+                zhengCaiContent.append("但能不太能够得到老婆家族的帮助。");
                 qiangGanContent.append("但能不太能够得到老婆家族的帮助。");
             } else if (qr.contains("弱") && !xiYongOld.contains(five)) {   //弱忌
+                zhengCaiContent.append("也能不太能够得到老婆家族的帮助。");
                 qiangGanContent.append("也能不太能够得到老婆家族的帮助。");
             }
 
+            if (zhengCaiContent.toString().length() > 0) {     //如果有内容写进去
+                qiangGanMap.put(x++, zhengCaiContent.toString());
+            }
+
+
+            //夫妻宫落 劫财、伤官、偏印
+            StringBuffer jieCaiContent = new StringBuffer();
             String dayGanShiShen1 = ganZhiRowVoList.get(5).getShiShen1();
             String dayGanShiShen2 = ganZhiRowVoList.get(5).getShiShen2();
             String dayGanShiShen3 = ganZhiRowVoList.get(5).getShiShen3();
 
             if (dayGanShiShen1 != null && dayGanShiShen1.contains("劫财")) {
+                jieCaiContent.append("在夫妻宫本气坐落劫财,有克妻之相,会影响到夫妻感情。");
                 qiangGanContent.append("在夫妻宫本气坐落劫财,有克妻之相,会影响到夫妻感情。");
             }
             if (dayGanShiShen2 != null && dayGanShiShen2.contains("劫财")) {
+                jieCaiContent.append("在夫妻宫中气坐落劫财,有中度克妻之相,会影响到夫妻感情。");
                 qiangGanContent.append("在夫妻宫中气坐落劫财,有中度克妻之相,会影响到夫妻感情。");
             }
             if (dayGanShiShen3 != null && dayGanShiShen3.contains("劫财")) {
+                jieCaiContent.append("在夫妻宫余气坐落劫财,有轻微克妻之相,会影响到夫妻感情。");
                 qiangGanContent.append("在夫妻宫余气坐落劫财,有轻微克妻之相,会影响到夫妻感情。");
             }
 
             if (dayGanShiShen1 != null && dayGanShiShen1.contains("伤官")) {
+                jieCaiContent.append("在夫妻宫本气坐落劫财,夫妻不和睦之相。");
                 qiangGanContent.append("在夫妻宫本气坐落劫财,夫妻不和睦之相。");
             }
             if (dayGanShiShen2 != null && dayGanShiShen2.contains("伤官")) {
+                jieCaiContent.append("在夫妻宫中气坐落劫财,夫妻不和睦之相。");
                 qiangGanContent.append("在夫妻宫中气坐落劫财,夫妻不和睦之相。");
             }
             if (dayGanShiShen3 != null && dayGanShiShen3.contains("伤官")) {
+                jieCaiContent.append("在夫妻宫余气坐落劫财,夫妻不和睦之相。");
                 qiangGanContent.append("在夫妻宫余气坐落劫财,夫妻不和睦之相。");
             }
 
             if (dayGanShiShen1 != null && dayGanShiShen1.contains("偏印")) {
+                jieCaiContent.append("在夫妻宫本气坐落偏印,夫妻不和睦之相。");
                 qiangGanContent.append("在夫妻宫本气坐落偏印,夫妻不和睦之相。");
             }
             if (dayGanShiShen2 != null && dayGanShiShen2.contains("偏印")) {
+                jieCaiContent.append("在夫妻宫中气坐落偏印,夫妻不和睦之相。");
                 qiangGanContent.append("在夫妻宫中气坐落偏印,夫妻不和睦之相。");
             }
             if (dayGanShiShen3 != null && dayGanShiShen3.contains("偏印")) {
+                jieCaiContent.append("在夫妻宫余气坐落偏印,夫妻不和睦之相。");
                 qiangGanContent.append("在夫妻宫余气坐落偏印,夫妻不和睦之相。");
             }
 
+            if (jieCaiContent.toString().length() > 0) {     //如果有内容写进去
+                qiangGanMap.put(x++, jieCaiContent.toString());
+            }
+
+
+            //全阴全阳
+            StringBuffer quangContent = new StringBuffer();
             String yearGan = ganZhiRowVoList.get(0).getName();
             String monthGan = ganZhiRowVoList.get(2).getName();
             String dayGan = ganZhiRowVoList.get(4).getName();
@@ -1924,9 +1994,16 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
             String timeGanYY = shiShenConfig.getTianGanYY().get(timeGan);
 
             if ("阴".equals(yearGanYY) && "阴".equals(monthGanYY) && "阴".equals(dayGanYY) && "阴".equals(timeGanYY)) {
+                quangContent.append("男性四柱全阴,体现出较女性化,可能有同性取向的趋向。");
                 qiangGanContent.append("男性四柱全阴,体现出较女性化,可能有同性取向的趋向。");
             }
 
+            if (quangContent.toString().length() > 0) {     //如果有内容写进去
+                qiangGanMap.put(x++, quangContent.toString());
+            }
+
+
+            StringBuffer fuqiGongBiContent = new StringBuffer();
             int fuqiGongBiCount = 0;  //夫妻宫比肩 劫财的数量
             for (int i = 2; i < ganZhiRowVoList.size(); i++) {
                 String shiShen1 = ganZhiRowVoList.get(i).getShiShen1();
@@ -1943,59 +2020,89 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 }
             }
 
-            if(fuqiGongBiCount>=3) {
+            if (fuqiGongBiCount >= 3) {
+                fuqiGongBiContent.append("男命夫妻宫周围过多的比劫,可能出现夫妻感情不和睦的情况。");
                 qiangGanContent.append("男命夫妻宫周围过多的比劫,可能出现夫妻感情不和睦的情况。");
             }
 
+            if (fuqiGongBiContent.toString().length() > 0) {     //如果有内容写进去
+                qiangGanMap.put(x++, fuqiGongBiContent.toString());
+            }
 
         } else if ("元女".equals(sex)) {
             //正官、七杀为女人的老公
+            StringBuffer fuqiXingContent = new StringBuffer();
             int zhengCaiCount = shiShenCountMap.get("正官");
             int pianCaiCount = shiShenCountMap.get("七杀");
             int total = zhengCaiCount + pianCaiCount;
             if (total == 0) {
+                fuqiXingContent.append("女人四柱无官杀,找老公会比较困难,自己也不太愿意结婚。");
                 qiangGanContent.append("女人四柱无官杀,找老公会比较困难,自己也不太愿意结婚。");
             }
             if (qr.contains("强")) {
+                fuqiXingContent.append("夫妻星为喜用,婚后夫妻关系还不错;");
                 qiangGanContent.append("夫妻星为喜用,婚后夫妻关系还不错;");
             } else if (qr.contains("弱")) {
+                fuqiXingContent.append("夫妻星为忌凶,婚后夫妻关系不是很幸福;");
                 qiangGanContent.append("夫妻星为忌凶,婚后夫妻关系不是很幸福;");
             }
 
             if (qr.contains("强") && xiYong.contains(five)) {  //强喜
+                fuqiXingContent.append("而且能够得到老公家族的帮助。");
                 qiangGanContent.append("而且能够得到老公家族的帮助。");
             } else if (qr.contains("弱") && xiYong.contains(five)) {  //弱喜
+                fuqiXingContent.append("不过是能够得到老公家族的帮助。");
                 qiangGanContent.append("不过是能够得到老公家族的帮助。");
             } else if (qr.contains("强") && !xiYong.contains(five)) {  //强忌
-                qiangGanContent.append("但不太能够得到老公家族的帮助。");
+                fuqiXingContent.append("但能不太能够得到老公家族的帮助。");
+                qiangGanContent.append("但能不太能够得到老公家族的帮助。");
             } else if (qr.contains("弱") && !xiYong.contains(five)) {   //弱忌
-                qiangGanContent.append("也不太能够得到老公家族的帮助。");
+                fuqiXingContent.append("也能不太能够得到老公家族的帮助。");
+                qiangGanContent.append("也能不太能够得到老公家族的帮助。");
+            }
+
+            if (fuqiXingContent.toString().length() > 0) {     //如果有内容写进去
+                qiangGanMap.put(x++, fuqiXingContent.toString());
             }
 
             String dayGanShiShen1 = ganZhiRowVoList.get(5).getShiShen1();
             String dayGanShiShen2 = ganZhiRowVoList.get(5).getShiShen2();
             String dayGanShiShen3 = ganZhiRowVoList.get(5).getShiShen3();
 
+            StringBuffer fuqiGuContent = new StringBuffer();
+
             if (dayGanShiShen1 != null && dayGanShiShen1.contains("伤官")) {
+                fuqiGuContent.append("在夫妻宫本气坐落伤官,有克夫之相,会影响到夫妻感情。");
                 qiangGanContent.append("在夫妻宫本气坐落伤官,有克夫之相,会影响到夫妻感情。");
             }
             if (dayGanShiShen2 != null && dayGanShiShen2.contains("伤官")) {
+                fuqiGuContent.append("在夫妻宫中气坐落伤官,有中度克夫之相,会影响到夫妻感情。");
                 qiangGanContent.append("在夫妻宫中气坐落伤官,有中度克夫之相,会影响到夫妻感情。");
             }
             if (dayGanShiShen3 != null && dayGanShiShen3.contains("伤官")) {
+                fuqiGuContent.append("在夫妻宫余气坐落伤官,有轻微克夫之相,会影响到夫妻感情。");
                 qiangGanContent.append("在夫妻宫余气坐落伤官,有轻微克夫之相,会影响到夫妻感情。");
             }
 
             if (dayGanShiShen1 != null && dayGanShiShen1.contains("偏印")) {
-                qiangGanContent.append("在夫妻宫本气坐落偏印,夫妻不和睦之相。");
+                fuqiGuContent.append("在夫妻宫本气坐落偏印,有夫妻不和睦之相。");
+                qiangGanContent.append("在夫妻宫本气坐落偏印,有夫妻不和睦之相。");
             }
             if (dayGanShiShen2 != null && dayGanShiShen2.contains("偏印")) {
-                qiangGanContent.append("在夫妻宫中气坐落偏印,夫妻不和睦之相。");
+                fuqiGuContent.append("在夫妻宫中气坐落偏印,有中度夫妻不和睦之相。");
+                qiangGanContent.append("在夫妻宫中气坐落偏印,有中度夫妻不和睦之相。");
             }
             if (dayGanShiShen3 != null && dayGanShiShen3.contains("偏印")) {
-                qiangGanContent.append("在夫妻宫余气坐落偏印,夫妻不和睦之相。");
+                fuqiGuContent.append("在夫妻宫余气坐落偏印,有轻微夫妻不和睦之相。");
+                qiangGanContent.append("在夫妻宫余气坐落偏印,有轻微夫妻不和睦之相。");
             }
 
+            if (fuqiGuContent.toString().length() > 0) {     //如果有内容写进去
+                qiangGanMap.put(x++, fuqiGuContent.toString());
+            }
+
+
+            StringBuffer quangyinCountent = new StringBuffer();
             String yearGan = ganZhiRowVoList.get(0).getName();
             String monthGan = ganZhiRowVoList.get(2).getName();
             String dayGan = ganZhiRowVoList.get(4).getName();
@@ -2007,9 +2114,16 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
             String timeGanYY = shiShenConfig.getTianGanYY().get(timeGan);
 
             if ("阳".equals(yearGanYY) && "阳".equals(monthGanYY) && "阳".equals(dayGanYY) && "阳".equals(timeGanYY)) {
+                quangyinCountent.append("女性四柱全阳,体现出较男性化,可能有同性取向的趋向。");
                 qiangGanContent.append("女性四柱全阳,体现出较男性化,可能有同性取向的趋向。");
             }
 
+            if (quangyinCountent.toString().length() > 0) {     //如果有内容写进去
+                qiangGanMap.put(x++, quangyinCountent.toString());
+            }
+
+
+            StringBuffer fuqiGongShangContent = new StringBuffer();
             int fuqiGongShangCount = 0;  //夫妻宫伤官的数量
             for (int i = 2; i < ganZhiRowVoList.size(); i++) {
                 String shiShen1 = ganZhiRowVoList.get(i).getShiShen1();
@@ -2026,299 +2140,437 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 }
             }
 
-            if(fuqiGongShangCount>=3) {
+            if (fuqiGongShangCount >= 3) {
+                fuqiGongShangContent.append("女命夫妻宫周围过多的伤官,可能出现夫妻感情不和睦的情况。");
                 qiangGanContent.append("女命夫妻宫周围过多的伤官,可能出现夫妻感情不和睦的情况。");
             }
 
+            if (fuqiGongShangContent.toString().length() > 0) {     //如果有内容写进去
+                qiangGanMap.put(x++, fuqiGongShangContent.toString());
+            }
 
         }
 
 
+        StringBuffer taohuaContent = new StringBuffer();
+
         int taoHuaZiCount = 0;
         if (shiShenConfig.getTaoHuaZi().contains(ganZhiRowVoList.get(1).getName())) {
             taoHuaZiCount++;
         }
-        if (shiShenConfig.getTaoHuaZi().contains(ganZhiRowVoList.get(2).getName())) {
+        if (shiShenConfig.getTaoHuaZi().contains(ganZhiRowVoList.get(3).getName())) {
             taoHuaZiCount++;
         }
-        if (shiShenConfig.getTaoHuaZi().contains(ganZhiRowVoList.get(3).getName())) {
+        if (shiShenConfig.getTaoHuaZi().contains(ganZhiRowVoList.get(5).getName())) {
             taoHuaZiCount++;
         }
-        if (shiShenConfig.getTaoHuaZi().contains(ganZhiRowVoList.get(4).getName())) {
+        if (shiShenConfig.getTaoHuaZi().contains(ganZhiRowVoList.get(7).getName())) {
             taoHuaZiCount++;
         }
 
         if (taoHuaZiCount == 4) {
+            taohuaContent.append("地支中子午卯酉,非常之旺。桃花非常多,俗称桃花命。要小心一定因桃花引发的灾祸。");
             qiangGanContent.append("地支中子午卯酉,非常之旺。桃花非常多,俗称桃花命。要小心一定因桃花引发的灾祸。");
         }
         if (taoHuaZiCount == 3) {
+            taohuaContent.append("地支中子午卯酉,比较旺。桃花非常多,要小心一定因桃花引发的灾祸。");
             qiangGanContent.append("地支中子午卯酉,比较旺。桃花非常多,要小心一定因桃花引发的灾祸。");
         }
         if (taoHuaZiCount == 2) {
+            taohuaContent.append("地支中子午卯酉,相对比较旺。流年容易遇桃花之事。");
             qiangGanContent.append("地支中子午卯酉,相对比较旺。流年容易遇桃花之事。");
         }
 
+        if (taohuaContent.toString().length() > 0) {     //如果有内容写进去
+            qiangGanMap.put(x++, taohuaContent.toString());
+        }
+
+
+        StringBuffer xinglenContent = new StringBuffer();
+
         //性冷淡
         String dayGanShiShen1 = ganZhiRowVoList.get(5).getShiShen1();
         String dayGanShiShen2 = ganZhiRowVoList.get(5).getShiShen2();
         String dayGanShiShen3 = ganZhiRowVoList.get(5).getShiShen3();
 
         if (dayGanShiShen1 != null && dayGanShiShen1.contains("食神")) {
+            xinglenContent.append("夫妻宫坐了食神,比较喜欢性爱之事。");
             qiangGanContent.append("夫妻宫坐了食神,比较喜欢性爱之事。");
         }
         if (dayGanShiShen2 != null && dayGanShiShen2.contains("食神")) {
+            xinglenContent.append("夫妻宫坐了食神,比较喜欢性爱之事。");
             qiangGanContent.append("夫妻宫坐了食神,比较喜欢性爱之事。");
         }
         if (dayGanShiShen3 != null && dayGanShiShen3.contains("食神")) {
+            xinglenContent.append("夫妻宫坐了食神,比较喜欢性爱之事。");
             qiangGanContent.append("夫妻宫坐了食神,比较喜欢性爱之事。");
         }
 
-        if (dayGanShiShen1 != null && (dayGanShiShen1.contains("正印") ||  dayGanShiShen1.contains("偏印"))) {
+        if (dayGanShiShen1 != null && (dayGanShiShen1.contains("正印") || dayGanShiShen1.contains("偏印"))) {
+            xinglenContent.append("夫妻宫坐了印,性欲有被克制之相,会性较冷淡。");
             qiangGanContent.append("夫妻宫坐了印,性欲有被克制之相,会性较冷淡。");
         }
-        if (dayGanShiShen2 != null && (dayGanShiShen2.contains("正印") ||  dayGanShiShen2.contains("偏印"))) {
+        if (dayGanShiShen2 != null && (dayGanShiShen2.contains("正印") || dayGanShiShen2.contains("偏印"))) {
+            xinglenContent.append("夫妻宫坐了印,性欲有被克制之相,会性较冷淡。");
             qiangGanContent.append("夫妻宫坐了印,性欲有被克制之相,会性较冷淡。");
         }
-        if (dayGanShiShen3 != null && (dayGanShiShen3.contains("正印") ||  dayGanShiShen3.contains("偏印"))) {
+        if (dayGanShiShen3 != null && (dayGanShiShen3.contains("正印") || dayGanShiShen3.contains("偏印"))) {
+            xinglenContent.append("夫妻宫坐了印,性欲有被克制之相,会性较冷淡。");
             qiangGanContent.append("夫妻宫坐了印,性欲有被克制之相,会性较冷淡。");
         }
 
+
         String monthGanShiShen1 = ganZhiRowVoList.get(3).getShiShen1();
         String monthGanShiShen2 = ganZhiRowVoList.get(3).getShiShen2();
         String monthGanShiShen3 = ganZhiRowVoList.get(3).getShiShen3();
 
         if (monthGanShiShen1 != null && monthGanShiShen1.contains("正印")) {
+            xinglenContent.append("月令坐了正印,性欲有被克制之相,会性较冷淡,对学业工作会花较多精力。");
             qiangGanContent.append("月令坐了正印,性欲有被克制之相,会性较冷淡,对学业工作会花较多精力。");
         }
         if (monthGanShiShen2 != null && monthGanShiShen2.contains("正印")) {
+            xinglenContent.append("月令坐了正印,性欲有被克制之相,会性较冷淡,对学业工作会花较多精力。");
             qiangGanContent.append("月令坐了正印,性欲有被克制之相,会性较冷淡,对学业工作会花较多精力。");
         }
         if (monthGanShiShen3 != null && monthGanShiShen3.contains("正印")) {
+            xinglenContent.append("月令坐了正印,性欲有被克制之相,会性较冷淡,对学业工作会花较多精力。");
             qiangGanContent.append("月令坐了正印,性欲有被克制之相,会性较冷淡,对学业工作会花较多精力。");
         }
 
+
         //水主肾
         int shuiCount = fiveCountMap.get("水");
 
-        if(shuiCount>=4) {
+        if (shuiCount >= 4) {
+            xinglenContent.append("八字中水主肾,水过旺,喜性爱,需要克制。");
             qiangGanContent.append("八字中水主肾,水过旺,喜性爱,需要克制。");
         }
-        if(shuiCount>=1 && shuiCount<=3) {
+        if (shuiCount >= 1 && shuiCount <= 3) {
+            xinglenContent.append("八字中水主肾,水占了1-3个肾功能强,喜性爱。");
             qiangGanContent.append("八字中水主肾,水占了1-3个肾功能强,喜性爱。");
         }
-        if(shuiCount==0){
+        if (shuiCount == 0) {
+            xinglenContent.append("八字中无水,对性爱之事不是很上头,偶有乏力之相。");
             qiangGanContent.append("八字中无水,对性爱之事不是很上头,偶有乏力之相。");
         }
 
-        return qiangGanContent.toString();
-    }
-
+        if (xinglenContent.toString().length() > 0) {     //如果有内容写进去
+            qiangGanMap.put(x++, xinglenContent.toString());
+        }
 
-    public String getZiNvYun(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Object> riYuanQrMap, Map<String, Integer> shiShenCountMap, Map<String, Integer> fiveCountMap) {
-        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 ziNvContent = new StringBuffer();
+        //配偶的样貌
+        StringBuffer yangmaoContent = new StringBuffer();
+        String dayZhi = ganZhiRowVoList.get(5).getName();
+        if (shiShenConfig.getZhangXiangHao().contains(dayZhi)) {
+            yangmaoContent.append("夫妻宫带‘子午卯酉’配偶的样貌长得漂亮。");
+            qiangGanContent.append("夫妻宫带‘子午卯酉’配偶的样貌长得漂亮。");
+        }
+        if (shiShenConfig.getZhangXiangZhong().contains(dayZhi)) {
+            yangmaoContent.append("夫妻宫带‘寅申巳亥’配偶的样貌长得一般。");
+            qiangGanContent.append("夫妻宫带‘寅申巳亥’配偶的样貌长得一般。");
+        }
+        if (shiShenConfig.getZhangXiangCha().contains(dayZhi)) {
+            yangmaoContent.append("夫妻宫带‘辰戌丑未’配偶的样貌朴素敦厚。");
+            qiangGanContent.append("夫妻宫带‘辰戌丑未’配偶的样貌朴素敦厚。");
+        }
 
-        String sex = ganZhiRowVoList.get(4).getShiShen1();
-        String onefive = ganZhiRowVoList.get(6).getFive();
-        String twofive = ganZhiRowVoList.get(7).getFive();
         if ("元男".equals(sex)) {
-            //正官、七杀为男人的子女
-            int zhengGuanCount = shiShenCountMap.get("正官");
-            int qiShaCount = shiShenCountMap.get("七杀");
-            int total = zhengGuanCount + qiShaCount;
-            if (total == 0) {
-                ziNvContent.append("男人四柱官杀,与子女缘薄。");
+            String keFive = ShiShenConfig.getKeRelationship(ganZhiRowVoList.get(4).getFive()); //我克者为财
+            if ("火".equals(keFive)) {
+                yangmaoContent.append("夫妻星为火,配偶外形亮丽面红润。");
+                qiangGanContent.append("夫妻星为火,配偶外形亮丽面红润。");
             }
-
-            if (qr.contains("强")) {
-                ziNvContent.append("子女星为喜用,代表跟子女关系好;");
-            } else if (qr.contains("弱")) {
-                ziNvContent.append("子女星为忌凶,代表跟子女关系一般;");
+            if ("木".equals(keFive)) {
+                yangmaoContent.append("夫妻星为木,配偶外形长得高,发秀、端庄。");
+                qiangGanContent.append("夫妻星为木,配偶外形长得高,发秀、端庄。");
             }
-            if (qr.contains("强") && xiYongOld.contains(onefive)) {  //强喜
-                ziNvContent.append("而且能享受到长子或长女的福气。");
-            } else if (qr.contains("弱") && xiYongOld.contains(onefive)) {  //弱喜
-                ziNvContent.append("不过是能享受到长子或长女的福气。");
-            } else if (qr.contains("强") && !xiYongOld.contains(onefive)) {  //强忌
-                ziNvContent.append("但不太能享受到长子或长女的福气。");
-            } else if (qr.contains("弱") && !xiYongOld.contains(onefive)) {   //弱忌
-                ziNvContent.append("也不太能享受到长子或长女的福气。");
+            if ("水".equals(keFive)) {
+                yangmaoContent.append("夫妻星为水,配偶外形微胖,圆活面黑,人机玲,相貌普通。");
+                qiangGanContent.append("夫妻星为水,配偶外形微胖,圆活面黑,人机玲,相貌普通。");
             }
-
-            if (qr.contains("强") && xiYongOld.contains(twofive)) {  //强喜
-                ziNvContent.append("能享受到次子或次女的福气。");
-            } else if (qr.contains("弱") && xiYongOld.contains(twofive)) {  //弱喜
-                ziNvContent.append("能享受到次子或次女的福气。");
-            } else if (qr.contains("强") && !xiYongOld.contains(twofive)) {  //强忌
-                ziNvContent.append("不太能享受到次子或次女的福气。");
-            } else if (qr.contains("弱") && !xiYongOld.contains(twofive)) {   //弱忌
-                ziNvContent.append("不太能享受到次子或次女的福气。");
+            if ("土".equals(keFive)) {
+                yangmaoContent.append("夫妻星为土,配偶外形微胖,圆活面黑,人机玲,相貌普通。");
+                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("劫财")) {
-                ziNvContent.append("在夫妻宫本气坐落劫财,有克妻之相,会影响到夫妻感情。");
+            if ("金".equals(keFive)) {
+                yangmaoContent.append("夫妻星为金,配偶外形白晰端庄。");
+                qiangGanContent.append("夫妻星为金,配偶外形白晰端庄。");
             }
-            if (dayGanShiShen2 != null && dayGanShiShen2.contains("劫财")) {
-                ziNvContent.append("在夫妻宫中气坐落劫财,有中度克妻之相,会影响到夫妻感情。");
+        } else if ("元女".equals(sex)) {
+            String keWoFive = ShiShenConfig.getKeWoRelationship(ganZhiRowVoList.get(4).getFive()); //我克者为财
+            if ("火".equals(keWoFive)) {
+                yangmaoContent.append("夫妻星为火,配偶外形亮丽面红润。");
+                qiangGanContent.append("夫妻星为火,配偶外形亮丽面红润。");
             }
-            if (dayGanShiShen3 != null && dayGanShiShen3.contains("劫财")) {
-                ziNvContent.append("在夫妻宫余气坐落劫财,有轻微克妻之相,会影响到夫妻感情。");
+            if ("木".equals(keWoFive)) {
+                yangmaoContent.append("夫妻星为木,配偶外形长得高,发秀、端庄。");
+                qiangGanContent.append("夫妻星为木,配偶外形长得高,发秀、端庄。");
             }
-
-            if (dayGanShiShen1 != null && dayGanShiShen1.contains("伤官")) {
-                ziNvContent.append("在夫妻宫本气坐落劫财,夫妻不和睦之相。");
+            if ("水".equals(keWoFive)) {
+                yangmaoContent.append("夫妻星为水,配偶外形微胖,圆活面黑,人机玲,相貌普通。");
+                qiangGanContent.append("夫妻星为水,配偶外形微胖,圆活面黑,人机玲,相貌普通。");
             }
-            if (dayGanShiShen2 != null && dayGanShiShen2.contains("伤官")) {
-                ziNvContent.append("在夫妻宫中气坐落劫财,夫妻不和睦之相。");
+            if ("土".equals(keWoFive)) {
+                yangmaoContent.append("夫妻星为土,配偶外形敦厚、结实身高较矮。");
+                qiangGanContent.append("夫妻星为土,配偶外形敦厚、结实身高较矮。");
             }
-            if (dayGanShiShen3 != null && dayGanShiShen3.contains("伤官")) {
-                ziNvContent.append("在夫妻宫余气坐落劫财,夫妻不和睦之相。");
+            if ("金".equals(keWoFive)) {
+                yangmaoContent.append("夫妻星为金,配偶外形白晰端庄。");
+                qiangGanContent.append("夫妻星为金,配偶外形白晰端庄。");
             }
+        }
 
-            if (dayGanShiShen1 != null && dayGanShiShen1.contains("偏印")) {
-                ziNvContent.append("在夫妻宫本气坐落偏印,夫妻不和睦之相。");
-            }
-            if (dayGanShiShen2 != null && dayGanShiShen2.contains("偏印")) {
-                ziNvContent.append("在夫妻宫中气坐落偏印,夫妻不和睦之相。");
-            }
-            if (dayGanShiShen3 != null && dayGanShiShen3.contains("偏印")) {
-                ziNvContent.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();
+        String dayZhiFive = ganZhiRowVoList.get(5).getFive();
+        String dayZhiShiShen1 = ganZhiRowVoList.get(5).getShiShen1();
+        String dayZhiShiShen2 = ganZhiRowVoList.get(5).getShiShen2();
+        String dayZhiShiShen3 = ganZhiRowVoList.get(5).getShiShen3();
 
-            String yearGanYY = shiShenConfig.getTianGanYY().get(yearGan);
-            String monthGanYY = shiShenConfig.getTianGanYY().get(monthGan);
-            String dayGanYY = shiShenConfig.getTianGanYY().get(dayGan);
-            String timeGanYY = shiShenConfig.getTianGanYY().get(timeGan);
+        if ("火".equals(dayZhiFive)) {
+            yangmaoContent.append("夫妻宫落了火,代表皮肤不是很白。");
+            qiangGanContent.append("夫妻宫落了火,代表皮肤不是很白。");
+        }
+        if ("木".equals(dayZhiFive)) {
+            yangmaoContent.append("夫妻宫落了木,代表个子高。");
+            qiangGanContent.append("夫妻宫落了木,代表个子高。");
+        }
+        if ("水".equals(dayZhiFive)) {
+            yangmaoContent.append("夫妻宫落了水,代表不容易上火。");
+            qiangGanContent.append("夫妻宫落了水,代表不容易上火。");
+        }
+        if ("土".equals(dayZhiFive)) {
+            yangmaoContent.append("夫妻宫落了土,代表敦厚。");
+            qiangGanContent.append("夫妻宫落了土,代表敦厚。");
+        }
+        if ("金".equals(dayZhiFive)) {
+            yangmaoContent.append("夫妻宫落了金,代表身材不高。");
+            qiangGanContent.append("夫妻宫落了金,代表身材不高。");
+        }
 
-            if ("阴".equals(yearGanYY) && "阴".equals(monthGanYY) && "阴".equals(dayGanYY) && "阴".equals(timeGanYY)) {
-                ziNvContent.append("男性四柱全阴,体现出较女性化,可能有同性取向的趋向。");
-            }
+        if (yangmaoContent.toString().length() > 0) {     //如果有内容写进去
+            qiangGanMap.put(x++, yangmaoContent.toString());
+        }
 
-            int fuqiGongBiCount = 0;  //夫妻宫比肩 劫财的数量
-            for (int i = 2; 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("劫财"))) {
-                    fuqiGongBiCount++;
-                }
-                if (shiShen2 != null && (shiShen2.contains("比肩") || shiShen2.contains("劫财"))) {
-                    fuqiGongBiCount++;
-                }
-                if (shiShen3 != null && (shiShen3.contains("比肩") || shiShen3.contains("劫财"))) {
-                    fuqiGongBiCount++;
-                }
-            }
 
-            if(fuqiGongBiCount>=3) {
-                ziNvContent.append("男命夫妻宫周围过多的比劫,可能出现夫妻感情不和睦的情况。");
-            }
+        //配偶性格
+        StringBuffer xingGeContent = new StringBuffer();
+        //印枭
+        if (dayZhiShiShen1 != null && ((dayGanShiShen1.contains("正印") || dayGanShiShen1.contains("偏印")))) {
+            xingGeContent.append("夫妻宫本气落了印枭代表配偶学历高,气质儒雅。但口才不是很好,没有商人冲劲。");
+            qiangGanContent.append("夫妻宫本气落了印枭代表配偶学历高,气质儒雅。但口才不是很好,没有商人冲劲。");
+        }
 
+        if (dayZhiShiShen2 != null && ((dayZhiShiShen2.contains("正印") || dayZhiShiShen2.contains("偏印")))) {
+            xingGeContent.append("夫妻宫中气落了印枭代配偶表学历高,气质儒雅。但口才不是很好,没有商人冲劲。");
+            qiangGanContent.append("夫妻宫中气落了印枭代配偶表学历高,气质儒雅。但口才不是很好,没有商人冲劲。");
+        }
 
-        } else if ("元女".equals(sex)) {
-            //正官、七杀为女人的老公
-            int zhengCaiCount = shiShenCountMap.get("正官");
-            int pianCaiCount = shiShenCountMap.get("七杀");
-            int total = zhengCaiCount + pianCaiCount;
-            if (total == 0) {
-                ziNvContent.append("女人四柱无官杀,找老公会比较困难,自己也不太愿意结婚。");
-            }
-            if (qr.contains("强")) {
-                ziNvContent.append("夫妻星为喜用,婚后夫妻关系还不错;");
-            } else if (qr.contains("弱")) {
-                ziNvContent.append("夫妻星为忌凶,婚后夫妻关系不是很幸福;");
-            }
+        if (dayZhiShiShen3 != null && ((dayZhiShiShen3.contains("正印") || dayZhiShiShen3.contains("偏印")))) {
+            xingGeContent.append("夫妻宫余气落了印枭代配偶表学历高,气质儒雅。但口才不是很好,没有商人冲劲。");
+            qiangGanContent.append("夫妻宫余气落了印枭代配偶表学历高,气质儒雅。但口才不是很好,没有商人冲劲。");
+        }
 
-//            if (qr.contains("强") && xiYong.contains(five)) {  //强喜
-//                ziNvContent.append("而且能够得到老公家族的帮助。");
-//            } else if (qr.contains("弱") && xiYong.contains(five)) {  //弱喜
-//                ziNvContent.append("不过是能够得到老公家族的帮助。");
-//            } else if (qr.contains("强") && !xiYong.contains(five)) {  //强忌
-//                ziNvContent.append("但能不太能够得到老公家族的帮助。");
-//            } else if (qr.contains("弱") && !xiYong.contains(five)) {   //弱忌
-//                ziNvContent.append("也能不太能够得到老公家族的帮助。");
-//            }
+        //官杀
+        if (dayGanShiShen1 != null && ((dayGanShiShen1.contains("正官") || dayGanShiShen1.contains("七杀")))) {
+            xingGeContent.append("夫妻宫本气落了官杀代表了配偶领导层或管理岗,但真心朋友不多。");
+            qiangGanContent.append("夫妻宫本气落了官杀代表了配偶领导层或管理岗,但真心朋友不多。");
+        }
 
-            String dayGanShiShen1 = ganZhiRowVoList.get(5).getShiShen1();
-            String dayGanShiShen2 = ganZhiRowVoList.get(5).getShiShen2();
-            String dayGanShiShen3 = ganZhiRowVoList.get(5).getShiShen3();
+        if (dayZhiShiShen2 != null && ((dayZhiShiShen2.contains("正官") || dayZhiShiShen2.contains("七杀")))) {
+            xingGeContent.append("夫妻宫中气落了官杀代表了配偶领导层或管理岗,但真心朋友不多。");
+            qiangGanContent.append("夫妻宫中气落了官杀代表了配偶领导层或管理岗,但真心朋友不多。");
+        }
 
-            if (dayGanShiShen1 != null && dayGanShiShen1.contains("伤官")) {
-                ziNvContent.append("在夫妻宫本气坐落伤官,有克夫之相,会影响到夫妻感情。");
-            }
-            if (dayGanShiShen2 != null && dayGanShiShen2.contains("伤官")) {
-                ziNvContent.append("在夫妻宫中气坐落伤官,有中度克夫之相,会影响到夫妻感情。");
-            }
-            if (dayGanShiShen3 != null && dayGanShiShen3.contains("伤官")) {
-                ziNvContent.append("在夫妻宫余气坐落伤官,有轻微克夫之相,会影响到夫妻感情。");
-            }
+        if (dayZhiShiShen3 != null && ((dayZhiShiShen3.contains("正官") || dayZhiShiShen3.contains("七杀")))) {
+            xingGeContent.append("夫妻宫余气落了官杀代表了配偶领导层或管理岗,但真心朋友不多。");
+            qiangGanContent.append("夫妻宫余气落了官杀代表了配偶领导层或管理岗,但真心朋友不多。");
+        }
 
-            if (dayGanShiShen1 != null && dayGanShiShen1.contains("偏印")) {
-                ziNvContent.append("在夫妻宫本气坐落偏印,夫妻不和睦之相。");
-            }
-            if (dayGanShiShen2 != null && dayGanShiShen2.contains("偏印")) {
-                ziNvContent.append("在夫妻宫中气坐落偏印,夫妻不和睦之相。");
-            }
-            if (dayGanShiShen3 != null && dayGanShiShen3.contains("偏印")) {
-                ziNvContent.append("在夫妻宫余气坐落偏印,夫妻不和睦之相。");
-            }
+        //财才
+        if (dayGanShiShen1 != null && ((dayGanShiShen1.contains("正财") || dayGanShiShen1.contains("偏财")))) {
+            xingGeContent.append("夫妻宫本气落了财才代表了配偶收入较高,但学历不是很高。");
+            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();
+        if (dayZhiShiShen2 != null && ((dayZhiShiShen2.contains("正财") || dayZhiShiShen2.contains("偏财")))) {
+            xingGeContent.append("夫妻宫中气落了财才代表了配偶收入较高,但学历不是很高。");
+            qiangGanContent.append("夫妻宫中气落了财才代表了配偶收入较高,但学历不是很高。");
+        }
 
-            String yearGanYY = shiShenConfig.getTianGanYY().get(yearGan);
-            String monthGanYY = shiShenConfig.getTianGanYY().get(monthGan);
-            String dayGanYY = shiShenConfig.getTianGanYY().get(dayGan);
-            String timeGanYY = shiShenConfig.getTianGanYY().get(timeGan);
+        if (dayZhiShiShen3 != null && ((dayZhiShiShen3.contains("正财") || dayZhiShiShen3.contains("偏财")))) {
+            xingGeContent.append("夫妻宫余气落了财才代表了配偶收入较高,但学历不是很高。");
+            qiangGanContent.append("夫妻宫余气落了财才代表了配偶收入较高,但学历不是很高。");
+        }
 
-            if ("阳".equals(yearGanYY) && "阳".equals(monthGanYY) && "阳".equals(dayGanYY) && "阳".equals(timeGanYY)) {
-                ziNvContent.append("女性四柱全阳,体现出较男性化,可能有同性取向的趋向。");
-            }
+        //食神
+        if (dayGanShiShen1 != null && dayGanShiShen1.contains("食神")) {
+            xingGeContent.append("夫妻宫本气落了食神代表了配偶喜好玩乐、口才好,但不好当上领导层或官员。");
+            qiangGanContent.append("夫妻宫本气落了食神代表了配偶喜好玩乐、口才好,但不好当上领导层或官员。");
+        }
 
-            int fuqiGongShangCount = 0;  //夫妻宫伤官的数量
-            for (int i = 2; 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("伤官")) {
-                    fuqiGongShangCount++;
+        if (dayZhiShiShen2 != null && dayGanShiShen2.contains("食神")) {
+            xingGeContent.append("夫妻宫中气落了食神代表了配偶喜好玩乐、口才好,但不好当上领导层或官员。");
+            qiangGanContent.append("夫妻宫中气落了食神代表了配偶喜好玩乐、口才好,但不好当上领导层或官员。");
+        }
+
+        if (dayZhiShiShen3 != null && dayGanShiShen3.contains("食神")) {
+            xingGeContent.append("夫妻宫余气落了食神代表了配偶喜好玩乐、口才好,但不好当上领导层或官员。");
+            qiangGanContent.append("夫妻宫余气落了食神代表了配偶喜好玩乐、口才好,但不好当上领导层或官员。");
+        }
+
+        //伤官
+        if (dayGanShiShen1 != null && dayGanShiShen1.contains("伤官")) {
+            xingGeContent.append("夫妻宫本气落了伤官代表了配偶上进心强。");
+            qiangGanContent.append("夫妻宫本气落了伤官代表了配偶上进心强。");
+        }
+
+        if (dayZhiShiShen2 != null && dayGanShiShen2.contains("伤官")) {
+            xingGeContent.append("夫妻宫中气落了伤官代表了配偶上进心强。");
+            qiangGanContent.append("夫妻宫中气落了伤官代表了配偶上进心强。");
+        }
+
+        if (dayZhiShiShen3 != null && dayGanShiShen3.contains("伤官")) {
+            xingGeContent.append("夫妻宫余气落了伤官代表了配偶上进心强。");
+            qiangGanContent.append("夫妻宫余气落了伤官代表了配偶上进心强。");
+        }
+
+        //比肩
+        if (dayGanShiShen1 != null && dayGanShiShen1.contains("比肩")) {
+            xingGeContent.append("夫妻宫本气落了比肩代表了配偶朋友多,但收入不太稳定。");
+            qiangGanContent.append("夫妻宫本气落了比肩代表了配偶朋友多,但收入不太稳定。");
+        }
+
+        if (dayZhiShiShen2 != null && dayGanShiShen2.contains("比肩")) {
+            xingGeContent.append("夫妻宫中气落了比肩代表了配偶朋友多,但收入不太稳定。");
+            qiangGanContent.append("夫妻宫中气落了比肩代表了配偶朋友多,但收入不太稳定。");
+        }
+
+        if (dayZhiShiShen3 != null && dayGanShiShen3.contains("比肩")) {
+            xingGeContent.append("夫妻宫余气落了比肩代表了配偶朋友多,但收入不太稳定。");
+            qiangGanContent.append("夫妻宫余气落了比肩代表了配偶朋友多,但收入不太稳定。");
+        }
+
+        //劫财
+        if (dayGanShiShen1 != null && dayGanShiShen1.contains("劫财")) {
+            xingGeContent.append("夫妻宫本气落了劫财代表了配偶比较滑头,收入不太稳定。");
+            qiangGanContent.append("夫妻宫本气落了劫财代表了配偶比较滑头,收入不太稳定。");
+        }
+
+        if (dayZhiShiShen2 != null && dayGanShiShen2.contains("劫财")) {
+            xingGeContent.append("夫妻宫中气落了劫财代表了配偶比较滑头,收入不太稳定。");
+            qiangGanContent.append("夫妻宫中气落了劫财代表了配偶比较滑头,收入不太稳定。");
+        }
+
+        if (dayZhiShiShen3 != null && dayGanShiShen3.contains("劫财")) {
+            xingGeContent.append("夫妻宫余气落了劫财代表了配偶比较滑头,收入不太稳定。");
+            qiangGanContent.append("夫妻宫余气落了劫财代表了配偶比较滑头,收入不太稳定。");
+        }
+
+        if (xingGeContent.toString().length() > 0) {     //如果有内容写进去
+            qiangGanMap.put(x++, xingGeContent.toString());
+        }
+
+
+        //八字看未来配偶比自己年龄大还是年龄小?
+        qiangGanContent.append("配偶比自己年龄大还是年龄小?");
+        StringBuffer nianJiConent = new StringBuffer();
+        String peiouOld = shiShenConfig.getPeiouOld().get(geju);
+        nianJiConent.append(peiouOld);
+        qiangGanContent.append(peiouOld);
+
+        if (nianJiConent.toString().length() > 0) {     //如果有内容写进去
+            qiangGanMap.put(x++, nianJiConent.toString());
+        }
+
+
+        //八字看配偶的方向
+
+        StringBuffer peiouFangWeiContent = new StringBuffer();
+
+        String monthZhi = ganZhiRowVoList.get(3).getName();
+        String targetDizhi = null;
+        int day = 32;
+        List<String> circularList = new ArrayList<String>();
+        circularList.addAll(shiShenConfig.getDizhi());
+        // 指定要重复的次数
+        int repeatCount = 4;
+        int index = 0;
+        boolean isFind = false;
+        // 当作为圆形列表使用
+        for (int i = 0; i < repeatCount; i++) {
+            // 循环输出列表元素
+            for (String element : circularList) {
+                if (monthZhi.equals(element)) {
+                    isFind = true;
                 }
-                if (shiShen2 != null && shiShen2.contains("伤官")) {
-                    fuqiGongShangCount++;
+                if (isFind) {
+                    index++;
                 }
-                if (shiShen3 != null && shiShen3.contains("伤官")) {
-                    fuqiGongShangCount++;
+                if (index == day) {
+                    System.out.println("找到对应的地支" + element);
+                    targetDizhi = element;
+                    break;
                 }
             }
-
-            if(fuqiGongShangCount>=3) {
-                ziNvContent.append("女命夫妻宫周围过多的伤官,可能出现夫妻感情不和睦的情况。");
+            if (index == day) {
+                break;
             }
+            //System.out.println(); // 换行
+            // 将列表的最后一个元素移到列表的开头
+            String lastElement = circularList.remove(circularList.size() - 1);
+            circularList.add(0, lastElement);
+        }
+        String fangWeiA = shiShenConfig.getDizhiFangWei().get(targetDizhi);
+        String fangWeiB = shiShenConfig.getFangWeiDui().get(fangWeiA);
+
+        peiouFangWeiContent.append("你的配偶和你的方位是" + fangWeiA + "————" + fangWeiB + "(你们的出生地的家为准,两点连线。)");
+        qiangGanContent.append("你的配偶和你的方位是" + fangWeiA + "————" + fangWeiB + "(你们的出生地的家为准,两点连线。)");
+
+        if (peiouFangWeiContent.toString().length() > 0) {     //如果有内容写进去
+            qiangGanMap.put(x++, peiouFangWeiContent.toString());
+        }
+
+        return qiangGanMap;
+    }
+
+
+    @Override
+    public Map<Integer, String> getZiNvYun(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Object> riYuanQrMap, Map<String, Integer> shiShenCountMap, Map<String, Integer> fiveCountMap, String geju, List<GanZhiKongWangVo> kongwangList) {
+        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");
+
+
+        String sex = ganZhiRowVoList.get(4).getShiShen1();
+        String five = ganZhiRowVoList.get(4).getName();
+        if ("元男".equals(sex)) {  //正官=女儿 七杀=儿子
 
 
+        } else if ("元女".equals(sex)) { //食神
+
         }
 
 
+        int x = 1;  //序号
+        //以下带了三条以上,都不好要孩子。
+        Map<Integer, String> ziNvMap = new TreeMap<Integer, String>();
+        //1.子女星空亡 与子女缘薄
+        String dayGan = ganZhiRowVoList.get(5).getName();
+
 
+        //2.时柱两个字空亡 与子女缘薄
 
-        return ziNvContent.toString();
+
+        //3.本命局没有子女星 与子女缘薄
+
+
+        //4 男命食神格,伤官格,与子女缘薄,; 女命正印格,偏印格,与子女缘薄
+
+
+        return ziNvMap;
     }
-    
-    
+
+
 }

+ 4 - 3
xpgx-service/src/main/java/com/miaxis/gan/vo/GanZhiDaYunVo.java

@@ -1,12 +1,9 @@
 package com.miaxis.gan.vo;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.miaxis.disease.domain.DiseasePart;
 import com.nlf.calendar.Lunar;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -27,4 +24,8 @@ public class GanZhiDaYunVo {
 
     @ApiModelProperty(value = "农历对象")
     private Lunar lunar;
+
+    @ApiModelProperty(value = "调整后农历对象")
+    private Lunar lunarAdjust;
+
 }

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

@@ -29,7 +29,7 @@ public class GanZhiVo {
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "(公历)出生日期 yyyy-MM-dd HH:mm:ss")
-    private Date birthDay;
+    private Date birthday;
 
     @ApiModelProperty(value = "(农历)出生日期")
     private String nongDay;
@@ -71,7 +71,7 @@ public class GanZhiVo {
     private List<DiseasePart> diseasePartList;
 
     @ApiModelProperty(value = "喜用方位")
-    private String xiFangWei;
+    private Map<Integer,String> xiFangWei;
 
     @ApiModelProperty(value = "推荐行业")
     private String industry;
@@ -83,7 +83,10 @@ public class GanZhiVo {
     private String piQi;
 
     @ApiModelProperty(value = "情感")
-    private String qingGan;
+    private Map<Integer,String> caiYun;
+
+    @ApiModelProperty(value = "情感")
+    private Map<Integer,String> qingGan;
 
     @ApiModelProperty(value = "称骨评语")
     private Map<String,String> chenGuMap;