zoukankan      html  css  js  c++  java
  • 创建指定日期任务

    /**
    * 创建指定日期的任务
    * @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());
    }
    }
  • 相关阅读:
    http基础知识摘录
    数据库基础常用知识
    2018第18周总结
    pycharm里html注释是{# #}而不是<!-- -->?
    paramiko错误信息:Paramiko error: size mismatch in put
    jmeter的Classpath即类或者jar包的搜索路径设置
    scp、paramiko、rsync复制文件的区别
    maven打包插件maven-shade-plugin简单介绍
    sqlalchemy多表联合查询的左连接、右连接等使用
    如何查看sqlalchemy执行的原始sql语句?
  • 原文地址:https://www.cnblogs.com/pxzbky/p/11911409.html
Copyright © 2011-2022 走看看