Browse Source

婚姻情感

zhangbin 1 year ago
parent
commit
cb2d17e5fe

+ 4 - 4
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() + "时");
@@ -118,14 +118,14 @@ public class GanZhiController extends BaseController {
 
         String caiYun = ganZhiService.getCaiYun(ganZhiRowVoList, riYuanQrMap, shiShenCountMap);
 
-        String qingGan = ganZhiService.getQingGanYun(ganZhiRowVoList,riYuanQrMap, shiShenCountMap, fiveCountMap); //情感
+        String qingGan = ganZhiService.getQingGanYun(ganZhiRowVoList,riYuanQrMap, shiShenCountMap, fiveCountMap, geju); //情感
         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);

+ 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());

+ 24 - 9
xpgx-common/src/main/java/com/miaxis/common/config/ShiShenConfig.java

@@ -129,15 +129,20 @@ 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 List<String> five = new ArrayList<String>();
+    //五行
+    //private final List<String> five = new ArrayList<String>();
+
+    //配偶比自己年龄大还是年龄小
+    private final Map<String,String> peiouOld = new TreeMap<String, String>();
+
+
 
     @PostConstruct
     public void init() {
@@ -1219,12 +1224,22 @@ public class ShiShenConfig {
         zhangXiangCha.add("丑");
         zhangXiangCha.add("未");
 
-        five.add("木");
-        five.add("火");
-        five.add("土");
-        five.add("金");
-        five.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("比肩","比肩代表着对内的感情友谊,性情光明,不过六亲缘分浅薄,男女都不宜早婚,配偶年龄差距也不会很大,一般是在一两岁之间。");
     }
 
 

+ 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;

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

@@ -116,5 +116,5 @@ public interface IGanZhiService extends IService<GanZhi>{
 
     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);
+    String getQingGanYun(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Object> riYuanQrMap, Map<String, Integer> shiShenCountMap, Map<String, Integer> fiveCountMap, String guju);
 }

+ 110 - 20
xpgx-service/src/main/java/com/miaxis/gan/service/impl/GanZhiServiceImpl.java

@@ -692,7 +692,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())) {
@@ -715,20 +715,20 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
 
 
         //在子时生的人,系统直接算到下一天
-        int hours = d1.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalTime().getHour();
-        if (hours >= 23 || hours < 0) {
-            //判断输入的时间是否是23点以后
-            Calendar calendar = Calendar.getInstance();
-            calendar.setTime(d1);
-            calendar.add(Calendar.HOUR, 1);
-            Date d3 = calendar.getTime();
-            //重新导入
-            Lunar lunar3 = Lunar.fromDate(d3);
-            ganZhiDto.setDayGan(lunar3.getDayGan());
-            ganZhiDto.setDayZhi(lunar3.getDayZhi());
-            ganZhiDaYunVo.setLunar(lunar3);
-            System.out.println(lunar3.getYearGan() + "," + lunar3.getYearZhi() + "," + lunar3.getMonthGan() + "," + lunar3.getMonthZhi() + "," + lunar3.getDayGan() + "," + lunar3.getDayZhi() + "," + lunar3.getTimeGan() + "," + lunar3.getTimeZhi());
-        }
+//        int hours = d1.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalTime().getHour();
+//        if (hours >= 23 || hours < 0) {
+//            //判断输入的时间是否是23点以后
+//            Calendar calendar = Calendar.getInstance();
+//            calendar.setTime(d1);
+//            calendar.add(Calendar.HOUR, 1);
+//            Date d3 = calendar.getTime();
+//            //重新导入
+//            Lunar lunar3 = Lunar.fromDate(d3);
+//            ganZhiDto.setDayGan(lunar3.getDayGan());
+//            ganZhiDto.setDayZhi(lunar3.getDayZhi());
+//            ganZhiDaYunVo.setLunar(lunar3);
+//            System.out.println(lunar3.getYearGan() + "," + lunar3.getYearZhi() + "," + lunar3.getMonthGan() + "," + lunar3.getMonthZhi() + "," + lunar3.getDayGan() + "," + lunar3.getDayZhi() + "," + lunar3.getTimeGan() + "," + lunar3.getTimeZhi());
+//        }
 
 
         if (daYun == 1) { //大运顺
@@ -1845,7 +1845,7 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
 
 
     @Override
-    public String getQingGanYun(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Object> riYuanQrMap, Map<String, Integer> shiShenCountMap, Map<String, Integer> fiveCountMap) {
+    public 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");
@@ -1987,13 +1987,13 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
             }
 
             if (dayGanShiShen1 != null && dayGanShiShen1.contains("偏印")) {
-                qiangGanContent.append("在夫妻宫本气坐落偏印,夫妻不和睦之相。");
+                qiangGanContent.append("在夫妻宫本气坐落偏印,夫妻不和睦之相。");
             }
             if (dayGanShiShen2 != null && dayGanShiShen2.contains("偏印")) {
-                qiangGanContent.append("在夫妻宫中气坐落偏印,夫妻不和睦之相。");
+                qiangGanContent.append("在夫妻宫中气坐落偏印,有中度夫妻不和睦之相。");
             }
             if (dayGanShiShen3 != null && dayGanShiShen3.contains("偏印")) {
-                qiangGanContent.append("在夫妻宫余气坐落偏印,夫妻不和睦之相。");
+                qiangGanContent.append("在夫妻宫余气坐落偏印,有轻微夫妻不和睦之相。");
             }
 
             String yearGan = ganZhiRowVoList.get(0).getName();
@@ -2180,12 +2180,102 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
         }
 
         //配偶性格
-        if(dayGanShiShen1 != null && (dayGanShiShen1.contains("正印"))) {
 
+        //印枭
+        if(dayZhiShiShen1 != null && ((dayGanShiShen1.contains("正印") || dayGanShiShen1.contains("偏印")))) {
+            qiangGanContent.append("夫妻宫本气落了印枭代表配偶学历高,气质儒雅。但口才不是很好,没有商人冲劲。");
+        }
+
+        if(dayZhiShiShen2 != null && ((dayZhiShiShen2.contains("正印") || dayZhiShiShen2.contains("偏印")))) {
+            qiangGanContent.append("夫妻宫中气落了印枭代配偶表学历高,气质儒雅。但口才不是很好,没有商人冲劲。");
+        }
+
+        if(dayZhiShiShen3 != null && ((dayZhiShiShen3.contains("正印") || dayZhiShiShen3.contains("偏印")))) {
+            qiangGanContent.append("夫妻宫余气落了印枭代配偶表学历高,气质儒雅。但口才不是很好,没有商人冲劲。");
+        }
+
+        //官杀
+        if(dayGanShiShen1 != null && ((dayGanShiShen1.contains("正官") || dayGanShiShen1.contains("七杀")))) {
+            qiangGanContent.append("夫妻宫本气落了官杀代表了配偶领导层或管理岗,但真心朋友不多。");
+        }
+
+        if(dayZhiShiShen2 != null && ((dayZhiShiShen2.contains("正官") || dayZhiShiShen2.contains("七杀")))) {
+            qiangGanContent.append("夫妻宫中气落了官杀代表了配偶领导层或管理岗,但真心朋友不多。");
+        }
+
+        if(dayZhiShiShen3 != null && ((dayZhiShiShen3.contains("正官") || dayZhiShiShen3.contains("七杀")))) {
+            qiangGanContent.append("夫妻宫余气落了官杀代表了配偶领导层或管理岗,但真心朋友不多。");
+        }
+
+        //财才
+        if(dayGanShiShen1 != null && ((dayGanShiShen1.contains("正财") || dayGanShiShen1.contains("偏财")))) {
+            qiangGanContent.append("夫妻宫本气落了财才代表了配偶收入较高,但学历不是很高。");
+        }
+
+        if(dayZhiShiShen2 != null && ((dayZhiShiShen2.contains("正财") || dayZhiShiShen2.contains("偏财")))) {
+            qiangGanContent.append("夫妻宫中气落了财才代表了配偶收入较高,但学历不是很高。");
+        }
+
+        if(dayZhiShiShen3 != null && ((dayZhiShiShen3.contains("正财") || dayZhiShiShen3.contains("偏财")))) {
+            qiangGanContent.append("夫妻宫余气落了财才代表了配偶收入较高,但学历不是很高。");
+        }
+
+        //食神
+        if(dayGanShiShen1 != null && dayGanShiShen1.contains("食神")) {
+            qiangGanContent.append("夫妻宫本气落了食神代表了配偶喜好玩乐、口才好,但不好当上领导层或官员。");
+        }
+
+        if(dayZhiShiShen2 != null && dayGanShiShen2.contains("食神")) {
+            qiangGanContent.append("夫妻宫中气落了食神代表了配偶喜好玩乐、口才好,但不好当上领导层或官员。");
         }
 
+        if(dayZhiShiShen3 != null && dayGanShiShen3.contains("食神")) {
+            qiangGanContent.append("夫妻宫余气落了食神代表了配偶喜好玩乐、口才好,但不好当上领导层或官员。");
+        }
+
+        //伤官
+        if(dayGanShiShen1 != null && dayGanShiShen1.contains("伤官")) {
+            qiangGanContent.append("夫妻宫本气落了伤官代表了配偶上进心强。");
+        }
 
+        if(dayZhiShiShen2 != null && dayGanShiShen2.contains("伤官")) {
+            qiangGanContent.append("夫妻宫中气落了伤官代表了配偶上进心强。");
+        }
+
+        if(dayZhiShiShen3 != null && dayGanShiShen3.contains("伤官")) {
+            qiangGanContent.append("夫妻宫余气落了伤官代表了配偶上进心强。");
+        }
+
+        //比肩
+        if(dayGanShiShen1 != null && dayGanShiShen1.contains("比肩")) {
+            qiangGanContent.append("夫妻宫本气落了比肩代表了配偶朋友多,但收入不太稳定。");
+        }
+
+        if(dayZhiShiShen2 != null && dayGanShiShen2.contains("比肩")) {
+            qiangGanContent.append("夫妻宫中气落了比肩代表了配偶朋友多,但收入不太稳定。");
+        }
+
+        if(dayZhiShiShen3 != null && dayGanShiShen3.contains("比肩")) {
+            qiangGanContent.append("夫妻宫余气落了比肩代表了配偶朋友多,但收入不太稳定。");
+        }
+
+        //劫财
+        if(dayGanShiShen1 != null && dayGanShiShen1.contains("劫财")) {
+            qiangGanContent.append("夫妻宫本气落了劫财代表了配偶比较滑头,收入不太稳定。");
+        }
+
+        if(dayZhiShiShen2 != null && dayGanShiShen2.contains("劫财")) {
+            qiangGanContent.append("夫妻宫中气落了劫财代表了配偶比较滑头,收入不太稳定。");
+        }
+
+        if(dayZhiShiShen3 != null && dayGanShiShen3.contains("劫财")) {
+            qiangGanContent.append("夫妻宫余气落了劫财代表了配偶比较滑头,收入不太稳定。");
+        }
 
+        //八字看未来配偶比自己年龄大还是年龄小?
+        qiangGanContent.append("配偶比自己年龄大还是年龄小?");
+        String peiouOld = shiShenConfig.getPeiouOld().get(geju);
+        qiangGanContent.append(peiouOld);
         return qiangGanContent.toString();
     }