vran
3 years ago
4 changed files with 41 additions and 1 deletions
@ -0,0 +1,33 @@ |
|||||
|
package com.databasir.api.validator; |
||||
|
|
||||
|
import com.databasir.core.domain.DomainErrors; |
||||
|
import com.databasir.core.domain.project.data.ProjectCreateRequest; |
||||
|
import com.databasir.core.domain.project.data.ProjectUpdateRequest; |
||||
|
import org.quartz.CronExpression; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
|
||||
|
import java.text.ParseException; |
||||
|
|
||||
|
@Component |
||||
|
public class CronExpressionValidator { |
||||
|
|
||||
|
public void isValidCron(ProjectUpdateRequest request) { |
||||
|
if (request.getProjectSyncRule().getIsAutoSync()) { |
||||
|
isValidCron(request.getProjectSyncRule().getAutoSyncCron()); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public void isValidCron(ProjectCreateRequest request) { |
||||
|
if (request.getProjectSyncRule().getIsAutoSync()) { |
||||
|
isValidCron(request.getProjectSyncRule().getAutoSyncCron()); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public void isValidCron(String cron) { |
||||
|
try { |
||||
|
new CronExpression(cron); |
||||
|
} catch (ParseException pe) { |
||||
|
throw DomainErrors.INVALID_CRON_EXPRESSION.exception("错误的 CRON 表达式:" + pe.getMessage(), pe); |
||||
|
} |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue