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
2c27e2da
Commit
2c27e2da
authored
May 20, 2025
by
gdj
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
接口增加查询条件。
parent
3195abe8
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
338 additions
and
12 deletions
+338
-12
sample/src/main/java/com/dji/sample/manage/controller/DeviceController.java
+4
-4
sample/src/main/java/com/dji/sample/manage/controller/FleetController.java
+4
-2
sample/src/main/java/com/dji/sample/manage/model/param/DeviceSearchParam.java
+40
-0
sample/src/main/java/com/dji/sample/manage/model/param/FleetSearchParam.java
+15
-0
sample/src/main/java/com/dji/sample/manage/service/IDeviceService.java
+12
-0
sample/src/main/java/com/dji/sample/manage/service/IFleetService.java
+2
-1
sample/src/main/java/com/dji/sample/manage/service/impl/DeviceServiceImpl.java
+87
-0
sample/src/main/java/com/dji/sample/manage/service/impl/FleetServiceImpl.java
+5
-1
sample/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
+3
-1
sample/src/main/java/com/dji/sample/wayline/controller/WaylineJobController.java
+4
-3
sample/src/main/java/com/dji/sample/wayline/model/param/WaylineJobSearchParam.java
+26
-0
sample/src/main/java/com/dji/sample/wayline/model/param/WaylineSearchParam.java
+23
-0
sample/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java
+5
-0
sample/src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java
+13
-0
sample/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
+45
-0
sample/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java
+50
-0
No files found.
sample/src/main/java/com/dji/sample/manage/controller/DeviceController.java
View file @
2c27e2da
...
...
@@ -3,6 +3,7 @@ package com.dji.sample.manage.controller;
import
com.dji.sample.manage.model.dto.DeviceDTO
;
import
com.dji.sample.manage.model.dto.DeviceDictionaryDTO
;
import
com.dji.sample.manage.model.dto.DeviceFirmwareUpgradeDTO
;
import
com.dji.sample.manage.model.param.DeviceSearchParam
;
import
com.dji.sample.manage.service.IDeviceDictionaryService
;
import
com.dji.sample.manage.service.IDeviceService
;
import
com.dji.sdk.common.HttpResultResponse
;
...
...
@@ -218,13 +219,12 @@ public class DeviceController {
* @return
*/
@GetMapping
(
"/{workspace_id}/devices/list"
)
public
HttpResultResponse
<
PaginationData
<
DeviceDTO
>>
getDevicesWithDomain
(
public
HttpResultResponse
<
PaginationData
<
DeviceDTO
>>
getDevicesByParam
(
DeviceSearchParam
param
,
@PathVariable
(
"workspace_id"
)
String
workspaceId
,
@RequestParam
(
value
=
"domain"
,
required
=
false
)
Integer
domain
,
@RequestParam
(
value
=
"device_name"
,
required
=
false
)
String
deviceName
,
@RequestParam
(
defaultValue
=
"1"
)
Long
page
,
@RequestParam
(
value
=
"page_size"
,
defaultValue
=
"50"
)
Long
pageSize
)
{
PaginationData
<
DeviceDTO
>
devices
=
deviceService
.
getDevices
WithDomain
(
workspaceId
,
deviceName
,
page
,
pageSize
,
domain
);
PaginationData
<
DeviceDTO
>
devices
=
deviceService
.
getDevices
ByParam
(
param
,
workspaceId
,
page
,
pageSize
);
return
HttpResultResponse
.
success
(
devices
);
}
...
...
sample/src/main/java/com/dji/sample/manage/controller/FleetController.java
View file @
2c27e2da
...
...
@@ -2,6 +2,7 @@ package com.dji.sample.manage.controller;
import
com.dji.sample.manage.model.dto.DeviceDTO
;
import
com.dji.sample.manage.model.dto.FleetDTO
;
import
com.dji.sample.manage.model.param.FleetSearchParam
;
import
com.dji.sample.manage.service.IFleetService
;
import
com.dji.sdk.common.HttpResultResponse
;
import
com.dji.sdk.common.PaginationData
;
...
...
@@ -23,10 +24,11 @@ public class FleetController {
private
IFleetService
fleetService
;
@GetMapping
(
"/{workspace_id}/getFleetPage"
)
public
HttpResultResponse
<
PaginationData
<
FleetDTO
>>
getFleets
(
@PathVariable
(
"workspace_id"
)
String
workspaceId
,
public
HttpResultResponse
<
PaginationData
<
FleetDTO
>>
getFleets
(
FleetSearchParam
param
,
@PathVariable
(
"workspace_id"
)
String
workspaceId
,
@RequestParam
(
defaultValue
=
"1"
)
Long
page
,
@RequestParam
(
value
=
"page_size"
,
defaultValue
=
"50"
)
Long
pageSize
)
{
PaginationData
<
FleetDTO
>
fleetsList
=
fleetService
.
getFleetPage
(
workspaceId
,
page
,
pageSize
);
PaginationData
<
FleetDTO
>
fleetsList
=
fleetService
.
getFleetPage
(
param
,
workspaceId
,
page
,
pageSize
);
return
HttpResultResponse
.
success
(
fleetsList
);
}
...
...
sample/src/main/java/com/dji/sample/manage/model/param/DeviceSearchParam.java
0 → 100644
View file @
2c27e2da
package
com
.
dji
.
sample
.
manage
.
model
.
param
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Builder
;
import
lombok.Data
;
import
java.util.List
;
/**
* 设备查询条件
* @author guan
*/
@Data
public
class
DeviceSearchParam
{
@JsonProperty
(
"device_sn"
)
private
String
deviceSn
;
@JsonProperty
(
"device_name"
)
private
String
deviceName
;
private
String
nickname
;
@JsonProperty
(
"bound_status"
)
private
Boolean
boundStatus
;
@JsonProperty
(
"workspace_id"
)
private
String
workspaceId
;
@JsonProperty
(
"device_type"
)
private
Integer
deviceType
;
@JsonProperty
(
"sub_type"
)
private
Integer
subType
;
private
Integer
domain
;
private
Long
page
;
}
sample/src/main/java/com/dji/sample/manage/model/param/FleetSearchParam.java
0 → 100644
View file @
2c27e2da
package
com
.
dji
.
sample
.
manage
.
model
.
param
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
/**
* @author guan
*/
@Data
public
class
FleetSearchParam
{
@JsonProperty
(
"fleet_name"
)
private
String
fleetName
;
}
sample/src/main/java/com/dji/sample/manage/service/IDeviceService.java
View file @
2c27e2da
...
...
@@ -7,6 +7,7 @@ import com.dji.sample.manage.model.dto.DeviceFirmwareUpgradeDTO;
import
com.dji.sample.manage.model.dto.TopologyDeviceDTO
;
import
com.dji.sample.manage.model.entity.DeviceEntity
;
import
com.dji.sample.manage.model.param.DeviceQueryParam
;
import
com.dji.sample.manage.model.param.DeviceSearchParam
;
import
com.dji.sdk.cloudapi.device.ControlSourceEnum
;
import
com.dji.sdk.cloudapi.device.DeviceOsdHost
;
import
com.dji.sdk.cloudapi.device.DockModeCodeEnum
;
...
...
@@ -155,6 +156,17 @@ public interface IDeviceService extends IService<DeviceEntity> {
PaginationData
<
DeviceDTO
>
getDevicesWithDomain
(
String
workspaceId
,
String
deviceName
,
Long
page
,
Long
pageSize
,
Integer
domain
);
/**
* Get the devices list in one workspace.
* @param workspaceId
* @param param 设备查询参数
* @param page
* @param pageSize
* @return
*/
PaginationData
<
DeviceDTO
>
getDevicesByParam
(
DeviceSearchParam
param
,
String
workspaceId
,
Long
page
,
Long
pageSize
);
/**
* Unbind device base on device's sn.
* @param deviceSn
*/
...
...
sample/src/main/java/com/dji/sample/manage/service/IFleetService.java
View file @
2c27e2da
...
...
@@ -3,6 +3,7 @@ package com.dji.sample.manage.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dji.sample.manage.model.dto.FleetDTO
;
import
com.dji.sample.manage.model.entity.FleetEntity
;
import
com.dji.sample.manage.model.param.FleetSearchParam
;
import
com.dji.sdk.common.PaginationData
;
import
java.util.List
;
...
...
@@ -14,7 +15,7 @@ public interface IFleetService extends IService<FleetEntity> {
List
<
FleetDTO
>
getFleets
(
String
workspaceId
);
PaginationData
<
FleetDTO
>
getFleetPage
(
String
workspaceId
,
Long
page
,
Long
pageSize
);
PaginationData
<
FleetDTO
>
getFleetPage
(
FleetSearchParam
param
,
String
workspaceId
,
Long
page
,
Long
pageSize
);
FleetDTO
getFleetBySn
(
String
workspaceId
,
String
fleetSn
);
...
...
sample/src/main/java/com/dji/sample/manage/service/impl/DeviceServiceImpl.java
View file @
2c27e2da
...
...
@@ -16,6 +16,7 @@ import com.dji.sample.manage.model.enums.DeviceFirmwareStatusEnum;
import
com.dji.sample.manage.model.enums.PropertySetFieldEnum
;
import
com.dji.sample.manage.model.enums.UserTypeEnum
;
import
com.dji.sample.manage.model.param.DeviceQueryParam
;
import
com.dji.sample.manage.model.param.DeviceSearchParam
;
import
com.dji.sample.manage.model.receiver.BasicDeviceProperty
;
import
com.dji.sample.manage.service.*
;
import
com.dji.sdk.cloudapi.device.*
;
...
...
@@ -534,6 +535,92 @@ public class DeviceServiceImpl extends ServiceImpl<IDeviceMapper, DeviceEntity>
}
@Override
public
PaginationData
<
DeviceDTO
>
getDevicesByParam
(
DeviceSearchParam
param
,
String
workspaceId
,
Long
page
,
Long
pageSize
)
{
LambdaQueryWrapper
<
DeviceEntity
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
DeviceEntity:
:
getDomain
,
param
.
getDomain
());
wrapper
.
eq
(
DeviceEntity:
:
getWorkspaceId
,
workspaceId
);
// 设备名称
if
(
StringUtils
.
hasText
(
param
.
getDeviceName
()))
{
wrapper
.
like
(
DeviceEntity:
:
getDeviceName
,
param
.
getDeviceName
());
}
// 昵称
if
(
StringUtils
.
hasText
(
param
.
getNickname
()))
{
wrapper
.
like
(
DeviceEntity:
:
getNickname
,
param
.
getNickname
());
}
// 绑定状态
if
(
param
.
getBoundStatus
()
!=
null
)
{
wrapper
.
like
(
DeviceEntity:
:
getBoundStatus
,
param
.
getBoundStatus
());
}
Page
<
DeviceEntity
>
pagination
=
mapper
.
selectPage
(
new
Page
<>(
page
,
pageSize
),
wrapper
);
List
<
DeviceDTO
>
devicesList
=
pagination
.
getRecords
().
stream
().
map
(
this
::
deviceEntityConvertToDTO
)
.
peek
(
device
->
{
if
(
StringUtils
.
hasText
(
device
.
getDeviceSn
()))
{
device
.
setStatus
(
deviceRedisService
.
checkDeviceOnline
(
device
.
getDeviceSn
()));
}
if
(
StringUtils
.
hasText
(
device
.
getChildDeviceSn
()))
{
Optional
<
DeviceDTO
>
childOpt
=
this
.
getDeviceBySn
(
device
.
getChildDeviceSn
());
childOpt
.
ifPresent
(
child
->
{
child
.
setStatus
(
deviceRedisService
.
checkDeviceOnline
(
child
.
getDeviceSn
()));
child
.
setWorkspaceName
(
device
.
getWorkspaceName
());
device
.
setChildren
(
child
);
});
}
})
.
collect
(
Collectors
.
toList
());
return
new
PaginationData
<>(
devicesList
,
new
Pagination
(
pagination
.
getCurrent
(),
pagination
.
getSize
(),
pagination
.
getTotal
()));
}
/**
* Get the devices list no workspace.
* @param workspaceId
* @param deviceName 设备名称
* @param page
* @param pageSize
* @param domain
* @return
*/
@Override
public
PaginationData
<
DeviceDTO
>
getNoWorkspaceDevices
(
String
workspaceId
,
String
deviceName
,
Long
page
,
Long
pageSize
,
Integer
domain
)
{
LambdaQueryWrapper
<
DeviceEntity
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
isNull
(
DeviceEntity:
:
getWorkspaceId
).
or
().
eq
(
DeviceEntity:
:
getWorkspaceId
,
""
);
if
(
domain
!=
null
)
{
wrapper
.
eq
(
DeviceEntity:
:
getDomain
,
domain
);
}
if
(
StringUtils
.
hasText
(
deviceName
))
{
wrapper
.
like
(
DeviceEntity:
:
getDeviceName
,
deviceName
);
}
Page
<
DeviceEntity
>
pagination
=
mapper
.
selectPage
(
new
Page
<>(
page
,
pageSize
),
wrapper
);
List
<
DeviceDTO
>
devicesList
=
pagination
.
getRecords
().
stream
().
map
(
this
::
deviceEntityConvertToDTO
)
.
peek
(
device
->
{
if
(
StringUtils
.
hasText
(
device
.
getDeviceSn
()))
{
device
.
setStatus
(
deviceRedisService
.
checkDeviceOnline
(
device
.
getDeviceSn
()));
}
if
(
StringUtils
.
hasText
(
device
.
getChildDeviceSn
()))
{
Optional
<
DeviceDTO
>
childOpt
=
this
.
getDeviceBySn
(
device
.
getChildDeviceSn
());
childOpt
.
ifPresent
(
child
->
{
child
.
setStatus
(
deviceRedisService
.
checkDeviceOnline
(
child
.
getDeviceSn
()));
child
.
setWorkspaceName
(
device
.
getWorkspaceName
());
device
.
setChildren
(
child
);
});
}
})
.
collect
(
Collectors
.
toList
());
return
new
PaginationData
<
DeviceDTO
>(
devicesList
,
new
Pagination
(
pagination
.
getCurrent
(),
pagination
.
getSize
(),
pagination
.
getTotal
()));
}
@Override
public
void
unbindDevice
(
String
deviceSn
)
{
Optional
<
DeviceDTO
>
deviceOpt
=
deviceRedisService
.
getDeviceOnline
(
deviceSn
);
...
...
sample/src/main/java/com/dji/sample/manage/service/impl/FleetServiceImpl.java
View file @
2c27e2da
...
...
@@ -12,6 +12,7 @@ import com.dji.sample.manage.model.entity.FleetDeviceEntity;
import
com.dji.sample.manage.model.entity.FleetEntity
;
import
com.dji.sample.manage.model.entity.FleetUserEntity
;
import
com.dji.sample.manage.model.entity.UserEntity
;
import
com.dji.sample.manage.model.param.FleetSearchParam
;
import
com.dji.sample.manage.service.IFleetDeviceService
;
import
com.dji.sample.manage.service.IFleetService
;
import
com.dji.sample.manage.service.IFleetUserService
;
...
...
@@ -63,10 +64,13 @@ public class FleetServiceImpl extends ServiceImpl<IFleetMapper, FleetEntity> imp
}
@Override
public
PaginationData
<
FleetDTO
>
getFleetPage
(
String
workspaceId
,
Long
page
,
Long
pageSize
)
{
public
PaginationData
<
FleetDTO
>
getFleetPage
(
FleetSearchParam
param
,
String
workspaceId
,
Long
page
,
Long
pageSize
)
{
LambdaQueryWrapper
<
FleetEntity
>
fleetQueryWrapper
=
new
LambdaQueryWrapper
<>();
fleetQueryWrapper
.
eq
(
FleetEntity:
:
getWorkspaceId
,
workspaceId
);
if
(
StringUtils
.
hasText
(
param
.
getFleetName
()))
{
fleetQueryWrapper
.
like
(
FleetEntity:
:
getFleetName
,
param
.
getFleetName
());
}
Page
<
FleetEntity
>
pagination
=
mapper
.
selectPage
(
new
Page
<>(
page
,
pageSize
),
fleetQueryWrapper
);
...
...
sample/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
View file @
2c27e2da
...
...
@@ -3,6 +3,7 @@ package com.dji.sample.wayline.controller;
import
com.dji.sample.common.model.CustomClaim
;
import
com.dji.sample.wayline.model.dto.WaylineFileDTO
;
import
com.dji.sample.wayline.model.dto.WaylineFileTreeVO
;
import
com.dji.sample.wayline.model.param.WaylineSearchParam
;
import
com.dji.sample.wayline.service.IWaylineFileService
;
import
com.dji.sdk.cloudapi.device.DeviceEnum
;
import
com.dji.sdk.cloudapi.wayline.*
;
...
...
@@ -263,12 +264,13 @@ public class WaylineFileController implements IHttpWaylineService {
*/
@GetMapping
(
PREFIX
+
"/workspaces/{workspace_id}/getFileListByParentId"
)
public
HttpResultResponse
<
PaginationData
<
GetWaylineListResponse
>>
getFileListByParentId
(
WaylineSearchParam
param
,
@Valid
GetWaylineListRequest
request
,
@PathVariable
(
"workspace_id"
)
String
workspaceId
,
@RequestParam
(
name
=
"parent_id"
,
defaultValue
=
"0"
)
String
parentId
,
HttpServletRequest
req
,
HttpServletResponse
rsp
)
{
PaginationData
<
GetWaylineListResponse
>
data
=
waylineFileService
.
getWaylinesByParam
(
workspaceId
,
parent
Id
,
request
);
PaginationData
<
GetWaylineListResponse
>
data
=
waylineFileService
.
getWaylinesByParam
(
param
,
workspace
Id
,
request
);
return
HttpResultResponse
.
success
(
data
);
}
...
...
sample/src/main/java/com/dji/sample/wayline/controller/WaylineJobController.java
View file @
2c27e2da
...
...
@@ -5,6 +5,7 @@ import com.dji.sample.wayline.model.dto.TaskStatisticDTO;
import
com.dji.sample.wayline.model.dto.WaylineJobDTO
;
import
com.dji.sample.wayline.model.param.CreateJobParam
;
import
com.dji.sample.wayline.model.param.UpdateJobParam
;
import
com.dji.sample.wayline.model.param.WaylineJobSearchParam
;
import
com.dji.sample.wayline.service.IFlightTaskService
;
import
com.dji.sample.wayline.service.IWaylineJobService
;
import
com.dji.sdk.common.HttpResultResponse
;
...
...
@@ -60,11 +61,11 @@ public class WaylineJobController {
* @return
*/
@GetMapping
(
"/{workspace_id}/jobs"
)
public
HttpResultResponse
<
PaginationData
<
WaylineJobDTO
>>
getJobs
(
@RequestParam
(
defaultValue
=
"1"
)
Long
page
,
public
HttpResultResponse
<
PaginationData
<
WaylineJobDTO
>>
getJobs
(
WaylineJobSearchParam
param
,
@RequestParam
(
defaultValue
=
"1"
)
Long
page
,
@RequestParam
(
name
=
"page_size"
,
defaultValue
=
"10"
)
Long
pageSize
,
@RequestParam
(
name
=
"dock_sns"
,
required
=
false
)
String
dockSns
,
@PathVariable
(
name
=
"workspace_id"
)
String
workspaceId
)
{
PaginationData
<
WaylineJobDTO
>
data
=
waylineJobService
.
getJobsBy
WorkspaceId
(
workspaceId
,
dockSns
,
page
,
pageSize
);
PaginationData
<
WaylineJobDTO
>
data
=
waylineJobService
.
getJobsBy
Param
(
param
,
workspaceId
,
page
,
pageSize
);
return
HttpResultResponse
.
success
(
data
);
}
...
...
sample/src/main/java/com/dji/sample/wayline/model/param/WaylineJobSearchParam.java
0 → 100644
View file @
2c27e2da
package
com
.
dji
.
sample
.
wayline
.
model
.
param
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author guan
*/
@Data
public
class
WaylineJobSearchParam
{
@JsonProperty
(
"dock_sns"
)
private
String
dockSns
;
@JsonProperty
(
"task_or_wayline_name"
)
private
String
taskOrWaylineName
;
@JsonProperty
(
"start_date"
)
private
Long
startDate
;
@JsonProperty
(
"end_date"
)
private
Long
endDate
;
}
sample/src/main/java/com/dji/sample/wayline/model/param/WaylineSearchParam.java
0 → 100644
View file @
2c27e2da
package
com
.
dji
.
sample
.
wayline
.
model
.
param
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
/**
* @author guan
*/
@Data
public
class
WaylineSearchParam
{
@JsonProperty
(
"parent_id"
)
private
String
parentId
;
private
String
name
;
@JsonProperty
(
"order_by"
)
private
String
orderBy
;
private
Boolean
favorited
;
}
sample/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java
View file @
2c27e2da
package
com
.
dji
.
sample
.
wayline
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dji.sample.wayline.model.dto.WaylineFileDTO
;
import
com.dji.sample.wayline.model.dto.WaylineFileTreeVO
;
import
com.dji.sample.wayline.model.entity.WaylineFileEntity
;
import
com.dji.sample.wayline.model.param.WaylineSearchParam
;
import
com.dji.sdk.cloudapi.wayline.GetWaylineListRequest
;
import
com.dji.sdk.cloudapi.wayline.GetWaylineListResponse
;
import
com.dji.sdk.common.PaginationData
;
...
...
@@ -130,4 +133,6 @@ public interface IWaylineFileService extends IService<WaylineFileEntity> {
PaginationData
<
GetWaylineListResponse
>
getWaylinesByParam
(
String
workspaceId
,
String
parentId
,
GetWaylineListRequest
param
);
PaginationData
<
GetWaylineListResponse
>
getWaylinesByParam
(
WaylineSearchParam
param
,
String
workspaceId
,
GetWaylineListRequest
request
);
}
sample/src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java
View file @
2c27e2da
package
com
.
dji
.
sample
.
wayline
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dji.sample.wayline.model.dto.TaskStatisticDTO
;
import
com.dji.sample.wayline.model.dto.WaylineJobDTO
;
import
com.dji.sample.wayline.model.entity.WaylineJobEntity
;
import
com.dji.sample.wayline.model.enums.WaylineJobStatusEnum
;
import
com.dji.sample.wayline.model.param.CreateJobParam
;
import
com.dji.sample.wayline.model.param.WaylineJobSearchParam
;
import
com.dji.sdk.common.PaginationData
;
import
java.util.Collection
;
...
...
@@ -80,6 +83,16 @@ public interface IWaylineJobService extends IService<WaylineJobEntity> {
PaginationData
<
WaylineJobDTO
>
getJobsByWorkspaceId
(
String
workspaceId
,
String
dockSns
,
long
page
,
long
pageSize
);
/**
* Paginate through all jobs in this workspace.
* @param param 查询参数
* @param workspaceId
* @param page
* @param pageSize
* @return
*/
PaginationData
<
WaylineJobDTO
>
getJobsByParam
(
WaylineJobSearchParam
param
,
String
workspaceId
,
long
page
,
long
pageSize
);
/**
* 今日任务
* @param workspaceId
* @param dockSns
...
...
sample/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
View file @
2c27e2da
...
...
@@ -13,6 +13,7 @@ import com.dji.sample.wayline.model.dto.WaylineFileDTO;
import
com.dji.sample.wayline.model.dto.WaylineFileTreeVO
;
import
com.dji.sample.wayline.model.entity.WaylineFileEntity
;
import
com.dji.sample.wayline.model.enums.WaylineFileTypeEnum
;
import
com.dji.sample.wayline.model.param.WaylineSearchParam
;
import
com.dji.sample.wayline.service.IWaylineFileService
;
import
com.dji.sdk.cloudapi.device.DeviceDomainEnum
;
import
com.dji.sdk.cloudapi.device.DeviceEnum
;
...
...
@@ -593,4 +594,48 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
return
new
PaginationData
<>(
records
,
new
Pagination
(
page
.
getCurrent
(),
page
.
getSize
(),
page
.
getTotal
()));
}
@Override
public
PaginationData
<
GetWaylineListResponse
>
getWaylinesByParam
(
WaylineSearchParam
param
,
String
workspaceId
,
GetWaylineListRequest
request
)
{
// Paging Query
LambdaQueryWrapper
<
WaylineFileEntity
>
waylineFileQueryWrapper
=
new
LambdaQueryWrapper
<>();
waylineFileQueryWrapper
.
eq
(
WaylineFileEntity:
:
getIsDir
,
WaylineFileTypeEnum
.
FILE
.
getVal
());
waylineFileQueryWrapper
.
eq
(
WaylineFileEntity:
:
getWorkspaceId
,
workspaceId
);
waylineFileQueryWrapper
.
eq
(
Objects
.
nonNull
(
request
.
getFavorited
()),
WaylineFileEntity:
:
getFavorited
,
request
.
getFavorited
());
waylineFileQueryWrapper
.
and
(
request
.
getTemplateType
()
!=
null
,
wrapper
->
{
for
(
WaylineTypeEnum
type
:
request
.
getTemplateType
())
{
wrapper
.
like
(
WaylineFileEntity:
:
getTemplateTypes
,
type
.
getValue
()).
or
();
}
})
.
and
(
request
.
getPayloadModelKey
()
!=
null
,
wrapper
->
{
for
(
DeviceEnum
type
:
request
.
getPayloadModelKey
())
{
wrapper
.
like
(
WaylineFileEntity:
:
getPayloadModelKeys
,
type
.
getType
()).
or
();
}
})
.
and
(
request
.
getDroneModelKeys
()
!=
null
,
wrapper
->
{
for
(
DeviceEnum
type
:
request
.
getDroneModelKeys
())
{
wrapper
.
eq
(
WaylineFileEntity:
:
getDroneModelKey
,
type
.
getType
()).
or
();
}
});
if
(
StringUtils
.
hasText
(
param
.
getParentId
()))
{
waylineFileQueryWrapper
.
eq
(
WaylineFileEntity:
:
getParentId
,
param
.
getParentId
());
}
// 名字
waylineFileQueryWrapper
.
like
(
Objects
.
nonNull
(
param
.
getName
()),
WaylineFileEntity:
:
getName
,
param
.
getName
());
waylineFileQueryWrapper
.
like
(
Objects
.
nonNull
(
request
.
getKey
()),
WaylineFileEntity:
:
getName
,
request
.
getKey
());
// There is a risk of SQL injection
waylineFileQueryWrapper
.
last
(
Objects
.
nonNull
(
request
.
getOrderBy
()),
" order by "
+
request
.
getOrderBy
().
toString
());
Page
<
WaylineFileEntity
>
page
=
mapper
.
selectPage
(
new
Page
<>(
request
.
getPage
(),
request
.
getPageSize
()),
waylineFileQueryWrapper
);
// Wrap the results of a paging query into a custom paging object.
List
<
GetWaylineListResponse
>
records
=
page
.
getRecords
()
.
stream
()
.
map
(
this
::
entityConvertToDTO
)
.
collect
(
Collectors
.
toList
());
return
new
PaginationData
<>(
records
,
new
Pagination
(
page
.
getCurrent
(),
page
.
getSize
(),
page
.
getTotal
()));
}
}
sample/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java
View file @
2c27e2da
...
...
@@ -17,10 +17,12 @@ import com.dji.sample.wayline.model.dto.TaskSceneStatisticDTO;
import
com.dji.sample.wayline.model.dto.TaskStatisticDTO
;
import
com.dji.sample.wayline.model.dto.TaskStatusStatisticDTO
;
import
com.dji.sample.wayline.model.dto.WaylineJobDTO
;
import
com.dji.sample.wayline.model.entity.WaylineFileEntity
;
import
com.dji.sample.wayline.model.entity.WaylineJobEntity
;
import
com.dji.sample.wayline.model.enums.TaskSceneEnum
;
import
com.dji.sample.wayline.model.enums.WaylineJobStatusEnum
;
import
com.dji.sample.wayline.model.param.CreateJobParam
;
import
com.dji.sample.wayline.model.param.WaylineJobSearchParam
;
import
com.dji.sample.wayline.service.IWaylineFileService
;
import
com.dji.sample.wayline.service.IWaylineJobService
;
import
com.dji.sample.wayline.service.IWaylineRedisService
;
...
...
@@ -183,6 +185,54 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
}
@Override
public
PaginationData
<
WaylineJobDTO
>
getJobsByParam
(
WaylineJobSearchParam
param
,
String
workspaceId
,
long
page
,
long
pageSize
)
{
LambdaQueryWrapper
<
WaylineJobEntity
>
waylineJobQueryWrapper
=
new
LambdaQueryWrapper
<>();
waylineJobQueryWrapper
.
eq
(
WaylineJobEntity:
:
getWorkspaceId
,
workspaceId
);
waylineJobQueryWrapper
.
orderByDesc
(
WaylineJobEntity:
:
getId
);
if
(
StringUtils
.
hasText
(
param
.
getDockSns
()))
{
List
<
String
>
dockSnList
=
Arrays
.
asList
(
param
.
getDockSns
().
split
(
","
));
if
(!
CollectionUtils
.
isEmpty
(
dockSnList
))
{
waylineJobQueryWrapper
.
in
(
WaylineJobEntity:
:
getDockSn
,
dockSnList
);
}
}
// 航线名或者任务名称
if
(
StringUtils
.
hasText
(
param
.
getTaskOrWaylineName
()))
{
// 查询航线名称
LambdaQueryWrapper
<
WaylineFileEntity
>
waylineFileEntityLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
waylineFileEntityLambdaQueryWrapper
.
like
(
WaylineFileEntity:
:
getName
,
param
.
getTaskOrWaylineName
());
List
<
WaylineFileEntity
>
list
=
waylineFileService
.
list
(
waylineFileEntityLambdaQueryWrapper
);
List
<
String
>
waylineFileIds
=
list
.
stream
().
map
(
WaylineFileEntity:
:
getWaylineId
).
distinct
().
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
waylineFileIds
))
{
waylineJobQueryWrapper
.
like
(
WaylineJobEntity:
:
getName
,
param
.
getTaskOrWaylineName
());
}
else
{
waylineJobQueryWrapper
.
and
(
wrapper
->
wrapper
.
like
(
WaylineJobEntity:
:
getName
,
param
.
getTaskOrWaylineName
())
.
or
().
in
(
WaylineJobEntity:
:
getFileId
,
waylineFileIds
));
}
}
// 时间段 -- getBeginTime
if
(
param
.
getStartDate
()
!=
null
)
{
waylineJobQueryWrapper
.
ge
(
WaylineJobEntity:
:
getBeginTime
,
param
.
getStartDate
());
}
if
(
param
.
getEndDate
()
!=
null
)
{
waylineJobQueryWrapper
.
le
(
WaylineJobEntity:
:
getBeginTime
,
param
.
getEndDate
());
}
Page
<
WaylineJobEntity
>
pageData
=
mapper
.
selectPage
(
new
Page
<>(
page
,
pageSize
),
waylineJobQueryWrapper
);
List
<
WaylineJobDTO
>
records
=
pageData
.
getRecords
()
.
stream
()
.
map
(
this
::
entity2Dto
)
.
collect
(
Collectors
.
toList
());
return
new
PaginationData
<>(
records
,
new
Pagination
(
pageData
.
getCurrent
(),
pageData
.
getSize
(),
pageData
.
getTotal
()));
}
@Override
public
PaginationData
<
WaylineJobDTO
>
getTodayJobsByWorkspaceId
(
String
workspaceId
,
String
dockSns
,
long
page
,
long
pageSize
)
{
LambdaQueryWrapper
<
WaylineJobEntity
>
waylineJobQueryWrapper
=
new
LambdaQueryWrapper
<
WaylineJobEntity
>()
.
eq
(
WaylineJobEntity:
:
getWorkspaceId
,
workspaceId
)
...
...
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