mirror of
https://github.com/hpd840321/starRiverProperty.git
synced 2026-06-09 08:20:31 +08:00
feat(elevator): 对齐 V1 lib 的 Davinci/扫描/事件与部署配置
- davinci-manager-storage:FilePart 路径与基址按 V1 JAR(/portal/file、/part/*、GET /download) - 启动类:扫描 cn.cloudwalk.serial 与 cn.cloudwalk.cwos.client.resource,补 UUIDSerial 与 ApplicationService - deploy:v1/v2 application 中 cloudwalk.serial.enabled、Kafka 指向 192.168.3.12:9092;deploy/.gitignore 忽略日志 - cloudwalk-common-serial:补充 META-INF/spring.factories(Boot 自动配置) - 电梯:Session 配置、Davinci Bean、Feign 包、MQTT/Visitor/Zone Feign;部署脚本与 API parity 工具更新 - 文档与根脚本若干;未纳入大体积 jar/zip 与 v1 CFR 对比目录 Made-with: Cursor Former-commit-id: b76d142d13ebb5c0898de2d9d11bc583876829c2
This commit is contained in:
+7
-3
@@ -4,6 +4,7 @@ import cn.cloudwalk.intelligent.davinci.common.result.DavinciResult;
|
||||
import cn.cloudwalk.intelligent.davinci.storage.bean.part.dto.PartFinishDTO;
|
||||
import cn.cloudwalk.intelligent.davinci.storage.bean.part.dto.PartInitDTO;
|
||||
import cn.cloudwalk.intelligent.davinci.storage.bean.part.dto.PartInitResultDTO;
|
||||
import feign.Response;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
@@ -13,14 +14,17 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
public interface FilePartFeign {
|
||||
|
||||
@RequestMapping(value = { "/init" }, method = { RequestMethod.POST })
|
||||
@RequestMapping(value = { "/part/init" }, method = { RequestMethod.POST })
|
||||
DavinciResult<PartInitResultDTO> init(@RequestBody PartInitDTO paramPartInitDTO);
|
||||
|
||||
@RequestMapping(value = { "/append" }, method = { RequestMethod.POST }, consumes = { "multipart/form-data" })
|
||||
@RequestMapping(value = { "/part/append" }, method = { RequestMethod.POST }, consumes = { "multipart/form-data" })
|
||||
DavinciResult<PartInitResultDTO> append(@RequestParam("filePath") String paramString1,
|
||||
@RequestParam("partNumber") Integer paramInteger, @RequestParam("uploadId") String paramString2,
|
||||
@RequestPart("file") MultipartFile paramMultipartFile);
|
||||
|
||||
@RequestMapping(value = { "/finish" }, method = { RequestMethod.POST })
|
||||
@RequestMapping(value = { "/part/finish" }, method = { RequestMethod.POST })
|
||||
DavinciResult<String> finish(@RequestBody PartFinishDTO paramPartFinishDTO);
|
||||
|
||||
@RequestMapping(value = { "/download" }, method = { RequestMethod.GET })
|
||||
Response bigFileDownload(@RequestParam("path") String path);
|
||||
}
|
||||
|
||||
+3
@@ -4,6 +4,7 @@ import cn.cloudwalk.intelligent.davinci.common.exception.DavinciServiceException
|
||||
import cn.cloudwalk.intelligent.davinci.storage.bean.part.dto.PartFinishDTO;
|
||||
import cn.cloudwalk.intelligent.davinci.storage.bean.part.dto.PartInitDTO;
|
||||
import cn.cloudwalk.intelligent.davinci.storage.bean.part.dto.PartInitResultDTO;
|
||||
import java.io.InputStream;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
public interface FilePartManager {
|
||||
@@ -14,4 +15,6 @@ public interface FilePartManager {
|
||||
MultipartFile paramMultipartFile) throws DavinciServiceException;
|
||||
|
||||
String finish(PartFinishDTO paramPartFinishDTO) throws DavinciServiceException;
|
||||
|
||||
InputStream bigFileDownload(String paramString) throws DavinciServiceException;
|
||||
}
|
||||
|
||||
+18
-11
@@ -9,28 +9,22 @@ import cn.cloudwalk.intelligent.davinci.storage.feign.FilePartFeign;
|
||||
import cn.cloudwalk.intelligent.davinci.storage.manager.FilePartManager;
|
||||
import feign.Client;
|
||||
import feign.Feign;
|
||||
import feign.Response;
|
||||
import feign.codec.Decoder;
|
||||
import feign.codec.Encoder;
|
||||
import feign.form.spring.SpringFormEncoder;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.cloud.openfeign.FeignClientsConfiguration;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import org.springframework.cloud.openfeign.support.SpringMvcContract;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
@Component
|
||||
@Import({ FeignClientsConfiguration.class })
|
||||
public class FilePartManagerImpl implements FilePartManager {
|
||||
|
||||
private FilePartFeign filePartFeign;
|
||||
private FilePartFeign filePartRestFeign;
|
||||
|
||||
@Autowired
|
||||
public FilePartManagerImpl(@Value("${feign.davinci-portal.name:davinci-portal}") String serviceName,
|
||||
Decoder decoder, Encoder encoder, Client client) {
|
||||
String url = "http://" + serviceName + "/portal/file/part";
|
||||
public FilePartManagerImpl(String serviceName, Decoder decoder, Encoder encoder, Client client) {
|
||||
String url = "http://" + serviceName + "/portal/file";
|
||||
|
||||
this.filePartFeign = Feign.builder().client(client).decode404().encoder(new SpringFormEncoder())
|
||||
.decoder(decoder).contract(new SpringMvcContract()).target(FilePartFeign.class, url);
|
||||
@@ -66,4 +60,17 @@ public class FilePartManagerImpl implements FilePartManager {
|
||||
}
|
||||
throw new DavinciServiceException(result.getCode(), result.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public InputStream bigFileDownload(String path) throws DavinciServiceException {
|
||||
try {
|
||||
Response response = this.filePartFeign.bigFileDownload(path);
|
||||
if (response.body() == null) {
|
||||
return null;
|
||||
}
|
||||
return response.body().asInputStream();
|
||||
} catch (IOException e) {
|
||||
throw new DavinciServiceException("", "调用Davinci-portal服务,获取大文件流接口异常");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-3
@@ -25,15 +25,12 @@ import java.util.Locale;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.cloud.openfeign.FeignClientsConfiguration;
|
||||
import org.springframework.cloud.openfeign.support.SpringMvcContract;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
@Component
|
||||
@Import({ FeignClientsConfiguration.class })
|
||||
public class FileStorageManagerImpl implements FileStorageManager {
|
||||
|
||||
private FileManagerFeign fileManagerFeign;
|
||||
|
||||
Reference in New Issue
Block a user