jiangping
2025-06-03 d1f203a6f31ec5f5fed66b07213e109c1fc54591
server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -21,7 +21,10 @@
import java.math.RoundingMode;
import java.net.URL;
import java.net.URLDecoder;
import java.time.Instant;
import java.time.LocalDate;
import java.time.Period;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.Date;
@@ -316,6 +319,26 @@
        }
        return Constants.countPriceVO(countCyclePriceDTO.getStartDate(),countCyclePriceDTO.getSolutions());
    }
    public static int calculateAge(String idCard,Date dateDate) {
        if (idCard == null || idCard.length() != 18) {
            throw new IllegalArgumentException("身份证号码必须是18位");
        }
        // 提取出生日期
        String birthDateStr = idCard.substring(6, 14); // 例如:19900101
        LocalDate birthDate = LocalDate.parse(birthDateStr);
        Instant instant = dateDate.toInstant();
        // 获取当前日期
        LocalDate currentDate = instant.atZone(ZoneId.systemDefault()).toLocalDate(); // 转换为 LocalDate
        // 计算年龄
        Period period = Period.between(birthDate, currentDate);
        int age = period.getYears(); // 直接获取年份差即为年龄
        return age;
    }
    public static CountCyclePriceVO countPriceVO(Date startDate, Solutions solutions){
        CountCyclePriceVO countCyclePriceVO = new CountCyclePriceVO();
@@ -2143,7 +2166,6 @@
            }
            return null;
        }
        // 普通方法
        public static SettleClaimsLogParentStatus getAll(int index) {