|
|
@@ -33,6 +33,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
import java.io.File;
|
|
|
import java.io.IOException;
|
|
|
import java.io.InputStream;
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.net.URL;
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
import java.sql.SQLException;
|
|
|
@@ -234,12 +235,17 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
|
|
|
DeviceTypeEnum payloadType = DeviceTypeEnum.find(Integer.parseInt(payloadNode.valueOf(KmzFileProperties.TAG_WPML_PREFIX + KmzFileProperties.TAG_PAYLOAD_ENUM_VALUE)));
|
|
|
DeviceSubTypeEnum payloadSubType = DeviceSubTypeEnum.find(Integer.parseInt(payloadNode.valueOf(KmzFileProperties.TAG_WPML_PREFIX + KmzFileProperties.TAG_PAYLOAD_SUB_ENUM_VALUE)));
|
|
|
String templateType = document.valueOf("//" + KmzFileProperties.TAG_WPML_PREFIX + KmzFileProperties.TAG_TEMPLATE_TYPE);
|
|
|
-
|
|
|
+ BigDecimal height = new BigDecimal(document.valueOf("//" + KmzFileProperties.TAG_WPML_PREFIX + KmzFileProperties.HEIGHT));
|
|
|
+ BigDecimal ellipsoidHeight = new BigDecimal(document.valueOf("//" + KmzFileProperties.TAG_WPML_PREFIX + KmzFileProperties.ELLIPSOID_HEIGHT));
|
|
|
+ String heightMode = document.valueOf("//" + KmzFileProperties.TAG_WPML_PREFIX + KmzFileProperties.HEIGHT_MODE);
|
|
|
return Optional.of(WaylineFileDTO.builder()
|
|
|
.droneModelKey(DeviceEnum.find(DeviceDomainEnum.DRONE, type, subType).getDevice())
|
|
|
.payloadModelKeys(List.of(DeviceEnum.find(DeviceDomainEnum.PAYLOAD, payloadType, payloadSubType).getDevice()))
|
|
|
.objectKey(OssConfiguration.objectDirPrefix + File.separator + filename)
|
|
|
.name(filename.substring(0, filename.lastIndexOf(WAYLINE_FILE_SUFFIX)))
|
|
|
+ .height(height)
|
|
|
+ .heightMode(heightMode)
|
|
|
+ .ellipsoidHeight(ellipsoidHeight)
|
|
|
.sign(DigestUtils.md5DigestAsHex(file.getInputStream()))
|
|
|
.templateTypes(List.of(WaylineTypeEnum.find(templateType).getValue()))
|
|
|
.build());
|
|
|
@@ -296,6 +302,9 @@ public class WaylineFileServiceImpl implements IWaylineFileService {
|
|
|
.map(String::valueOf)
|
|
|
.collect(Collectors.joining(",")))
|
|
|
.favorited(file.getFavorited())
|
|
|
+ .height(file.getHeight())
|
|
|
+ .heightMode(file.getHeightMode())
|
|
|
+ .ellipsoidHeight(file.getEllipsoidHeight())
|
|
|
.sign(file.getSign())
|
|
|
.build();
|
|
|
}
|