diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/AsyncDataServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/AsyncDataServiceImpl.java index 2504b513f..9d1973865 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/AsyncDataServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/AsyncDataServiceImpl.java @@ -407,15 +407,12 @@ public class AsyncDataServiceImpl implements IAsyncDataService { // 需要从老系统进行订单数据查询 AdvanceEntity advanceEntity = findAdvanceEntityUseCacheByOrderSelfNum(factoryOrderEntity.getSelfCode(),carNumber); if (ObjectUtils.isNull(advanceEntity)) { - - //todo 先阶段值推送老系统的双流和无锡 if(!ArrayUtil.contains(jidiCanshu,receivingOrderEntity.getCurrentWarehouseName())){ log.info("推送老系统失败,当前仓库不是双流和无锡,推送失败 {}",receivingOrderEntity.getCurrentWarehouseName()); continue; } - advanceEntity = new AdvanceEntity(); advanceEntity.setOrderSelfNum(StringUtil.isBlank(factoryOrderEntity.getSelfCode()) ? "" : factoryOrderEntity.getSelfCode()); //订单自编号 advanceEntity.setSiteName(receivingOrderEntity.getCurrentWarehouseName()); // 基地 TODO 需要映射 @@ -848,7 +845,7 @@ public class AsyncDataServiceImpl implements IAsyncDataService { String key = AdvanceEntity.class.getName() + ":" + orderSelfNum + ":" + departCode; AdvanceEntity advanceEntity = bladeRedis.get(key); if (ObjectUtils.isNull(advanceEntity)) { - advanceEntity = iAdvanceClient.getQueryDataOne(orderSelfNum); + advanceEntity = iAdvanceClient.getEntityByMctsTruck(orderSelfNum,departCode); bladeRedis.setEx(key, advanceEntity, 12 * 60 * 60L); } return advanceEntity; diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java index 857a2be19..8ffac0218 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java @@ -14,8 +14,10 @@ import com.logpm.factory.oupai.service.*; import com.logpm.factory.oupai.vo.OpOrderStatusLogVO; import com.logpm.factory.props.OuPaiProperties; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; +import org.apache.commons.io.IOUtils; import org.jetbrains.annotations.NotNull; import org.springblade.common.constant.RabbitConstant; import org.springblade.common.exception.CustomerException; @@ -27,11 +29,15 @@ import org.springblade.resource.feign.IOssClient; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.commons.CommonsMultipartFile; import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.io.OutputStream; import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -616,9 +622,9 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService { private String uploadFile(String body) { //文本内容和保存为本地文件 并上传 String logPath = FileLogsUtil.saveFileLogs(body); + log.info(">>> 文件路径 {}", logPath); MultipartFile multi = getMultipartFile(logPath); - OpOrderStatusLogEntity orderStatusLog = new OpOrderStatusLogEntity(); //上传到服务器 R r = ossClient.fileUpload(multi); if (r.isSuccess()) { @@ -634,11 +640,22 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService { */ @NotNull private MultipartFile getMultipartFile(String logPath) { - File f = new File(logPath); - DiskFileItem fileItem = (DiskFileItem) new DiskFileItemFactory().createItem("file", - "multipart/form-data", true, f.getName()); - MultipartFile multi = new CommonsMultipartFile(fileItem); - return multi; + File file = new File(logPath); + + // File 转 MultipartFile + FileItem item = new DiskFileItemFactory().createItem("file" + , MediaType.MULTIPART_FORM_DATA_VALUE + , true + , file.getName()); + try (InputStream input = new FileInputStream(file); + OutputStream os = item.getOutputStream()) { + // 流转移 + IOUtils.copy(input, os); + } catch (Exception e) { + throw new IllegalArgumentException("Invalid file: " + e, e); + } + + return new CommonsMultipartFile(item); }