|
@@ -1,2116 +0,0 @@
|
|
|
-package com.miaxis.gan.service.impl;
|
|
|
-
|
|
|
-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;
|
|
|
-import com.miaxis.gan.vo.GanZhiRowVo;
|
|
|
-import com.miaxis.ge.domain.GeJu;
|
|
|
-import com.miaxis.ge.mapper.GeJuMapper;
|
|
|
-import com.miaxis.jie.mapper.JieQiMapper;
|
|
|
-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.commons.lang3.StringUtils;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-
|
|
|
-import java.util.*;
|
|
|
-
|
|
|
-/**
|
|
|
- * 天干地支Service业务层处理
|
|
|
- *
|
|
|
- * @author miaxis
|
|
|
- * @date 2023-11-16
|
|
|
- */
|
|
|
-@Service
|
|
|
-public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> implements IGanZhiService {
|
|
|
- @Autowired
|
|
|
- private GanZhiMapper ganZhiMapper;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private NumberYunMapper numberYunMapper;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private DiseasePartMapper diseasePartMapper;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private ShiShenConfig shiShenConfig;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private JieQiMapper jieQiMapper;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private GeJuMapper geJuMapper;
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 查询天干地支列表
|
|
|
- *
|
|
|
- * @param ganZhi 天干地支
|
|
|
- * @return 天干地支
|
|
|
- */
|
|
|
- @Override
|
|
|
- public List<GanZhi> selectGanZhiList(GanZhi ganZhi) {
|
|
|
- return ganZhiMapper.selectGanZhiList(ganZhi);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public List<GanZhiRowVo> selectGanZhiRowVoList(GanZhiDto ganZhiDto) {
|
|
|
-
|
|
|
- List<GanZhiRowVo> list = this.getGanZhiRowVoList(ganZhiDto);
|
|
|
- if (ganZhiDto.getSex() == 1) {
|
|
|
- list.get(4).setShiShen1("元男");
|
|
|
- } else if (ganZhiDto.getSex() == 2) {
|
|
|
- list.get(4).setShiShen1("元女");
|
|
|
- }
|
|
|
-
|
|
|
- /*-----------------------十神 开始-------------------*/
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
-
|
|
|
- if ((i == 0 || i == 2 || i == 6) && i != 4) {
|
|
|
-
|
|
|
- String zhengYin = shiShenConfig.getZhengYin().get(list.get(i).getName()); //正印
|
|
|
- String shiShen = shiShenConfig.getShiShen().get(list.get(i).getName()); //食神
|
|
|
- String zhengGuan = shiShenConfig.getZhengGuan().get(list.get(i).getName()); //正官
|
|
|
- String zhengCai = shiShenConfig.getZhengCai().get(list.get(i).getName()); //正财
|
|
|
- String qiSha = shiShenConfig.getQiSha().get(list.get(i).getName()); //七杀
|
|
|
- String pianYin = shiShenConfig.getPianYin().get(list.get(i).getName()); //偏印
|
|
|
- String shangGuan = shiShenConfig.getShangGuan().get(list.get(i).getName()); // 伤官
|
|
|
- String jieCai = shiShenConfig.getJieCai().get(list.get(i).getName()); // 劫财
|
|
|
- String biJian = shiShenConfig.getBiJian().get(list.get(i).getName()); // 比肩
|
|
|
- String pianCai = shiShenConfig.getPianCai().get(list.get(i).getName()); // 偏财
|
|
|
-
|
|
|
- if (list.get(4).getName().equals(zhengYin)) { //比对出正印
|
|
|
- list.get(i).setShiShen1("正印");
|
|
|
- }
|
|
|
- if (list.get(4).getName().equals(shiShen)) { //比对出食神
|
|
|
- list.get(i).setShiShen1("食神");
|
|
|
- }
|
|
|
- if (list.get(4).getName().equals(zhengGuan)) { //比对出正官
|
|
|
- list.get(i).setShiShen1("正官");
|
|
|
- }
|
|
|
- if (list.get(4).getName().equals(zhengCai)) { //比对出正财
|
|
|
- list.get(i).setShiShen1("正财");
|
|
|
- }
|
|
|
- if (list.get(4).getName().equals(qiSha)) { //比对出七杀
|
|
|
- list.get(i).setShiShen1("七杀");
|
|
|
- }
|
|
|
- if (list.get(4).getName().equals(pianYin)) { //比对出偏印
|
|
|
- list.get(i).setShiShen1("偏印");
|
|
|
- }
|
|
|
- if (list.get(4).getName().equals(shangGuan)) { //比对出伤官
|
|
|
- list.get(i).setShiShen1("伤官");
|
|
|
- }
|
|
|
- if (list.get(4).getName().equals(jieCai)) { //比对出劫财
|
|
|
- list.get(i).setShiShen1("劫财");
|
|
|
- }
|
|
|
- if (list.get(4).getName().equals(biJian)) { //比对出比肩
|
|
|
- list.get(i).setShiShen1("比肩");
|
|
|
- }
|
|
|
- if (list.get(4).getName().equals(pianCai)) { //比对出偏财
|
|
|
- list.get(i).setShiShen1("偏财");
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if ((i == 1 || i == 3 || i == 5 || i == 7) && i != 4) { //地支
|
|
|
-
|
|
|
- String benQi = shiShenConfig.getBenQi().get(list.get(i).getName()); //戊
|
|
|
- String zhongQi = shiShenConfig.getZhongQi().get(list.get(i).getName()); //乙
|
|
|
- String yuQi = shiShenConfig.getYuQi().get(list.get(i).getName()); //癸
|
|
|
-
|
|
|
- /*------------------------正印--------------------------*/
|
|
|
- String zhengYinBenQi = (benQi != null) ? shiShenConfig.getZhengYin().get(benQi) : null; //正印本气
|
|
|
- String zhengYinZhongQi = (zhongQi != null) ? shiShenConfig.getZhengYin().get(zhongQi) : null; //正印中余
|
|
|
- String zhengYinYuQi = (yuQi != null) ? shiShenConfig.getZhengYin().get(yuQi) : null; //正印余气
|
|
|
-
|
|
|
- if (StringUtils.isNotEmpty(zhengYinBenQi) && list.get(4).getName().equals(zhengYinBenQi)) { //比对出正印
|
|
|
- list.get(i).setShiShen1(benQi + "(正印)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(zhengYinZhongQi) && list.get(4).getName().equals(zhengYinZhongQi)) { //比对出正印
|
|
|
- list.get(i).setShiShen2(zhongQi + "(正印)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(zhengYinYuQi) && list.get(4).getName().equals(zhengYinYuQi)) { //比对出正印
|
|
|
- list.get(i).setShiShen3(yuQi + "(正印)");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /*------------------------食神-----------------------------*/
|
|
|
- String shiShenBenQi = (benQi != null) ? shiShenConfig.getShiShen().get(benQi) : null; //食神本气
|
|
|
- String shiShenZhongQi = (zhongQi != null) ? shiShenConfig.getShiShen().get(zhongQi) : null; //食神中气
|
|
|
- String shiShenYuQi = (yuQi != null) ? shiShenConfig.getShiShen().get(yuQi) : null; //食神余气
|
|
|
-
|
|
|
- if (StringUtils.isNotEmpty(shiShenBenQi) && list.get(4).getName().equals(shiShenBenQi)) { //比对出食神
|
|
|
- list.get(i).setShiShen1(benQi + "(食神)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(shiShenZhongQi) && list.get(4).getName().equals(shiShenZhongQi)) { //比对出食神
|
|
|
- list.get(i).setShiShen2(zhongQi + "(食神)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(shiShenYuQi) && list.get(4).getName().equals(shiShenYuQi)) { //比对出食神
|
|
|
- list.get(i).setShiShen3(yuQi + "(食神)");
|
|
|
- }
|
|
|
-
|
|
|
- /*------------------------正官-----------------------------*/
|
|
|
- String zhengGuanBenQi = (benQi != null) ? shiShenConfig.getZhengGuan().get(benQi) : null; //正官本气
|
|
|
- String zhengGuanZhongQi = (zhongQi != null) ? shiShenConfig.getZhengGuan().get(zhongQi) : null; //正官中气
|
|
|
- String zhengGuanYuQi = (yuQi != null) ? shiShenConfig.getZhengGuan().get(yuQi) : null; //正官 余气
|
|
|
-
|
|
|
- if (StringUtils.isNotEmpty(zhengGuanBenQi) && list.get(4).getName().equals(zhengGuanBenQi)) { //比对出正官
|
|
|
- list.get(i).setShiShen1(benQi + "(正官)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(zhengGuanZhongQi) && list.get(4).getName().equals(zhengGuanZhongQi)) { //比对出正官
|
|
|
- list.get(i).setShiShen2(zhongQi + "(正官)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(zhengGuanYuQi) && list.get(4).getName().equals(zhengGuanYuQi)) { //比对出正官
|
|
|
- list.get(i).setShiShen3(yuQi + "(正官)");
|
|
|
- }
|
|
|
-
|
|
|
- /*------------------------正财-----------------------------*/
|
|
|
- String zhengCaiBenQi = (benQi != null) ? shiShenConfig.getZhengCai().get(benQi) : null; //正财本气
|
|
|
- String zhengCaiZhongQi = (zhongQi != null) ? shiShenConfig.getZhengCai().get(zhongQi) : null; //正财中气
|
|
|
- String zhengCaiYuQi = (yuQi != null) ? shiShenConfig.getZhengCai().get(yuQi) : null; //正财余气
|
|
|
-
|
|
|
- if (StringUtils.isNotEmpty(zhengCaiBenQi) && list.get(4).getName().equals(zhengCaiBenQi)) { //比对出正财
|
|
|
- list.get(i).setShiShen1(benQi + "(正财)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(zhengCaiZhongQi) && list.get(4).getName().equals(zhengCaiZhongQi)) { //比对出正财
|
|
|
- list.get(i).setShiShen2(zhongQi + "(正财)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(zhengCaiYuQi) && list.get(4).getName().equals(zhengCaiYuQi)) { //比对出正财
|
|
|
- list.get(i).setShiShen3(yuQi + "(正财)");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /*------------------------七杀-----------------------------*/
|
|
|
- String qiShaBenQi = (benQi != null) ? shiShenConfig.getQiSha().get(benQi) : null; //七杀本气
|
|
|
- String qiShaZhongQi = (zhongQi != null) ? shiShenConfig.getQiSha().get(zhongQi) : null; //七杀中气
|
|
|
- String qiShaYuQi = (yuQi != null) ? shiShenConfig.getQiSha().get(yuQi) : null; //七杀余气
|
|
|
-
|
|
|
- if (StringUtils.isNotEmpty(qiShaBenQi) && list.get(4).getName().equals(qiShaBenQi)) { //比对出七杀
|
|
|
- list.get(i).setShiShen1(benQi + "(七杀)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(qiShaZhongQi) && list.get(4).getName().equals(qiShaZhongQi)) { //比对出七杀
|
|
|
- list.get(i).setShiShen2(zhongQi + "(七杀)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(qiShaYuQi) && list.get(4).getName().equals(qiShaYuQi)) { //比对出七杀
|
|
|
- list.get(i).setShiShen3(yuQi + "(七杀)");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /*------------------------偏印-----------------------------*/
|
|
|
- String pianYinBenQi = (benQi != null) ? shiShenConfig.getPianYin().get(benQi) : null; //偏印本气
|
|
|
- String pianYinZhongQi = (zhongQi != null) ? shiShenConfig.getPianYin().get(zhongQi) : null; //偏印中气
|
|
|
- String pianYinYuQi = (yuQi != null) ? shiShenConfig.getPianYin().get(yuQi) : null; //偏印余气
|
|
|
-
|
|
|
- if (StringUtils.isNotEmpty(pianYinBenQi) && list.get(4).getName().equals(pianYinBenQi)) { //比对出七杀
|
|
|
- list.get(i).setShiShen1(benQi + "(偏印)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(pianYinZhongQi) && list.get(4).getName().equals(pianYinZhongQi)) { //比对出七杀
|
|
|
- list.get(i).setShiShen2(zhongQi + "(偏印)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(pianYinYuQi) && list.get(4).getName().equals(pianYinYuQi)) { //比对出七杀
|
|
|
- list.get(i).setShiShen3(yuQi + "(偏印)");
|
|
|
- }
|
|
|
-
|
|
|
- /*------------------------伤官-----------------------------*/
|
|
|
- String shangGuanBenQi = (benQi != null) ? shiShenConfig.getShangGuan().get(benQi) : null; //伤官本气
|
|
|
- String shangGuanZhongQi = (zhongQi != null) ? shiShenConfig.getShangGuan().get(zhongQi) : null; //伤官中气
|
|
|
- String shangGuanYuQi = (yuQi != null) ? shiShenConfig.getShangGuan().get(yuQi) : null; //伤官余气
|
|
|
-
|
|
|
- if (StringUtils.isNotEmpty(shangGuanBenQi) && list.get(4).getName().equals(shangGuanBenQi)) { //比对出伤官
|
|
|
- list.get(i).setShiShen1(benQi + "(伤官)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(shangGuanZhongQi) && list.get(4).getName().equals(shangGuanZhongQi)) { //比对出伤官
|
|
|
- list.get(i).setShiShen2(zhongQi + "(伤官)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(shangGuanYuQi) && list.get(4).getName().equals(shangGuanYuQi)) { //比对出伤官
|
|
|
- list.get(i).setShiShen3(yuQi + "(伤官)");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /*------------------------劫财-----------------------------*/
|
|
|
- String jieCaiBenQi = (benQi != null) ? shiShenConfig.getJieCai().get(benQi) : null; //劫财本气
|
|
|
- String jieCaiZhongQi = (zhongQi != null) ? shiShenConfig.getJieCai().get(zhongQi) : null; //劫财中气
|
|
|
- String jieCaiYuQi = (yuQi != null) ? shiShenConfig.getJieCai().get(yuQi) : null; //劫财余气
|
|
|
-
|
|
|
- if (StringUtils.isNotEmpty(jieCaiBenQi) && list.get(4).getName().equals(jieCaiBenQi)) { //比对出劫财
|
|
|
- list.get(i).setShiShen1(benQi + "(劫财)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(jieCaiZhongQi) && list.get(4).getName().equals(jieCaiZhongQi)) { //比对出劫财
|
|
|
- list.get(i).setShiShen2(zhongQi + "(劫财)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(jieCaiYuQi) && list.get(4).getName().equals(jieCaiYuQi)) { //比对出劫财
|
|
|
- list.get(i).setShiShen3(yuQi + "(劫财)");
|
|
|
- }
|
|
|
-
|
|
|
- /*------------------------比肩-----------------------------*/
|
|
|
- String biJianBenQi = (benQi != null) ? shiShenConfig.getBiJian().get(benQi) : null; //比肩本气
|
|
|
- String biJianZhongQi = (zhongQi != null) ? shiShenConfig.getBiJian().get(zhongQi) : null; //比肩中气
|
|
|
- String biJianYuQi = (yuQi != null) ? shiShenConfig.getBiJian().get(yuQi) : null; //比肩余气
|
|
|
-
|
|
|
- if (StringUtils.isNotEmpty(biJianBenQi) && list.get(4).getName().equals(biJianBenQi)) {
|
|
|
- list.get(i).setShiShen1(benQi + "(比肩)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(biJianZhongQi) && list.get(4).getName().equals(biJianZhongQi)) {
|
|
|
- list.get(i).setShiShen2(zhongQi + "(比肩)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(biJianYuQi) && list.get(4).getName().equals(biJianYuQi)) {
|
|
|
- list.get(i).setShiShen3(yuQi + "(比肩)");
|
|
|
- }
|
|
|
-
|
|
|
- /*------------------------偏财-----------------------------*/
|
|
|
- String pianCaiBenQi = (benQi != null) ? shiShenConfig.getPianCai().get(benQi) : null; //偏财本气
|
|
|
- String pianCaiZhongQi = (zhongQi != null) ? shiShenConfig.getPianCai().get(zhongQi) : null; //偏财中气
|
|
|
- String pianCaiYuQi = (yuQi != null) ? shiShenConfig.getPianCai().get(yuQi) : null; //偏财余气
|
|
|
-
|
|
|
- if (StringUtils.isNotEmpty(pianCaiBenQi) && list.get(4).getName().equals(pianCaiBenQi)) { //比对出偏财
|
|
|
- list.get(i).setShiShen1(benQi + "(偏财)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(pianCaiZhongQi) && list.get(4).getName().equals(pianCaiZhongQi)) { //比对出偏财
|
|
|
- list.get(i).setShiShen2(zhongQi + "(偏财)");
|
|
|
- }
|
|
|
- if (StringUtils.isNotEmpty(pianCaiYuQi) && list.get(4).getName().equals(pianCaiYuQi)) { //比对出偏财
|
|
|
- list.get(i).setShiShen3(yuQi + "(偏财)");
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
- /*-----------------------十神 结束-------------------*/
|
|
|
-
|
|
|
- return list;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public List<GanZhiNaYinVo> selectGanZhiNaYinList(GanZhiDto ganZhiDto) {
|
|
|
-
|
|
|
- String yearZhuNaYinKey = ganZhiDto.getYearGan() + ganZhiDto.getYearZhi();
|
|
|
- String monthZhuNaYinKey = ganZhiDto.getMonthGan() + ganZhiDto.getMonthZhi();
|
|
|
- String dayZhuNaYinKey = ganZhiDto.getDayGan() + ganZhiDto.getDayZhi();
|
|
|
- String timeZhuNaYinKey = ganZhiDto.getTimeGan() + ganZhiDto.getTimeZhi();
|
|
|
-
|
|
|
- String yearZhuNaYin = shiShenConfig.getNaYin().get(yearZhuNaYinKey);
|
|
|
- String monthZhuNaYin = shiShenConfig.getNaYin().get(monthZhuNaYinKey);
|
|
|
- String dayZhuNaYin = shiShenConfig.getNaYin().get(dayZhuNaYinKey);
|
|
|
- String timeZhuNaYin = shiShenConfig.getNaYin().get(timeZhuNaYinKey);
|
|
|
-
|
|
|
- GanZhiNaYinVo yearNaYinVo = new GanZhiNaYinVo();
|
|
|
- yearNaYinVo.setZhu("年");
|
|
|
- yearNaYinVo.setNaYin(yearZhuNaYin);
|
|
|
- GanZhiNaYinVo monthNaYinVo = new GanZhiNaYinVo();
|
|
|
- monthNaYinVo.setZhu("月");
|
|
|
- monthNaYinVo.setNaYin(monthZhuNaYin);
|
|
|
- GanZhiNaYinVo dayNaYinVo = new GanZhiNaYinVo();
|
|
|
- dayNaYinVo.setZhu("日");
|
|
|
- dayNaYinVo.setNaYin(dayZhuNaYin);
|
|
|
- GanZhiNaYinVo timeNaYinVo = new GanZhiNaYinVo();
|
|
|
- timeNaYinVo.setZhu("时");
|
|
|
- timeNaYinVo.setNaYin(timeZhuNaYin);
|
|
|
-
|
|
|
- List<GanZhiNaYinVo> list = new ArrayList<GanZhiNaYinVo>();
|
|
|
- list.add(yearNaYinVo);
|
|
|
- list.add(monthNaYinVo);
|
|
|
- list.add(dayNaYinVo);
|
|
|
- list.add(timeNaYinVo);
|
|
|
- return list;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public List<GanZhiKongWangVo> selectGanZhiKongWangList(GanZhiDto ganZhiDto) {
|
|
|
-
|
|
|
- String yearZhuKongWangKey = ganZhiDto.getYearGan() + ganZhiDto.getYearZhi();
|
|
|
- String monthZhuKongWangKey = ganZhiDto.getMonthGan() + ganZhiDto.getMonthZhi();
|
|
|
- String dayZhuNaKongWangKey = ganZhiDto.getDayGan() + ganZhiDto.getDayZhi();
|
|
|
- String timeZhuNaKongWangKey = ganZhiDto.getTimeGan() + ganZhiDto.getTimeZhi();
|
|
|
-
|
|
|
- String yearZhuKongWang = shiShenConfig.getKongWang().get(yearZhuKongWangKey);
|
|
|
- String monthZhuKongWang = shiShenConfig.getKongWang().get(monthZhuKongWangKey);
|
|
|
- String dayZhuKongWang = shiShenConfig.getKongWang().get(dayZhuNaKongWangKey);
|
|
|
- String timeZhuKongWang = shiShenConfig.getKongWang().get(timeZhuNaKongWangKey);
|
|
|
-
|
|
|
- GanZhiKongWangVo yearKongWangVo = new GanZhiKongWangVo();
|
|
|
- yearKongWangVo.setZhu("年");
|
|
|
- yearKongWangVo.setKongWang(yearZhuKongWang);
|
|
|
- GanZhiKongWangVo monthKongWangVo = new GanZhiKongWangVo();
|
|
|
- monthKongWangVo.setZhu("月");
|
|
|
- monthKongWangVo.setKongWang(monthZhuKongWang);
|
|
|
- GanZhiKongWangVo dayKongWangVo = new GanZhiKongWangVo();
|
|
|
- dayKongWangVo.setZhu("日");
|
|
|
- dayKongWangVo.setKongWang(dayZhuKongWang);
|
|
|
- GanZhiKongWangVo timeKongWangVo = new GanZhiKongWangVo();
|
|
|
- timeKongWangVo.setZhu("时");
|
|
|
- timeKongWangVo.setKongWang(timeZhuKongWang);
|
|
|
-
|
|
|
- List<GanZhiKongWangVo> list = new ArrayList<GanZhiKongWangVo>();
|
|
|
- list.add(yearKongWangVo);
|
|
|
- list.add(monthKongWangVo);
|
|
|
- list.add(dayKongWangVo);
|
|
|
- list.add(timeKongWangVo);
|
|
|
- return list;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public Map<String, Object> getRiYuanQr(List<GanZhiRowVo> list, Map<String, Integer> fiveCountMap) {
|
|
|
- /*-------------------日元身强身弱---------------------*/
|
|
|
- int yearGanQR = ShiShenConfig.generateRelationship(list.get(4).getFive(), list.get(0).getFive());
|
|
|
- int yearZhiQR = ShiShenConfig.generateRelationship(list.get(4).getFive(), list.get(1).getFive());
|
|
|
- int monthGanQR = ShiShenConfig.generateRelationship(list.get(4).getFive(), list.get(2).getFive());
|
|
|
- int monthZhiQR = ShiShenConfig.generateRelationship(list.get(4).getFive(), list.get(3).getFive());
|
|
|
- // int dayGanQR = ShiShenConfig.generateRelationship(list.get(4).getFive(),list.get(4).getFive());
|
|
|
- int dayZhiQR = ShiShenConfig.generateRelationship(list.get(4).getFive(), list.get(5).getFive());
|
|
|
- int timeGanQR = ShiShenConfig.generateRelationship(list.get(4).getFive(), list.get(6).getFive());
|
|
|
- int timeZhiQR = ShiShenConfig.generateRelationship(list.get(4).getFive(), list.get(7).getFive());
|
|
|
-
|
|
|
- int score = 0;
|
|
|
- if (yearGanQR > 0) {
|
|
|
- score += 8;
|
|
|
- }
|
|
|
- if (yearZhiQR > 0) {
|
|
|
- score += 4;
|
|
|
- }
|
|
|
- if (monthGanQR > 0) {
|
|
|
- score += 12;
|
|
|
- }
|
|
|
- if (monthZhiQR > 0) {
|
|
|
- score += 40;
|
|
|
- }
|
|
|
- if (dayZhiQR > 0) {
|
|
|
- score += 12;
|
|
|
- }
|
|
|
- if (timeGanQR > 0) {
|
|
|
- score += 12;
|
|
|
- }
|
|
|
- if (timeZhiQR > 0) {
|
|
|
- score += 12;
|
|
|
- }
|
|
|
-
|
|
|
- List<String> xiYong = null;
|
|
|
- List<String> xiYongShiShen = new ArrayList<String>();
|
|
|
- String fiveQr = null;
|
|
|
- if (score > 50) {
|
|
|
- fiveQr = list.get(4).getFive() + "强";
|
|
|
- xiYong = shiShenConfig.getXiYong().get(fiveQr);
|
|
|
- xiYongShiShen.addAll(shiShenConfig.getXiYongShiShenQ());
|
|
|
- } else {
|
|
|
- fiveQr = list.get(4).getFive() + "弱";
|
|
|
- xiYong = shiShenConfig.getXiYong().get(fiveQr);
|
|
|
- xiYongShiShen.addAll(shiShenConfig.getXiYongShiShenR());
|
|
|
- }
|
|
|
- List<String> xiYongOld = new ArrayList<>();
|
|
|
- xiYongOld.addAll(xiYong);
|
|
|
-
|
|
|
- String xi1 = xiYong.get(0);
|
|
|
- String xi2 = xiYong.get(1);
|
|
|
-
|
|
|
- int xi1Count = fiveCountMap.get(xi1);
|
|
|
- int xi2Count = fiveCountMap.get(xi2);
|
|
|
-
|
|
|
- if (xi1Count > 3) {
|
|
|
- xiYong.remove(xi1);
|
|
|
- }
|
|
|
- if (xi2Count > 3) {
|
|
|
- xiYong.remove(xi2);
|
|
|
- }
|
|
|
-
|
|
|
- System.out.println("喜用:" + xiYong);
|
|
|
-
|
|
|
- Map<String, Object> qr = new TreeMap<String, Object>();
|
|
|
- qr.put("score", score);
|
|
|
- qr.put("qr", fiveQr);
|
|
|
- qr.put("xiYong", xiYong);
|
|
|
- qr.put("xiYongOld", xiYongOld);
|
|
|
- qr.put("xiYongShiShen", xiYongShiShen);
|
|
|
- return qr;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public List<DiseasePart> getJiBing(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Integer> fiveCountMap) {
|
|
|
- String sex = ganZhiRowVoList.get(4).getShiShen1();
|
|
|
-
|
|
|
- String gender = null;
|
|
|
- if ("元男".equals(sex)) { //男性疾病
|
|
|
- sex = "1,3";
|
|
|
- } else if ("元女".equals(sex)) { //女性疾病
|
|
|
- sex = "2,3";
|
|
|
- }
|
|
|
-
|
|
|
- List<String> partZ = new ArrayList<String>();
|
|
|
- List<String> partQ = new ArrayList<String>();
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- /*--------------------------年柱---------------------------*/
|
|
|
- //天干 头
|
|
|
- String yearGanShiShen = ganZhiRowVoList.get(0).getShiShen1();
|
|
|
- if ("七杀".contains(yearGanShiShen)) { //存在七杀
|
|
|
- partZ.add("头");
|
|
|
- }
|
|
|
- if ("偏印".contains(yearGanShiShen)) { //存在七杀
|
|
|
- partQ.add("头");
|
|
|
- }
|
|
|
- //地支 脖子
|
|
|
- String yearZhiShiShen1 = ganZhiRowVoList.get(1).getShiShen1(); //脖子
|
|
|
- String yearZhiShiShen2 = ganZhiRowVoList.get(1).getShiShen2(); //脖子
|
|
|
- String yearZhiShiShen3 = ganZhiRowVoList.get(1).getShiShen3(); //脖子
|
|
|
- if (yearZhiShiShen1 != null && yearZhiShiShen1.contains("七杀")) { //存在七杀
|
|
|
- partZ.add("脖子");
|
|
|
- }
|
|
|
- if (yearZhiShiShen2 != null && yearZhiShiShen2.contains("七杀")) { //存在七杀
|
|
|
- partZ.add("脖子");
|
|
|
- }
|
|
|
- if (yearZhiShiShen3 != null && yearZhiShiShen3.contains("七杀")) { //存在七杀
|
|
|
- partZ.add("脖子");
|
|
|
- }
|
|
|
- if (yearZhiShiShen1 != null && yearZhiShiShen1.contains("偏印")) { //存在偏印
|
|
|
- partQ.add("脖子");
|
|
|
- }
|
|
|
- if (yearZhiShiShen2 != null && yearZhiShiShen2.contains("偏印")) { //存在偏印
|
|
|
- partQ.add("脖子");
|
|
|
- }
|
|
|
- if (yearZhiShiShen3 != null && yearZhiShiShen3.contains("偏印")) { //存在偏印
|
|
|
- partQ.add("脖子");
|
|
|
- }
|
|
|
-
|
|
|
- /*--------------------------月柱---------------------------*/
|
|
|
-
|
|
|
- //天干 胸部
|
|
|
- String monthGanShiShen = ganZhiRowVoList.get(2).getShiShen1();
|
|
|
- if (monthGanShiShen != null && monthGanShiShen.contains("七杀")) { //存在七杀
|
|
|
- partZ.add("胸部");
|
|
|
- }
|
|
|
- if (monthGanShiShen != null && monthGanShiShen.contains("偏印")) { //存在偏印
|
|
|
- partQ.add("胸部");
|
|
|
- }
|
|
|
- //地支 脖子
|
|
|
- String monthZhiShiShen1 = ganZhiRowVoList.get(3).getShiShen1();
|
|
|
- String monthZhiShiShen2 = ganZhiRowVoList.get(3).getShiShen2();
|
|
|
- String monthZhiShiShen3 = ganZhiRowVoList.get(3).getShiShen3();
|
|
|
- if (monthZhiShiShen1 != null && monthZhiShiShen1.contains("七杀")) { //存在七杀
|
|
|
- partZ.add("腹部");
|
|
|
- }
|
|
|
- if (monthZhiShiShen2 != null && monthZhiShiShen2.contains("七杀")) { //存在七杀
|
|
|
- partZ.add("腹部");
|
|
|
- }
|
|
|
- if (monthZhiShiShen3 != null && monthZhiShiShen3.contains("七杀")) { //存在七杀
|
|
|
- partZ.add("腹部");
|
|
|
- }
|
|
|
- if (monthZhiShiShen1 != null && monthZhiShiShen1.contains("偏印")) { //存在偏印
|
|
|
- partQ.add("腹部");
|
|
|
- }
|
|
|
- if (monthZhiShiShen2 != null && monthZhiShiShen2.contains("偏印")) { //存在偏印
|
|
|
- partQ.add("腹部");
|
|
|
- }
|
|
|
- if (monthZhiShiShen3 != null && monthZhiShiShen3.contains("偏印")) { //存在偏印
|
|
|
- partQ.add("腹部");
|
|
|
- }
|
|
|
-
|
|
|
- /*--------------------------日柱---------------------------*/
|
|
|
- //天干
|
|
|
- String dayGanShiShen = ganZhiRowVoList.get(4).getShiShen1();
|
|
|
- if (dayGanShiShen != null && "七杀".contains(dayGanShiShen)) { //存在七杀
|
|
|
- partZ.add("小腹");
|
|
|
- }
|
|
|
- if (dayGanShiShen != null && "偏印".contains(dayGanShiShen)) { //存在七杀
|
|
|
- partQ.add("小腹");
|
|
|
- }
|
|
|
- //地支 脖子
|
|
|
- String dayZhiShiShen1 = ganZhiRowVoList.get(5).getShiShen1();
|
|
|
- String dayZhiShiShen2 = ganZhiRowVoList.get(5).getShiShen2();
|
|
|
- String dayZhiShiShen3 = ganZhiRowVoList.get(5).getShiShen3();
|
|
|
- if (dayZhiShiShen1 != null && dayZhiShiShen1.contains("七杀")) { //存在七杀
|
|
|
- partZ.add("屁股");
|
|
|
- }
|
|
|
- if (dayZhiShiShen2 != null && dayZhiShiShen2.contains("七杀")) { //存在七杀
|
|
|
- partZ.add("屁股");
|
|
|
- }
|
|
|
- if (dayZhiShiShen3 != null && dayZhiShiShen3.contains("七杀")) { //存在七杀
|
|
|
- partZ.add("屁股");
|
|
|
- }
|
|
|
- if (dayZhiShiShen1 != null && dayZhiShiShen1.contains("偏印")) { //存在偏印
|
|
|
- partQ.add("屁股");
|
|
|
- }
|
|
|
- if (dayZhiShiShen2 != null && dayZhiShiShen2.contains("偏印")) { //存在偏印
|
|
|
- partQ.add("屁股");
|
|
|
- }
|
|
|
- if (dayZhiShiShen3 != null && dayZhiShiShen3.contains("偏印")) { //存在偏印
|
|
|
- partQ.add("屁股");
|
|
|
- }
|
|
|
-
|
|
|
- /*--------------------------时柱---------------------------*/
|
|
|
- //天干
|
|
|
- String timeGanShiShen = ganZhiRowVoList.get(6).getShiShen1();
|
|
|
- if (timeGanShiShen != null && timeGanShiShen.contains("七杀")) { //存在七杀
|
|
|
- partZ.add("小腹");
|
|
|
- }
|
|
|
- if (timeGanShiShen != null && timeGanShiShen.contains("偏印")) { //存在七杀
|
|
|
- partQ.add("小腹");
|
|
|
- }
|
|
|
- //地支 脖子
|
|
|
- String timeZhiShiShen1 = ganZhiRowVoList.get(7).getShiShen1();
|
|
|
- String timeZhiShiShen2 = ganZhiRowVoList.get(7).getShiShen2();
|
|
|
- String timeZhiShiShen3 = ganZhiRowVoList.get(7).getShiShen3();
|
|
|
- if (timeZhiShiShen1 != null && timeZhiShiShen1.contains("七杀")) { //存在七杀
|
|
|
- partZ.add("小腿");
|
|
|
- }
|
|
|
- if (timeZhiShiShen2 != null && timeZhiShiShen2.contains("七杀")) { //存在七杀
|
|
|
- partZ.add("小腿");
|
|
|
- }
|
|
|
- if (timeZhiShiShen3 != null && timeZhiShiShen3.contains("七杀")) { //存在七杀
|
|
|
- partZ.add("小腿");
|
|
|
- }
|
|
|
- if (timeZhiShiShen1 != null && timeZhiShiShen1.contains("偏印")) { //存在偏印
|
|
|
- partQ.add("小腿");
|
|
|
- }
|
|
|
- if (timeZhiShiShen2 != null && timeZhiShiShen2.contains("偏印")) { //存在偏印
|
|
|
- partQ.add("小腿");
|
|
|
- }
|
|
|
- if (timeZhiShiShen3 != null && timeZhiShiShen3.contains("偏印")) { //存在偏印
|
|
|
- partQ.add("小腿");
|
|
|
- }
|
|
|
-
|
|
|
- DiseasePartDto diseasePartQDto = new DiseasePartDto();
|
|
|
- diseasePartQDto.setSex(sex);
|
|
|
- diseasePartQDto.setDegree("轻症");
|
|
|
- diseasePartQDto.setParts(partQ);
|
|
|
-
|
|
|
- DiseasePartDto diseasePartZDto = new DiseasePartDto();
|
|
|
- diseasePartZDto.setSex(sex);
|
|
|
- diseasePartZDto.setDegree("严重");
|
|
|
- diseasePartZDto.setParts(partZ);
|
|
|
-
|
|
|
- List<DiseasePart> diseasePartQList = new ArrayList<DiseasePart>();
|
|
|
- List<DiseasePart> diseasePartZList = new ArrayList<DiseasePart>();
|
|
|
- List<DiseasePart> diseasePartAllList = new ArrayList<DiseasePart>();
|
|
|
- if (partQ.size() > 0) {
|
|
|
- diseasePartQList = diseasePartMapper.selectDiseasePartList(diseasePartQDto);
|
|
|
- diseasePartAllList.addAll(diseasePartQList);
|
|
|
- }
|
|
|
-
|
|
|
- if (partZ.size() > 0) {
|
|
|
- diseasePartZList = diseasePartMapper.selectDiseasePartList(diseasePartZDto);
|
|
|
- diseasePartAllList.addAll(diseasePartZList);
|
|
|
- }
|
|
|
-
|
|
|
- //五行得出疾病
|
|
|
- List<DiseasePart> fivePartList = new ArrayList<DiseasePart>();
|
|
|
- for (String key : fiveCountMap.keySet()) {
|
|
|
- int count = 0;
|
|
|
- if (fiveCountMap.get(key) instanceof Number) {
|
|
|
- // 如果是数值类型,可以进行相应的操作
|
|
|
- count = ((Number) fiveCountMap.get(key)).intValue(); // 通过 intValue() 转换成 int
|
|
|
- } else {
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (count >= 3) {
|
|
|
- List<String> partList = shiShenConfig.getFiveBuWei().get(key);
|
|
|
- DiseasePartDto fivePartDto = new DiseasePartDto();
|
|
|
- fivePartDto.setSex(sex);
|
|
|
- fivePartDto.setParts(partList);
|
|
|
- fivePartList = diseasePartMapper.selectDiseasePartList(fivePartDto);
|
|
|
- diseasePartAllList.addAll(fivePartList);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return diseasePartAllList;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public Map<String, Object> getNumberYun(Map<String, Object> qr) {
|
|
|
-
|
|
|
- List<String> numberList = new ArrayList<String>();
|
|
|
- List<String> xiYong = (List<String>) qr.get("xiYong");
|
|
|
-
|
|
|
- for (int i = 0; i < xiYong.size(); i++) {
|
|
|
- List<String> numList = shiShenConfig.getXiNumber().get(xiYong.get(i));
|
|
|
- numberList.addAll(numList);
|
|
|
- }
|
|
|
-
|
|
|
- List<NumberYun> numberYunList = numberYunMapper.getNumberYunByIds(numberList);
|
|
|
-
|
|
|
-
|
|
|
- //转字符串
|
|
|
- StringJoiner joiner = new StringJoiner(",");
|
|
|
- for (String number : numberList) {
|
|
|
- joiner.add(number);
|
|
|
- }
|
|
|
- String numbers = joiner.toString();
|
|
|
-
|
|
|
-
|
|
|
- Map<String, Object> resultMap = new TreeMap<String, Object>();
|
|
|
- resultMap.put("numberYuns", numbers);
|
|
|
- resultMap.put("numberYunList", numberYunList);
|
|
|
-
|
|
|
- return resultMap;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 判断出生日期是否在节气内
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public GanZhiDaYunVo getDaYun(GanZhiDto ganZhiDto, GanZhiDaYunVo ganZhiDaYunVo) {
|
|
|
- int daYun = 0;
|
|
|
- String tianGan = ganZhiDto.getYearGan();
|
|
|
- String yy = shiShenConfig.getTianGanYY().get(tianGan);
|
|
|
-
|
|
|
- if ("阳".equals(yy)) {
|
|
|
- if (ganZhiDto.getSex() == 1) {
|
|
|
- //顺行
|
|
|
- daYun = 1;
|
|
|
- } else if (ganZhiDto.getSex() == 2) {
|
|
|
- //逆行
|
|
|
- daYun = 2;
|
|
|
- }
|
|
|
- } else if ("阴".equals(yy)) {
|
|
|
- if (ganZhiDto.getSex() == 1) {
|
|
|
- //逆行
|
|
|
- daYun = 2;
|
|
|
- } else if (ganZhiDto.getSex() == 2) {
|
|
|
- //顺行
|
|
|
- daYun = 1;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //判断当天是否是节气,如果在节前前, 月柱修改
|
|
|
- Date d1 = ganZhiDto.getBirthday();
|
|
|
- Lunar lunar = Lunar.fromDate(d1);
|
|
|
- List<JieQiVo> list = jieQiMapper.selectJiiQiFb(d1);
|
|
|
- if (lunar.getJieQi() != null && !"".equals(lunar.getJieQi())) {
|
|
|
- //存在节气,如果第二个节气刚好当天相同
|
|
|
- if (list.get(1).getJieqiName().equals(lunar.getJieQi())) {
|
|
|
- //把月时间清空,再取一次月柱
|
|
|
- Calendar calendar = Calendar.getInstance();
|
|
|
- calendar.setTime(d1);
|
|
|
- calendar.add(Calendar.DAY_OF_MONTH, -1);
|
|
|
- Date d2 = calendar.getTime();
|
|
|
- //重新导入
|
|
|
- Lunar lunar2 = Lunar.fromDate(d2);
|
|
|
- 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());
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- System.out.println(ganZhiDto.getYearGan() + "," + ganZhiDto.getYearZhi() + "," + ganZhiDto.getMonthGan() + "," + ganZhiDto.getMonthZhi() + "," + ganZhiDto.getDayGan() + "," + ganZhiDto.getDayZhi() + "," + ganZhiDto.getTimeGan() + "," + ganZhiDto.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) { //大运顺
|
|
|
- int daYunCount = 0;
|
|
|
- double dayDiff = Math.abs(list.get(1).getDaysDifference());
|
|
|
- double qiYunSuiDB = (dayDiff / 3); //计算起运岁数
|
|
|
- int qiYunSui = (int) Math.ceil(qiYunSuiDB);
|
|
|
- System.out.println("大运顺起运岁数:" + qiYunSui);
|
|
|
-
|
|
|
- int year = lunar.getYear() + qiYunSui;
|
|
|
- System.out.println("大运顺起运岁年份数:" + year + "岁");
|
|
|
-
|
|
|
- String monthZhu = ganZhiDto.getMonthGan() + ganZhiDto.getMonthZhi();
|
|
|
- List<String> jiaziList = new ArrayList<String>(shiShenConfig.getLiushijiazi());
|
|
|
-
|
|
|
- List<Map<String, String>> daYunList = new ArrayList<Map<String, String>>();
|
|
|
- boolean flag = false;
|
|
|
- for (int i = 60; i < jiaziList.size(); i++) {
|
|
|
- if (flag) {
|
|
|
- daYunCount++;
|
|
|
- int daYunYear = year + (10 * daYunCount) - 10; //大运年份
|
|
|
- int daYunSui = qiYunSui + (10 * daYunCount) - 10; // 大运岁数
|
|
|
-
|
|
|
- Map<String, String> daYumMap = new TreeMap<String, String>();
|
|
|
- daYumMap.put("daYunYear", daYunYear + "");
|
|
|
- daYumMap.put("daYunSui", daYunSui + "岁");
|
|
|
- daYumMap.put("daYunGanZhi", jiaziList.get(i));
|
|
|
-
|
|
|
- daYunList.add(daYumMap);
|
|
|
- if (daYunList.size() >= 10) {
|
|
|
- break;
|
|
|
- }
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (monthZhu.equals(jiaziList.get(i)) && flag == false) {
|
|
|
- flag = true;
|
|
|
- }
|
|
|
- }
|
|
|
- ganZhiDaYunVo.setDaYunList(daYunList);
|
|
|
- } else if (daYun == 2) { //大运逆
|
|
|
- int daYunCount = 0;
|
|
|
- double dayDiff = Math.abs(list.get(0).getDaysDifference());
|
|
|
- double qiYunSuiDB = (dayDiff / 3); //计算起运岁数
|
|
|
- int qiYunSui = (int) Math.ceil(qiYunSuiDB);
|
|
|
- System.out.println("大运顺起运岁数:" + qiYunSui);
|
|
|
-
|
|
|
- int year = lunar.getYear() + qiYunSui;
|
|
|
- System.out.println("大运顺起运岁年份数:" + year + "岁");
|
|
|
-
|
|
|
- String monthZhu = ganZhiDto.getMonthGan() + ganZhiDto.getMonthZhi();
|
|
|
- List<String> jiaziList = new ArrayList<String>(shiShenConfig.getLiushijiazi());
|
|
|
- List<Map<String, String>> daYunList = new ArrayList<Map<String, String>>();
|
|
|
- boolean flag = false;
|
|
|
- for (int i = 119; i >= 0; i--) {
|
|
|
- if (flag) {
|
|
|
- daYunCount++;
|
|
|
- int daYunYear = year + (10 * daYunCount) - 10; //大运年份
|
|
|
- int daYunSui = qiYunSui + (10 * daYunCount) - 10; // 大运岁数
|
|
|
- Map<String, String> daYumMap = new TreeMap<String, String>();
|
|
|
- daYumMap.put("daYunYear", daYunYear + "");
|
|
|
- daYumMap.put("daYunSui", daYunSui + "岁");
|
|
|
- daYumMap.put("daYunGanZhi", jiaziList.get(i));
|
|
|
- daYunList.add(daYumMap);
|
|
|
- if (daYunList.size() >= 9) {
|
|
|
- break;
|
|
|
- }
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (monthZhu.equals(jiaziList.get(i)) && flag == false) {
|
|
|
- flag = true;
|
|
|
- }
|
|
|
- }
|
|
|
- ganZhiDaYunVo.setDaYunList(daYunList);
|
|
|
- }
|
|
|
- return ganZhiDaYunVo;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public List<Map<String, String>> getLiuNian(LiuNianDto linNianDto) {
|
|
|
- //yyyy-MM-dd HH:mm:ss
|
|
|
- List<Map<String, String>> liuNianList = new ArrayList<Map<String, String>>();
|
|
|
-
|
|
|
- int year = 0;
|
|
|
- for (int i = 0; i < 10; i++) {
|
|
|
- year = linNianDto.getYear() + i;
|
|
|
- Map<String, String> liuNianMap = new TreeMap<String, String>();
|
|
|
- String date = year + "-03-01 01:00:00";
|
|
|
- Lunar lunar = Lunar.fromDate(DateUtils.parseDate(date));
|
|
|
- liuNianMap.put("liuNianYear", year + "");
|
|
|
- liuNianMap.put("liuNianSui", linNianDto.getQiYunOld() + i + "岁");
|
|
|
- liuNianMap.put("liuNianGanZhi", lunar.getYearGan() + lunar.getYearZhi());
|
|
|
- liuNianList.add(liuNianMap);
|
|
|
- }
|
|
|
- return liuNianList;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 干支组装
|
|
|
- *
|
|
|
- * @param ganZhiDto
|
|
|
- * @return
|
|
|
- */
|
|
|
- private List<GanZhiRowVo> getGanZhiRowVoList(GanZhiDto ganZhiDto) {
|
|
|
-
|
|
|
- String yearGanFive = shiShenConfig.getGanZhiFive().get(ganZhiDto.getYearGan());
|
|
|
- String yearZhiFive = shiShenConfig.getGanZhiFive().get(ganZhiDto.getYearZhi());
|
|
|
- String monthGanFive = shiShenConfig.getGanZhiFive().get(ganZhiDto.getMonthGan());
|
|
|
- String monthZhiFive = shiShenConfig.getGanZhiFive().get(ganZhiDto.getMonthZhi());
|
|
|
- String dayGanFive = shiShenConfig.getGanZhiFive().get(ganZhiDto.getDayGan());
|
|
|
- String dayZhiFive = shiShenConfig.getGanZhiFive().get(ganZhiDto.getDayZhi());
|
|
|
- String timeGanFive = shiShenConfig.getGanZhiFive().get(ganZhiDto.getTimeGan());
|
|
|
- String timeZhiFive = shiShenConfig.getGanZhiFive().get(ganZhiDto.getTimeZhi());
|
|
|
-
|
|
|
-
|
|
|
- String yearGanColor = shiShenConfig.getGanZhiColor().get(ganZhiDto.getYearGan());
|
|
|
- String yearZhiColor = shiShenConfig.getGanZhiColor().get(ganZhiDto.getYearZhi());
|
|
|
- String monthGanColor = shiShenConfig.getGanZhiColor().get(ganZhiDto.getMonthGan());
|
|
|
- String monthZhiColor = shiShenConfig.getGanZhiColor().get(ganZhiDto.getMonthZhi());
|
|
|
- String dayGanColor = shiShenConfig.getGanZhiColor().get(ganZhiDto.getDayGan());
|
|
|
- String dayZhiColor = shiShenConfig.getGanZhiColor().get(ganZhiDto.getDayZhi());
|
|
|
- String timeGanColor = shiShenConfig.getGanZhiColor().get(ganZhiDto.getTimeGan());
|
|
|
- String timeZhiColor = shiShenConfig.getGanZhiColor().get(ganZhiDto.getTimeZhi());
|
|
|
-
|
|
|
- GanZhiRowVo yearGan = new GanZhiRowVo();
|
|
|
- yearGan.setGongWei("年干");
|
|
|
- yearGan.setFive(yearGanFive);
|
|
|
- yearGan.setColor(yearGanColor);
|
|
|
- yearGan.setName(ganZhiDto.getYearGan());
|
|
|
-
|
|
|
- GanZhiRowVo yearZhi = new GanZhiRowVo();
|
|
|
- yearZhi.setGongWei("年支");
|
|
|
- yearZhi.setFive(yearZhiFive);
|
|
|
- yearZhi.setColor(yearZhiColor);
|
|
|
- yearZhi.setName(ganZhiDto.getYearZhi());
|
|
|
-
|
|
|
- GanZhiRowVo monthGan = new GanZhiRowVo();
|
|
|
- monthGan.setGongWei("月干");
|
|
|
- monthGan.setFive(monthGanFive);
|
|
|
- monthGan.setColor(monthGanColor);
|
|
|
- monthGan.setName(ganZhiDto.getMonthGan());
|
|
|
-
|
|
|
-
|
|
|
- GanZhiRowVo monthZhi = new GanZhiRowVo();
|
|
|
- monthZhi.setGongWei("月支");
|
|
|
- monthZhi.setFive(monthZhiFive);
|
|
|
- monthZhi.setColor(monthZhiColor);
|
|
|
- monthZhi.setName(ganZhiDto.getMonthZhi());
|
|
|
-
|
|
|
- GanZhiRowVo dayGan = new GanZhiRowVo();
|
|
|
- dayGan.setGongWei("日干");
|
|
|
- dayGan.setFive(dayGanFive);
|
|
|
- dayGan.setColor(dayGanColor);
|
|
|
- dayGan.setName(ganZhiDto.getDayGan());
|
|
|
-
|
|
|
-
|
|
|
- GanZhiRowVo dayZhi = new GanZhiRowVo();
|
|
|
- dayZhi.setGongWei("日支");
|
|
|
- dayZhi.setFive(dayZhiFive);
|
|
|
- dayZhi.setColor(dayZhiColor);
|
|
|
- dayZhi.setName(ganZhiDto.getDayZhi());
|
|
|
-
|
|
|
- GanZhiRowVo timeGan = new GanZhiRowVo();
|
|
|
- timeGan.setGongWei("时干");
|
|
|
- timeGan.setFive(timeGanFive);
|
|
|
- timeGan.setColor(timeGanColor);
|
|
|
- timeGan.setName(ganZhiDto.getTimeGan());
|
|
|
-
|
|
|
- GanZhiRowVo timeZhi = new GanZhiRowVo();
|
|
|
- timeZhi.setGongWei("时支");
|
|
|
- timeZhi.setFive(timeZhiFive);
|
|
|
- timeZhi.setColor(timeZhiColor);
|
|
|
- timeZhi.setName(ganZhiDto.getTimeZhi());
|
|
|
-
|
|
|
- List<GanZhiRowVo> list = new ArrayList<GanZhiRowVo>();
|
|
|
- list.add(yearGan);
|
|
|
- list.add(yearZhi);
|
|
|
- list.add(monthGan);
|
|
|
- list.add(monthZhi);
|
|
|
- list.add(dayGan);
|
|
|
- list.add(dayZhi);
|
|
|
- list.add(timeGan);
|
|
|
- list.add(timeZhi);
|
|
|
-
|
|
|
- return list;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取五行数量
|
|
|
- *
|
|
|
- * @param list
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public Map<String, Integer> getGanZhiRowVoCount(List<GanZhiRowVo> list, Map<String, String> reportMap) {
|
|
|
-
|
|
|
- Map<String, Integer> fiveCount = new TreeMap<String, Integer>();
|
|
|
- fiveCount.put("木", 0);
|
|
|
- fiveCount.put("火", 0);
|
|
|
- fiveCount.put("土", 0);
|
|
|
- fiveCount.put("金", 0);
|
|
|
- fiveCount.put("水", 0);
|
|
|
-
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
- String five = list.get(i).getFive();
|
|
|
- Integer fiveC = fiveCount.get(five) + 1;
|
|
|
- fiveCount.put(five, fiveC);
|
|
|
- }
|
|
|
-
|
|
|
- StringBuffer zeroCotent = new StringBuffer();
|
|
|
- fiveCount.forEach((key, value) -> {
|
|
|
- if (value == 0) {
|
|
|
- zeroCotent.append(shiShenConfig.getZeroFive().get(key));
|
|
|
- zeroCotent.append(";");
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- if (zeroCotent.toString().length() > 0) {
|
|
|
- zeroCotent.deleteCharAt(zeroCotent.length() - 1);
|
|
|
- reportMap.put("缺失五行评语", zeroCotent.toString());
|
|
|
- } else {
|
|
|
- reportMap.put("缺失五行评语", "命格中五行没有缺失,五行比较全面。");
|
|
|
- }
|
|
|
-
|
|
|
- return fiveCount;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取十神数量
|
|
|
- *
|
|
|
- * @param list
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public Map<String, Integer> getShiShenCount(List<GanZhiRowVo> list, Map<String, String> reportMap) {
|
|
|
- Map<String, Integer> shiShenCount = new TreeMap<String, Integer>();
|
|
|
- shiShenCount.put("正印", 0);
|
|
|
- shiShenCount.put("食神", 0);
|
|
|
- shiShenCount.put("正官", 0);
|
|
|
- shiShenCount.put("正财", 0);
|
|
|
- shiShenCount.put("七杀", 0);
|
|
|
- shiShenCount.put("偏印", 0);
|
|
|
- shiShenCount.put("偏财", 0);
|
|
|
- shiShenCount.put("伤官", 0);
|
|
|
- shiShenCount.put("劫财", 0);
|
|
|
- shiShenCount.put("比肩", 0);
|
|
|
-
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
- String shiShen1 = list.get(i).getShiShen1();
|
|
|
- String shiShen2 = list.get(i).getShiShen2();
|
|
|
- String shiShen3 = list.get(i).getShiShen3();
|
|
|
- //正印
|
|
|
- if (shiShen1 != null && shiShen1.contains("正印")) {
|
|
|
- Integer count = shiShenCount.get("正印") + 1;
|
|
|
- shiShenCount.put("正印", count);
|
|
|
- }
|
|
|
- if (shiShen2 != null && shiShen2.contains("正印")) {
|
|
|
- Integer count = shiShenCount.get("正印") + 1;
|
|
|
- shiShenCount.put("正印", count);
|
|
|
- }
|
|
|
- if (shiShen3 != null && shiShen3.contains("正印")) {
|
|
|
- Integer count = shiShenCount.get("正印") + 1;
|
|
|
- shiShenCount.put("正印", count);
|
|
|
- }
|
|
|
- //食神
|
|
|
- if (shiShen1 != null && shiShen1.contains("食神")) {
|
|
|
- Integer count = shiShenCount.get("食神") + 1;
|
|
|
- shiShenCount.put("食神", count);
|
|
|
- }
|
|
|
- if (shiShen2 != null && shiShen2.contains("食神")) {
|
|
|
- Integer count = shiShenCount.get("食神") + 1;
|
|
|
- shiShenCount.put("食神", count);
|
|
|
- }
|
|
|
- if (shiShen3 != null && shiShen3.contains("食神")) {
|
|
|
- Integer count = shiShenCount.get("食神") + 1;
|
|
|
- shiShenCount.put("食神", count);
|
|
|
- }
|
|
|
-
|
|
|
- //正官
|
|
|
- if (shiShen1 != null && shiShen1.contains("正官")) {
|
|
|
- Integer count = shiShenCount.get("正官") + 1;
|
|
|
- shiShenCount.put("正官", count);
|
|
|
- }
|
|
|
- if (shiShen2 != null && shiShen2.contains("正官")) {
|
|
|
- Integer count = shiShenCount.get("正官") + 1;
|
|
|
- shiShenCount.put("正官", count);
|
|
|
- }
|
|
|
- if (shiShen3 != null && shiShen3.contains("正官")) {
|
|
|
- Integer count = shiShenCount.get("正官") + 1;
|
|
|
- shiShenCount.put("正官", count);
|
|
|
- }
|
|
|
-
|
|
|
- //正财
|
|
|
- if (shiShen1 != null && shiShen1.contains("正财")) {
|
|
|
- Integer count = shiShenCount.get("正财") + 1;
|
|
|
- shiShenCount.put("正财", count);
|
|
|
- }
|
|
|
- if (shiShen2 != null && shiShen2.contains("正财")) {
|
|
|
- Integer count = shiShenCount.get("正财") + 1;
|
|
|
- shiShenCount.put("正财", count);
|
|
|
- }
|
|
|
- if (shiShen3 != null && shiShen3.contains("正财")) {
|
|
|
- Integer count = shiShenCount.get("正财") + 1;
|
|
|
- shiShenCount.put("正财", count);
|
|
|
- }
|
|
|
-
|
|
|
- //七杀
|
|
|
- if (shiShen1 != null && shiShen1.contains("七杀")) {
|
|
|
- Integer count = shiShenCount.get("七杀") + 1;
|
|
|
- shiShenCount.put("七杀", count);
|
|
|
- }
|
|
|
- if (shiShen2 != null && shiShen2.contains("七杀")) {
|
|
|
- Integer count = shiShenCount.get("七杀") + 1;
|
|
|
- shiShenCount.put("七杀", count);
|
|
|
- }
|
|
|
- if (shiShen3 != null && shiShen3.contains("七杀")) {
|
|
|
- Integer count = shiShenCount.get("七杀") + 1;
|
|
|
- shiShenCount.put("七杀", count);
|
|
|
- }
|
|
|
-
|
|
|
- //偏印
|
|
|
- if (shiShen1 != null && shiShen1.contains("偏印")) {
|
|
|
- Integer count = shiShenCount.get("偏印") + 1;
|
|
|
- shiShenCount.put("偏印", count);
|
|
|
- }
|
|
|
- if (shiShen2 != null && shiShen2.contains("偏印")) {
|
|
|
- Integer count = shiShenCount.get("偏印") + 1;
|
|
|
- shiShenCount.put("偏印", count);
|
|
|
- }
|
|
|
- if (shiShen3 != null && shiShen3.contains("偏印")) {
|
|
|
- Integer count = shiShenCount.get("偏印") + 1;
|
|
|
- shiShenCount.put("偏印", count);
|
|
|
- }
|
|
|
-
|
|
|
- //偏财
|
|
|
- if (shiShen1 != null && shiShen1.contains("偏财")) {
|
|
|
- Integer count = shiShenCount.get("偏财") + 1;
|
|
|
- shiShenCount.put("偏财", count);
|
|
|
- }
|
|
|
- if (shiShen2 != null && shiShen2.contains("偏财")) {
|
|
|
- Integer count = shiShenCount.get("偏财") + 1;
|
|
|
- shiShenCount.put("偏财", count);
|
|
|
- }
|
|
|
- if (shiShen3 != null && shiShen3.contains("偏财")) {
|
|
|
- Integer count = shiShenCount.get("偏财") + 1;
|
|
|
- shiShenCount.put("偏财", count);
|
|
|
- }
|
|
|
-
|
|
|
- //伤官
|
|
|
- if (shiShen1 != null && shiShen1.contains("伤官")) {
|
|
|
- Integer count = shiShenCount.get("伤官") + 1;
|
|
|
- shiShenCount.put("伤官", count);
|
|
|
- }
|
|
|
- if (shiShen2 != null && shiShen2.contains("伤官")) {
|
|
|
- Integer count = shiShenCount.get("伤官") + 1;
|
|
|
- shiShenCount.put("伤官", count);
|
|
|
- }
|
|
|
- if (shiShen3 != null && shiShen3.contains("伤官")) {
|
|
|
- Integer count = shiShenCount.get("伤官") + 1;
|
|
|
- shiShenCount.put("伤官", count);
|
|
|
- }
|
|
|
-
|
|
|
- //劫财
|
|
|
- if (shiShen1 != null && shiShen1.contains("劫财")) {
|
|
|
- Integer count = shiShenCount.get("劫财") + 1;
|
|
|
- shiShenCount.put("劫财", count);
|
|
|
- }
|
|
|
- if (shiShen2 != null && shiShen2.contains("劫财")) {
|
|
|
- Integer count = shiShenCount.get("劫财") + 1;
|
|
|
- shiShenCount.put("劫财", count);
|
|
|
- }
|
|
|
- if (shiShen3 != null && shiShen3.contains("劫财")) {
|
|
|
- Integer count = shiShenCount.get("劫财") + 1;
|
|
|
- shiShenCount.put("劫财", count);
|
|
|
- }
|
|
|
-
|
|
|
- //比肩
|
|
|
- if (shiShen1 != null && shiShen1.contains("比肩")) {
|
|
|
- Integer count = shiShenCount.get("比肩") + 1;
|
|
|
- shiShenCount.put("比肩", count);
|
|
|
- }
|
|
|
- if (shiShen2 != null && shiShen2.contains("比肩")) {
|
|
|
- Integer count = shiShenCount.get("比肩") + 1;
|
|
|
- shiShenCount.put("比肩", count);
|
|
|
- }
|
|
|
- if (shiShen3 != null && shiShen3.contains("比肩")) {
|
|
|
- Integer count = shiShenCount.get("比肩") + 1;
|
|
|
- shiShenCount.put("比肩", count);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- StringBuffer zeroCotent = new StringBuffer();
|
|
|
-
|
|
|
- shiShenCount.forEach((key, value) -> {
|
|
|
- System.out.println(key + " " + value);
|
|
|
- if (value == 0) {
|
|
|
- zeroCotent.append(shiShenConfig.getZeroShiShen().get(key));
|
|
|
- zeroCotent.append(";");
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- if (zeroCotent.toString().length() > 0) {
|
|
|
- zeroCotent.deleteCharAt(zeroCotent.length() - 1);
|
|
|
- reportMap.put("缺失十神评语", zeroCotent.toString() + "。");
|
|
|
- } else {
|
|
|
- reportMap.put("缺失十神评语", "命格中十神没有缺失,性格比较全面。");
|
|
|
- }
|
|
|
- return shiShenCount;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 潮湿平衡
|
|
|
- *
|
|
|
- * @param list
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public Map<String, Integer> getZaoShiCount(List<GanZhiRowVo> list, Map<String, Integer> fiveCount, Map<String, String> reportMap) {
|
|
|
-
|
|
|
- Map<String, Integer> fiveCountMap = new TreeMap<String, Integer>();
|
|
|
- fiveCountMap.putAll(fiveCount);
|
|
|
-
|
|
|
- int huoCount = fiveCountMap.get("火");
|
|
|
- int shuiCount = fiveCountMap.get("水");
|
|
|
-
|
|
|
- for (int i = 1; i < list.size(); i += 2) {
|
|
|
- String five = list.get(i).getFive();
|
|
|
- if ("土".equals(five)) {
|
|
|
- if (huoCount > shuiCount) {
|
|
|
- String name = list.get(i).getName();
|
|
|
- if ("戌".equals(name) || "未".equals(name)) {
|
|
|
- Integer fiveC = (Integer) fiveCountMap.get("火") + 1;
|
|
|
- fiveCountMap.put("火", fiveC);
|
|
|
- }
|
|
|
- } else if (huoCount < shuiCount) {
|
|
|
- String name = list.get(i).getName();
|
|
|
- if ("辰".equals(name) || "丑".equals(name)) {
|
|
|
- Integer fiveC = (Integer) fiveCountMap.get("水") + 1;
|
|
|
- fiveCountMap.put("水", fiveC);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- fiveCountMap.remove("土");
|
|
|
- fiveCountMap.remove("金");
|
|
|
- fiveCountMap.remove("木");
|
|
|
-
|
|
|
-
|
|
|
- int huoCount2 = fiveCountMap.get("火");
|
|
|
- int shuiCoun2 = fiveCountMap.get("水");
|
|
|
-
|
|
|
- Map<String, Integer> zaoShiMap = new TreeMap<String, Integer>();
|
|
|
- zaoShiMap.putAll(fiveCountMap);
|
|
|
-
|
|
|
-
|
|
|
- if (huoCount2 - shuiCoun2 >= 2) { //火过旺
|
|
|
- reportMap.put("潮湿平衡", "过于干燥,火特别多,性情比较暴躁,容易上火,内心上火容易产生无名火,容易被“点燃”生气,身体也容易上火。");
|
|
|
- } else if (huoCount2 - shuiCoun2 == 1) { //火轻微过旺
|
|
|
- reportMap.put("潮湿平衡", "偏干燥,火特别多,性情相对比较急躁。");
|
|
|
- } else if (huoCount2 - shuiCoun2 <= -2) {
|
|
|
- reportMap.put("潮湿平衡", "过于湿润,大便不成形,湿气太重了,比较会容易肚子,手脚冰凉,气血不活。");
|
|
|
- } else if (huoCount2 - shuiCoun2 == -1) {
|
|
|
- reportMap.put("潮湿平衡", "偏湿润,大便不成形,湿气较重,气血不活。");
|
|
|
- } else if (huoCount2 - shuiCoun2 == 0) {
|
|
|
- reportMap.put("潮湿平衡", "各个宫位,燥湿达到平衡。不会过湿,过燥。");
|
|
|
- }
|
|
|
-
|
|
|
- return zaoShiMap;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 返回能量最强的天干
|
|
|
- *
|
|
|
- * @param ganZhiDto
|
|
|
- * @return 1 天干 2月干 3时干
|
|
|
- */
|
|
|
- @Override
|
|
|
- public int getMaxTianGan(GanZhiDto ganZhiDto) {
|
|
|
- /*-------------------能量最强天干---------------------*/
|
|
|
- List<GanZhiRowVo> list = this.getGanZhiRowVoList(ganZhiDto);
|
|
|
-
|
|
|
- //年干 得分
|
|
|
-// int yearGanQR = ShiShenConfig.generateRelationship(list.get(0).getFive(), list.get(0).getFive());
|
|
|
- int yearZhiQR1 = ShiShenConfig.generateRelationship(list.get(0).getFive(), list.get(1).getFive());
|
|
|
- int monthGanQR1 = ShiShenConfig.generateRelationship(list.get(0).getFive(), list.get(2).getFive());
|
|
|
- int monthZhiQR1 = ShiShenConfig.generateRelationship(list.get(0).getFive(), list.get(3).getFive());
|
|
|
- int dayGanQR1 = ShiShenConfig.generateRelationship(list.get(0).getFive(), list.get(4).getFive());
|
|
|
- int dayZhiQR1 = ShiShenConfig.generateRelationship(list.get(0).getFive(), list.get(5).getFive());
|
|
|
- int timeGanQR1 = ShiShenConfig.generateRelationship(list.get(0).getFive(), list.get(6).getFive());
|
|
|
- int timeZhiQR1 = ShiShenConfig.generateRelationship(list.get(0).getFive(), list.get(7).getFive());
|
|
|
-
|
|
|
- int yearGanScore = 0;
|
|
|
- if (yearZhiQR1 > 0) {
|
|
|
- yearGanScore += 12;
|
|
|
- }
|
|
|
- if (monthGanQR1 > 0) {
|
|
|
- yearGanScore += 12;
|
|
|
- }
|
|
|
- if (monthZhiQR1 > 0) {
|
|
|
- yearGanScore += 40;
|
|
|
- }
|
|
|
- if (dayGanQR1 > 0) {
|
|
|
- yearGanScore += 12;
|
|
|
- }
|
|
|
- if (dayZhiQR1 > 0) {
|
|
|
- yearGanScore += 12;
|
|
|
- }
|
|
|
- if (timeGanQR1 > 0) {
|
|
|
- yearGanScore += 8;
|
|
|
- }
|
|
|
- if (timeZhiQR1 > 0) {
|
|
|
- yearGanScore += 4;
|
|
|
- }
|
|
|
-
|
|
|
- /*-------------------能量最强天干---------------------*/
|
|
|
-
|
|
|
- //月干 得分
|
|
|
- int yearGanQR2 = ShiShenConfig.generateRelationship(list.get(2).getFive(), list.get(0).getFive());
|
|
|
- int yearZhiQR2 = ShiShenConfig.generateRelationship(list.get(2).getFive(), list.get(1).getFive());
|
|
|
-// int monthGanQR2 = ShiShenConfig.generateRelationship(list.get(2).getFive(), list.get(2).getFive());
|
|
|
- int monthZhiQR2 = ShiShenConfig.generateRelationship(list.get(2).getFive(), list.get(3).getFive());
|
|
|
- int dayGanQR2 = ShiShenConfig.generateRelationship(list.get(2).getFive(), list.get(4).getFive());
|
|
|
- int dayZhiQR2 = ShiShenConfig.generateRelationship(list.get(2).getFive(), list.get(5).getFive());
|
|
|
- int timeGanQR2 = ShiShenConfig.generateRelationship(list.get(2).getFive(), list.get(6).getFive());
|
|
|
- int timeZhiQR2 = ShiShenConfig.generateRelationship(list.get(2).getFive(), list.get(7).getFive());
|
|
|
-
|
|
|
- int monthGanScore = 0;
|
|
|
- if (yearGanQR2 > 0) {
|
|
|
- monthGanScore += 12;
|
|
|
- }
|
|
|
- if (yearZhiQR2 > 0) {
|
|
|
- monthGanScore += 12;
|
|
|
- }
|
|
|
- if (monthZhiQR2 > 0) {
|
|
|
- monthGanScore += 40;
|
|
|
- }
|
|
|
- if (dayGanQR2 > 0) {
|
|
|
- monthGanScore += 12;
|
|
|
- }
|
|
|
- if (dayZhiQR2 > 0) {
|
|
|
- monthGanScore += 12;
|
|
|
- }
|
|
|
- if (timeGanQR2 > 0) {
|
|
|
- monthGanScore += 8;
|
|
|
- }
|
|
|
- if (timeZhiQR2 > 0) {
|
|
|
- monthGanScore += 4;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- //时干 得分
|
|
|
- int yearGanQR3 = ShiShenConfig.generateRelationship(list.get(6).getFive(), list.get(0).getFive());
|
|
|
- int yearZhiQR3 = ShiShenConfig.generateRelationship(list.get(6).getFive(), list.get(1).getFive());
|
|
|
- int monthGanQR3 = ShiShenConfig.generateRelationship(list.get(2).getFive(), list.get(2).getFive());
|
|
|
- int monthZhiQR3 = ShiShenConfig.generateRelationship(list.get(6).getFive(), list.get(3).getFive());
|
|
|
- int dayGanQR3 = ShiShenConfig.generateRelationship(list.get(6).getFive(), list.get(4).getFive());
|
|
|
- int dayZhiQR3 = ShiShenConfig.generateRelationship(list.get(6).getFive(), list.get(5).getFive());
|
|
|
- //int timeGanQR3 = ShiShenConfig.generateRelationship(list.get(6).getFive(), list.get(6).getFive());
|
|
|
- int timeZhiQR3 = ShiShenConfig.generateRelationship(list.get(6).getFive(), list.get(7).getFive());
|
|
|
-
|
|
|
- int timeGanScore = 0;
|
|
|
- if (yearGanQR3 > 0) {
|
|
|
- timeGanScore += 8;
|
|
|
- }
|
|
|
- if (yearZhiQR3 > 0) {
|
|
|
- timeGanScore += 4;
|
|
|
- }
|
|
|
- if (monthGanQR3 > 0) {
|
|
|
- timeGanScore += 40;
|
|
|
- }
|
|
|
- if (monthZhiQR3 > 0) {
|
|
|
- timeGanScore += 12;
|
|
|
- }
|
|
|
- if (dayGanQR3 > 0) {
|
|
|
- timeGanScore += 12;
|
|
|
- }
|
|
|
- if (dayZhiQR3 > 0) {
|
|
|
- timeGanScore += 12;
|
|
|
- }
|
|
|
- if (timeZhiQR3 > 0) {
|
|
|
- timeGanScore += 12;
|
|
|
- }
|
|
|
- int maxGan = ShiShenConfig.getMax(yearGanScore, monthGanScore, timeGanScore);
|
|
|
- ganZhiDto.setMaxGan(maxGan);
|
|
|
- return maxGan;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public Map<String, String> getGeJu(List<GanZhiRowVo> list, int maxTianGan, String qr) {
|
|
|
-
|
|
|
- String yearGan = list.get(0).getShiShen1();
|
|
|
- String monthGan = list.get(2).getShiShen1();
|
|
|
- String timeGan = list.get(6).getShiShen1();
|
|
|
-
|
|
|
- String geju = null;
|
|
|
-
|
|
|
- if (list.get(3).getShiShen1() != null && list.get(3).getShiShen1().contains(yearGan)) { //月令十神1在 年干透出
|
|
|
- geju = yearGan;
|
|
|
- } else if (list.get(3).getShiShen1() != null && list.get(3).getShiShen1().contains(monthGan)) { //月令十神1在 月干透出
|
|
|
- geju = monthGan;
|
|
|
- } else if (list.get(3).getShiShen1() != null && list.get(3).getShiShen1().contains(timeGan)) { //月令十神1在 时干透出
|
|
|
- geju = timeGan;
|
|
|
- } else if (list.get(3).getShiShen2() != null && list.get(3).getShiShen2().contains(yearGan)) { //月令十神2在 年干透出
|
|
|
- geju = yearGan;
|
|
|
- } else if (list.get(3).getShiShen2() != null && list.get(3).getShiShen2().contains(monthGan)) { //月令十神2在 月干透出
|
|
|
- geju = monthGan;
|
|
|
- } else if (list.get(3).getShiShen2() != null && list.get(3).getShiShen2().contains(timeGan)) { //月令十神2在 时干透出
|
|
|
- geju = timeGan;
|
|
|
- } else if (list.get(3).getShiShen3() != null && list.get(3).getShiShen3().contains(yearGan)) { //月令十神3在 年干透出
|
|
|
- geju = yearGan;
|
|
|
- } else if (list.get(3).getShiShen3() != null && list.get(3).getShiShen3().contains(monthGan)) { //月令十神3在 月干透出
|
|
|
- geju = monthGan;
|
|
|
- } else if (list.get(3).getShiShen3() != null && list.get(3).getShiShen3().contains(timeGan)) { //月令十神3在 时干透出
|
|
|
- geju = timeGan;
|
|
|
- } else {
|
|
|
- geju = null;
|
|
|
- }
|
|
|
-
|
|
|
- if (geju == null) {
|
|
|
- if (maxTianGan == 1) {
|
|
|
- geju = yearGan;
|
|
|
- } else if (maxTianGan == 2) {
|
|
|
- geju = monthGan;
|
|
|
- } else if (maxTianGan == 3) {
|
|
|
- geju = timeGan;
|
|
|
- }
|
|
|
- }
|
|
|
- GeJu geJu = new GeJu();
|
|
|
- geJu.setShiShen(geju);
|
|
|
- if (qr.contains("强")) {
|
|
|
- geJu.setQr("3,1");
|
|
|
- } else if (qr.contains("弱")) {
|
|
|
- geJu.setQr("3,2");
|
|
|
- }
|
|
|
-
|
|
|
- String sex = list.get(4).getShiShen1();
|
|
|
- if ("元男".equals(sex)) {
|
|
|
- geJu.setSex("1,3");
|
|
|
- } else if ("元女".equals(sex)) {
|
|
|
- geJu.setSex("2,3");
|
|
|
- }
|
|
|
-
|
|
|
- List<GeJu> geJuList = geJuMapper.selectGeJuList2(geJu);
|
|
|
-
|
|
|
- StringBuffer content = new StringBuffer();
|
|
|
- for (int i = 0; i < geJuList.size(); i++) {
|
|
|
- content.append(geJuList.get(i).getContent());
|
|
|
- }
|
|
|
-
|
|
|
- Map<String, String> geJuMap = new TreeMap<String, String>();
|
|
|
- geJuMap.put("geju", geju);
|
|
|
- geJuMap.put("content", content.toString());
|
|
|
- return geJuMap;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public Map<Integer, String> getGuo3Guan(List<GanZhiRowVo> list, String qr) {
|
|
|
-
|
|
|
- int x = 1; //用来做序号
|
|
|
- Map<Integer, String> guo3GuanMap = new TreeMap<Integer, String>();
|
|
|
-
|
|
|
- //1.八字带午火脾气最不好
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
- if ((i == 1 || i == 3 || i == 5 || i == 7) && i != 4) { //地支
|
|
|
- if ("午".equals(list.get(i).getName())) {
|
|
|
- guo3GuanMap.put(x++, "脾气比较大,容易发火。");
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- //2.身强身弱
|
|
|
- if (qr.contains("强")) {
|
|
|
- guo3GuanMap.put(x++, "容易破财,被人劫财。");
|
|
|
- } else if (qr.contains("弱")) {
|
|
|
- guo3GuanMap.put(x++, "不太好赚钱,看着别人发财,自己却不容易挣钱。");
|
|
|
- }
|
|
|
-
|
|
|
- //3.有甲有金,面部有伤或者头部有伤
|
|
|
- boolean jia = false;
|
|
|
- boolean jin = false;
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
- if ("甲".equals(list.get(i).getName())) {
|
|
|
- jia = true;
|
|
|
- }
|
|
|
- if ("庚".equals(list.get(i).getName())) {
|
|
|
- jin = true;
|
|
|
- }
|
|
|
- if ("辛".equals(list.get(i).getName())) {
|
|
|
- jin = true;
|
|
|
- }
|
|
|
- if ("申".equals(list.get(i).getName())) {
|
|
|
- jin = true;
|
|
|
- }
|
|
|
- if ("酉".equals(list.get(i).getName())) {
|
|
|
- jin = true;
|
|
|
- }
|
|
|
- }
|
|
|
- if (jia == true && jin == true) {
|
|
|
- guo3GuanMap.put(x++, "面部有伤或者头部有伤。");
|
|
|
- }
|
|
|
-
|
|
|
- //4.八字那个宫位有土,哪里有坑痕疤痣。
|
|
|
- StringBuffer tuContent = new StringBuffer();
|
|
|
- String tu = "戊己丑戌辰未";
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
- if (tu.contains(list.get(i).getName())) {
|
|
|
- tuContent.append(shiShenConfig.getBody().get(i));
|
|
|
- tuContent.append("、");
|
|
|
- }
|
|
|
- }
|
|
|
- if (tuContent.toString().length() > 0) {
|
|
|
- tuContent.deleteCharAt(tuContent.length() - 1);
|
|
|
- tuContent.append("身体部位存在伤疤或痣。");
|
|
|
- guo3GuanMap.put(x++, tuContent.toString());
|
|
|
- }
|
|
|
-
|
|
|
- //5.卯为电脑,显示类的东西(需要住满3年以上)
|
|
|
- StringBuffer maoContent = new StringBuffer();
|
|
|
- StringBuffer maoC = new StringBuffer();
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
- if ("卯".equals(list.get(i).getName())) {
|
|
|
- maoC.append(shiShenConfig.getPosition().get(i));
|
|
|
- maoC.append("、");
|
|
|
- }
|
|
|
- }
|
|
|
- if (maoC.toString().length() > 0) {
|
|
|
- maoC.deleteCharAt(maoC.length() - 1);
|
|
|
- maoContent.append("如果在当前住所居住满3年以上,");
|
|
|
- maoContent.append(maoC);
|
|
|
- maoContent.append("存在电脑或显示器类的物品。");
|
|
|
- guo3GuanMap.put(x++, maoContent.toString());
|
|
|
- }
|
|
|
-
|
|
|
- //6.偏印为翅膀,羽毛,会飞的东西(需要住满3年以上)
|
|
|
- StringBuffer pianContent = new StringBuffer();
|
|
|
- StringBuffer pianC = new StringBuffer();
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
- if (list.get(i).getShiShen1().contains("偏印")
|
|
|
- || (list.get(i).getShiShen2() != null && list.get(i).getShiShen2().contains("偏印"))
|
|
|
- || (list.get(i).getShiShen3() != null && list.get(i).getShiShen3().contains("偏印"))) {
|
|
|
- pianC.append(shiShenConfig.getPosition().get(i));
|
|
|
- pianC.append("、");
|
|
|
- }
|
|
|
- }
|
|
|
- if (pianC.toString().length() > 0) {
|
|
|
- pianC.deleteCharAt(pianC.length() - 1);
|
|
|
- pianContent.append("如果在当前住所居住满3年以上,");
|
|
|
- pianContent.append(pianC);
|
|
|
- pianContent.append("存在带有翅膀,羽毛,会飞的东西物品或摆件。");
|
|
|
- guo3GuanMap.put(x++, pianContent.toString());
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- //7.正财代表女人,钱,珠宝
|
|
|
- StringBuffer zhengcaiContent = new StringBuffer();
|
|
|
- StringBuffer zhengcaiC = new StringBuffer();
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
- if (list.get(i).getShiShen1().contains("正财")
|
|
|
- || (list.get(i).getShiShen2() != null && list.get(i).getShiShen2().contains("正财"))
|
|
|
- || (list.get(i).getShiShen3() != null && list.get(i).getShiShen3().contains("正财"))) {
|
|
|
- zhengcaiC.append(shiShenConfig.getPosition().get(i));
|
|
|
- zhengcaiC.append("、");
|
|
|
- }
|
|
|
- }
|
|
|
- if (zhengcaiC.toString().length() > 0) {
|
|
|
- zhengcaiC.deleteCharAt(zhengcaiC.length() - 1);
|
|
|
- zhengcaiContent.append("如果在当前住所居住满3年以上,");
|
|
|
- zhengcaiContent.append(zhengcaiC);
|
|
|
- zhengcaiContent.append("存在带有女性照片,结婚证,金钱,珠宝,较有价值的物品。");
|
|
|
- guo3GuanMap.put(x++, zhengcaiContent.toString());
|
|
|
- System.out.println(zhengcaiContent.toString());
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- //8.正印代表文件,书籍
|
|
|
- StringBuffer zhengyinContent = new StringBuffer();
|
|
|
- StringBuffer zhengyinC = new StringBuffer();
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
- if (list.get(i).getShiShen1().contains("正印")
|
|
|
- || (list.get(i).getShiShen2() != null && list.get(i).getShiShen2().contains("正印"))
|
|
|
- || (list.get(i).getShiShen3() != null && list.get(i).getShiShen3().contains("正印"))) {
|
|
|
- zhengyinC.append(shiShenConfig.getPosition().get(i));
|
|
|
- zhengyinC.append("、");
|
|
|
- }
|
|
|
- }
|
|
|
- if (zhengyinC.toString().length() > 0) {
|
|
|
- zhengyinC.deleteCharAt(zhengyinC.length() - 1);
|
|
|
- zhengyinContent.append("如果在当前住所居住满3年以上,");
|
|
|
- zhengyinContent.append(zhengyinC);
|
|
|
- zhengyinContent.append("存在文件、书籍等物品。");
|
|
|
- guo3GuanMap.put(x++, zhengyinContent.toString());
|
|
|
- System.out.println(zhengyinContent.toString());
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- //9.丁火喜欢熬夜
|
|
|
- if (list.get(4).getName().equals("丁")) {
|
|
|
- guo3GuanMap.put(x++, "你比较喜欢熬夜,到晚上会比较有精神。");
|
|
|
- }
|
|
|
- if (list.get(6).getName().equals("丁")) {
|
|
|
- guo3GuanMap.put(x++, "你的孩子比较喜欢熬夜,到晚上会比较有精神。");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- //10.八字那个宫位有土,哪里有坑痕疤痣。
|
|
|
- StringBuffer shenContent = new StringBuffer();
|
|
|
- StringBuffer shenC = new StringBuffer();
|
|
|
- String shen = "辰戌丑未";
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
- if (shen.contains(list.get(i).getName())) {
|
|
|
- shenC.append(shiShenConfig.getPosition().get(i));
|
|
|
- shenC.append("、");
|
|
|
- }
|
|
|
- }
|
|
|
- if (shenC.toString().length() > 0) {
|
|
|
- shenC.deleteCharAt(shenC.length() - 1);
|
|
|
- shenContent.append("如果在当前住所居住满3年以上,");
|
|
|
- shenContent.append(shenC);
|
|
|
- shenContent.append("存在神佛类物品或摆件(包含中西方诸神,佛主、耶稣等等)。");
|
|
|
- guo3GuanMap.put(x++, shenContent.toString());
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- //11.酉金为瓶瓶罐罐,能发出声音的物品
|
|
|
- StringBuffer youContent = new StringBuffer();
|
|
|
- StringBuffer youC = new StringBuffer();
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
- if ("酉".equals(list.get(i).getName())) {
|
|
|
- youC.append(shiShenConfig.getBody().get(i));
|
|
|
- youC.append("、");
|
|
|
- }
|
|
|
- }
|
|
|
- if (youContent.toString().length() > 0) {
|
|
|
- youC.deleteCharAt(youC.length() - 1);
|
|
|
- youContent.append("如果在当前住所居住满3年以上,");
|
|
|
- youContent.append(youC);
|
|
|
- youContent.append("存在瓶瓶罐罐,能发出声音的物品,如耳机音箱之类。");
|
|
|
- guo3GuanMap.put(x++, youContent.toString());
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- //12.酉金带食神
|
|
|
- boolean sing = false;
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
- if ("酉".equals(list.get(i).getName()) &&
|
|
|
- ((list.get(i).getShiShen1() != null && list.get(i).getShiShen1().contains("食神"))
|
|
|
- ||
|
|
|
- (list.get(i).getShiShen2() != null && list.get(i).getShiShen2().contains("食神"))
|
|
|
- ||
|
|
|
- (list.get(i).getShiShen3() != null && list.get(i).getShiShen3().contains("食神")))) {
|
|
|
- sing = true;
|
|
|
- }
|
|
|
- }
|
|
|
- if (sing) {
|
|
|
- System.out.println("你在唱歌方面表现出色,嗓音优美动人,超越了一般水平。");
|
|
|
- guo3GuanMap.put(x++, "你在唱歌方面表现出色,嗓音优美动人,超越了一般水平。");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- //13.庚金暴力
|
|
|
- StringBuffer genContent = new StringBuffer();
|
|
|
- if (list.get(2).getName().equals("庚")) {
|
|
|
- genContent.append("父亲比较有暴力倾向,可能有对母亲动手过。");
|
|
|
- }
|
|
|
- if (list.get(3).getName().equals("申")) {
|
|
|
- genContent.append("母亲比较有暴力倾向,可能有对父亲动手过。");
|
|
|
- }
|
|
|
- if (list.get(4).getName().equals("庚")) {
|
|
|
- //性别
|
|
|
- if (list.get(4).getShiShen1().contains("男")) {
|
|
|
- genContent.append("你比较有暴力倾向,可能对老婆家暴。");
|
|
|
- } else if (list.get(4).getShiShen1().contains("女")) {
|
|
|
- genContent.append("你比较有暴力倾向,可能对老公家暴。");
|
|
|
- }
|
|
|
- }
|
|
|
- if (list.get(5).getName().equals("申")) {
|
|
|
- //性别
|
|
|
- if (list.get(4).getShiShen1().contains("男")) {
|
|
|
- genContent.append("你的老婆比较暴力,可能对你家暴。");
|
|
|
- } else if (list.get(4).getShiShen1().contains("女")) {
|
|
|
- genContent.append("你的老公比较暴力,可能对你家暴。");
|
|
|
- }
|
|
|
- }
|
|
|
- if (genContent.toString().length() > 0) {
|
|
|
- genContent.insert(0, "较暴力,真发火时可能会动手。");
|
|
|
- guo3GuanMap.put(x++, genContent.toString());
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- //14.有甲有金,面部有伤或者头部有伤
|
|
|
- boolean bi = false;
|
|
|
- boolean cai = false;
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
- //性别
|
|
|
- if (list.get(4).getShiShen1().contains("男")) {
|
|
|
- if ((i == 1 || i == 3 || i == 5 || i == 7) && i != 4) {
|
|
|
- if (list.get(i).getShiShen1() != null && list.get(i).getShiShen1().contains("比肩") || list.get(i).getShiShen2() != null && list.get(i).getShiShen2().contains("比肩") || list.get(i).getShiShen3() != null && list.get(i).getShiShen3().contains("比肩")) {
|
|
|
- bi = true;
|
|
|
- }
|
|
|
- if (list.get(i).getShiShen1() != null && list.get(i).getShiShen1().contains("正财") || list.get(i).getShiShen2() != null && list.get(i).getShiShen2().contains("正财") || list.get(i).getShiShen3() != null && list.get(i).getShiShen3().contains("正财")) {
|
|
|
- cai = true;
|
|
|
- }
|
|
|
- }
|
|
|
- } else if (list.get(4).getShiShen1().contains("女")) {
|
|
|
- if ((i == 1 || i == 3 || i == 5 || i == 7) && i != 4) {
|
|
|
- if (list.get(i).getShiShen1() != null && list.get(i).getShiShen1().contains("比肩") || list.get(i).getShiShen2() != null && list.get(i).getShiShen2().contains("比肩") || list.get(i).getShiShen3() != null && list.get(i).getShiShen3().contains("比肩")) {
|
|
|
- bi = true;
|
|
|
- }
|
|
|
- if (list.get(i).getShiShen1() != null && list.get(i).getShiShen1().contains("正官") || list.get(i).getShiShen2() != null && list.get(i).getShiShen2().contains("正官") || list.get(i).getShiShen3() != null && list.get(i).getShiShen3().contains("正官")) {
|
|
|
- cai = true;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (bi == true && cai == true) {
|
|
|
- //性别
|
|
|
- if (list.get(4).getShiShen1().contains("男")) {
|
|
|
- guo3GuanMap.put(x++, "大概率跟老婆在一个公司或单位,一起工作过。(过去或未来)");
|
|
|
- } else if (list.get(4).getShiShen1().contains("女")) {
|
|
|
- guo3GuanMap.put(x++, "大概率跟老婆在一个公司或单位,一起工作过。(过去或未来)");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- String dayZhu = list.get(4).getName() + list.get(5).getName();
|
|
|
- if (dayZhu.equals("甲辰") || dayZhu.equals("乙巳") || dayZhu.equals("丙申") || dayZhu.equals("丁亥") || dayZhu.equals("庚辰")
|
|
|
- || dayZhu.equals("戊戌") || dayZhu.equals("癸亥") || dayZhu.equals("辛巳") || dayZhu.equals("壬申") || dayZhu.equals("己丑")
|
|
|
- ) {
|
|
|
- guo3GuanMap.put(x++, "十恶大败日生人,入不敷出,花钱多,进钱少。可能欠有银行贷款等外债。");
|
|
|
- }
|
|
|
-
|
|
|
- return guo3GuanMap;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public String getXiFangWei(Lunar lunar) {
|
|
|
- String str = lunar.toFullString();
|
|
|
- String[] s = str.split(" ");
|
|
|
- StringBuffer fangWei = new StringBuffer();
|
|
|
-
|
|
|
- str = str.substring(str.indexOf("喜神方位"));
|
|
|
-
|
|
|
- System.out.println(str);
|
|
|
-
|
|
|
- return str;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public String getIndustry(Map<String, Object> riYuanQrMap, String geju) {
|
|
|
-
|
|
|
- List<String> xiYongList = (List) riYuanQrMap.get("xiYong");
|
|
|
- StringBuffer industry = new StringBuffer();
|
|
|
- if (geju != null && !"".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)));
|
|
|
- }
|
|
|
-
|
|
|
- return industry.toString();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public String getGuiren(List<GanZhiRowVo> ganZhiRowVoList) {
|
|
|
-
|
|
|
- ganZhiRowVoList.get(0).getName();
|
|
|
- ganZhiRowVoList.get(4).getName();
|
|
|
-
|
|
|
- String guiren = shiShenConfig.getTianyiGuiren().get(ganZhiRowVoList.get(0).getName());
|
|
|
- String guiren2 = shiShenConfig.getTianyiGuiren().get(ganZhiRowVoList.get(4).getName());
|
|
|
-
|
|
|
- String guirenShengXiao = shiShenConfig.getTianyiGuirenShengXiao().get(ganZhiRowVoList.get(0).getName());
|
|
|
- String guirenShengXiao2 = shiShenConfig.getTianyiGuirenShengXiao().get(ganZhiRowVoList.get(4).getName());
|
|
|
-
|
|
|
-
|
|
|
- StringBuffer guiRenStr = new StringBuffer();
|
|
|
- guiRenStr.append("建议多与八字中带有");
|
|
|
- guiRenStr.append(guiren + "、");
|
|
|
- guiRenStr.append(guiren2);
|
|
|
- guiRenStr.append("的人相处。或者属相为");
|
|
|
- guiRenStr.append(guirenShengXiao + "、");
|
|
|
- guiRenStr.append(guirenShengXiao2);
|
|
|
- guiRenStr.append("的人相处,容易得到帮助。");
|
|
|
-
|
|
|
- return guiRenStr.toString();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public Map<String, String> getChenGu(Lunar lunar, Integer sex) {
|
|
|
-
|
|
|
- System.out.println(lunar.getYear()); //年
|
|
|
- System.out.println(lunar.getMonth()); //月
|
|
|
- System.out.println(lunar.getDay()); //日
|
|
|
- // String time = lunar.getTime().toString().substring(lunar.getTime().toString().length() - 1); //时
|
|
|
- // System.out.println(time);
|
|
|
-
|
|
|
- int yearZhong = shiShenConfig.getGuZhong().get(lunar.getYearGan() + lunar.getYearZhi());
|
|
|
- int monthZhong = shiShenConfig.getGuZhong().get(lunar.getMonth() + "月");
|
|
|
- int dayZhong = shiShenConfig.getGuZhong().get(lunar.getDay() + "日");
|
|
|
- String time = lunar.getTime().toString().substring(lunar.getTime().toString().length() - 1); //时
|
|
|
- int timeZhong = shiShenConfig.getGuZhong().get(time);
|
|
|
-
|
|
|
- System.out.println(yearZhong);
|
|
|
- System.out.println(monthZhong);
|
|
|
- System.out.println(dayZhong);
|
|
|
- System.out.println(timeZhong);
|
|
|
-
|
|
|
- int total = yearZhong + monthZhong + dayZhong + timeZhong;
|
|
|
-
|
|
|
- Map<String, String> chenGuMap = new TreeMap<String, String>();
|
|
|
- String chenGuContent = null;
|
|
|
- if (sex == 1) {
|
|
|
- chenGuContent = shiShenConfig.getGuZhongPingYuMan().get(String.valueOf(total));
|
|
|
- } else if (sex == 2) {
|
|
|
- chenGuContent = shiShenConfig.getGuZhongPingYuWoman().get(String.valueOf(total));
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- String liang = String.valueOf(total).substring(0, 1);
|
|
|
- String qiang = String.valueOf(total).substring(1, 2);
|
|
|
-
|
|
|
- String[] liangArray = {"零两", "一两", "二两", "三两", "四两", "五两", "六两", "七两", "八两", "九两"};
|
|
|
- String[] qiangArray = {"零钱", "一钱", "二钱", "三钱", "四钱", "五钱", "六钱", "七钱", "八钱", "九钱"};
|
|
|
-
|
|
|
- int shi = Integer.parseInt(liang);
|
|
|
- int ge = Integer.parseInt(qiang);
|
|
|
-
|
|
|
- String shiStr = liangArray[shi];
|
|
|
- String geStr = qiangArray[ge];
|
|
|
-
|
|
|
- chenGuMap.put("称骨重量", shiStr + geStr);
|
|
|
- chenGuMap.put("称骨评语", chenGuContent);
|
|
|
-
|
|
|
- return chenGuMap;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public String getPiQi(List<GanZhiRowVo> ganZhiRowVoList) {
|
|
|
- String shiShen1 = ganZhiRowVoList.get(5).getShiShen1();
|
|
|
- String shiShen = shiShen1.substring(2, 4);
|
|
|
- String piqi = shiShenConfig.getPiQi().get(shiShen);
|
|
|
- return piqi;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public String getCaiYun(List<GanZhiRowVo> ganZhiRowVoList, Map<String, Object> riYuanQrMap, Map<String, Integer> shiShenCountMap) {
|
|
|
- String qr = (String) riYuanQrMap.get("qr");
|
|
|
- List<String> xiYong = (List<String>) riYuanQrMap.get("xiYong");
|
|
|
- List<String> xiYongOld = (List<String>) riYuanQrMap.get("xiYongOld");
|
|
|
-
|
|
|
- StringBuffer caiContent = new StringBuffer();
|
|
|
- if (qr.contains("强")) {
|
|
|
- caiContent.append("身强");
|
|
|
- } else if (qr.contains("弱")) {
|
|
|
- caiContent.append("身弱");
|
|
|
- }
|
|
|
-
|
|
|
- int pianCaiCount = shiShenCountMap.get("偏财");
|
|
|
- int zhengCaiCount = shiShenCountMap.get("正财");
|
|
|
-
|
|
|
- int totalCount = pianCaiCount + zhengCaiCount;
|
|
|
- if (totalCount >= 2) {
|
|
|
- caiContent.append("财旺;");
|
|
|
- } else if (totalCount >= 1) {
|
|
|
- caiContent.append("财弱;");
|
|
|
- } else if (totalCount == 0) {
|
|
|
- caiContent.append("四柱无财;");
|
|
|
- }
|
|
|
- if (totalCount != 0) {
|
|
|
- if (pianCaiCount == 0) {
|
|
|
- caiContent.append("八字无偏财,尽量不要做投机性生意;");
|
|
|
- }
|
|
|
- if (zhengCaiCount == 0) {
|
|
|
- caiContent.append("八字没有正财,有偏财,投资要谨慎,不要借贷;");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- if (caiContent.toString().contains("身强") && caiContent.toString().contains("财旺")) {
|
|
|
- caiContent.append("遇大运流年,见食伤财才则发大财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有食伤财才。");
|
|
|
- } else if (caiContent.toString().contains("身强") && caiContent.toString().contains("财弱")) {
|
|
|
- caiContent.append("遇大运流年,见食伤财才则发中财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有食伤财才。");
|
|
|
- } else if (caiContent.toString().contains("身弱") && caiContent.toString().contains("财旺")) {
|
|
|
- caiContent.append("遇大运流年,见印枭比劫则发大财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有印枭比劫。");
|
|
|
- } else if (caiContent.toString().contains("身弱") && caiContent.toString().contains("财弱")) {
|
|
|
- caiContent.append("遇大运流年,见印枭比劫则发中财。年份为" + xiYongOld.get(0) + "、" + xiYongOld.get(1) + "均带有印枭比劫。");
|
|
|
- } else if (caiContent.toString().contains("身强") && caiContent.toString().contains("四柱无财")) {
|
|
|
- caiContent.append("遇大运流年,见财则有钱进账,但不长久。");
|
|
|
- } else if (caiContent.toString().contains("身弱") && caiContent.toString().contains("四柱无财")) {
|
|
|
- caiContent.append("不好发财,俗称和尚命。");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- String monthZhi = ganZhiRowVoList.get(3).getName();
|
|
|
- String nian = shiShenConfig.getWuGui().get(monthZhi);
|
|
|
- String shengXiao = shiShenConfig.getWuGuiShengXiao().get(monthZhi);
|
|
|
-
|
|
|
- caiContent.append("遇到" + shengXiao + "年(" + nian + "年),遇五鬼神煞比较容易得到偏财,但是同时也较易惹上小人、是非和灾害等。五鬼煞入命,会出现莫名其妙无风起浪的危险,因此一定要防患于未然,于官府当中更应该提防,在交友方面也应该小心,否则会有刑讼官司、破财牢狱之灾。");
|
|
|
-
|
|
|
- return caiContent.toString();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public String getQingGanYun(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 qiangGanContent = new StringBuffer();
|
|
|
-
|
|
|
- String sex = ganZhiRowVoList.get(4).getShiShen1();
|
|
|
- String five = ganZhiRowVoList.get(5).getFive();
|
|
|
- if ("元男".equals(sex)) {
|
|
|
- //正财、偏财为男人的老婆
|
|
|
- int zhengCaiCount = shiShenCountMap.get("正财");
|
|
|
- int pianCaiCount = shiShenCountMap.get("偏财");
|
|
|
- int total = zhengCaiCount + pianCaiCount;
|
|
|
- if (total == 0) {
|
|
|
- qiangGanContent.append("男人四柱无财,找老婆会比较困难,自己也可能不太想结婚。");
|
|
|
- }
|
|
|
-
|
|
|
- if (qr.contains("强")) {
|
|
|
- qiangGanContent.append("夫妻星为喜用,婚后夫妻关系还不错;");
|
|
|
- } else if (qr.contains("弱")) {
|
|
|
- qiangGanContent.append("夫妻星为忌凶,婚后夫妻关系不是很幸福;");
|
|
|
- }
|
|
|
- if (qr.contains("强") && xiYongOld.contains(five)) { //强喜
|
|
|
- qiangGanContent.append("而且能够得到老婆家族的帮助。");
|
|
|
- } else if (qr.contains("弱") && xiYongOld.contains(five)) { //弱喜
|
|
|
- qiangGanContent.append("不过是能够得到老婆家族的帮助。");
|
|
|
- } else if (qr.contains("强") && !xiYongOld.contains(five)) { //强忌
|
|
|
- qiangGanContent.append("但能不太能够得到老婆家族的帮助。");
|
|
|
- } else if (qr.contains("弱") && !xiYongOld.contains(five)) { //弱忌
|
|
|
- qiangGanContent.append("也能不太能够得到老婆家族的帮助。");
|
|
|
- }
|
|
|
-
|
|
|
- String dayGanShiShen1 = ganZhiRowVoList.get(5).getShiShen1();
|
|
|
- String dayGanShiShen2 = ganZhiRowVoList.get(5).getShiShen2();
|
|
|
- String dayGanShiShen3 = ganZhiRowVoList.get(5).getShiShen3();
|
|
|
-
|
|
|
- if (dayGanShiShen1 != null && dayGanShiShen1.contains("劫财")) {
|
|
|
- qiangGanContent.append("在夫妻宫本气坐落劫财,有克妻之相,会影响到夫妻感情。");
|
|
|
- }
|
|
|
- if (dayGanShiShen2 != null && dayGanShiShen2.contains("劫财")) {
|
|
|
- qiangGanContent.append("在夫妻宫中气坐落劫财,有中度克妻之相,会影响到夫妻感情。");
|
|
|
- }
|
|
|
- if (dayGanShiShen3 != null && dayGanShiShen3.contains("劫财")) {
|
|
|
- qiangGanContent.append("在夫妻宫余气坐落劫财,有轻微克妻之相,会影响到夫妻感情。");
|
|
|
- }
|
|
|
-
|
|
|
- if (dayGanShiShen1 != null && dayGanShiShen1.contains("伤官")) {
|
|
|
- qiangGanContent.append("在夫妻宫本气坐落劫财,夫妻不和睦之相。");
|
|
|
- }
|
|
|
- if (dayGanShiShen2 != null && dayGanShiShen2.contains("伤官")) {
|
|
|
- qiangGanContent.append("在夫妻宫中气坐落劫财,夫妻不和睦之相。");
|
|
|
- }
|
|
|
- if (dayGanShiShen3 != null && dayGanShiShen3.contains("伤官")) {
|
|
|
- qiangGanContent.append("在夫妻宫余气坐落劫财,夫妻不和睦之相。");
|
|
|
- }
|
|
|
-
|
|
|
- if (dayGanShiShen1 != null && dayGanShiShen1.contains("偏印")) {
|
|
|
- qiangGanContent.append("在夫妻宫本气坐落偏印,夫妻不和睦之相。");
|
|
|
- }
|
|
|
- if (dayGanShiShen2 != null && dayGanShiShen2.contains("偏印")) {
|
|
|
- qiangGanContent.append("在夫妻宫中气坐落偏印,夫妻不和睦之相。");
|
|
|
- }
|
|
|
- if (dayGanShiShen3 != null && dayGanShiShen3.contains("偏印")) {
|
|
|
- qiangGanContent.append("在夫妻宫余气坐落偏印,夫妻不和睦之相。");
|
|
|
- }
|
|
|
-
|
|
|
- String yearGan = ganZhiRowVoList.get(0).getName();
|
|
|
- String monthGan = ganZhiRowVoList.get(2).getName();
|
|
|
- String dayGan = ganZhiRowVoList.get(4).getName();
|
|
|
- String timeGan = ganZhiRowVoList.get(6).getName();
|
|
|
-
|
|
|
- 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(yearGanYY) && "阴".equals(monthGanYY) && "阴".equals(dayGanYY) && "阴".equals(timeGanYY)) {
|
|
|
- qiangGanContent.append("男性四柱全阴,体现出较女性化,可能有同性取向的趋向。");
|
|
|
- }
|
|
|
-
|
|
|
- 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) {
|
|
|
- qiangGanContent.append("男命夫妻宫周围过多的比劫,可能出现夫妻感情不和睦的情况。");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- } else if ("元女".equals(sex)) {
|
|
|
- //正官、七杀为女人的老公
|
|
|
- int zhengCaiCount = shiShenCountMap.get("正官");
|
|
|
- int pianCaiCount = shiShenCountMap.get("七杀");
|
|
|
- int total = zhengCaiCount + pianCaiCount;
|
|
|
- if (total == 0) {
|
|
|
- qiangGanContent.append("女人四柱无官杀,找老公会比较困难,自己也不太愿意结婚。");
|
|
|
- }
|
|
|
- if (qr.contains("强")) {
|
|
|
- qiangGanContent.append("夫妻星为喜用,婚后夫妻关系还不错;");
|
|
|
- } else if (qr.contains("弱")) {
|
|
|
- qiangGanContent.append("夫妻星为忌凶,婚后夫妻关系不是很幸福;");
|
|
|
- }
|
|
|
-
|
|
|
- if (qr.contains("强") && xiYong.contains(five)) { //强喜
|
|
|
- qiangGanContent.append("而且能够得到老公家族的帮助。");
|
|
|
- } else if (qr.contains("弱") && xiYong.contains(five)) { //弱喜
|
|
|
- qiangGanContent.append("不过是能够得到老公家族的帮助。");
|
|
|
- } else if (qr.contains("强") && !xiYong.contains(five)) { //强忌
|
|
|
- qiangGanContent.append("但能不太能够得到老公家族的帮助。");
|
|
|
- } else if (qr.contains("弱") && !xiYong.contains(five)) { //弱忌
|
|
|
- qiangGanContent.append("也能不太能够得到老公家族的帮助。");
|
|
|
- }
|
|
|
-
|
|
|
- String dayGanShiShen1 = ganZhiRowVoList.get(5).getShiShen1();
|
|
|
- String dayGanShiShen2 = ganZhiRowVoList.get(5).getShiShen2();
|
|
|
- String dayGanShiShen3 = ganZhiRowVoList.get(5).getShiShen3();
|
|
|
-
|
|
|
- if (dayGanShiShen1 != null && dayGanShiShen1.contains("伤官")) {
|
|
|
- qiangGanContent.append("在夫妻宫本气坐落伤官,有克夫之相,会影响到夫妻感情。");
|
|
|
- }
|
|
|
- if (dayGanShiShen2 != null && dayGanShiShen2.contains("伤官")) {
|
|
|
- qiangGanContent.append("在夫妻宫中气坐落伤官,有中度克夫之相,会影响到夫妻感情。");
|
|
|
- }
|
|
|
- if (dayGanShiShen3 != null && dayGanShiShen3.contains("伤官")) {
|
|
|
- qiangGanContent.append("在夫妻宫余气坐落伤官,有轻微克夫之相,会影响到夫妻感情。");
|
|
|
- }
|
|
|
-
|
|
|
- if (dayGanShiShen1 != null && dayGanShiShen1.contains("偏印")) {
|
|
|
- qiangGanContent.append("在夫妻宫本气坐落偏印,夫妻不和睦之相。");
|
|
|
- }
|
|
|
- if (dayGanShiShen2 != null && dayGanShiShen2.contains("偏印")) {
|
|
|
- qiangGanContent.append("在夫妻宫中气坐落偏印,夫妻不和睦之相。");
|
|
|
- }
|
|
|
- if (dayGanShiShen3 != null && dayGanShiShen3.contains("偏印")) {
|
|
|
- qiangGanContent.append("在夫妻宫余气坐落偏印,夫妻不和睦之相。");
|
|
|
- }
|
|
|
-
|
|
|
- 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 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(yearGanYY) && "阳".equals(monthGanYY) && "阳".equals(dayGanYY) && "阳".equals(timeGanYY)) {
|
|
|
- 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 (shiShen2 != null && shiShen2.contains("伤官")) {
|
|
|
- fuqiGongShangCount++;
|
|
|
- }
|
|
|
- if (shiShen3 != null && shiShen3.contains("伤官")) {
|
|
|
- fuqiGongShangCount++;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if(fuqiGongShangCount>=3) {
|
|
|
- qiangGanContent.append("女命夫妻宫周围过多的伤官,可能出现夫妻感情不和睦的情况。");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- int taoHuaZiCount = 0;
|
|
|
- if (shiShenConfig.getTaoHuaZi().contains(ganZhiRowVoList.get(1).getName())) {
|
|
|
- taoHuaZiCount++;
|
|
|
- }
|
|
|
- if (shiShenConfig.getTaoHuaZi().contains(ganZhiRowVoList.get(2).getName())) {
|
|
|
- taoHuaZiCount++;
|
|
|
- }
|
|
|
- if (shiShenConfig.getTaoHuaZi().contains(ganZhiRowVoList.get(3).getName())) {
|
|
|
- taoHuaZiCount++;
|
|
|
- }
|
|
|
- if (shiShenConfig.getTaoHuaZi().contains(ganZhiRowVoList.get(4).getName())) {
|
|
|
- taoHuaZiCount++;
|
|
|
- }
|
|
|
-
|
|
|
- if (taoHuaZiCount == 4) {
|
|
|
- qiangGanContent.append("地支中子午卯酉,非常之旺。桃花非常多,俗称桃花命。要小心一定因桃花引发的灾祸。");
|
|
|
- }
|
|
|
- if (taoHuaZiCount == 3) {
|
|
|
- qiangGanContent.append("地支中子午卯酉,比较旺。桃花非常多,要小心一定因桃花引发的灾祸。");
|
|
|
- }
|
|
|
- if (taoHuaZiCount == 2) {
|
|
|
- qiangGanContent.append("地支中子午卯酉,相对比较旺。流年容易遇桃花之事。");
|
|
|
- }
|
|
|
-
|
|
|
- //性冷淡
|
|
|
- String dayGanShiShen1 = ganZhiRowVoList.get(5).getShiShen1();
|
|
|
- String dayGanShiShen2 = ganZhiRowVoList.get(5).getShiShen2();
|
|
|
- String dayGanShiShen3 = ganZhiRowVoList.get(5).getShiShen3();
|
|
|
-
|
|
|
- if (dayGanShiShen1 != null && dayGanShiShen1.contains("食神")) {
|
|
|
- qiangGanContent.append("夫妻宫坐了食神,比较喜欢性爱之事。");
|
|
|
- }
|
|
|
- if (dayGanShiShen2 != null && dayGanShiShen2.contains("食神")) {
|
|
|
- qiangGanContent.append("夫妻宫坐了食神,比较喜欢性爱之事。");
|
|
|
- }
|
|
|
- if (dayGanShiShen3 != null && dayGanShiShen3.contains("食神")) {
|
|
|
- qiangGanContent.append("夫妻宫坐了食神,比较喜欢性爱之事。");
|
|
|
- }
|
|
|
-
|
|
|
- if (dayGanShiShen1 != null && (dayGanShiShen1.contains("正印") || dayGanShiShen1.contains("偏印"))) {
|
|
|
- qiangGanContent.append("夫妻宫坐了印,性欲有被克制之相,会性较冷淡。");
|
|
|
- }
|
|
|
- if (dayGanShiShen2 != null && (dayGanShiShen2.contains("正印") || dayGanShiShen2.contains("偏印"))) {
|
|
|
- qiangGanContent.append("夫妻宫坐了印,性欲有被克制之相,会性较冷淡。");
|
|
|
- }
|
|
|
- if (dayGanShiShen3 != null && (dayGanShiShen3.contains("正印") || dayGanShiShen3.contains("偏印"))) {
|
|
|
- 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("正印")) {
|
|
|
- qiangGanContent.append("月令坐了正印,性欲有被克制之相,会性较冷淡,对学业工作会花较多精力。");
|
|
|
- }
|
|
|
- if (monthGanShiShen2 != null && monthGanShiShen2.contains("正印")) {
|
|
|
- qiangGanContent.append("月令坐了正印,性欲有被克制之相,会性较冷淡,对学业工作会花较多精力。");
|
|
|
- }
|
|
|
- if (monthGanShiShen3 != null && monthGanShiShen3.contains("正印")) {
|
|
|
- qiangGanContent.append("月令坐了正印,性欲有被克制之相,会性较冷淡,对学业工作会花较多精力。");
|
|
|
- }
|
|
|
-
|
|
|
- //水主肾
|
|
|
- int shuiCount = fiveCountMap.get("水");
|
|
|
-
|
|
|
- if(shuiCount>=4) {
|
|
|
- qiangGanContent.append("八字中水主肾,水过旺,喜性爱,需要克制。");
|
|
|
- }
|
|
|
- if(shuiCount>=1 && shuiCount<=3) {
|
|
|
- qiangGanContent.append("八字中水主肾,水占了1-3个肾功能强,喜性爱。");
|
|
|
- }
|
|
|
- if(shuiCount==0){
|
|
|
- qiangGanContent.append("八字中无水,对性爱之事不是很上头,偶有乏力之相。");
|
|
|
- }
|
|
|
-
|
|
|
- return qiangGanContent.toString();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-}
|