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
1b5354ca
Commit
1b5354ca
authored
Jul 07, 2025
by
gdj
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整ai信息
parent
4684d677
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
530 additions
and
1 deletions
+530
-1
cloud-sdk/src/main/java/com/dji/sdk/mqtt/ChannelName.java
+2
-0
cloud-sdk/src/main/java/com/dji/sdk/mqtt/CloudApiTopicEnum.java
+2
-0
cloud-sdk/src/main/java/com/dji/sdk/mqtt/TopicConst.java
+3
-0
cloud-sdk/src/main/java/com/dji/sdk/mqtt/ai/AbstractAiInfoService.java
+24
-0
cloud-sdk/src/main/java/com/dji/sdk/mqtt/ai/AiInfoReceiver.java
+45
-0
cloud-sdk/src/main/java/com/dji/sdk/mqtt/ai/TopicAiInfoResponse.java
+74
-0
cloud-sdk/src/main/java/com/dji/sdk/mqtt/state/StateDataKeyEnum.java
+2
-0
sample/src/main/java/com/dji/sample/ai/controller/AiInfoController.java
+53
-0
sample/src/main/java/com/dji/sample/ai/dao/IAiInfoMapper.java
+10
-0
sample/src/main/java/com/dji/sample/ai/model/dto/AiInfoDTO.java
+64
-0
sample/src/main/java/com/dji/sample/ai/model/entity/AiInfoEntity.java
+65
-0
sample/src/main/java/com/dji/sample/ai/model/param/AiInfoSearchParam.java
+15
-0
sample/src/main/java/com/dji/sample/ai/service/IAiInfoService.java
+16
-0
sample/src/main/java/com/dji/sample/ai/service/impl/AiInfoServiceImpl.java
+88
-0
sample/src/main/java/com/dji/sample/ai/service/impl/SdkAiInfoServiceImpl.java
+61
-0
sample/src/main/java/com/dji/sample/component/mqtt/config/MqttMessageChannel.java
+5
-0
sample/src/main/resources/application.yml
+1
-1
No files found.
cloud-sdk/src/main/java/com/dji/sdk/mqtt/ChannelName.java
View file @
1b5354ca
...
@@ -178,4 +178,6 @@ public class ChannelName {
...
@@ -178,4 +178,6 @@ public class ChannelName {
public
static
final
String
INBOUND_DRC_UP_OSD_INFO_PUSH
=
"inboundDrcUpOsdInfoPush"
;
public
static
final
String
INBOUND_DRC_UP_OSD_INFO_PUSH
=
"inboundDrcUpOsdInfoPush"
;
public
static
final
String
INBOUND_AI_INFO
=
"inboundAiInfo"
;
}
}
cloud-sdk/src/main/java/com/dji/sdk/mqtt/CloudApiTopicEnum.java
View file @
1b5354ca
...
@@ -28,6 +28,8 @@ public enum CloudApiTopicEnum {
...
@@ -28,6 +28,8 @@ public enum CloudApiTopicEnum {
DRC_UP
(
Pattern
.
compile
(
"^"
+
THING_MODEL_PRE
+
PRODUCT
+
REGEX_SN
+
DRC
+
UP
+
"$"
),
ChannelName
.
INBOUND_DRC_UP
),
DRC_UP
(
Pattern
.
compile
(
"^"
+
THING_MODEL_PRE
+
PRODUCT
+
REGEX_SN
+
DRC
+
UP
+
"$"
),
ChannelName
.
INBOUND_DRC_UP
),
AI_INFO
(
Pattern
.
compile
(
"^"
+
AI_INFO_SUF
+
"$"
),
ChannelName
.
INBOUND_AI_INFO
),
UNKNOWN
(
Pattern
.
compile
(
"^.*$"
),
ChannelName
.
DEFAULT
);
UNKNOWN
(
Pattern
.
compile
(
"^.*$"
),
ChannelName
.
DEFAULT
);
private
final
Pattern
pattern
;
private
final
Pattern
pattern
;
...
...
cloud-sdk/src/main/java/com/dji/sdk/mqtt/TopicConst.java
View file @
1b5354ca
...
@@ -39,4 +39,6 @@ public class TopicConst {
...
@@ -39,4 +39,6 @@ public class TopicConst {
public
static
final
String
UP
=
"/up"
;
public
static
final
String
UP
=
"/up"
;
public
static
final
String
DOWN
=
"/down"
;
public
static
final
String
DOWN
=
"/down"
;
public
static
final
String
AI_INFO_SUF
=
"/ai_info"
;
}
}
\ No newline at end of file
cloud-sdk/src/main/java/com/dji/sdk/mqtt/ai/AbstractAiInfoService.java
0 → 100644
View file @
1b5354ca
package
com
.
dji
.
sdk
.
mqtt
.
ai
;
import
com.dji.sdk.mqtt.ChannelName
;
import
org.springframework.integration.annotation.ServiceActivator
;
import
org.springframework.messaging.Message
;
import
java.io.IOException
;
/**
* @author guan
*/
public
abstract
class
AbstractAiInfoService
{
/**
* Handle the reply message from topic "/ai_info".
* @param message reply message
* @throws IOException
*/
@ServiceActivator
(
inputChannel
=
ChannelName
.
INBOUND_AI_INFO
)
public
void
aiInfo
(
Message
<?>
message
)
throws
IOException
{
throw
new
UnsupportedOperationException
(
"aiInfo not implemented"
);
}
}
cloud-sdk/src/main/java/com/dji/sdk/mqtt/ai/AiInfoReceiver.java
0 → 100644
View file @
1b5354ca
package
com
.
dji
.
sdk
.
mqtt
.
ai
;
import
com.dji.sdk.mqtt.services.ServicesErrorCode
;
/**
* @author sean.zhou
* @version 0.1
* @date 2021/11/22
*/
public
class
AiInfoReceiver
<
T
>
{
private
ServicesErrorCode
result
;
private
T
info
;
public
AiInfoReceiver
()
{
}
@Override
public
String
toString
()
{
return
"ServicesAiReceiver{"
+
"result="
+
result
+
", info="
+
info
+
'}'
;
}
public
ServicesErrorCode
getResult
()
{
return
result
;
}
public
AiInfoReceiver
<
T
>
setResult
(
ServicesErrorCode
result
)
{
this
.
result
=
result
;
return
this
;
}
public
T
getInfo
()
{
return
info
;
}
public
AiInfoReceiver
<
T
>
setInfo
(
T
info
)
{
this
.
info
=
info
;
return
this
;
}
}
\ No newline at end of file
cloud-sdk/src/main/java/com/dji/sdk/mqtt/ai/TopicAiInfoResponse.java
0 → 100644
View file @
1b5354ca
package
com
.
dji
.
sdk
.
mqtt
.
ai
;
import
com.dji.sdk.mqtt.CommonTopicResponse
;
/**
* Unified Topic request format
* @author sean.zhou
* @date 2021/11/15
* @version 0.1
*/
public
class
TopicAiInfoResponse
<
T
>
extends
CommonTopicResponse
<
T
>
{
private
String
method
;
@Override
public
String
toString
()
{
return
"TopicAiInfoResponse{"
+
"tid='"
+
tid
+
'\''
+
", bid='"
+
bid
+
'\''
+
", method='"
+
method
+
'\''
+
", data="
+
data
+
", timestamp="
+
timestamp
+
'}'
;
}
public
TopicAiInfoResponse
()
{
}
public
String
getTid
()
{
return
tid
;
}
public
TopicAiInfoResponse
<
T
>
setTid
(
String
tid
)
{
this
.
tid
=
tid
;
return
this
;
}
public
String
getBid
()
{
return
bid
;
}
public
TopicAiInfoResponse
<
T
>
setBid
(
String
bid
)
{
this
.
bid
=
bid
;
return
this
;
}
public
String
getMethod
()
{
return
method
;
}
public
TopicAiInfoResponse
<
T
>
setMethod
(
String
method
)
{
this
.
method
=
method
;
return
this
;
}
public
T
getData
()
{
return
data
;
}
public
TopicAiInfoResponse
<
T
>
setData
(
T
data
)
{
this
.
data
=
data
;
return
this
;
}
public
Long
getTimestamp
()
{
return
timestamp
;
}
public
TopicAiInfoResponse
<
T
>
setTimestamp
(
Long
timestamp
)
{
this
.
timestamp
=
timestamp
;
return
this
;
}
}
\ No newline at end of file
cloud-sdk/src/main/java/com/dji/sdk/mqtt/state/StateDataKeyEnum.java
View file @
1b5354ca
...
@@ -37,6 +37,8 @@ public enum StateDataKeyEnum {
...
@@ -37,6 +37,8 @@ public enum StateDataKeyEnum {
DOCK_LIVE_STATUS
(
ChannelName
.
INBOUND_STATE_DOCK_LIVE_STATUS
,
DockLiveStatus
.
class
),
DOCK_LIVE_STATUS
(
ChannelName
.
INBOUND_STATE_DOCK_LIVE_STATUS
,
DockLiveStatus
.
class
),
AI_INFO
(
ChannelName
.
INBOUND_AI_INFO
,
UpdateTopo
.
class
),
DOCK_DRONE_WPMZ_VERSION
(
ChannelName
.
INBOUND_STATE_DOCK_DRONE_WPMZ_VERSION
,
DockDroneWpmzVersion
.
class
),
DOCK_DRONE_WPMZ_VERSION
(
ChannelName
.
INBOUND_STATE_DOCK_DRONE_WPMZ_VERSION
,
DockDroneWpmzVersion
.
class
),
DOCK_DRONE_THERMAL_SUPPORTED_PALETTE_STYLE
(
ChannelName
.
INBOUND_STATE_DOCK_DRONE_THERMAL_SUPPORTED_PALETTE_STYLE
,
DockDroneThermalSupportedPaletteStyle
.
class
),
DOCK_DRONE_THERMAL_SUPPORTED_PALETTE_STYLE
(
ChannelName
.
INBOUND_STATE_DOCK_DRONE_THERMAL_SUPPORTED_PALETTE_STYLE
,
DockDroneThermalSupportedPaletteStyle
.
class
),
...
...
sample/src/main/java/com/dji/sample/ai/controller/AiInfoController.java
0 → 100644
View file @
1b5354ca
package
com
.
dji
.
sample
.
ai
.
controller
;
import
com.dji.sample.ai.model.dto.AiInfoDTO
;
import
com.dji.sample.ai.model.param.AiInfoSearchParam
;
import
com.dji.sample.ai.service.IAiInfoService
;
import
com.dji.sample.common.model.CustomClaim
;
import
com.dji.sample.control.model.enums.DroneAuthorityEnum
;
import
com.dji.sample.control.model.enums.RemoteDebugMethodEnum
;
import
com.dji.sample.control.model.param.*
;
import
com.dji.sample.control.service.IControlService
;
import
com.dji.sample.manage.model.dto.UserListDTO
;
import
com.dji.sample.manage.model.entity.UserEntity
;
import
com.dji.sdk.common.HttpResultResponse
;
import
com.dji.sdk.common.PaginationData
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.validation.Valid
;
import
static
com
.
dji
.
sample
.
component
.
AuthInterceptor
.
TOKEN_CLAIM
;
/**
* @author gdj
* @version 1.0
* @date 20225/7/2
*/
@RestController
@Slf4j
@RequestMapping
(
"${url.manage.prefix}${url.manage.version}/aiInfo"
)
public
class
AiInfoController
{
@Autowired
private
IAiInfoService
aiInfoService
;
/**
* Paging to query all users in a workspace.
* @param param param
* @param page current page
* @param pageSize pageSize
* @return
*/
@GetMapping
(
"/Page"
)
public
HttpResultResponse
<
PaginationData
<
AiInfoDTO
>>
getAiInfoPage
(
AiInfoSearchParam
param
,
@RequestParam
(
defaultValue
=
"1"
)
Long
page
,
@RequestParam
(
value
=
"page_size"
,
defaultValue
=
"50"
)
Long
pageSize
)
{
PaginationData
<
AiInfoDTO
>
paginationData
=
aiInfoService
.
getAiInfoPageByParam
(
param
,
page
,
pageSize
);
return
HttpResultResponse
.
success
(
paginationData
);
}
}
sample/src/main/java/com/dji/sample/ai/dao/IAiInfoMapper.java
0 → 100644
View file @
1b5354ca
package
com
.
dji
.
sample
.
ai
.
dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dji.sample.ai.model.entity.AiInfoEntity
;
/**
* @author guan
*/
public
interface
IAiInfoMapper
extends
BaseMapper
<
AiInfoEntity
>
{
}
sample/src/main/java/com/dji/sample/ai/model/dto/AiInfoDTO.java
0 → 100644
View file @
1b5354ca
package
com
.
dji
.
sample
.
ai
.
model
.
dto
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* @author guan
*/
@Data
public
class
AiInfoDTO
implements
Serializable
{
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 创建时间
*/
private
LocalDateTime
createTime
;
/**
* 设备sn
*/
private
String
deviceSn
;
/**
* 负载sn
*/
private
String
payloadSn
;
/**
* 告警类型
*/
private
String
warnType
;
/**
* 告警事件
*/
private
String
warnEvent
;
/**
* 告警时间
*/
private
LocalDateTime
warnTime
;
/**
* 图片url
*/
private
String
imageUrl
;
/**
* 触发地点
*/
private
String
warnLocation
;
/**
* 存放json数据
*/
private
String
json
;
}
sample/src/main/java/com/dji/sample/ai/model/entity/AiInfoEntity.java
0 → 100644
View file @
1b5354ca
package
com
.
dji
.
sample
.
ai
.
model
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @author guan
*/
@TableName
(
value
=
"manage_ai_info"
)
@Data
public
class
AiInfoEntity
implements
Serializable
{
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 创建时间
*/
private
Long
createTime
;
/**
* 设备sn
*/
private
String
deviceSn
;
/**
* 负载sn
*/
private
String
payloadSn
;
/**
* 告警类型
*/
private
String
warnType
;
/**
* 告警事件
*/
private
String
warnEvent
;
/**
* 告警时间
*/
private
Long
warnTime
;
/**
* 图片url
*/
private
String
imageUrl
;
/**
* 触发地点
*/
private
String
warnLocation
;
/**
* 存放json数据
*/
private
String
json
;
}
sample/src/main/java/com/dji/sample/ai/model/param/AiInfoSearchParam.java
0 → 100644
View file @
1b5354ca
package
com
.
dji
.
sample
.
ai
.
model
.
param
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
/**
* @author guan
*/
@Data
public
class
AiInfoSearchParam
{
@JsonProperty
(
"device_sn"
)
private
String
deviceSn
;
}
sample/src/main/java/com/dji/sample/ai/service/IAiInfoService.java
0 → 100644
View file @
1b5354ca
package
com
.
dji
.
sample
.
ai
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dji.sample.ai.model.dto.AiInfoDTO
;
import
com.dji.sample.ai.model.entity.AiInfoEntity
;
import
com.dji.sample.ai.model.param.AiInfoSearchParam
;
import
com.dji.sdk.common.PaginationData
;
/**
* @author guan
*/
public
interface
IAiInfoService
extends
IService
<
AiInfoEntity
>
{
PaginationData
<
AiInfoDTO
>
getAiInfoPageByParam
(
AiInfoSearchParam
param
,
Long
page
,
Long
pageSize
);
}
sample/src/main/java/com/dji/sample/ai/service/impl/AiInfoServiceImpl.java
0 → 100644
View file @
1b5354ca
package
com
.
dji
.
sample
.
ai
.
service
.
impl
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dji.sample.ai.dao.IAiInfoMapper
;
import
com.dji.sample.ai.model.dto.AiInfoDTO
;
import
com.dji.sample.ai.model.entity.AiInfoEntity
;
import
com.dji.sample.ai.model.param.AiInfoSearchParam
;
import
com.dji.sample.ai.service.IAiInfoService
;
import
com.dji.sdk.common.Pagination
;
import
com.dji.sdk.common.PaginationData
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
java.time.Instant
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
/**
* @author guan
*/
@Service
public
class
AiInfoServiceImpl
extends
ServiceImpl
<
IAiInfoMapper
,
AiInfoEntity
>
implements
IAiInfoService
{
@Override
public
PaginationData
<
AiInfoDTO
>
getAiInfoPageByParam
(
AiInfoSearchParam
param
,
Long
page
,
Long
pageSize
)
{
LambdaQueryWrapper
<
AiInfoEntity
>
wrapper
=
new
LambdaQueryWrapper
<>();
if
(
StringUtils
.
hasText
(
param
.
getDeviceSn
()))
{
wrapper
.
eq
(
AiInfoEntity:
:
getDeviceSn
,
param
.
getDeviceSn
());
}
Page
<
AiInfoEntity
>
pagination
=
this
.
page
(
new
Page
<>(
page
,
pageSize
),
wrapper
);
List
<
AiInfoDTO
>
aiInfoDTOList
=
pagination
.
getRecords
().
stream
().
map
(
this
::
AiInfoEntityToDTO
)
.
collect
(
Collectors
.
toList
());
return
new
PaginationData
<>(
aiInfoDTOList
,
new
Pagination
(
pagination
.
getCurrent
(),
pagination
.
getSize
(),
pagination
.
getTotal
()));
}
public
AiInfoDTO
AiInfoEntityToDTO
(
AiInfoEntity
aiInfoEntity
)
{
AiInfoDTO
aiInfoDTO
=
new
AiInfoDTO
();
aiInfoDTO
.
setId
(
aiInfoEntity
.
getId
());
aiInfoDTO
.
setCreateTime
(
Objects
.
nonNull
(
aiInfoEntity
.
getCreateTime
())
?
LocalDateTime
.
ofInstant
(
Instant
.
ofEpochMilli
(
aiInfoEntity
.
getCreateTime
()),
ZoneId
.
systemDefault
())
:
null
);
aiInfoDTO
.
setDeviceSn
(
aiInfoEntity
.
getDeviceSn
());
aiInfoDTO
.
setPayloadSn
(
aiInfoEntity
.
getPayloadSn
());
aiInfoDTO
.
setImageUrl
(
aiInfoEntity
.
getImageUrl
());
aiInfoDTO
.
setWarnType
(
aiInfoEntity
.
getWarnType
());
aiInfoDTO
.
setWarnEvent
(
aiInfoEntity
.
getWarnEvent
());
aiInfoDTO
.
setWarnLocation
(
aiInfoEntity
.
getWarnLocation
());
aiInfoDTO
.
setWarnTime
(
Objects
.
nonNull
(
aiInfoEntity
.
getWarnTime
())
?
LocalDateTime
.
ofInstant
(
Instant
.
ofEpochMilli
(
aiInfoEntity
.
getWarnTime
()),
ZoneId
.
systemDefault
())
:
null
);
aiInfoDTO
.
setJson
(
aiInfoEntity
.
getJson
());
return
aiInfoDTO
;
}
public
AiInfoEntity
AiInfoDTOToEntity
(
AiInfoDTO
aiInfoDTO
)
{
AiInfoEntity
aiInfoEntity
=
new
AiInfoEntity
();
aiInfoEntity
.
setId
(
aiInfoDTO
.
getId
());
if
(
Objects
.
nonNull
(
aiInfoDTO
.
getCreateTime
()))
{
aiInfoEntity
.
setCreateTime
(
aiInfoDTO
.
getCreateTime
().
atZone
(
ZoneId
.
systemDefault
()).
toInstant
().
toEpochMilli
());
}
aiInfoEntity
.
setDeviceSn
(
aiInfoDTO
.
getDeviceSn
());
aiInfoEntity
.
setPayloadSn
(
aiInfoDTO
.
getPayloadSn
());
aiInfoEntity
.
setImageUrl
(
aiInfoDTO
.
getImageUrl
());
aiInfoEntity
.
setWarnType
(
aiInfoDTO
.
getWarnType
());
aiInfoEntity
.
setWarnEvent
(
aiInfoDTO
.
getWarnEvent
());
aiInfoEntity
.
setWarnLocation
(
aiInfoDTO
.
getWarnLocation
());
if
(
Objects
.
nonNull
(
aiInfoDTO
.
getWarnTime
()))
{
aiInfoEntity
.
setWarnTime
(
aiInfoDTO
.
getWarnTime
().
atZone
(
ZoneId
.
systemDefault
()).
toInstant
().
toEpochMilli
());
}
aiInfoEntity
.
setJson
(
aiInfoDTO
.
getJson
());
return
aiInfoEntity
;
}
}
sample/src/main/java/com/dji/sample/ai/service/impl/SdkAiInfoServiceImpl.java
0 → 100644
View file @
1b5354ca
package
com
.
dji
.
sample
.
ai
.
service
.
impl
;
import
com.dji.sample.ai.model.entity.AiInfoEntity
;
import
com.dji.sample.ai.service.IAiInfoService
;
import
com.dji.sdk.common.Common
;
import
com.dji.sdk.mqtt.ai.AbstractAiInfoService
;
import
com.dji.sdk.mqtt.ai.TopicAiInfoResponse
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.integration.mqtt.support.MqttHeaders
;
import
org.springframework.messaging.Message
;
import
org.springframework.messaging.MessageHeaders
;
import
org.springframework.stereotype.Service
;
import
java.io.IOException
;
import
java.util.Objects
;
/**
* @author guan
*/
@Service
public
class
SdkAiInfoServiceImpl
extends
AbstractAiInfoService
{
@Autowired
IAiInfoService
aiInfoService
;
/**
* Handle the reply message from topic "/ai_info".
* @param message reply message
* @throws IOException
*/
@Override
public
void
aiInfo
(
Message
<?>
message
)
throws
IOException
{
MessageHeaders
headers
=
message
.
getHeaders
();
String
topic
=
Objects
.
requireNonNull
(
headers
.
get
(
MqttHeaders
.
RECEIVED_TOPIC
)).
toString
();
byte
[]
payload
=
(
byte
[])
message
.
getPayload
();
JsonNode
jsonData
=
Common
.
getObjectMapper
().
readValue
(
payload
,
new
TypeReference
<>()
{});
// 转换数据
// TopicAiInfoResponse<JsonNode> receiver = Common.getObjectMapper().readValue(payload, new TypeReference<>() {});
// JsonNode jsonData = receiver.getData();
// 进行操作
AiInfoEntity
aiInfoEntity
=
new
AiInfoEntity
();
// 保存数据库
aiInfoEntity
.
setCreateTime
(
System
.
currentTimeMillis
());
aiInfoEntity
.
setDeviceSn
(
jsonData
.
get
(
"device_sn"
).
asText
());
aiInfoEntity
.
setPayloadSn
(
jsonData
.
get
(
"payload_sn"
).
asText
());
aiInfoEntity
.
setWarnType
(
jsonData
.
get
(
"warn_type"
).
asText
());
aiInfoEntity
.
setWarnEvent
(
jsonData
.
get
(
"warn_event"
).
asText
());
aiInfoEntity
.
setWarnTime
(
jsonData
.
get
(
"warn_time"
).
asLong
());
aiInfoEntity
.
setImageUrl
(
jsonData
.
get
(
"image_url"
).
asText
());
aiInfoEntity
.
setWarnLocation
(
jsonData
.
get
(
"warn_Location"
).
asText
());
JsonNode
obj
=
jsonData
.
get
(
"obj"
);
if
(
obj
!=
null
)
{
aiInfoEntity
.
setJson
(
obj
.
toString
());
}
aiInfoService
.
save
(
aiInfoEntity
);
}
}
sample/src/main/java/com/dji/sample/component/mqtt/config/MqttMessageChannel.java
View file @
1b5354ca
...
@@ -72,4 +72,9 @@ public class MqttMessageChannel {
...
@@ -72,4 +72,9 @@ public class MqttMessageChannel {
return
new
DirectChannel
();
return
new
DirectChannel
();
}
}
@Bean
(
name
=
ChannelName
.
INBOUND_AI_INFO
)
public
MessageChannel
aiInfoChannel
()
{
return
new
DirectChannel
();
}
}
}
sample/src/main/resources/application.yml
View file @
1b5354ca
...
@@ -95,7 +95,7 @@ mqtt:
...
@@ -95,7 +95,7 @@ mqtt:
cloud-sdk
:
cloud-sdk
:
mqtt
:
mqtt
:
# Topics that need to be subscribed when initially connecting to mqtt, multiple topics are divided by ",".
# Topics that need to be subscribed when initially connecting to mqtt, multiple topics are divided by ",".
inbound-topic
:
sys/product/+/status,thing/product/+/requests
inbound-topic
:
sys/product/+/status,thing/product/+/requests
,/ai_info
url
:
url
:
manage
:
manage
:
...
...
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