jiangping
2024-12-05 16217be9c85f95cb236e639da6e546bb38cdc53d
server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java
@@ -44,7 +44,10 @@
     */
    public static DateCompare dayCompare(Date fromDateOrigin,Date toDateOrigin,Date freeStart,Date freeEnd){
        //开始时间往后延伸,除去有效时期
        Date fromDate = DateUtil.addDaysToDate(fromDateOrigin,getIntersectingDays(fromDateOrigin,DateUtil.addDaysToDate(toDateOrigin,1),freeStart,DateUtil.addDaysToDate(freeEnd,1)));
        Date fromDate = DateUtil.addDaysToDate(fromDateOrigin,getIntersectingDays(fromDateOrigin,DateUtil.addDaysToDate(toDateOrigin,1),
                freeStart,
                Objects.isNull(freeEnd)?null:DateUtil.addDaysToDate(freeEnd,1))
        );
        if(toDateOrigin.getTime()<  fromDate.getTime()){
            return DateCompare.builder().day(0).month(0).year(0).yearFloat(new BigDecimal(0)).monthFloat(new BigDecimal(0)).build();
        }
@@ -141,6 +144,9 @@
    }
    public static int getIntersectingDays(Date start1, Date end1, Date start2, Date end2) {
        if(Objects.isNull(start2)||Objects.isNull(end2)){
            return 0;
        }
        Date earlierStart = DateUtil.daysBetweenDates(start1,start2)>0? start1 : start2;
        Date laterEnd =  DateUtil.daysBetweenDates(end2,end1)>0 ? end1 : end2;