Browse Source

【pc端-定时bug修改】【修改表达式校验位置】魏凯 2020-07-28

feature/dangjian
weikai 5 years ago
parent
commit
7d69beedee
  1. 18
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/impl/ScheduleJobServiceImpl.java

18
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/impl/ScheduleJobServiceImpl.java

@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.entity.ScheduleJobEntity;
import com.elink.esua.epdc.exception.ModuleErrorCode;
import com.elink.esua.epdc.utils.ScheduleUtils;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.Constant;
@ -23,15 +24,14 @@ import com.elink.esua.epdc.dto.ScheduleJobDTO;
import com.elink.esua.epdc.enums.ScheduleStatusEnum;
import com.elink.esua.epdc.service.ScheduleJobService;
import org.apache.commons.lang3.StringUtils;
import org.quartz.CronExpression;
import org.quartz.CronScheduleBuilder;
import org.quartz.Scheduler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@Service
public class ScheduleJobServiceImpl extends BaseServiceImpl<ScheduleJobDao, ScheduleJobEntity> implements ScheduleJobService {
@ -69,10 +69,16 @@ public class ScheduleJobServiceImpl extends BaseServiceImpl<ScheduleJobDao, Sche
ScheduleJobEntity entity = ConvertUtils.sourceToTarget(dto, ScheduleJobEntity.class);
entity.setStatus(ScheduleStatusEnum.NORMAL.value());
try{
ScheduleUtils.createScheduleJob(scheduler, entity);
Date date;
CronExpression exp = new CronExpression(dto.getCronExpression());
date = exp.getNextValidTimeAfter(new Date());
if (date == null) {
throw new RenException("请输入正确的表达式");
}
this.insert(entity);
ScheduleUtils.createScheduleJob(scheduler, entity);ScheduleUtils.createScheduleJob(scheduler, entity);
}catch (Exception e){
throw new RenException("请输入正确的表达式");
throw new RenException(ModuleErrorCode.JOB_ERROR, e);
}

Loading…
Cancel
Save