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
99c54546
Commit
99c54546
authored
Jul 07, 2025
by
gdj
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加操作日志
parent
1b5354ca
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
222 additions
and
0 deletions
+222
-0
sample/src/main/java/com/dji/sample/common/util/IPUtils.java
+88
-0
sample/src/main/java/com/dji/sample/control/dao/IManageDeviceOperatingRecordMapper.java
+10
-0
sample/src/main/java/com/dji/sample/control/model/entity/ManageDeviceOperatingRecord.java
+35
-0
sample/src/main/java/com/dji/sample/control/service/IManageDeviceOperatingRecordService.java
+13
-0
sample/src/main/java/com/dji/sample/control/service/impl/ControlServiceImpl.java
+28
-0
sample/src/main/java/com/dji/sample/control/service/impl/DrcServiceImpl.java
+14
-0
sample/src/main/java/com/dji/sample/control/service/impl/ManageDeviceOperatingRecordServiceImpl.java
+34
-0
No files found.
sample/src/main/java/com/dji/sample/common/util/IPUtils.java
0 → 100644
View file @
99c54546
package
com
.
dji
.
sample
.
common
.
util
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
import
java.net.InetAddress
;
import
java.net.UnknownHostException
;
/**
* Ip地址
*
* @author gdj
* @function
* @date 2025/6/25 11:23 AM
*/
public
class
IPUtils
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
IPUtils
.
class
);
private
static
final
String
IP_UTILS_FLAG
=
","
;
private
static
final
String
UNKNOWN
=
"unknown"
;
private
static
final
String
LOCALHOST_IP
=
"0:0:0:0:0:0:0:1"
;
private
static
final
String
LOCALHOST_IP1
=
"127.0.0.1"
;
public
static
String
getIpAddr
()
{
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
return
getIpAddr
(
request
);
}
/**
* 获取IP地址
* <p>
* 使用Nginx等反向代理软件, 则不能通过request.getRemoteAddr()获取IP地址
* 如果使用了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP地址,X-Forwarded-For中第一个非unknown的有效IP字符串,则为真实IP地址
*/
public
static
String
getIpAddr
(
HttpServletRequest
request
)
{
String
ip
=
null
;
try
{
//以下两个获取在k8s中,将真实的客户端IP,放到了x-Original-Forwarded-For。而将WAF的回源地址放到了 x-Forwarded-For了。
ip
=
request
.
getHeader
(
"X-Original-Forwarded-For"
);
if
(
StringUtils
.
isEmpty
(
ip
)
||
UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"X-Forwarded-For"
);
}
//获取nginx等代理的ip
if
(
StringUtils
.
isEmpty
(
ip
)
||
UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"x-forwarded-for"
);
}
if
(
StringUtils
.
isEmpty
(
ip
)
||
UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"Proxy-Client-IP"
);
}
if
(
StringUtils
.
isEmpty
(
ip
)
||
ip
.
length
()
==
0
||
UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"WL-Proxy-Client-IP"
);
}
if
(
StringUtils
.
isEmpty
(
ip
)
||
UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"HTTP_CLIENT_IP"
);
}
if
(
StringUtils
.
isEmpty
(
ip
)
||
UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"HTTP_X_FORWARDED_FOR"
);
}
//兼容k8s集群获取ip
if
(
StringUtils
.
isEmpty
(
ip
)
||
UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getRemoteAddr
();
if
(
LOCALHOST_IP1
.
equalsIgnoreCase
(
ip
)
||
LOCALHOST_IP
.
equalsIgnoreCase
(
ip
))
{
//根据网卡取本机配置的IP
InetAddress
iNet
=
null
;
try
{
iNet
=
InetAddress
.
getLocalHost
();
}
catch
(
UnknownHostException
e
)
{
logger
.
error
(
"getClientIp error: {}"
,
e
);
}
ip
=
iNet
.
getHostAddress
();
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"IPUtils ERROR "
,
e
);
}
//使用代理,则获取第一个IP地址
if
(!
StringUtils
.
isEmpty
(
ip
)
&&
ip
.
indexOf
(
IP_UTILS_FLAG
)
>
0
)
{
ip
=
ip
.
substring
(
0
,
ip
.
indexOf
(
IP_UTILS_FLAG
));
}
return
ip
;
}
}
sample/src/main/java/com/dji/sample/control/dao/IManageDeviceOperatingRecordMapper.java
0 → 100644
View file @
99c54546
package
com
.
dji
.
sample
.
control
.
dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dji.sample.control.model.entity.ManageDeviceOperatingRecord
;
/**
* @author guan
*/
public
interface
IManageDeviceOperatingRecordMapper
extends
BaseMapper
<
ManageDeviceOperatingRecord
>
{
}
sample/src/main/java/com/dji/sample/control/model/entity/ManageDeviceOperatingRecord.java
0 → 100644
View file @
99c54546
package
com
.
dji
.
sample
.
control
.
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_device_operating_record"
)
@Data
public
class
ManageDeviceOperatingRecord
implements
Serializable
{
@TableId
(
type
=
IdType
.
AUTO
)
private
Integer
id
;
private
String
dockSn
;
private
String
ip
;
private
String
workspaceId
;
private
String
userId
;
private
String
operatingType
;
private
Long
operatingTime
;
private
String
operatingParam
;
}
sample/src/main/java/com/dji/sample/control/service/IManageDeviceOperatingRecordService.java
0 → 100644
View file @
99c54546
package
com
.
dji
.
sample
.
control
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dji.sample.control.model.entity.ManageDeviceOperatingRecord
;
/**
* @author guan
*/
public
interface
IManageDeviceOperatingRecordService
extends
IService
<
ManageDeviceOperatingRecord
>
{
ManageDeviceOperatingRecord
saveOperatingRecord
(
String
sn
,
String
operatingType
,
String
paramStr
);
}
sample/src/main/java/com/dji/sample/control/service/impl/ControlServiceImpl.java
View file @
99c54546
package
com
.
dji
.
sample
.
control
.
service
.
impl
;
package
com
.
dji
.
sample
.
control
.
service
.
impl
;
import
com.dji.sample.component.websocket.service.IWebSocketMessageService
;
import
com.dji.sample.component.websocket.service.IWebSocketMessageService
;
import
com.dji.sample.control.model.entity.ManageDeviceOperatingRecord
;
import
com.dji.sample.control.model.enums.DroneAuthorityEnum
;
import
com.dji.sample.control.model.enums.DroneAuthorityEnum
;
import
com.dji.sample.control.model.enums.RemoteDebugMethodEnum
;
import
com.dji.sample.control.model.enums.RemoteDebugMethodEnum
;
import
com.dji.sample.control.model.param.*
;
import
com.dji.sample.control.model.param.*
;
import
com.dji.sample.control.service.IControlService
;
import
com.dji.sample.control.service.IControlService
;
import
com.dji.sample.control.service.IManageDeviceOperatingRecordService
;
import
com.dji.sample.manage.model.dto.DeviceDTO
;
import
com.dji.sample.manage.model.dto.DeviceDTO
;
import
com.dji.sample.manage.service.IDevicePayloadService
;
import
com.dji.sample.manage.service.IDevicePayloadService
;
import
com.dji.sample.manage.service.IDeviceRedisService
;
import
com.dji.sample.manage.service.IDeviceRedisService
;
import
com.dji.sample.manage.service.IDeviceService
;
import
com.dji.sample.manage.service.IDeviceService
;
import
com.dji.sdk.cloudapi.control.ControlMethodEnum
;
import
com.dji.sdk.cloudapi.control.FlyToPointRequest
;
import
com.dji.sdk.cloudapi.control.FlyToPointRequest
;
import
com.dji.sdk.cloudapi.control.PayloadAuthorityGrabRequest
;
import
com.dji.sdk.cloudapi.control.PayloadAuthorityGrabRequest
;
import
com.dji.sdk.cloudapi.control.TakeoffToPointRequest
;
import
com.dji.sdk.cloudapi.control.TakeoffToPointRequest
;
...
@@ -25,11 +28,13 @@ import com.dji.sdk.exception.CloudSDKErrorEnum;
...
@@ -25,11 +28,13 @@ import com.dji.sdk.exception.CloudSDKErrorEnum;
import
com.dji.sdk.mqtt.services.ServicesReplyData
;
import
com.dji.sdk.mqtt.services.ServicesReplyData
;
import
com.dji.sdk.mqtt.services.TopicServicesResponse
;
import
com.dji.sdk.mqtt.services.TopicServicesResponse
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.Objects
;
import
java.util.Objects
;
import
java.util.Optional
;
import
java.util.Optional
;
import
java.util.UUID
;
import
java.util.UUID
;
...
@@ -68,6 +73,9 @@ public class ControlServiceImpl implements IControlService {
...
@@ -68,6 +73,9 @@ public class ControlServiceImpl implements IControlService {
@Qualifier
(
"SDKWaylineService"
)
@Qualifier
(
"SDKWaylineService"
)
private
AbstractWaylineService
abstractWaylineService
;
private
AbstractWaylineService
abstractWaylineService
;
@Resource
private
IManageDeviceOperatingRecordService
manageDeviceOperatingRecordService
;
private
RemoteDebugHandler
checkDebugCondition
(
String
sn
,
RemoteDebugParam
param
,
RemoteDebugMethodEnum
controlMethodEnum
)
{
private
RemoteDebugHandler
checkDebugCondition
(
String
sn
,
RemoteDebugParam
param
,
RemoteDebugMethodEnum
controlMethodEnum
)
{
RemoteDebugHandler
handler
=
Objects
.
nonNull
(
controlMethodEnum
.
getClazz
())
?
RemoteDebugHandler
handler
=
Objects
.
nonNull
(
controlMethodEnum
.
getClazz
())
?
mapper
.
convertValue
(
Objects
.
nonNull
(
param
)
?
param
:
new
Object
(),
controlMethodEnum
.
getClazz
())
mapper
.
convertValue
(
Objects
.
nonNull
(
param
)
?
param
:
new
Object
(),
controlMethodEnum
.
getClazz
())
...
@@ -80,6 +88,9 @@ public class ControlServiceImpl implements IControlService {
...
@@ -80,6 +88,9 @@ public class ControlServiceImpl implements IControlService {
@Override
@Override
public
HttpResultResponse
controlDockDebug
(
String
sn
,
RemoteDebugMethodEnum
controlMethodEnum
,
RemoteDebugParam
param
)
{
public
HttpResultResponse
controlDockDebug
(
String
sn
,
RemoteDebugMethodEnum
controlMethodEnum
,
RemoteDebugParam
param
)
{
saveOperatingRecord
(
sn
,
controlMethodEnum
.
getMethod
(),
"{}"
);
DebugMethodEnum
methodEnum
=
controlMethodEnum
.
getDebugMethodEnum
();
DebugMethodEnum
methodEnum
=
controlMethodEnum
.
getDebugMethodEnum
();
RemoteDebugHandler
data
=
checkDebugCondition
(
sn
,
param
,
controlMethodEnum
);
RemoteDebugHandler
data
=
checkDebugCondition
(
sn
,
param
,
controlMethodEnum
);
...
@@ -126,6 +137,8 @@ public class ControlServiceImpl implements IControlService {
...
@@ -126,6 +137,8 @@ public class ControlServiceImpl implements IControlService {
@Override
@Override
public
HttpResultResponse
flyToPoint
(
String
sn
,
FlyToPointParam
param
)
{
public
HttpResultResponse
flyToPoint
(
String
sn
,
FlyToPointParam
param
)
{
saveOperatingRecord
(
sn
,
ControlMethodEnum
.
FLY_TO_POINT
.
getMethod
(),
"{}"
);
checkFlyToCondition
(
sn
);
checkFlyToCondition
(
sn
);
param
.
setFlyToId
(
UUID
.
randomUUID
().
toString
());
param
.
setFlyToId
(
UUID
.
randomUUID
().
toString
());
...
@@ -139,6 +152,8 @@ public class ControlServiceImpl implements IControlService {
...
@@ -139,6 +152,8 @@ public class ControlServiceImpl implements IControlService {
@Override
@Override
public
HttpResultResponse
flyToPointStop
(
String
sn
)
{
public
HttpResultResponse
flyToPointStop
(
String
sn
)
{
saveOperatingRecord
(
sn
,
ControlMethodEnum
.
FLY_TO_POINT_STOP
.
getMethod
(),
"{}"
);
TopicServicesResponse
<
ServicesReplyData
>
response
=
abstractControlService
.
flyToPointStop
(
SDKManager
.
getDeviceSDK
(
sn
));
TopicServicesResponse
<
ServicesReplyData
>
response
=
abstractControlService
.
flyToPointStop
(
SDKManager
.
getDeviceSDK
(
sn
));
ServicesReplyData
reply
=
response
.
getData
();
ServicesReplyData
reply
=
response
.
getData
();
...
@@ -162,6 +177,9 @@ public class ControlServiceImpl implements IControlService {
...
@@ -162,6 +177,9 @@ public class ControlServiceImpl implements IControlService {
@Override
@Override
public
HttpResultResponse
takeoffToPoint
(
String
sn
,
TakeoffToPointParam
param
)
{
public
HttpResultResponse
takeoffToPoint
(
String
sn
,
TakeoffToPointParam
param
)
{
saveOperatingRecord
(
sn
,
ControlMethodEnum
.
TAKEOFF_TO_POINT
.
getMethod
(),
param
.
toString
());
checkTakeoffCondition
(
sn
);
checkTakeoffCondition
(
sn
);
param
.
setFlightId
(
UUID
.
randomUUID
().
toString
());
param
.
setFlightId
(
UUID
.
randomUUID
().
toString
());
...
@@ -210,6 +228,9 @@ public class ControlServiceImpl implements IControlService {
...
@@ -210,6 +228,9 @@ public class ControlServiceImpl implements IControlService {
@Override
@Override
public
HttpResultResponse
payloadCommands
(
PayloadCommandsParam
param
)
throws
Exception
{
public
HttpResultResponse
payloadCommands
(
PayloadCommandsParam
param
)
throws
Exception
{
// 保存记录 后续是否增加 结果
ManageDeviceOperatingRecord
record
=
saveOperatingRecord
(
param
.
getSn
(),
param
.
getCmd
().
getCmd
().
getPayloadMethod
().
getMethod
(),
param
.
toString
());
param
.
getCmd
().
getClazz
()
param
.
getCmd
().
getClazz
()
.
getDeclaredConstructor
(
DronePayloadParam
.
class
)
.
getDeclaredConstructor
(
DronePayloadParam
.
class
)
.
newInstance
(
param
.
getData
())
.
newInstance
(
param
.
getData
())
...
@@ -224,4 +245,11 @@ public class ControlServiceImpl implements IControlService {
...
@@ -224,4 +245,11 @@ public class ControlServiceImpl implements IControlService {
HttpResultResponse
.
success
()
HttpResultResponse
.
success
()
:
HttpResultResponse
.
error
(
serviceReply
.
getResult
());
:
HttpResultResponse
.
error
(
serviceReply
.
getResult
());
}
}
@SneakyThrows
private
ManageDeviceOperatingRecord
saveOperatingRecord
(
String
sn
,
String
operatingType
,
String
paramStr
)
{
return
manageDeviceOperatingRecordService
.
saveOperatingRecord
(
sn
,
operatingType
,
paramStr
);
}
}
}
sample/src/main/java/com/dji/sample/control/service/impl/DrcServiceImpl.java
View file @
99c54546
...
@@ -12,6 +12,7 @@ import com.dji.sample.control.model.enums.MqttAclAccessEnum;
...
@@ -12,6 +12,7 @@ import com.dji.sample.control.model.enums.MqttAclAccessEnum;
import
com.dji.sample.control.model.param.DrcConnectParam
;
import
com.dji.sample.control.model.param.DrcConnectParam
;
import
com.dji.sample.control.model.param.DrcModeParam
;
import
com.dji.sample.control.model.param.DrcModeParam
;
import
com.dji.sample.control.service.IControlService
;
import
com.dji.sample.control.service.IControlService
;
import
com.dji.sample.control.service.IManageDeviceOperatingRecordService
;
import
com.dji.sample.control.service.IDrcService
;
import
com.dji.sample.control.service.IDrcService
;
import
com.dji.sample.manage.model.dto.DeviceDTO
;
import
com.dji.sample.manage.model.dto.DeviceDTO
;
import
com.dji.sample.manage.service.IDeviceRedisService
;
import
com.dji.sample.manage.service.IDeviceRedisService
;
...
@@ -22,6 +23,7 @@ import com.dji.sample.wayline.model.param.UpdateJobParam;
...
@@ -22,6 +23,7 @@ import com.dji.sample.wayline.model.param.UpdateJobParam;
import
com.dji.sample.wayline.service.IFlightTaskService
;
import
com.dji.sample.wayline.service.IFlightTaskService
;
import
com.dji.sample.wayline.service.IWaylineJobService
;
import
com.dji.sample.wayline.service.IWaylineJobService
;
import
com.dji.sample.wayline.service.IWaylineRedisService
;
import
com.dji.sample.wayline.service.IWaylineRedisService
;
import
com.dji.sdk.cloudapi.control.ControlMethodEnum
;
import
com.dji.sdk.cloudapi.control.DrcModeEnterRequest
;
import
com.dji.sdk.cloudapi.control.DrcModeEnterRequest
;
import
com.dji.sdk.cloudapi.control.DrcModeMqttBroker
;
import
com.dji.sdk.cloudapi.control.DrcModeMqttBroker
;
import
com.dji.sdk.cloudapi.control.api.AbstractControlService
;
import
com.dji.sdk.cloudapi.control.api.AbstractControlService
;
...
@@ -40,6 +42,7 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -40,6 +42,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
org.springframework.util.StringUtils
;
import
javax.annotation.Resource
;
import
java.util.Collections
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -84,6 +87,9 @@ public class DrcServiceImpl implements IDrcService {
...
@@ -84,6 +87,9 @@ public class DrcServiceImpl implements IDrcService {
@Autowired
@Autowired
private
AbstractControlService
abstractControlService
;
private
AbstractControlService
abstractControlService
;
@Resource
private
IManageDeviceOperatingRecordService
manageDeviceOperatingRecordService
;
@Override
@Override
public
void
setDrcModeInRedis
(
String
dockSn
,
String
clientId
)
{
public
void
setDrcModeInRedis
(
String
dockSn
,
String
clientId
)
{
RedisOpsUtils
.
setWithExpire
(
RedisConst
.
DRC_PREFIX
+
dockSn
,
clientId
,
RedisConst
.
DRC_MODE_ALIVE_SECOND
);
RedisOpsUtils
.
setWithExpire
(
RedisConst
.
DRC_PREFIX
+
dockSn
,
clientId
,
RedisConst
.
DRC_MODE_ALIVE_SECOND
);
...
@@ -102,6 +108,8 @@ public class DrcServiceImpl implements IDrcService {
...
@@ -102,6 +108,8 @@ public class DrcServiceImpl implements IDrcService {
@Override
@Override
public
DrcModeMqttBroker
userDrcAuth
(
String
workspaceId
,
String
userId
,
String
username
,
DrcConnectParam
param
)
{
public
DrcModeMqttBroker
userDrcAuth
(
String
workspaceId
,
String
userId
,
String
username
,
DrcConnectParam
param
)
{
manageDeviceOperatingRecordService
.
saveOperatingRecord
(
null
,
"drc_connect"
,
param
.
toString
());
// refresh token
// refresh token
String
clientId
=
param
.
getClientId
();
String
clientId
=
param
.
getClientId
();
// first time
// first time
...
@@ -150,6 +158,9 @@ public class DrcServiceImpl implements IDrcService {
...
@@ -150,6 +158,9 @@ public class DrcServiceImpl implements IDrcService {
@Override
@Override
public
JwtAclDTO
deviceDrcEnter
(
String
workspaceId
,
DrcModeParam
param
)
{
public
JwtAclDTO
deviceDrcEnter
(
String
workspaceId
,
DrcModeParam
param
)
{
manageDeviceOperatingRecordService
.
saveOperatingRecord
(
param
.
getDockSn
(),
ControlMethodEnum
.
DRC_MODE_ENTER
.
getMethod
(),
param
.
toString
());
String
topic
=
TopicConst
.
THING_MODEL_PRE
+
TopicConst
.
PRODUCT
+
param
.
getDockSn
()
+
TopicConst
.
DRC
;
String
topic
=
TopicConst
.
THING_MODEL_PRE
+
TopicConst
.
PRODUCT
+
param
.
getDockSn
()
+
TopicConst
.
DRC
;
String
pubTopic
=
topic
+
TopicConst
.
DOWN
;
String
pubTopic
=
topic
+
TopicConst
.
DOWN
;
String
subTopic
=
topic
+
TopicConst
.
UP
;
String
subTopic
=
topic
+
TopicConst
.
UP
;
...
@@ -196,6 +207,9 @@ public class DrcServiceImpl implements IDrcService {
...
@@ -196,6 +207,9 @@ public class DrcServiceImpl implements IDrcService {
@Override
@Override
public
void
deviceDrcExit
(
String
workspaceId
,
DrcModeParam
param
)
{
public
void
deviceDrcExit
(
String
workspaceId
,
DrcModeParam
param
)
{
manageDeviceOperatingRecordService
.
saveOperatingRecord
(
param
.
getDockSn
(),
ControlMethodEnum
.
DRC_MODE_EXIT
.
getMethod
(),
param
.
toString
());
if
(!
deviceService
.
checkDockDrcMode
(
param
.
getDockSn
()))
{
if
(!
deviceService
.
checkDockDrcMode
(
param
.
getDockSn
()))
{
throw
new
RuntimeException
(
"The dock is not in flight control mode."
);
throw
new
RuntimeException
(
"The dock is not in flight control mode."
);
}
}
...
...
sample/src/main/java/com/dji/sample/control/service/impl/ManageDeviceOperatingRecordServiceImpl.java
0 → 100644
View file @
99c54546
package
com
.
dji
.
sample
.
control
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dji.sample.control.model.entity.ManageDeviceOperatingRecord
;
import
com.dji.sample.control.dao.IManageDeviceOperatingRecordMapper
;
import
com.dji.sample.control.service.IManageDeviceOperatingRecordService
;
import
lombok.SneakyThrows
;
import
org.springframework.stereotype.Service
;
import
static
com
.
dji
.
sample
.
common
.
util
.
IPUtils
.
getIpAddr
;
import
static
com
.
dji
.
sample
.
common
.
util
.
SecurityUtils
.
getUserId
;
import
static
com
.
dji
.
sample
.
common
.
util
.
SecurityUtils
.
getWorkspaceId
;
/**
* @author guan
*/
@Service
public
class
ManageDeviceOperatingRecordServiceImpl
extends
ServiceImpl
<
IManageDeviceOperatingRecordMapper
,
ManageDeviceOperatingRecord
>
implements
IManageDeviceOperatingRecordService
{
@SneakyThrows
@Override
public
ManageDeviceOperatingRecord
saveOperatingRecord
(
String
sn
,
String
operatingType
,
String
paramStr
)
{
ManageDeviceOperatingRecord
record
=
new
ManageDeviceOperatingRecord
();
record
.
setDockSn
(
sn
);
record
.
setOperatingParam
(
paramStr
);
record
.
setOperatingTime
(
System
.
currentTimeMillis
());
record
.
setWorkspaceId
(
getWorkspaceId
());
record
.
setUserId
(
getUserId
());
record
.
setOperatingType
(
operatingType
);
record
.
setIp
(
getIpAddr
());
return
record
;
}
}
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