| | |
| | | return convertMonthlyToCron(task.getFrequencyDetail()); |
| | | case "QUARTERLY": |
| | | return convertQuarterlyToCron(task.getFrequencyDetail()); |
| | | case "YEARLY": |
| | | return convertYearlyToCron(task.getFrequencyDetail()); |
| | | default: |
| | | throw new IllegalArgumentException("不支持的频率类型: " + task.getFrequencyType()); |
| | | } |
| | |
| | | quarterStartMonth); |
| | | } |
| | | |
| | | private String convertYearlyToCron(String frequencyDetail) { |
| | | String[] parts = validateAndSplit(frequencyDetail, ",", 3); |
| | | int month = validateMonth(parts[0]); |
| | | int day = validateDayOfMonth(parts[1]); |
| | | LocalTime time = parseTime(parts[2]); |
| | | return String.format("0 %d %d %d %d ?", time.getMinute(), time.getHour(), day, month); |
| | | } |
| | | |
| | | // 新增验证月份的方法(1-12) |
| | | private int validateMonth(String monthStr) { |
| | | try { |