• 创建指定日期任务


    /**
    * 创建指定日期的任务
    * @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());
    }
    }
  • 相关阅读:
    win10系统打印图片中间空白的解决办法
    DELPHI SOKET 编程--使用TServerSocket和TClientSocket
    因为未启用行移动功能 不能闪回表
    oracle闪退(回退)功能
    查看oracle数据库的数据文件的目录
    Oracle
    Delphi : keydown与keypress的区别,组合键
    Delphi Xe 中如何把日期格式统一处理,玩转 TDatetime
    移除 IIS 的各种头信息
    sql server 通过 sql 查询数据库状态
  • 原文地址:https://www.cnblogs.com/pxzbky/p/11911409.html
Copyright © 2020-2023  润新知