Ver código fonte

大运 节气判断

zhangbin 1 ano atrás
pai
commit
fd7127576f

+ 7 - 3
xpgx-admin/src/main/java/com/miaxis/app/controller/gan/GanZhiController.java

@@ -6,6 +6,7 @@ import com.miaxis.common.core.controller.BaseController;
 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.DateUtils;
 import com.miaxis.common.utils.poi.ExcelUtil;
 import com.miaxis.disease.domain.DiseasePart;
 import com.miaxis.gan.domain.GanZhi;
@@ -36,6 +37,7 @@ public class GanZhiController extends BaseController{
     @Autowired
     private IGanZhiService ganZhiService;
 
+
     /**
      * 查询天干地支列表
      */
@@ -60,9 +62,8 @@ public class GanZhiController extends BaseController{
     @ApiOperation("干支查询8字")
     public Response<GanZhiVo> get8ziByDate(@ModelAttribute GanZhiDto ganZhiDto){
 
-        Date birthDay = ganZhiDto.getBirthDay();
-        Lunar lunar = Lunar.fromDate(birthDay);
-
+        String birthDay = ganZhiDto.getBirthDay();
+        Lunar lunar = Lunar.fromDate(DateUtils.parseDate(birthDay));
         System.out.println("农历:"+lunar.getYear()+"年(生肖"+lunar.getYearShengXiao()+")"+lunar.getMonth()+"月"+lunar.getDay()+"日"+lunar.getTime()+"时");
 
         // 获取干支纪年
@@ -126,4 +127,7 @@ public class GanZhiController extends BaseController{
     }
 
 
+
+
+
 }

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

@@ -0,0 +1,51 @@
+package com.miaxis.test;
+
+import com.miaxis.XpgxApplication;
+import com.miaxis.common.utils.DateUtils;
+import com.miaxis.gan.service.IGanZhiService;
+import com.miaxis.jie.service.IJieQiService;
+import com.miaxis.jie.vo.JieQiVo;
+import com.miaxis.wx.dto.WxacodeUnlimitDTO;
+import com.miaxis.wx.service.IWxService;
+import com.miaxis.wx.service.IWxXcxService;
+import com.nlf.calendar.Lunar;
+import feign.Response;
+import org.apache.commons.io.IOUtils;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Base64;
+import java.util.Date;
+import java.util.List;
+
+@SpringBootTest(classes = XpgxApplication.class)
+@RunWith(SpringRunner.class)
+public class GanTest {
+
+    @Autowired
+    private IJieQiService jieQiService;
+
+
+    @Autowired
+    private IGanZhiService ganZhiService;
+
+    @Test
+    public void getLocation() throws IOException {
+
+        // 假设使用 cn.6tail 的 lunar 库来转换日期
+        Date d1 = DateUtils.parseDate("2002-09-08 17:00:00");
+        Lunar lunar = Lunar.fromDate(d1);
+
+
+    }
+
+
+
+}
+

+ 26 - 19
xpgx-admin/src/test/java/com/miaxis/test/TestYear.java

@@ -3,11 +3,15 @@ package com.miaxis.test;
 import com.miaxis.common.config.ShiShenConfig;
 import com.miaxis.common.utils.DateUtils;
 import com.nlf.calendar.Lunar;
+import com.nlf.calendar.Solar;
 
 import java.util.Date;
+import java.util.Map;
 
 public class TestYear {
 
+
+
     public static void main(String[] args) {
             // 假设输入的是阳历日期
             int year = 2023;
@@ -15,37 +19,41 @@ public class TestYear {
             int day = 30;
 
         // 假设使用 cn.6tail 的 lunar 库来转换日期
-        Date d1 = DateUtils.parseDate("1998-11-23 17:00:00");
-
+        Date d1 = DateUtils.parseDate("2002-09-08 17:00:00");
         Lunar lunar = Lunar.fromDate(d1);
-        System.out.println(lunar.toFullString());
+        //      System.out.println(lunar.toFullString());
        // System.out.println(lunar.getSolar().toFullString());
 
-        String str = lunar.toFullString();
-        String[] s = str.split(" ");
-        for (int i = 0; i < s.length; i++) {
-            System.out.println(s[i]);
-        }
+//        String str = lunar.toFullString();
+//        String[] s = str.split(" ");
+//        for (int i = 0; i < s.length; i++) {
+//            System.out.println(s[i]);
+//        }
 
-        System.out.println(ShiShenConfig.fangWei(s[14]));
-        System.out.println(ShiShenConfig.fangWei(s[15]));
-        System.out.println(ShiShenConfig.fangWei(s[16]));
-        System.out.println(ShiShenConfig.fangWei(s[17]));
-        System.out.println(ShiShenConfig.fangWei(s[18]));
-        System.out.println(ShiShenConfig.fangWei(s[20]));
+//        System.out.println(ShiShenConfig.fangWei(s[14]));
+//        System.out.println(ShiShenConfig.fangWei(s[15]));
+//        System.out.println(ShiShenConfig.fangWei(s[16]));
+//        System.out.println(ShiShenConfig.fangWei(s[17]));
+//        System.out.println(ShiShenConfig.fangWei(s[18]));
+//        System.out.println(ShiShenConfig.fangWei(s[20]));
 
 
 
-        if("".equals(lunar.getJieQi())) {
+        if(lunar.getJieQi()!=null && !"".equals(lunar.getJieQi()) ) {
             System.out.println("节气:"+lunar.getJieQi());
+            //存在节气,判断是否在节气点前
+
+
+
+        } else {
+            //不存在节气,正常判断
         }
-        System.out.println("节气:"+lunar.getJieQi());
 
 
 
-        System.out.println("公历:"+lunar.getSolar().getYear()+","+lunar.getSolar().getMonth()+","+lunar.getSolar().getDay()+","+lunar.getSolar().getHour());
+    //    System.out.println("公历:"+lunar.getSolar().getYear()+","+lunar.getSolar().getMonth()+","+lunar.getSolar().getDay()+","+lunar.getSolar().getHour());
 
-        System.out.println("农历:"+lunar.getYear()+","+lunar.getMonth()+","+lunar.getDay()+","+lunar.getTime());
+     //   System.out.println("农历:"+lunar.getYear()+","+lunar.getMonth()+","+lunar.getDay()+","+lunar.getTime());
 
         // 获取干支纪年
         String ganYear = lunar.getYearGan();
@@ -65,6 +73,5 @@ public class TestYear {
         System.out.println(ganYear+","+zhiYear+","+ganMonth+","+zhiMonth+","+ganDay+","+zhiDay+","+timeGan+","+timeZhi);
 
 
-
     }
 }

+ 45 - 0
xpgx-common/src/main/java/com/miaxis/common/config/JieQiConfig.java

@@ -0,0 +1,45 @@
+package com.miaxis.common.config;
+
+
+import com.miaxis.common.utils.DateUtils;
+import com.nlf.calendar.Lunar;
+import lombok.Data;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Data
+@Component
+public class JieQiConfig {
+
+    List<Date> jieQiConfig = new ArrayList<Date>();
+
+
+
+
+
+    public static String fangWei(String birthday) {
+        Date d1 = DateUtils.parseDate("2002-09-08 17:00:00");
+        Lunar lunar = Lunar.fromDate(d1);
+
+
+        if(lunar.getJieQi()!=null && !"".equals(lunar.getJieQi()) ) {
+            System.out.println("节气:"+lunar.getJieQi());
+            //存在节气,判断是否在节气点前
+            if(1==1) {
+
+            }
+
+
+        } else {
+            //不存在节气,正常判断
+        }
+
+
+        return null;
+    }
+
+}

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

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

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

@@ -7,7 +7,9 @@ import com.miaxis.gan.dto.GanZhiDto;
 import com.miaxis.gan.vo.GanZhiKongWangVo;
 import com.miaxis.gan.vo.GanZhiNaYinVo;
 import com.miaxis.gan.vo.GanZhiRowVo;
+import com.miaxis.jie.vo.JieQiVo;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -69,4 +71,17 @@ public interface IGanZhiService extends IService<GanZhi>{
      * @return
      */
     Map<String, Object> getZaoShiCount(GanZhiDto ganZhiDto);
+
+
+    /**
+     * 排大运
+     * (阳年男子,大运顺行,阴年男子,大运逆行)
+     * (阳年女子,大运逆行,阴年女子,大运顺行)
+     * @param ganZhiDto
+     * @return
+     */
+    GanZhiDto getDaYun(GanZhiDto ganZhiDto);
+
+
+
 }

+ 79 - 10
xpgx-service/src/main/java/com/miaxis/gan/service/impl/GanZhiServiceImpl.java

@@ -4,6 +4,7 @@ import java.util.*;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.miaxis.common.config.ShiShenConfig;
+import com.miaxis.common.utils.DateUtils;
 import com.miaxis.disease.domain.DiseasePart;
 import com.miaxis.disease.dto.DiseasePartDto;
 import com.miaxis.disease.mapper.DiseasePartMapper;
@@ -11,8 +12,11 @@ import com.miaxis.gan.dto.GanZhiDto;
 import com.miaxis.gan.vo.GanZhiKongWangVo;
 import com.miaxis.gan.vo.GanZhiNaYinVo;
 import com.miaxis.gan.vo.GanZhiRowVo;
+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.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.apache.commons.lang3.StringUtils;
@@ -40,6 +44,10 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
     @Autowired
     private ShiShenConfig shiShenConfig;
 
+    @Autowired
+    private JieQiMapper jieQiMapper;
+
+
     /**
      * 查询天干地支列表
      *
@@ -591,17 +599,17 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
 
         //五行得出疾病
         List<DiseasePart> fivePartList = new ArrayList<DiseasePart>();
-        Map<String,Integer> fiveCount = this.getGanZhiRowVoCount(ganZhiDto);
+        Map<String, Integer> fiveCount = this.getGanZhiRowVoCount(ganZhiDto);
         for (String key : fiveCount.keySet()) {
-           int count = fiveCount.get(key);
-           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);
-           }
+            int count = fiveCount.get(key);
+            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;
@@ -638,6 +646,65 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
     }
 
 
+    /**
+     * 判断出生日期是否在节气内
+     *
+     * @return
+     */
+    public GanZhiDto getDaYun(GanZhiDto ganZhiDto) {
+
+        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;
+            }
+        }
+
+        if (daYun == 1) { //大运顺
+
+        } else if (daYun == 2) { //大运逆
+
+        }
+
+
+
+
+        //判断当天是否是节气,如果在节前前, 月柱修改
+        Date d1 = DateUtils.parseDate(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())){
+                //把月时间清空,再取一次月柱
+                String birthday2 = ganZhiDto.getBirthDay().substring(0,10);
+                Date d2 = DateUtils.parseDate(birthday2);
+                Lunar lunar2 = Lunar.fromDate(d2);
+                ganZhiDto.setMonthGan(lunar2.getMonthGan());
+                ganZhiDto.setMonthZhi(lunar2.getMonthZhi());
+            }
+        }
+
+
+        return null;
+    }
+
+
     /**
      * 干支组装
      *
@@ -728,6 +795,7 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
         return list;
     }
 
+
     /**
      * 获取五行数量
      *
@@ -814,4 +882,5 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
     }
 
 
+
 }

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

@@ -28,9 +28,8 @@ public class GanZhiVo {
     @ApiModelProperty(value = "性别")
     private Integer sex;
 
-    @ApiModelProperty(value = "(公历)出生日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date birthDay;
+    @ApiModelProperty(value = "(公历)出生日期 yyyy-MM-dd HH:mm:ss")
+    private String birthDay;
 
     @ApiModelProperty(value = "(农历)出生日期")
     private String nongDay;

+ 91 - 0
xpgx-service/src/main/java/com/miaxis/jie/domain/JieQi.java

@@ -0,0 +1,91 @@
+package com.miaxis.jie.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.miaxis.common.annotation.Excel;
+import com.miaxis.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import lombok.Data;
+/**
+ * 百年节气对象 jie_qi
+ *
+ * @author miaxis
+ * @date 2023-11-27
+ */
+@Data
+@TableName("jie_qi")
+@ApiModel(value = "JieQiVo", description = "百年节气对象 jie_qi")
+public class JieQi extends BaseBusinessEntity{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    @TableId(value = "id")
+    @ApiModelProperty(value = "id")
+    private Long id;
+
+    /** 节气名称 */
+    @Excel(name = "节气名称")
+    @TableField("jieqi_name")
+    @ApiModelProperty(value = "节气名称")
+    private String jieqiName;
+
+    /** 节气开始时间点 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "节气开始时间点", width = 30, dateFormat = "yyyy-MM-dd")
+    @TableField("jieqi_time")
+    @ApiModelProperty(value = "节气开始时间点")
+    private Date jieqiTime;
+
+    /** 公历年份 */
+    @Excel(name = "公历年份")
+    @TableField("year")
+    @ApiModelProperty(value = "公历年份")
+    private Long year;
+
+    public void setId(Long id){
+        this.id = id;
+    }
+
+    public Long getId(){
+        return id;
+    }
+    public void setJieqiName(String jieqiName){
+        this.jieqiName = jieqiName;
+    }
+
+    public String getJieqiName(){
+        return jieqiName;
+    }
+    public void setJieqiTime(Date jieqiTime){
+        this.jieqiTime = jieqiTime;
+    }
+
+    public Date getJieqiTime(){
+        return jieqiTime;
+    }
+    public void setYear(Long year){
+        this.year = year;
+    }
+
+    public Long getYear(){
+        return year;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("jieqiName", getJieqiName())
+            .append("jieqiTime", getJieqiTime())
+            .append("year", getYear())
+            .toString();
+    }
+}

+ 27 - 0
xpgx-service/src/main/java/com/miaxis/jie/mapper/JieQiMapper.java

@@ -0,0 +1,27 @@
+package com.miaxis.jie.mapper;
+
+import java.util.Date;
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.miaxis.jie.domain.JieQi;
+import com.miaxis.jie.vo.JieQiVo;
+
+/**
+ * 百年节气Mapper接口
+ *
+ * @author miaxis
+ * @date 2023-11-27
+ */
+public interface JieQiMapper extends BaseMapper<JieQi> {
+    /**
+     * 查询百年节气列表
+     *
+     * @param jieQi 百年节气
+     * @return 百年节气集合
+     */
+    public List<JieQi> selectJieQiList(JieQi jieQi);
+
+
+    public List<JieQiVo> selectJiiQiFb(Date birthday);
+
+}

+ 32 - 0
xpgx-service/src/main/java/com/miaxis/jie/service/IJieQiService.java

@@ -0,0 +1,32 @@
+package com.miaxis.jie.service;
+
+import java.util.Date;
+import java.util.List;
+import com.miaxis.jie.domain.JieQi;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.miaxis.jie.vo.JieQiVo;
+
+/**
+ * 百年节气Service接口
+ *
+ * @author miaxis
+ * @date 2023-11-27
+ */
+public interface IJieQiService extends IService<JieQi>{
+    /**
+     * 查询百年节气列表
+     *
+     * @param jieQi 百年节气
+     * @return 百年节气集合
+     */
+    public List<JieQi> selectJieQiList(JieQi jieQi);
+
+
+    /**
+     * 查询最近前后两个节气
+     * @param birthday
+     * @return
+     */
+    List<JieQiVo> selectJiiQiFb(Date birthday);
+
+}

+ 39 - 0
xpgx-service/src/main/java/com/miaxis/jie/service/impl/JieQiServiceImpl.java

@@ -0,0 +1,39 @@
+package com.miaxis.jie.service.impl;
+
+import java.util.Date;
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.miaxis.jie.vo.JieQiVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.miaxis.jie.mapper.JieQiMapper;
+import com.miaxis.jie.domain.JieQi;
+import com.miaxis.jie.service.IJieQiService;
+
+/**
+ * 百年节气Service业务层处理
+ *
+ * @author miaxis
+ * @date 2023-11-27
+ */
+@Service
+public class JieQiServiceImpl extends ServiceImpl<JieQiMapper, JieQi> implements IJieQiService {
+    @Autowired
+    private JieQiMapper jieQiMapper;
+
+    /**
+     * 查询百年节气列表
+     *
+     * @param jieQi 百年节气
+     * @return 百年节气
+     */
+    @Override
+    public List<JieQi> selectJieQiList(JieQi jieQi){
+        return jieQiMapper.selectJieQiList(jieQi);
+    }
+
+    @Override
+    public List<JieQiVo> selectJiiQiFb(Date birthday) {
+        return jieQiMapper.selectJiiQiFb(birthday);
+    }
+}

+ 39 - 0
xpgx-service/src/main/java/com/miaxis/jie/vo/JieQiVo.java

@@ -0,0 +1,39 @@
+package com.miaxis.jie.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 百年节气对象 jie_qi
+ *
+ * @author miaxis
+ * @date 2023-11-27
+ */
+@Data
+@ApiModel(value = "JieQiVo", description = "百年节气对象 jie_qi")
+public class JieQiVo {
+    private static final long serialVersionUID = 1L;
+
+    /** 节气名称 */
+    @ApiModelProperty(value = "节气名称")
+    private String jieqiName;
+
+    /** 节气开始时间点 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "节气开始时间点")
+    private Date jieqiTime;
+
+    /** 公历年份 */
+    @ApiModelProperty(value = "公历年份")
+    private Long year;
+
+    /** 与输入时间相差多少天 */
+    @ApiModelProperty(value = "与输入时间相差多少天")
+    private int daysDifference;
+
+
+}

+ 55 - 0
xpgx-service/src/main/resources/mapper/jie/JieQiMapper.xml

@@ -0,0 +1,55 @@
+<?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.jie.mapper.JieQiMapper">
+
+    <resultMap type="JieQi" id="JieQiResult">
+        <result property="id"    column="id"    />
+        <result property="jieqiName"    column="jieqi_name"    />
+        <result property="jieqiTime"    column="jieqi_time"    />
+        <result property="year"    column="year"    />
+    </resultMap>
+
+
+    <resultMap type="JieQiVo" id="JieQiVoResult">
+        <result property="jieqiName"    column="jieqi_name"    />
+        <result property="jieqiTime"    column="jieqi_time"    />
+        <result property="daysDifference"    column="days_difference"    />
+        <result property="year"    column="year"    />
+    </resultMap>
+
+    <sql id="selectJieQiVo">
+        select * from jie_qi
+    </sql>
+
+    <select id="selectJieQiList" parameterType="JieQi" resultMap="JieQiResult">
+        <include refid="selectJieQiVo"/>
+        <where>
+            <if test="jieqiName != null  and jieqiName != ''"> and jieqi_name like concat('%', #{jieqiName}, '%')</if>
+            <if test="jieqiTime != null "> and jieqi_time = #{jieqiTime}</if>
+            <if test="year != null "> and year = #{year}</if>
+        </where>
+    </select>
+
+
+    <select id="selectJiiQiFb" parameterType="java.util.Date"  resultMap="JieQiVoResult">
+        SELECT *,
+            DATEDIFF(#{birthday}, jieqi_time) AS days_difference
+        FROM (
+        (SELECT *
+        FROM jie_qi
+        WHERE jieqi_time <![CDATA[ <= ]]> #{birthday}
+        ORDER BY jieqi_time DESC
+        LIMIT 1)
+        UNION
+        (SELECT *
+        FROM jie_qi
+        WHERE jieqi_time <![CDATA[ > ]]> #{birthday}
+        ORDER BY jieqi_time ASC
+        LIMIT 1)
+        ) AS db
+    </select>
+
+
+</mapper>