private String evalDate(String dateString, String interval, Long amount) {
        LocalDateTime dateTime = DateUtil.parseLocalDateTime(dateString);
        if (dateTime == null) {
            return null;
        }
        boolean hasTime = dateString.indexOf(' ') != -1;
        boolean hasMicro = dateString.indexOf('.') != -1;

        switch (interval.toUpperCase()) {
            case "MICROSECOND":
                hasTime = true;
                hasMicro = true;
                dateTime = dateTime.plusNanos(amount * 1000);
                break;
            case "SECOND":
                hasTime = true;
                dateTime = dateTime.plusSeconds(amount);
                break;
            case "MINUTE":
                hasTime = true;
                dateTime = dateTime.plusMinutes(amount);
                break;
            case "HOUR":
                hasTime = true;
                dateTime = dateTime.plusHours(amount);
                break;
            case "DAY":
                dateTime = dateTime.plusDays(amount);
                break;
            case "WEEK":
                dateTime = dateTime.plusWeeks(amount);
                break;
            case "MONTH":
                dateTime = dateTime.plusMonths(amount);
                break;
            case "QUARTER":
                dateTime = dateTime.plusMonths(amount * 3);
                break;
            case "YEAR":
                dateTime = dateTime.plusYears(amount);
                break;
            default:
                return null;
        }
        StringBuilder format = new StringBuilder("yyyy-MM-dd");
        if (hasTime) {
            format.append(" HH:mm:ss");
        }
        if (hasMicro) {
            format.append(".SSSSSS");
        }
        return dateTime.format(DateUtil.getDateTimeFormatter(format.toString()));
    }
TimestampAddFunction  ->  timestamp_add(unit,cnt,baseDateStr)
description:
- Return NULL if any parameter is null;
- Return the result of adding the integer expression interval to the date or datetime expression 'baseDateStr'.
Note: 'unit' is one of (MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR).
inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/temporal/TimestampAddFunction.java