Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
GeoFlyApi
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
GeoFly
GeoFlyApi
Commits
9a9f1f03
Commit
9a9f1f03
authored
May 26, 2025
by
gdj
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
oss增加workspaceId。
parent
5be1bd6a
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
60 additions
and
9 deletions
+60
-9
sample/src/main/java/com/dji/sample/manage/service/impl/DeviceFirmwareServiceImpl.java
+2
-1
sample/src/main/java/com/dji/sample/manage/service/impl/SDKDeviceService.java
+3
-1
sample/src/main/java/com/dji/sample/map/service/impl/FlightAreaFileServiceImpl.java
+1
-1
sample/src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java
+2
-1
sample/src/main/java/com/dji/sample/storage/controller/StorageController.java
+1
-1
sample/src/main/java/com/dji/sample/storage/service/IStorageService.java
+1
-0
sample/src/main/java/com/dji/sample/storage/service/impl/StorageServiceImpl.java
+47
-1
sample/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
+3
-3
No files found.
sample/src/main/java/com/dji/sample/manage/service/impl/DeviceFirmwareServiceImpl.java
View file @
9a9f1f03
...
...
@@ -212,7 +212,8 @@ public class DeviceFirmwareServiceImpl extends AbstractFirmwareService implement
}
String
firmwareId
=
UUID
.
randomUUID
().
toString
();
String
objectKey
=
OssConfiguration
.
objectDirPrefix
+
File
.
separator
+
firmwareId
+
FirmwareFileProperties
.
FIRMWARE_FILE_SUFFIX
;
// String objectKey = OssConfiguration.objectDirPrefix + File.separator + firmwareId + FirmwareFileProperties.FIRMWARE_FILE_SUFFIX;
String
objectKey
=
OssConfiguration
.
objectDirPrefix
+
"/"
+
workspaceId
+
"/"
+
firmwareId
+
FirmwareFileProperties
.
FIRMWARE_FILE_SUFFIX
;
ossServiceContext
.
putObject
(
OssConfiguration
.
bucket
,
objectKey
,
file
.
getInputStream
());
log
.
info
(
"upload success. {}"
,
file
.
getOriginalFilename
());
...
...
sample/src/main/java/com/dji/sample/manage/service/impl/SDKDeviceService.java
View file @
9a9f1f03
...
...
@@ -28,9 +28,11 @@ import com.dji.sdk.mqtt.state.TopicStateRequest;
import
com.dji.sdk.mqtt.status.TopicStatusRequest
;
import
com.dji.sdk.mqtt.status.TopicStatusResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.messaging.MessageHeaders
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.StringUtils
;
import
java.math.RoundingMode
;
...
...
@@ -295,7 +297,7 @@ public class SDKDeviceService extends AbstractDeviceService {
DeviceDTO
device
=
DeviceDTO
.
builder
()
.
deviceSn
(
request
.
getFrom
())
.
firmwareVersion
(
request
.
getData
().
getFirmwareVersion
())
.
firmwareStatus
(
request
.
getData
().
getNeedCompatibleStatus
(
)
?
.
firmwareStatus
(
BooleanUtils
.
isTrue
(
request
.
getData
().
getNeedCompatibleStatus
()
)
?
DeviceFirmwareStatusEnum
.
UNKNOWN
:
DeviceFirmwareStatusEnum
.
CONSISTENT_UPGRADE
)
.
build
();
boolean
isUpd
=
deviceService
.
updateDevice
(
device
);
...
...
sample/src/main/java/com/dji/sample/map/service/impl/FlightAreaFileServiceImpl.java
View file @
9a9f1f03
...
...
@@ -115,7 +115,7 @@ public class FlightAreaFileServiceImpl implements IFlightAreaFileService {
try
(
ByteArrayInputStream
is
=
new
ByteArrayInputStream
(
os
.
toByteArray
()))
{
String
name
=
String
.
format
(
"geofence_%s.json"
,
org
.
springframework
.
util
.
DigestUtils
.
md5DigestAsHex
(
is
));
is
.
reset
();
String
objectKey
=
OssConfiguration
.
objectDirPrefix
+
"/"
+
name
;
String
objectKey
=
OssConfiguration
.
objectDirPrefix
+
"/"
+
workspaceId
+
"/"
+
name
;
ossServiceContext
.
putObject
(
OssConfiguration
.
bucket
,
objectKey
,
is
);
return
FlightAreaFileDTO
.
builder
()
.
name
(
name
)
...
...
sample/src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java
View file @
9a9f1f03
...
...
@@ -155,10 +155,11 @@ public class MediaServiceImpl extends AbstractMediaService implements IMediaServ
file
.
getExt
().
setSn
(
device
.
getChildDeviceSn
());
// set path
// todo? 是否需要修改?
String
objectKey
=
file
.
getObjectKey
();
file
.
setPath
(
objectKey
.
substring
(
Optional
.
of
(
objectKey
.
indexOf
(
OssConfiguration
.
objectDirPrefix
))
.
filter
(
index
->
index
>
0
).
map
(
index
->
index
++).
orElse
(
0
),
objectKey
.
lastIndexOf
(
"/"
)));
objectKey
.
lastIndexOf
(
"/"
))
+
"/"
+
device
.
getWorkspaceId
()
);
return
fileService
.
saveFile
(
device
.
getWorkspaceId
(),
file
)
>
0
;
}
...
...
sample/src/main/java/com/dji/sample/storage/controller/StorageController.java
View file @
9a9f1f03
...
...
@@ -28,7 +28,7 @@ public class StorageController implements IHttpStorageService {
*/
@Override
public
HttpResultResponse
<
StsCredentialsResponse
>
getTemporaryCredential
(
String
workspaceId
,
HttpServletRequest
req
,
HttpServletResponse
rsp
)
{
StsCredentialsResponse
stsCredentials
=
storageService
.
getSTSCredentials
();
StsCredentialsResponse
stsCredentials
=
storageService
.
getSTSCredentials
(
workspaceId
);
return
HttpResultResponse
.
success
(
stsCredentials
);
}
}
sample/src/main/java/com/dji/sample/storage/service/IStorageService.java
View file @
9a9f1f03
...
...
@@ -14,5 +14,6 @@ public interface IStorageService {
* @return temporary credentials object
*/
StsCredentialsResponse
getSTSCredentials
();
StsCredentialsResponse
getSTSCredentials
(
String
workspaceId
);
}
sample/src/main/java/com/dji/sample/storage/service/impl/StorageServiceImpl.java
View file @
9a9f1f03
package
com
.
dji
.
sample
.
storage
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.dji.sample.component.oss.model.OssConfiguration
;
import
com.dji.sample.component.oss.service.impl.OssServiceContext
;
import
com.dji.sample.manage.model.dto.DeviceDTO
;
import
com.dji.sample.manage.model.entity.DeviceEntity
;
import
com.dji.sample.manage.service.IDeviceRedisService
;
import
com.dji.sample.manage.service.IDeviceService
;
import
com.dji.sample.storage.service.IStorageService
;
import
com.dji.sdk.cloudapi.media.StorageConfigGet
;
import
com.dji.sdk.cloudapi.media.api.AbstractMediaService
;
...
...
@@ -12,6 +17,11 @@ import com.dji.sdk.mqtt.requests.TopicRequestsResponse;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.messaging.MessageHeaders
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.StringUtils
;
import
java.util.List
;
import
java.util.Optional
;
/**
* @author sean
...
...
@@ -24,6 +34,12 @@ public class StorageServiceImpl extends AbstractMediaService implements IStorage
@Autowired
private
OssServiceContext
ossService
;
@Autowired
private
IDeviceRedisService
deviceRedisService
;
@Autowired
private
IDeviceService
deviceService
;
@Override
public
StsCredentialsResponse
getSTSCredentials
()
{
return
new
StsCredentialsResponse
()
...
...
@@ -36,7 +52,37 @@ public class StorageServiceImpl extends AbstractMediaService implements IStorage
}
@Override
public
StsCredentialsResponse
getSTSCredentials
(
String
workspaceId
)
{
return
new
StsCredentialsResponse
()
.
setEndpoint
(
OssConfiguration
.
endpoint
)
.
setBucket
(
OssConfiguration
.
bucket
)
.
setCredentials
(
ossService
.
getCredentials
())
.
setProvider
(
OssConfiguration
.
provider
)
.
setObjectKeyPrefix
(
OssConfiguration
.
objectDirPrefix
+
"/"
+
workspaceId
)
.
setRegion
(
OssConfiguration
.
region
);
}
@Override
public
TopicRequestsResponse
<
MqttReply
<
StsCredentialsResponse
>>
storageConfigGet
(
TopicRequestsRequest
<
StorageConfigGet
>
response
,
MessageHeaders
headers
)
{
return
new
TopicRequestsResponse
<
MqttReply
<
StsCredentialsResponse
>>().
setData
(
MqttReply
.
success
(
getSTSCredentials
()));
String
gateWay
=
response
.
getGateway
();
Optional
<
DeviceDTO
>
deviceOnline
=
deviceRedisService
.
getDeviceOnline
(
gateWay
);
String
workspaceId
=
null
;
if
(
deviceOnline
.
isPresent
())
{
workspaceId
=
deviceOnline
.
get
().
getWorkspaceId
();
}
else
{
List
<
DeviceEntity
>
deviceEntities
=
deviceService
.
list
(
new
LambdaQueryWrapper
<
DeviceEntity
>().
eq
(
DeviceEntity:
:
getDeviceSn
,
gateWay
));
if
(!
CollectionUtils
.
isEmpty
(
deviceEntities
))
{
workspaceId
=
deviceEntities
.
get
(
0
).
getWorkspaceId
();
}
}
StsCredentialsResponse
stsCredentials
;
if
(
StringUtils
.
hasText
(
workspaceId
))
{
stsCredentials
=
getSTSCredentials
(
workspaceId
);
}
else
{
stsCredentials
=
getSTSCredentials
();
}
return
new
TopicRequestsResponse
<
MqttReply
<
StsCredentialsResponse
>>().
setData
(
MqttReply
.
success
(
stsCredentials
));
}
}
sample/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
View file @
9a9f1f03
...
...
@@ -208,7 +208,7 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
@Override
public
void
importKmzFile
(
MultipartFile
file
,
String
workspaceId
,
String
creator
,
String
fileParentId
)
{
Optional
<
WaylineFileDTO
>
waylineFileOpt
=
validKmzFile
(
file
);
Optional
<
WaylineFileDTO
>
waylineFileOpt
=
validKmzFile
(
file
,
workspaceId
);
if
(
waylineFileOpt
.
isEmpty
())
{
throw
new
RuntimeException
(
"The file format is incorrect."
);
}
...
...
@@ -354,7 +354,7 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
return
roots
;
}
private
Optional
<
WaylineFileDTO
>
validKmzFile
(
MultipartFile
file
)
{
private
Optional
<
WaylineFileDTO
>
validKmzFile
(
MultipartFile
file
,
String
workspaceId
)
{
String
filename
=
file
.
getOriginalFilename
();
if
(
Objects
.
nonNull
(
filename
)
&&
!
filename
.
endsWith
(
WAYLINE_FILE_SUFFIX
))
{
throw
new
RuntimeException
(
"The file format is incorrect."
);
...
...
@@ -390,7 +390,7 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
.
droneModelKey
(
DeviceEnum
.
find
(
DeviceDomainEnum
.
DRONE
,
type
,
subType
).
getDevice
())
.
payloadModelKeys
(
List
.
of
(
DeviceEnum
.
find
(
DeviceDomainEnum
.
PAYLOAD
,
payloadType
,
payloadSubType
).
getDevice
()))
// .objectKey(OssConfiguration.objectDirPrefix + File.separator + filename)
.
objectKey
(
OssConfiguration
.
objectDirPrefix
+
"/"
+
filename
)
.
objectKey
(
OssConfiguration
.
objectDirPrefix
+
"/"
+
workspaceId
+
"/"
+
filename
)
.
name
(
filename
.
substring
(
0
,
filename
.
lastIndexOf
(
WAYLINE_FILE_SUFFIX
)))
.
sign
(
DigestUtils
.
md5DigestAsHex
(
file
.
getInputStream
()))
.
templateTypes
(
List
.
of
(
WaylineTypeEnum
.
find
(
templateType
).
getValue
()))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment