Class CalendarService

java.lang.Object
io.leandev.appfuse.almanac.calendar.CalendarService

public class CalendarService extends Object

行政機關辦公日曆相關服務

提供與上一代 appfuse-common 等價的工作日 / 假日判斷與工作日加減運算,差別在於 資料來源由內建 CSV 改為 almanac(GET /api/v1/calendar/{year})。每年的日曆以 檔案型快取保存,避免重複網路存取。

時區固定為 Asia/Taipei(對齊上一代行為)。

Since:
4.0
  • Constructor Details

    • CalendarService

      public CalendarService(AlmanacClient client, CacheManager cacheManager, Duration ttl)
      建立服務
      Parameters:
      client - almanac 客戶端
      cacheManager - 快取管理器
      ttl - 快取存活時間
  • Method Details

    • isWorkingDay

      public Boolean isWorkingDay(Date date)
    • isHoliday

      public Boolean isHoliday(Date date)
    • isWorkingDay

      public Boolean isWorkingDay(LocalDate localDate)
    • isHoliday

      public Boolean isHoliday(LocalDate localDate)
    • plusWorkingDays

      public Date plusWorkingDays(Date date, long workingDays)
    • minusWorkingDays

      public Date minusWorkingDays(Date date, long workingDays)
    • plusWorkingDays

      public LocalDate plusWorkingDays(LocalDate localDate, long workingDays)
    • minusWorkingDays

      public LocalDate minusWorkingDays(LocalDate localDate, long workingDays)
    • plusCalendarDays

      public LocalDate plusCalendarDays(LocalDate localDate, long calendarDays)
    • minusCalendarDays

      public LocalDate minusCalendarDays(LocalDate localDate, long calendarDays)
    • findCalendarDays

      public List<CalendarDay> findCalendarDays(int year)
      取得指定年份的整年日曆(供進階使用)
      Parameters:
      year - 西元年
      Returns:
      該年所有日期(依日期排序)