创建指定日期任务

/**
* 创建指定日期的任务
* @param date
*/
public void createTask(String date){
String ip = null;
String port = ipConfiguration.getPort();
try {
ip = ipConfiguration.getIp();
}catch (Exception e){
LOGGER.error("获取服务器IP失败");
throw new RuntimeException();
}
LOGGER.info("ip:{};port:{}",ip,port);

//获取本机需要创建任务的订单
List<TaskDto> taskDtoList ;
if(date.equals(DateUtil.today())){
taskDtoList = orderInfoMapper.createNowTask(date,ip,port);
}else{
taskDtoList = orderInfoMapper.createTask(date,ip,port);
}

if(taskDtoList.size() == 0){
return;
}
List<DistributionTask> createdTask = new ArrayList<>();
for(TaskDto taskDto:taskDtoList){
if(distributionTaskMapper.selectCount(new QueryWrapper<DistributionTask>().lambda().eq(DistributionTask::getOrderNo,taskDto.getOrderNo()).eq(DistributionTask::getExecuteTime,date)) >0){
//判断是否任务已生成
continue;
}
DistributionTask distributionTask = new DistributionTask();
BeanUtil.copyProperties(taskDto,distributionTask);
distributionTask.setExecuteTime(date);
distributionTask.setTaskNo("sf" +System.currentTimeMillis()+ RandomUtil.randomNumbers(7));
distributionTask.setUpdateTime(DateUtils.format(new Date(),DateUtils.DATE_TIME_PATTERN));
if(distributionTask.getBusinessType() == Customer.BusinessType.PAI.getVal()){
distributionTask.setStatus(TaskStatusEnum.PIE.getVal());
distributionTask.setClassify(TaskStatusEnum.PIE.getVal());
}else{
distributionTask.setStatus(TaskStatusEnum.PACKAGE.getVal());
distributionTask.setClassify(TaskStatusEnum.PACKAGE.getVal());
}
distributionTaskMapper.insert(distributionTask);
createdTask.add(distributionTask);
for(TaskGoods taskGoods:taskDto.getTaskGoodsList()){
taskGoods.setTaskId(distributionTask.getId());
}
taskGoodsService.saveBatch(taskDto.getTaskGoodsList());
}
}
原文地址:https://www.cnblogs.com/pxzbky/p/11911409.html