Browse Source

添加疾病和燥湿平衡

zhangbin 1 year ago
parent
commit
e60d448f05

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

@@ -7,6 +7,7 @@ import com.miaxis.common.core.domain.Response;
 import com.miaxis.common.core.page.ResponsePageInfo;
 import com.miaxis.common.enums.BusinessTypeEnum;
 import com.miaxis.common.utils.poi.ExcelUtil;
+import com.miaxis.disease.domain.DiseasePart;
 import com.miaxis.gan.domain.GanZhi;
 import com.miaxis.gan.dto.GanZhiDto;
 import com.miaxis.gan.service.IGanZhiService;
@@ -84,6 +85,8 @@ public class GanZhiController extends BaseController{
         List<GanZhiKongWangVo> ganZhiKongWangVoList = ganZhiService.selectGanZhiKongWangList(ganZhiDto);
         Map<String,Object> riYuanQrMap = ganZhiService.getRiYuanQr(ganZhiDto);
         Map<String,Object> numberYunMap = ganZhiService.getNumberYun(riYuanQrMap);
+        Map<String,Object> zaoShiCount = ganZhiService.getZaoShiCount(ganZhiDto);
+        List<DiseasePart> diseasePartList = ganZhiService.getJiBin(ganZhiDto);
 
         GanZhiVo ganZhiVo = new GanZhiVo();
         ganZhiVo.setNongDay(lunar.getYear()+"年(生肖"+lunar.getYearShengXiao()+")"+lunar.getMonth()+"月"+lunar.getDay()+"日"+lunar.getTime()+"时");
@@ -97,6 +100,8 @@ public class GanZhiController extends BaseController{
         ganZhiVo.setSex(ganZhiDto.getSex());
         ganZhiVo.setRiYuan(riYuanQrMap);
         ganZhiVo.setNumberYunMap(numberYunMap);
+        ganZhiVo.setZaoShiMap(zaoShiCount);
+        ganZhiVo.setDiseasePartList(diseasePartList);
 
         // 输出结果
         return Response.success(ganZhiVo);

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

@@ -63,6 +63,9 @@ public class ShiShenConfig {
     //数字文案
     private Map<String, String> numberWenAn = new TreeMap<String, String>();
 
+    //燥湿平衡
+    private Map<String, String> zaoShi = new TreeMap<String, String>();
+
     @PostConstruct
     public void init() {
 
@@ -496,6 +499,12 @@ public class ShiShenConfig {
         xiNumber.put("土",numberTu);
 
 
+        //燥湿平衡
+        zaoShi.put("辰","水");
+        zaoShi.put("丑","水");
+        zaoShi.put("未","火");
+        zaoShi.put("戌","火");
+
     }
 
 

+ 52 - 0
xpgx-service/src/main/java/com/miaxis/disease/domain/DiseasePart.java

@@ -0,0 +1,52 @@
+package com.miaxis.disease.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.miaxis.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+/**
+ * 疾病部位对象 disease_part
+ *
+ * @author miaxis
+ * @date 2023-11-24
+ */
+@Data
+@TableName("disease_part")
+@ApiModel(value = "DiseasePart", description = "疾病部位对象 disease_part")
+public class DiseasePart {
+    private static final long serialVersionUID = 1L;
+
+    /** ID */
+    @TableId(value = "id")
+    @ApiModelProperty(value = "ID")
+    private Long id;
+
+    /** 部位 */
+    @Excel(name = "部位")
+    @TableField("part")
+    @ApiModelProperty(value = "部位")
+    private String part;
+
+    /** 1男 2女 3不限 */
+    @Excel(name = "1男 2女 3不限")
+    @TableField("sex")
+    @ApiModelProperty(value = "1男 2女 3不限")
+    private Integer sex;
+
+    /** 症状 */
+    @Excel(name = "症状")
+    @TableField("symp")
+    @ApiModelProperty(value = "症状")
+    private String symp;
+
+    /** 1轻症、2严重 */
+    @Excel(name = "1轻症、2严重")
+    @TableField("degree")
+    @ApiModelProperty(value = "1轻症、2严重")
+    private String degree;
+
+
+}

+ 36 - 0
xpgx-service/src/main/java/com/miaxis/disease/dto/DiseasePartDto.java

@@ -0,0 +1,36 @@
+package com.miaxis.disease.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 疾病部位对象 disease_part
+ *
+ * @author miaxis
+ * @date 2023-11-24
+ */
+@Data
+@ApiModel(value = "DiseasePartDto", description = "疾病部位对象 disease_part")
+public class DiseasePartDto {
+
+    /** 部位 */
+    @ApiModelProperty(value = "部位")
+    private List<String> parts;
+
+    /** 1男 2女 3不限 */
+    @ApiModelProperty(value = "1男 2女 3不限")
+    private String sex;
+
+    /** 症状 */
+    @ApiModelProperty(value = "症状")
+    private String symptom;
+
+    /** 1轻症、2严重 */
+    @ApiModelProperty(value = "1轻症、2严重")
+    private String degree;
+
+
+}

+ 23 - 0
xpgx-service/src/main/java/com/miaxis/disease/mapper/DiseasePartMapper.java

@@ -0,0 +1,23 @@
+package com.miaxis.disease.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.miaxis.disease.domain.DiseasePart;
+import com.miaxis.disease.dto.DiseasePartDto;
+
+/**
+ * 疾病部位Mapper接口
+ *
+ * @author miaxis
+ * @date 2023-11-24
+ */
+public interface DiseasePartMapper extends BaseMapper<DiseasePart> {
+    /**
+     * 查询疾病部位列表
+     *
+     * @param diseasePart 疾病部位
+     * @return 疾病部位集合
+     */
+    List<DiseasePart> selectDiseasePartList(DiseasePartDto diseasePart);
+
+}

+ 21 - 0
xpgx-service/src/main/java/com/miaxis/disease/service/IDiseasePartService.java

@@ -0,0 +1,21 @@
+package com.miaxis.disease.service;
+
+import java.util.List;
+import com.miaxis.disease.domain.DiseasePart;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 疾病部位Service接口
+ *
+ * @author miaxis
+ * @date 2023-11-24
+ */
+public interface IDiseasePartService extends IService<DiseasePart>{
+    /**
+     * 查询疾病部位列表
+     *
+     * @param diseasePart 疾病部位
+     * @return 疾病部位集合
+     */
+    public List<DiseasePart> selectDiseasePartList(DiseasePart diseasePart);
+}

+ 35 - 0
xpgx-service/src/main/java/com/miaxis/disease/service/impl/DiseasePartServiceImpl.java

@@ -0,0 +1,35 @@
+package com.miaxis.disease.service.impl;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.apache.commons.lang3.StringUtils;
+import com.miaxis.disease.mapper.DiseasePartMapper;
+import com.miaxis.disease.domain.DiseasePart;
+import com.miaxis.disease.service.IDiseasePartService;
+
+/**
+ * 疾病部位Service业务层处理
+ *
+ * @author miaxis
+ * @date 2023-11-24
+ */
+@Service
+public class DiseasePartServiceImpl extends ServiceImpl<DiseasePartMapper, DiseasePart> implements IDiseasePartService {
+    @Autowired
+    private DiseasePartMapper diseasePartMapper;
+
+    /**
+     * 查询疾病部位列表
+     *
+     * @param diseasePart 疾病部位
+     * @return 疾病部位
+     */
+    @Override
+    public List<DiseasePart> selectDiseasePartList(DiseasePart diseasePart){
+        return diseasePartMapper.selectDiseasePartList(diseasePart);
+    }
+}

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

@@ -1,6 +1,7 @@
 package com.miaxis.gan.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.miaxis.disease.domain.DiseasePart;
 import com.miaxis.gan.domain.GanZhi;
 import com.miaxis.gan.dto.GanZhiDto;
 import com.miaxis.gan.vo.GanZhiKongWangVo;
@@ -39,7 +40,12 @@ public interface IGanZhiService extends IService<GanZhi>{
      */
     Map<String,Object> getRiYuanQr(GanZhiDto ganZhiDto);
 
-    Map<String, Object> getBinZheng(GanZhiDto ganZhiDto);
+    /**
+     * 疾病
+     * @param ganZhiDto
+     * @return
+     */
+    List<DiseasePart> getJiBin(GanZhiDto ganZhiDto);
 
     /**
      * 返回喜用数字
@@ -49,4 +55,12 @@ public interface IGanZhiService extends IService<GanZhi>{
     Map<String, Object> getNumberYun(Map<String, Object> qr);
 
     Map<String,Integer> getGanZhiRowVoCount(GanZhiDto ganZhiDto);
+
+
+    /**
+     * 潮湿平衡
+     * @param ganZhiDto
+     * @return
+     */
+    Map<String, Object> getZaoShiCount(GanZhiDto ganZhiDto);
 }

+ 272 - 68
xpgx-service/src/main/java/com/miaxis/gan/service/impl/GanZhiServiceImpl.java

@@ -4,6 +4,9 @@ import java.util.*;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.miaxis.common.config.ShiShenConfig;
+import com.miaxis.disease.domain.DiseasePart;
+import com.miaxis.disease.dto.DiseasePartDto;
+import com.miaxis.disease.mapper.DiseasePartMapper;
 import com.miaxis.gan.dto.GanZhiDto;
 import com.miaxis.gan.vo.GanZhiKongWangVo;
 import com.miaxis.gan.vo.GanZhiNaYinVo;
@@ -31,6 +34,9 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
     @Autowired
     private NumberYunMapper numberYunMapper;
 
+    @Autowired
+    private DiseasePartMapper diseasePartMapper;
+
     @Autowired
     private ShiShenConfig shiShenConfig;
 
@@ -49,7 +55,6 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
     public List<GanZhiRowVo> selectGanZhiRowVoList(GanZhiDto ganZhiDto) {
 
         List<GanZhiRowVo> list = this.getGanZhiRowVoList(ganZhiDto);
-        System.out.println(list);
         if (ganZhiDto.getSex() == 1) {
             list.get(4).setShiShen1("元男");
         } else if (ganZhiDto.getSex() == 2) {
@@ -99,7 +104,7 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 if (list.get(4).getName().equals(biJian)) { //比对出比肩
                     list.get(i).setShiShen1("比肩");
                 }
-                if (list.get(4).equals(pianCai)) { //比对出偏财
+                if (list.get(4).getName().equals(pianCai)) { //比对出偏财
                     list.get(i).setShiShen1("偏财");
                 }
 
@@ -117,13 +122,13 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 String zhengYinYuQi = (yuQi != null) ? shiShenConfig.getZhengYin().get(yuQi) : null; //正印余气
 
                 if (StringUtils.isNotEmpty(zhengYinBenQi) && list.get(4).getName().equals(zhengYinBenQi)) { //比对出正印
-                    list.get(i).setShiShen1(benQi + "(正印)");
+                    list.get(i).setShiShen1(benQi + "(正印)");
                 }
                 if (StringUtils.isNotEmpty(zhengYinZhongQi) && list.get(4).getName().equals(zhengYinZhongQi)) { //比对出正印
-                    list.get(i).setShiShen2(zhongQi + "(正印)");
+                    list.get(i).setShiShen2(zhongQi + "(正印)");
                 }
                 if (StringUtils.isNotEmpty(zhengYinYuQi) && list.get(4).getName().equals(zhengYinYuQi)) { //比对出正印
-                    list.get(i).setShiShen3(yuQi + "(正印)");
+                    list.get(i).setShiShen3(yuQi + "(正印)");
                 }
 
 
@@ -133,13 +138,13 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 String shiShenYuQi = (yuQi != null) ? shiShenConfig.getShiShen().get(yuQi) : null; //食神余气
 
                 if (StringUtils.isNotEmpty(shiShenBenQi) && list.get(4).getName().equals(shiShenBenQi)) { //比对出食神
-                    list.get(i).setShiShen1(benQi + "(食神)");
+                    list.get(i).setShiShen1(benQi + "(食神)");
                 }
                 if (StringUtils.isNotEmpty(shiShenZhongQi) && list.get(4).getName().equals(shiShenZhongQi)) { //比对出食神
-                    list.get(i).setShiShen2(zhongQi + "(食神)");
+                    list.get(i).setShiShen2(zhongQi + "(食神)");
                 }
                 if (StringUtils.isNotEmpty(shiShenYuQi) && list.get(4).getName().equals(shiShenYuQi)) { //比对出食神
-                    list.get(i).setShiShen3(yuQi + "(食神)");
+                    list.get(i).setShiShen3(yuQi + "(食神)");
                 }
 
                 /*------------------------正官-----------------------------*/
@@ -148,13 +153,13 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 String zhengGuanYuQi = (yuQi != null) ? shiShenConfig.getZhengGuan().get(yuQi) : null; //正官 余气
 
                 if (StringUtils.isNotEmpty(zhengGuanBenQi) && list.get(4).getName().equals(zhengGuanBenQi)) { //比对出正官
-                    list.get(i).setShiShen1(benQi + "(正官)");
+                    list.get(i).setShiShen1(benQi + "(正官)");
                 }
                 if (StringUtils.isNotEmpty(zhengGuanZhongQi) && list.get(4).getName().equals(zhengGuanZhongQi)) { //比对出正官
-                    list.get(i).setShiShen2(zhongQi + "(正官)");
+                    list.get(i).setShiShen2(zhongQi + "(正官)");
                 }
                 if (StringUtils.isNotEmpty(zhengGuanYuQi) && list.get(4).getName().equals(zhengGuanYuQi)) { //比对出正官
-                    list.get(i).setShiShen3(yuQi + "(正官)");
+                    list.get(i).setShiShen3(yuQi + "(正官)");
                 }
 
                 /*------------------------正财-----------------------------*/
@@ -163,13 +168,13 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 String zhengCaiYuQi = (yuQi != null) ? shiShenConfig.getZhengCai().get(yuQi) : null; //正财余气
 
                 if (StringUtils.isNotEmpty(zhengCaiBenQi) && list.get(4).getName().equals(zhengCaiBenQi)) { //比对出正财
-                    list.get(i).setShiShen1(benQi + "(正财)");
+                    list.get(i).setShiShen1(benQi + "(正财)");
                 }
                 if (StringUtils.isNotEmpty(zhengCaiZhongQi) && list.get(4).getName().equals(zhengCaiZhongQi)) { //比对出正财
-                    list.get(i).setShiShen2(zhongQi + "(正财)");
+                    list.get(i).setShiShen2(zhongQi + "(正财)");
                 }
                 if (StringUtils.isNotEmpty(zhengCaiYuQi) && list.get(4).getName().equals(zhengCaiYuQi)) { //比对出正财
-                    list.get(i).setShiShen3(yuQi + "(正财)");
+                    list.get(i).setShiShen3(yuQi + "(正财)");
                 }
 
 
@@ -179,13 +184,13 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 String qiShaYuQi = (yuQi != null) ? shiShenConfig.getQiSha().get(yuQi) : null; //七杀余气
 
                 if (StringUtils.isNotEmpty(qiShaBenQi) && list.get(4).getName().equals(qiShaBenQi)) { //比对出七杀
-                    list.get(i).setShiShen1(benQi + "(七杀)");
+                    list.get(i).setShiShen1(benQi + "(七杀)");
                 }
                 if (StringUtils.isNotEmpty(qiShaZhongQi) && list.get(4).getName().equals(qiShaZhongQi)) { //比对出七杀
-                    list.get(i).setShiShen2(zhongQi + "(七杀)");
+                    list.get(i).setShiShen2(zhongQi + "(七杀)");
                 }
                 if (StringUtils.isNotEmpty(qiShaYuQi) && list.get(4).getName().equals(qiShaYuQi)) { //比对出七杀
-                    list.get(i).setShiShen3(yuQi + "(七杀)");
+                    list.get(i).setShiShen3(yuQi + "(七杀)");
                 }
 
 
@@ -195,13 +200,13 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 String pianYinYuQi = (yuQi != null) ? shiShenConfig.getPianYin().get(yuQi) : null; //偏印余气
 
                 if (StringUtils.isNotEmpty(pianYinBenQi) && list.get(4).getName().equals(pianYinBenQi)) { //比对出七杀
-                    list.get(i).setShiShen1(benQi + "(偏印)");
+                    list.get(i).setShiShen1(benQi + "(偏印)");
                 }
                 if (StringUtils.isNotEmpty(pianYinZhongQi) && list.get(4).getName().equals(pianYinZhongQi)) { //比对出七杀
-                    list.get(i).setShiShen2(zhongQi + "(偏印)");
+                    list.get(i).setShiShen2(zhongQi + "(偏印)");
                 }
                 if (StringUtils.isNotEmpty(pianYinYuQi) && list.get(4).getName().equals(pianYinYuQi)) { //比对出七杀
-                    list.get(i).setShiShen3(yuQi + "(偏印)");
+                    list.get(i).setShiShen3(yuQi + "(偏印)");
                 }
 
                 /*------------------------伤官-----------------------------*/
@@ -210,13 +215,13 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 String shangGuanYuQi = (yuQi != null) ? shiShenConfig.getShangGuan().get(yuQi) : null; //伤官余气
 
                 if (StringUtils.isNotEmpty(shangGuanBenQi) && list.get(4).getName().equals(shangGuanBenQi)) { //比对出伤官
-                    list.get(i).setShiShen1(benQi + "(伤官)");
+                    list.get(i).setShiShen1(benQi + "(伤官)");
                 }
                 if (StringUtils.isNotEmpty(shangGuanZhongQi) && list.get(4).getName().equals(shangGuanZhongQi)) { //比对出伤官
-                    list.get(i).setShiShen2(zhongQi + "(伤官)");
+                    list.get(i).setShiShen2(zhongQi + "(伤官)");
                 }
                 if (StringUtils.isNotEmpty(shangGuanYuQi) && list.get(4).getName().equals(shangGuanYuQi)) { //比对出伤官
-                    list.get(i).setShiShen3(yuQi + "(伤官)");
+                    list.get(i).setShiShen3(yuQi + "(伤官)");
                 }
 
 
@@ -226,13 +231,13 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 String jieCaiYuQi = (yuQi != null) ? shiShenConfig.getJieCai().get(yuQi) : null; //劫财余气
 
                 if (StringUtils.isNotEmpty(jieCaiBenQi) && list.get(4).getName().equals(jieCaiBenQi)) { //比对出劫财
-                    list.get(i).setShiShen1(benQi + "(劫财)");
+                    list.get(i).setShiShen1(benQi + "(劫财)");
                 }
                 if (StringUtils.isNotEmpty(jieCaiZhongQi) && list.get(4).getName().equals(jieCaiZhongQi)) { //比对出劫财
-                    list.get(i).setShiShen2(zhongQi + "(劫财)");
+                    list.get(i).setShiShen2(zhongQi + "(劫财)");
                 }
                 if (StringUtils.isNotEmpty(jieCaiYuQi) && list.get(4).getName().equals(jieCaiYuQi)) { //比对出劫财
-                    list.get(i).setShiShen3(yuQi + "(劫财)");
+                    list.get(i).setShiShen3(yuQi + "(劫财)");
                 }
 
                 /*------------------------比肩-----------------------------*/
@@ -241,13 +246,13 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 String biJianYuQi = (yuQi != null) ? shiShenConfig.getBiJian().get(yuQi) : null; //比肩余气
 
                 if (StringUtils.isNotEmpty(biJianBenQi) && list.get(4).getName().equals(biJianBenQi)) {
-                    list.get(i).setShiShen1(benQi + "(比肩)");
+                    list.get(i).setShiShen1(benQi + "(比肩)");
                 }
                 if (StringUtils.isNotEmpty(biJianZhongQi) && list.get(4).getName().equals(biJianZhongQi)) {
-                    list.get(i).setShiShen2(zhongQi + "(比肩)");
+                    list.get(i).setShiShen2(zhongQi + "(比肩)");
                 }
                 if (StringUtils.isNotEmpty(biJianYuQi) && list.get(4).getName().equals(biJianYuQi)) {
-                    list.get(i).setShiShen3(yuQi + "(比肩)");
+                    list.get(i).setShiShen3(yuQi + "(比肩)");
                 }
 
                 /*------------------------偏财-----------------------------*/
@@ -256,13 +261,13 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
                 String pianCaiYuQi = (yuQi != null) ? shiShenConfig.getPianCai().get(yuQi) : null; //偏财余气
 
                 if (StringUtils.isNotEmpty(pianCaiBenQi) && list.get(4).getName().equals(pianCaiBenQi)) { //比对出偏财
-                    list.get(i).setShiShen1(benQi + "(偏财)");
+                    list.get(i).setShiShen1(benQi + "(偏财)");
                 }
                 if (StringUtils.isNotEmpty(pianCaiZhongQi) && list.get(4).getName().equals(pianCaiZhongQi)) { //比对出偏财
-                    list.get(i).setShiShen2(zhongQi + "(偏财)");
+                    list.get(i).setShiShen2(zhongQi + "(偏财)");
                 }
                 if (StringUtils.isNotEmpty(pianCaiYuQi) && list.get(4).getName().equals(pianCaiYuQi)) { //比对出偏财
-                    list.get(i).setShiShen3(yuQi + "(偏财)");
+                    list.get(i).setShiShen3(yuQi + "(偏财)");
                 }
 
             }
@@ -345,7 +350,7 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
     }
 
     @Override
-    public Map<String,Object> getRiYuanQr(GanZhiDto ganZhiDto) {
+    public Map<String, Object> getRiYuanQr(GanZhiDto ganZhiDto) {
         /*-------------------日元身强身弱---------------------*/
         List<GanZhiRowVo> list = this.getGanZhiRowVoList(ganZhiDto);
         int yearGanQR = ShiShenConfig.generateRelationship(list.get(4).getFive(), list.get(0).getFive());
@@ -392,48 +397,188 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
         String xi1 = xiYong.get(0);
         String xi2 = xiYong.get(1);
 
-        Map<String,Integer> fiveCountMap = this.getGanZhiRowVoCount(ganZhiDto);
+        Map<String, Integer> fiveCountMap = this.getGanZhiRowVoCount(ganZhiDto);
         int xi1Count = fiveCountMap.get(xi1);
         int xi2Count = fiveCountMap.get(xi2);
 
-        if(xi1Count>3){
+        if (xi1Count > 3) {
             xiYong.remove(xi1);
         }
-        if(xi2Count>3){
+        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);
+        Map<String, Object> qr = new TreeMap<String, Object>();
+        qr.put("score", score);
+        qr.put("qr", fiveQr);
+        qr.put("xiYong", xiYong);
 
         return qr;
     }
 
 
     @Override
-    public Map<String, Object> getBinZheng(GanZhiDto ganZhiDto){
+    public List<DiseasePart> getJiBin(GanZhiDto ganZhiDto) {
         List<GanZhiRowVo> ganZhiRowVoList = this.selectGanZhiRowVoList(ganZhiDto);
         String sex = ganZhiRowVoList.get(4).getShiShen1();
 
-        if("元男".equals(sex)){  //男性疾病
+        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("七杀".indexOf(yearGanShiShen)>0) { //存在七杀
+            partZ.add("头");
+        }
+        if("偏印".indexOf(yearGanShiShen)>0) { //存在七杀
+            partQ.add("头");
+        }
+        //地支 脖子
+        String yearZhiShiShen1 = ganZhiRowVoList.get(1).getShiShen1(); //脖子
+        String yearZhiShiShen2 = ganZhiRowVoList.get(1).getShiShen2(); //脖子
+        String yearZhiShiShen3 = ganZhiRowVoList.get(1).getShiShen3(); //脖子
+        if("七杀".indexOf(yearZhiShiShen1)>0) { //存在七杀
+            partZ.add("脖子");
+        }
+        if("七杀".indexOf(yearZhiShiShen2)>0) { //存在七杀
+            partZ.add("脖子");
+        }
+        if("七杀".indexOf(yearZhiShiShen3)>0) { //存在七杀
+            partZ.add("脖子");
+        }
+        if("偏印".indexOf(yearZhiShiShen1)>0) { //存在偏印
+            partQ.add("脖子");
+        }
+        if("偏印".indexOf(yearZhiShiShen2)>0) { //存在偏印
+            partQ.add("脖子");
+        }
+        if("偏印".indexOf(yearZhiShiShen3)>0) { //存在偏印
+            partQ.add("脖子");
+        }
 
-        } else if ("元女".equals(sex)){  //女性疾病
+        /*--------------------------月柱---------------------------*/
 
+        //天干 胸部
+        String monthGanShiShen = ganZhiRowVoList.get(2).getShiShen1();
+        if("七杀".indexOf(monthGanShiShen)>0) { //存在七杀
+            partZ.add("胸部");
+        }
+        if("偏印".indexOf(monthGanShiShen)>0) { //存在七杀
+            partQ.add("胸部");
+        }
+        //地支 脖子
+        String monthZhiShiShen1 = ganZhiRowVoList.get(3).getShiShen1();
+        String monthZhiShiShen2 = ganZhiRowVoList.get(3).getShiShen2();
+        String monthZhiShiShen3 = ganZhiRowVoList.get(3).getShiShen3();
+        if("七杀".indexOf(monthZhiShiShen1)>0) { //存在七杀
+            partZ.add("腹部");
+        }
+        if("七杀".indexOf(monthZhiShiShen2)>0) { //存在七杀
+            partZ.add("腹部");
+        }
+        if("七杀".indexOf(monthZhiShiShen3)>0) { //存在七杀
+            partZ.add("腹部");
+        }
+        if("偏印".indexOf(monthZhiShiShen1)>0) { //存在偏印
+            partQ.add("腹部");
+        }
+        if("偏印".indexOf(monthZhiShiShen2)>0) { //存在偏印
+            partQ.add("腹部");
+        }
+        if("偏印".indexOf(monthZhiShiShen3)>0) { //存在偏印
+            partQ.add("腹部");
         }
 
+        /*--------------------------日柱---------------------------*/
+        //天干
+        String dayGanShiShen = ganZhiRowVoList.get(4).getShiShen1();
+        if("七杀".indexOf(dayGanShiShen)>0) { //存在七杀
+            partZ.add("小腹");
+        }
+        if("偏印".indexOf(dayGanShiShen)>0) { //存在七杀
+            partQ.add("小腹");
+        }
+        //地支 脖子
+        String dayZhiShiShen1 = ganZhiRowVoList.get(5).getShiShen1();
+        String dayZhiShiShen2 = ganZhiRowVoList.get(5).getShiShen2();
+        String dayZhiShiShen3 = ganZhiRowVoList.get(5).getShiShen3();
+        if("七杀".indexOf(dayZhiShiShen1)>0) { //存在七杀
+            partZ.add("屁股");
+        }
+        if("七杀".indexOf(dayZhiShiShen2)>0) { //存在七杀
+            partZ.add("屁股");
+        }
+        if("七杀".indexOf(dayZhiShiShen3)>0) { //存在七杀
+            partZ.add("屁股");
+        }
+        if("偏印".indexOf(dayZhiShiShen1)>0) { //存在偏印
+            partQ.add("屁股");
+        }
+        if("偏印".indexOf(dayZhiShiShen2)>0) { //存在偏印
+            partQ.add("屁股");
+        }
+        if("偏印".indexOf(dayZhiShiShen3)>0) { //存在偏印
+            partQ.add("屁股");
+        }
 
-        ganZhiRowVoList.get(0); //头
-        ganZhiRowVoList.get(1); //脖子
-        ganZhiRowVoList.get(2); //胸部
-        ganZhiRowVoList.get(3); //腹部
-        ganZhiRowVoList.get(4); //小腹
-        ganZhiRowVoList.get(5); //屁股
-        ganZhiRowVoList.get(6); //大腿
-        ganZhiRowVoList.get(7); //小腿脚部
+        /*--------------------------时柱---------------------------*/
+        //天干
+//        String timeGanShiShen = ganZhiRowVoList.get(6).getShiShen1();
+//        if("七杀".indexOf(timeGanShiShen)>0) { //存在七杀
+//            partZ.add("小腹");
+//        }
+//        if("偏印".indexOf(timeGanShiShen)>0) { //存在七杀
+//            partQ.add("小腹");
+//        }
+//        //地支 脖子
+//        String timeZhiShiShen1 = ganZhiRowVoList.get(7).getShiShen1();
+//        String timeZhiShiShen2 = ganZhiRowVoList.get(7).getShiShen2();
+//        String timeZhiShiShen3 = ganZhiRowVoList.get(7).getShiShen3();
+//        if("七杀".indexOf(timeZhiShiShen1)>0) { //存在七杀
+//            partZ.add("小腿");
+//        }
+//        if("七杀".indexOf(timeZhiShiShen2)>0) { //存在七杀
+//            partZ.add("小腿");
+//        }
+//        if("七杀".indexOf(timeZhiShiShen3)>0) { //存在七杀
+//            partZ.add("小腿");
+//        }
+//        if("偏印".indexOf(timeZhiShiShen1)>0) { //存在偏印
+//            partQ.add("小腿");
+//        }
+//        if("偏印".indexOf(timeZhiShiShen2)>0) { //存在偏印
+//            partQ.add("小腿");
+//        }
+//        if("偏印".indexOf(timeZhiShiShen3)>0) { //存在偏印
+//            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 = diseasePartMapper.selectDiseasePartList(diseasePartZDto);
+//        List<DiseasePart> diseasePartZList = diseasePartMapper.selectDiseasePartList(diseasePartZDto);
+//        diseasePartQList.addAll(diseasePartZList);
 
         return null;
     }
@@ -445,7 +590,7 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
         List<String> numberList = new ArrayList<String>();
         List<String> xiYong = (List<String>) qr.get("xiYong");
 
-        for (int i = 0; i < xiYong.size() ; i++) {
+        for (int i = 0; i < xiYong.size(); i++) {
             List<String> numList = shiShenConfig.getXiNumber().get(xiYong.get(i));
             numberList.addAll(numList);
         }
@@ -461,17 +606,14 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
         String numbers = joiner.toString();
 
 
-        Map<String,Object> resultMap = new TreeMap<String,Object>();
-        resultMap.put("numberYuns",numbers);
-        resultMap.put("numberYunList",numberYunList);
+        Map<String, Object> resultMap = new TreeMap<String, Object>();
+        resultMap.put("numberYuns", numbers);
+        resultMap.put("numberYunList", numberYunList);
 
         return resultMap;
     }
 
 
-
-
-
     /**
      * 干支组装
      *
@@ -564,26 +706,88 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
 
     /**
      * 获取五行数量
+     *
      * @param ganZhiDto
      * @return
      */
     @Override
-    public Map<String,Integer> getGanZhiRowVoCount(GanZhiDto ganZhiDto) {
+    public Map<String, Integer> getGanZhiRowVoCount(GanZhiDto ganZhiDto) {
 
-        Map<String,Integer> fiveCount = new TreeMap<String,Integer>();
-        fiveCount.put("木",0);
-        fiveCount.put("火",0);
-        fiveCount.put("土",0);
-        fiveCount.put("金",0);
-        fiveCount.put("水",0);
+        Map<String, Integer> fiveCount = new TreeMap<String, Integer>();
+        fiveCount.put("木", 0);
+        fiveCount.put("火", 0);
+        fiveCount.put("土", 0);
+        fiveCount.put("金", 0);
+        fiveCount.put("水", 0);
 
         List<GanZhiRowVo> list = this.getGanZhiRowVoList(ganZhiDto);
-        for (int i = 0; i < list.size() ; i++) {
+        for (int i = 0; i < list.size(); i++) {
             String five = list.get(i).getFive();
-            Integer fiveC = fiveCount.get(five)+1;
-            fiveCount.put(five,fiveC);
+            Integer fiveC = fiveCount.get(five) + 1;
+            fiveCount.put(five, fiveC);
         }
         return fiveCount;
     }
 
+
+    /**
+     * 潮湿平衡
+     *
+     * @param ganZhiDto
+     * @return
+     */
+    @Override
+    public Map<String, Object> getZaoShiCount(GanZhiDto ganZhiDto) {
+        List<GanZhiRowVo> list = this.getGanZhiRowVoList(ganZhiDto);
+
+        Map<String, Integer> fiveCount = this.getGanZhiRowVoCount(ganZhiDto);
+        int huoCount = fiveCount.get("火");
+        int shuiCount = fiveCount.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 = fiveCount.get("火") + 1;
+                        fiveCount.put("火", fiveC);
+                    }
+                } else if (huoCount < shuiCount) {
+                    String name = list.get(i).getName();
+                    if("辰".equals(name) || "丑".equals(name)) {
+                        Integer fiveC = fiveCount.get("水") + 1;
+                        fiveCount.put("水", fiveC);
+                    }
+                }
+            }
+        }
+        fiveCount.remove("土");
+        fiveCount.remove("金");
+        fiveCount.remove("木");
+
+
+        int huoCount2 = fiveCount.get("火");
+        int shuiCoun2 = fiveCount.get("水");
+
+        Map<String,Object> zaoShiMap = new TreeMap<String,Object>();
+        zaoShiMap.putAll(fiveCount);
+
+
+        if(huoCount2-shuiCoun2>=2) {  //火过旺
+            zaoShiMap.put("jieshi","过于干燥,火特别多,性情比较暴躁,容易上火,内心上火容易产生无名火,容易被“点燃”生气,身体也容易上火。");
+        }  else if (huoCount2-shuiCoun2==1) { //火轻微过旺
+            zaoShiMap.put("jieshi","偏干燥,火特别多,性情相对比较急躁。");
+        }  else if (huoCount2-shuiCoun2<=-2) {
+            zaoShiMap.put("jieshi","过于湿润,大便不成形,湿气太重了,比较会容易肚子,手脚冰凉,气血不活。");
+        } else if (huoCount2-shuiCoun2==-1) {
+            zaoShiMap.put("jieshi","偏湿润,大便不成形,湿气较重,气血不活。");
+        } else if (huoCount2-shuiCoun2==0){
+            zaoShiMap.put("jieshi","各个宫位,燥湿达到平衡。不会过湿,过燥。");
+        }
+
+        return zaoShiMap;
+    }
+
+
 }

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

@@ -1,6 +1,7 @@
 package com.miaxis.gan.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.miaxis.disease.domain.DiseasePart;
 import com.miaxis.number.domain.NumberYun;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -47,10 +48,16 @@ public class GanZhiVo {
     @ApiModelProperty(value = "八字五行个数集合")
     private Map<String,Integer> fiveCountMap;
 
+    @ApiModelProperty(value = "八字燥湿集合")
+    private Map<String,Object> zaoShiMap;
+
     @ApiModelProperty(value = "八字纳音")
     private List<GanZhiNaYinVo> ganZhiNaYinVoList;
 
     @ApiModelProperty(value = "八字空亡")
     private List<GanZhiKongWangVo> ganZhiKongWangVoList;
 
+    @ApiModelProperty(value = "疾病集合")
+    private List<DiseasePart> diseasePartList;
+
 }

+ 37 - 0
xpgx-service/src/main/resources/mapper/disease/DiseasePartMapper.xml

@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.miaxis.disease.mapper.DiseasePartMapper">
+
+    <resultMap type="DiseasePart" id="DiseasePartResult">
+        <result property="id" column="id"/>
+        <result property="part" column="part"/>
+        <result property="sex" column="sex"/>
+        <result property="symp" column="symp"/>
+        <result property="degree" column="degree"/>
+    </resultMap>
+
+    <sql id="selectDiseasePartVo">
+        select * from disease_part
+    </sql>
+
+    <select id="selectDiseasePartList" parameterType="com.miaxis.disease.dto.DiseasePartDto" resultMap="DiseasePartResult">
+        <include refid="selectDiseasePartVo"/>
+        <where>
+            <if test="parts != null"> and part in
+                <foreach item="part" index="index" collection="parts" open="(" separator="," close=")">
+                    #{part}
+                </foreach>
+            </if>
+
+            <if test="sex != null and sex != '' "> and sex in
+                <foreach item="s" index="index" collection="sex.split(',')" open="(" separator="," close=")">
+                    #{s}
+                </foreach>
+             </if>
+            <if test="degree != null  and degree != ''"> and degree = #{degree}</if>
+        </where>
+    </select>
+
+</mapper>

+ 0 - 2
xpgx-service/src/main/resources/mapper/number/NumberYunMapper.xml

@@ -8,8 +8,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="id"    column="id"    />
         <result property="caiYun"    column="cai_yun"    />
         <result property="taoHua"    column="tao_hua"    />
-        <result property="createTime"    column="create_time"    />
-        <result property="updateTime"    column="update_time"    />
     </resultMap>
 
     <sql id="selectNumberYunVo">