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
76d8063c
Commit
76d8063c
authored
Jul 19, 2025
by
gdj
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加org
parent
0286ca97
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
52 changed files
with
1212 additions
and
52 deletions
+1212
-52
sample/src/main/java/com/dji/sample/common/model/CustomClaim.java
+2
-0
sample/src/main/java/com/dji/sample/common/util/SecurityUtils.java
+29
-16
sample/src/main/java/com/dji/sample/manage/controller/DeviceController.java
+24
-0
sample/src/main/java/com/dji/sample/manage/controller/LoginController.java
+17
-5
sample/src/main/java/com/dji/sample/manage/controller/OrgController.java
+122
-0
sample/src/main/java/com/dji/sample/manage/controller/UserController.java
+5
-2
sample/src/main/java/com/dji/sample/manage/controller/UserOrgController.java
+51
-0
sample/src/main/java/com/dji/sample/manage/dao/IDeviceOrgMapper.java
+9
-0
sample/src/main/java/com/dji/sample/manage/dao/IFleetOrgMapper.java
+13
-0
sample/src/main/java/com/dji/sample/manage/dao/IOrgMapper.java
+12
-0
sample/src/main/java/com/dji/sample/manage/dao/IUserOrgMapper.java
+24
-0
sample/src/main/java/com/dji/sample/manage/model/dto/DeviceDTO.java
+11
-0
sample/src/main/java/com/dji/sample/manage/model/dto/DeviceOrgDTO.java
+37
-0
sample/src/main/java/com/dji/sample/manage/model/dto/FleetDTO.java
+2
-0
sample/src/main/java/com/dji/sample/manage/model/dto/FleetOrgDTO.java
+37
-0
sample/src/main/java/com/dji/sample/manage/model/dto/OrgDTO.java
+39
-0
sample/src/main/java/com/dji/sample/manage/model/dto/OrgJoinDTO.java
+34
-0
sample/src/main/java/com/dji/sample/manage/model/dto/UserDTO.java
+3
-0
sample/src/main/java/com/dji/sample/manage/model/dto/UserLoginDTO.java
+5
-0
sample/src/main/java/com/dji/sample/manage/model/dto/UserOrgDTO.java
+17
-0
sample/src/main/java/com/dji/sample/manage/model/entity/DeviceEntity.java
+4
-0
sample/src/main/java/com/dji/sample/manage/model/entity/DeviceOrgEntity.java
+39
-0
sample/src/main/java/com/dji/sample/manage/model/entity/FleetEntity.java
+3
-0
sample/src/main/java/com/dji/sample/manage/model/entity/FleetOrgEntity.java
+39
-0
sample/src/main/java/com/dji/sample/manage/model/entity/OrgEntity.java
+46
-0
sample/src/main/java/com/dji/sample/manage/model/entity/UserOrgEntity.java
+43
-0
sample/src/main/java/com/dji/sample/manage/model/enums/RoleTypeEnum.java
+3
-3
sample/src/main/java/com/dji/sample/manage/model/param/DeviceSearchParam.java
+3
-0
sample/src/main/java/com/dji/sample/manage/model/param/searchParam/OrgSearchParam.java
+25
-0
sample/src/main/java/com/dji/sample/manage/model/param/searchParam/UserSearchParam.java
+16
-0
sample/src/main/java/com/dji/sample/manage/service/IDeviceOrgService.java
+11
-0
sample/src/main/java/com/dji/sample/manage/service/IDeviceService.java
+4
-0
sample/src/main/java/com/dji/sample/manage/service/IFleetOrgService.java
+10
-0
sample/src/main/java/com/dji/sample/manage/service/IOrgService.java
+81
-0
sample/src/main/java/com/dji/sample/manage/service/IUserOrgService.java
+68
-0
sample/src/main/java/com/dji/sample/manage/service/IUserService.java
+25
-0
sample/src/main/java/com/dji/sample/manage/service/impl/DeviceOrgServiceImpl.java
+14
-0
sample/src/main/java/com/dji/sample/manage/service/impl/DeviceServiceImpl.java
+0
-0
sample/src/main/java/com/dji/sample/manage/service/impl/FleetOrgServiceImpl.java
+14
-0
sample/src/main/java/com/dji/sample/manage/service/impl/FleetServiceImpl.java
+14
-1
sample/src/main/java/com/dji/sample/manage/service/impl/OrgServiceImpl.java
+0
-0
sample/src/main/java/com/dji/sample/manage/service/impl/UserOrgServiceImpl.java
+144
-0
sample/src/main/java/com/dji/sample/manage/service/impl/UserServiceImpl.java
+0
-0
sample/src/main/java/com/dji/sample/wayline/model/dto/WaylineFileDTO.java
+2
-0
sample/src/main/java/com/dji/sample/wayline/model/dto/WaylineFileTreeVO.java
+2
-0
sample/src/main/java/com/dji/sample/wayline/model/dto/WaylineJobDTO.java
+2
-0
sample/src/main/java/com/dji/sample/wayline/model/entity/WaylineFileEntity.java
+4
-0
sample/src/main/java/com/dji/sample/wayline/model/entity/WaylineJobEntity.java
+6
-0
sample/src/main/java/com/dji/sample/wayline/model/param/CreateJobParam.java
+3
-0
sample/src/main/java/com/dji/sample/wayline/model/param/WaylineJobSearchParam.java
+3
-0
sample/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
+57
-23
sample/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java
+34
-2
No files found.
sample/src/main/java/com/dji/sample/common/model/CustomClaim.java
View file @
76d8063c
...
@@ -39,6 +39,8 @@ public class CustomClaim {
...
@@ -39,6 +39,8 @@ public class CustomClaim {
@JsonAlias
(
"workspace_id"
)
@JsonAlias
(
"workspace_id"
)
private
String
workspaceId
;
private
String
workspaceId
;
@JsonAlias
(
"org_id"
)
private
String
orgId
;
/**
/**
* Convert the custom claim data type to the Map type.
* Convert the custom claim data type to the Map type.
* @return map
* @return map
...
...
sample/src/main/java/com/dji/sample/common/util/SecurityUtils.java
View file @
76d8063c
...
@@ -85,6 +85,13 @@ public class SecurityUtils {
...
@@ -85,6 +85,13 @@ public class SecurityUtils {
return
customClaim
.
getWorkspaceId
();
return
customClaim
.
getWorkspaceId
();
}
}
public
static
String
getOrgId
()
{
DecodedJWT
jwt
=
JwtUtil
.
verifyToken
(
getToken
());
CustomClaim
customClaim
=
new
CustomClaim
(
jwt
.
getClaims
());
return
customClaim
.
getOrgId
();
}
public
static
String
getUserId
()
{
public
static
String
getUserId
()
{
DecodedJWT
jwt
=
JwtUtil
.
verifyToken
(
getToken
());
DecodedJWT
jwt
=
JwtUtil
.
verifyToken
(
getToken
());
CustomClaim
customClaim
=
new
CustomClaim
(
jwt
.
getClaims
());
CustomClaim
customClaim
=
new
CustomClaim
(
jwt
.
getClaims
());
...
@@ -92,6 +99,12 @@ public class SecurityUtils {
...
@@ -92,6 +99,12 @@ public class SecurityUtils {
return
customClaim
.
getId
();
return
customClaim
.
getId
();
}
}
public
static
String
getUsername
()
{
DecodedJWT
jwt
=
JwtUtil
.
verifyToken
(
getToken
());
CustomClaim
customClaim
=
new
CustomClaim
(
jwt
.
getClaims
());
return
customClaim
.
getUsername
();
}
public
static
boolean
isSysAdminRole
()
{
public
static
boolean
isSysAdminRole
()
{
Integer
roleType
=
getRoleType
();
Integer
roleType
=
getRoleType
();
...
@@ -119,21 +132,21 @@ public class SecurityUtils {
...
@@ -119,21 +132,21 @@ public class SecurityUtils {
return
!
isAdminRole
();
return
!
isAdminRole
();
}
}
public
static
boolean
is
Project
AdminRole
(
Integer
roleType
)
{
public
static
boolean
is
Org
AdminRole
(
Integer
roleType
)
{
return
roleType
==
RoleTypeEnum
.
PROJECT
_ADMIN
.
getVal
();
return
roleType
==
RoleTypeEnum
.
ORG
_ADMIN
.
getVal
();
}
}
public
static
boolean
isNot
Project
AdminRole
(
Integer
roleType
)
{
public
static
boolean
isNot
Org
AdminRole
(
Integer
roleType
)
{
return
!
is
Project
AdminRole
(
roleType
);
return
!
is
Org
AdminRole
(
roleType
);
}
}
public
static
boolean
is
Project
AdminRole
()
{
public
static
boolean
is
Org
AdminRole
()
{
Integer
roleType
=
getRoleType
();
Integer
roleType
=
getRoleType
();
return
is
Project
AdminRole
(
roleType
);
return
is
Org
AdminRole
(
roleType
);
}
}
public
static
boolean
isNot
Project
AdminRole
()
{
public
static
boolean
isNot
Org
AdminRole
()
{
return
!
is
Project
AdminRole
();
return
!
is
Org
AdminRole
();
}
}
public
static
boolean
isAdminRole
(
Integer
roleType
)
{
public
static
boolean
isAdminRole
(
Integer
roleType
)
{
...
@@ -189,7 +202,7 @@ public class SecurityUtils {
...
@@ -189,7 +202,7 @@ public class SecurityUtils {
return
aboveMemberRole
(
roleType
);
return
aboveMemberRole
(
roleType
);
}
}
public
static
boolean
aboveMemberRole
(
Integer
roleType
)
{
public
static
boolean
aboveMemberRole
(
Integer
roleType
)
{
int
[]
roleArr
=
{
RoleTypeEnum
.
MEMBER
.
getVal
(),
RoleTypeEnum
.
PILOT
.
getVal
(),
RoleTypeEnum
.
ADMIN
.
getVal
(),
RoleTypeEnum
.
PROJECT
_ADMIN
.
getVal
(),
RoleTypeEnum
.
SYS_ADMIN
.
getVal
()};
int
[]
roleArr
=
{
RoleTypeEnum
.
MEMBER
.
getVal
(),
RoleTypeEnum
.
PILOT
.
getVal
(),
RoleTypeEnum
.
ADMIN
.
getVal
(),
RoleTypeEnum
.
ORG
_ADMIN
.
getVal
(),
RoleTypeEnum
.
SYS_ADMIN
.
getVal
()};
for
(
int
role
:
roleArr
){
for
(
int
role
:
roleArr
){
if
(
roleType
==
role
)
{
if
(
roleType
==
role
)
{
...
@@ -213,7 +226,7 @@ public class SecurityUtils {
...
@@ -213,7 +226,7 @@ public class SecurityUtils {
}
}
public
static
boolean
abovePilotRole
(
Integer
roleType
)
{
public
static
boolean
abovePilotRole
(
Integer
roleType
)
{
int
[]
roleArr
=
{
RoleTypeEnum
.
PILOT
.
getVal
(),
RoleTypeEnum
.
ADMIN
.
getVal
(),
RoleTypeEnum
.
PROJECT
_ADMIN
.
getVal
(),
RoleTypeEnum
.
SYS_ADMIN
.
getVal
()};
int
[]
roleArr
=
{
RoleTypeEnum
.
PILOT
.
getVal
(),
RoleTypeEnum
.
ADMIN
.
getVal
(),
RoleTypeEnum
.
ORG
_ADMIN
.
getVal
(),
RoleTypeEnum
.
SYS_ADMIN
.
getVal
()};
for
(
int
role
:
roleArr
){
for
(
int
role
:
roleArr
){
if
(
roleType
==
role
)
{
if
(
roleType
==
role
)
{
...
@@ -237,7 +250,7 @@ public class SecurityUtils {
...
@@ -237,7 +250,7 @@ public class SecurityUtils {
}
}
public
static
boolean
aboveAdminRole
(
Integer
roleType
)
{
public
static
boolean
aboveAdminRole
(
Integer
roleType
)
{
int
[]
roleArr
=
{
RoleTypeEnum
.
ADMIN
.
getVal
(),
RoleTypeEnum
.
PROJECT
_ADMIN
.
getVal
(),
RoleTypeEnum
.
SYS_ADMIN
.
getVal
()};
int
[]
roleArr
=
{
RoleTypeEnum
.
ADMIN
.
getVal
(),
RoleTypeEnum
.
ORG
_ADMIN
.
getVal
(),
RoleTypeEnum
.
SYS_ADMIN
.
getVal
()};
for
(
int
role
:
roleArr
){
for
(
int
role
:
roleArr
){
if
(
roleType
==
role
)
{
if
(
roleType
==
role
)
{
...
@@ -247,21 +260,21 @@ public class SecurityUtils {
...
@@ -247,21 +260,21 @@ public class SecurityUtils {
return
false
;
return
false
;
}
}
public
static
boolean
above
Project
AdminRoleAndThrowError
()
{
public
static
boolean
above
Org
AdminRoleAndThrowError
()
{
boolean
result
=
above
Project
AdminRole
();
boolean
result
=
above
Org
AdminRole
();
if
(!
result
)
{
if
(!
result
)
{
throw
new
RuntimeException
(
"The current role has no permissions"
);
throw
new
RuntimeException
(
"The current role has no permissions"
);
}
}
return
true
;
return
true
;
}
}
public
static
boolean
above
Project
AdminRole
()
{
public
static
boolean
above
Org
AdminRole
()
{
Integer
roleType
=
getRoleType
();
Integer
roleType
=
getRoleType
();
return
aboveSysAdminRole
(
roleType
);
return
aboveSysAdminRole
(
roleType
);
}
}
public
static
boolean
above
Project
AdminRole
(
Integer
roleType
)
{
public
static
boolean
above
Org
AdminRole
(
Integer
roleType
)
{
int
[]
roleArr
=
{
RoleTypeEnum
.
PROJECT
_ADMIN
.
getVal
(),
RoleTypeEnum
.
SYS_ADMIN
.
getVal
()};
int
[]
roleArr
=
{
RoleTypeEnum
.
ORG
_ADMIN
.
getVal
(),
RoleTypeEnum
.
SYS_ADMIN
.
getVal
()};
for
(
int
role
:
roleArr
)
{
for
(
int
role
:
roleArr
)
{
if
(
roleType
==
role
)
{
if
(
roleType
==
role
)
{
...
...
sample/src/main/java/com/dji/sample/manage/controller/DeviceController.java
View file @
76d8063c
...
@@ -270,4 +270,27 @@ public class DeviceController {
...
@@ -270,4 +270,27 @@ public class DeviceController {
return
HttpResultResponse
.
success
(
devices
);
return
HttpResultResponse
.
success
(
devices
);
}
}
/**
* share device to the org
* @param device
* @return
*/
@PostMapping
(
"/{workspace_id}/share"
)
public
HttpResultResponse
shareDevice
(
@RequestBody
DeviceDTO
device
,
@PathVariable
(
"workspace_id"
)
String
workspaceId
)
{
device
.
setWorkspaceId
(
workspaceId
);
deviceService
.
shareDevice
(
device
);
return
HttpResultResponse
.
success
();
}
/**
* cancel share device to the org
* @param device
* @return
*/
@PostMapping
(
"/{workspace_id}/cancelShare"
)
public
HttpResultResponse
cancelShareDevice
(
@RequestBody
DeviceDTO
device
,
@PathVariable
(
"workspace_id"
)
String
workspaceId
)
{
device
.
setWorkspaceId
(
workspaceId
);
deviceService
.
cancelShareDevice
(
device
);
return
HttpResultResponse
.
success
();
}
}
}
\ No newline at end of file
sample/src/main/java/com/dji/sample/manage/controller/LoginController.java
View file @
76d8063c
...
@@ -7,10 +7,7 @@ import com.dji.sample.manage.service.IUserService;
...
@@ -7,10 +7,7 @@ import com.dji.sample.manage.service.IUserService;
import
com.dji.sdk.common.HttpResultResponse
;
import
com.dji.sdk.common.HttpResultResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
...
@@ -30,7 +27,8 @@ public class LoginController {
...
@@ -30,7 +27,8 @@ public class LoginController {
String
username
=
loginDTO
.
getUsername
();
String
username
=
loginDTO
.
getUsername
();
String
password
=
loginDTO
.
getPassword
();
String
password
=
loginDTO
.
getPassword
();
return
userService
.
userLogin
(
username
,
password
,
loginDTO
.
getFlag
());
// return userService.userLogin(username, password, loginDTO.getFlag());
return
userService
.
userLogin
(
loginDTO
);
}
}
@PostMapping
(
"/token/refresh"
)
@PostMapping
(
"/token/refresh"
)
...
@@ -45,4 +43,18 @@ public class LoginController {
...
@@ -45,4 +43,18 @@ public class LoginController {
return
HttpResultResponse
.
success
(
user
.
get
());
return
HttpResultResponse
.
success
(
user
.
get
());
}
}
@PostMapping
(
"/token/changeOrg"
)
public
HttpResultResponse
changeOrg
(
HttpServletRequest
request
,
HttpServletResponse
response
,
@RequestParam
(
name
=
"org_id"
)
String
orgId
)
{
String
token
=
request
.
getHeader
(
PARAM_TOKEN
);
Optional
<
UserDTO
>
user
=
userService
.
changeOrgRefreshToken
(
token
,
orgId
);
if
(
user
.
isEmpty
())
{
response
.
setStatus
(
HttpStatus
.
UNAUTHORIZED
.
value
());
return
HttpResultResponse
.
error
(
CommonErrorEnum
.
NO_TOKEN
.
getMessage
());
}
return
HttpResultResponse
.
success
(
user
.
get
());
}
}
}
sample/src/main/java/com/dji/sample/manage/controller/OrgController.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
controller
;
import
com.dji.sample.common.model.CustomClaim
;
import
com.dji.sample.manage.model.dto.OrgDTO
;
import
com.dji.sample.manage.model.dto.OrgJoinDTO
;
import
com.dji.sample.manage.model.dto.WorkspaceDTO
;
import
com.dji.sample.manage.model.param.searchParam.OrgSearchParam
;
import
com.dji.sample.manage.model.param.searchParam.WorkspaceSearchParam
;
import
com.dji.sample.manage.service.IOrgService
;
import
com.dji.sample.manage.service.IWorkspaceService
;
import
com.dji.sdk.common.HttpResultResponse
;
import
com.dji.sdk.common.PaginationData
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Optional
;
import
static
com
.
dji
.
sample
.
common
.
util
.
SecurityUtils
.*;
import
static
com
.
dji
.
sample
.
component
.
AuthInterceptor
.
TOKEN_CLAIM
;
@RestController
@RequestMapping
(
"${url.manage.prefix}${url.manage.version}/orgs"
)
public
class
OrgController
{
@Autowired
private
IOrgService
orgService
;
/**
* Gets information about the workspace that the current user is in.
* @param request
* @return
*/
@GetMapping
(
"/current"
)
public
HttpResultResponse
getCurrentOrg
(
HttpServletRequest
request
)
{
CustomClaim
customClaim
=
(
CustomClaim
)
request
.
getAttribute
(
TOKEN_CLAIM
);
Optional
<
OrgDTO
>
orgOpt
=
orgService
.
getOrgByOrgId
(
customClaim
.
getOrgId
());
return
orgOpt
.
isEmpty
()
?
HttpResultResponse
.
error
()
:
HttpResultResponse
.
success
(
orgOpt
.
get
());
}
@GetMapping
(
"/getOne"
)
public
HttpResultResponse
getWorkspace
(
OrgSearchParam
param
)
{
param
.
setWorkspaceId
(
getWorkspaceId
());
// 判断权限 系统管理员才允许全查
if
(!
aboveSysAdminRole
())
{
param
.
setRoleUserId
(
getUserId
());
}
OrgDTO
org
=
orgService
.
getOrg
(
param
);
return
HttpResultResponse
.
success
(
org
);
}
@GetMapping
(
"/page"
)
public
HttpResultResponse
getOrgPage
(
OrgSearchParam
param
,
@RequestParam
(
defaultValue
=
"1"
)
Long
page
,
@RequestParam
(
value
=
"page_size"
,
defaultValue
=
"50"
)
Long
pageSize
)
{
// 判断权限 系统管理员才允许全查
if
(!
aboveSysAdminRole
())
{
param
.
setOrgId
(
getOrgId
());
}
PaginationData
<
OrgDTO
>
workspacePage
=
orgService
.
getOrgPage
(
param
,
page
,
pageSize
);
return
HttpResultResponse
.
success
(
workspacePage
);
}
@PostMapping
(
"/add"
)
public
HttpResultResponse
addOrg
(
@RequestBody
OrgDTO
orgDTO
)
{
// 判断权限 系统管理员才允许新增
aboveSysAdminRoleAndThrowError
();
orgDTO
.
setWorkspaceId
(
getWorkspaceId
());
OrgDTO
org
=
orgService
.
addOrg
(
orgDTO
);
return
HttpResultResponse
.
success
(
org
);
}
@PostMapping
(
"/edit"
)
public
HttpResultResponse
editOrg
(
@RequestBody
OrgDTO
orgDTO
)
{
// 判断权限 管理员才允许修改
aboveAdminRoleAndThrowError
();
orgDTO
.
setWorkspaceId
(
getWorkspaceId
());
boolean
isEdit
=
orgService
.
editOrg
(
orgDTO
);
return
isEdit
?
HttpResultResponse
.
success
()
:
HttpResultResponse
.
error
();
}
@PostMapping
(
"/delete"
)
public
HttpResultResponse
delWorkspace
(
@RequestBody
OrgDTO
orgDTO
)
{
// 判断权限 系统管理员才允许修改
aboveSysAdminRoleAndThrowError
();
boolean
isDel
=
orgService
.
delOrg
(
orgDTO
);
return
isDel
?
HttpResultResponse
.
success
()
:
HttpResultResponse
.
error
();
}
@PostMapping
(
"/apply"
)
public
HttpResultResponse
applyOrg
(
@RequestBody
OrgJoinDTO
orgDTO
)
{
boolean
isDel
=
orgService
.
applyOrg
(
orgDTO
);
return
isDel
?
HttpResultResponse
.
success
()
:
HttpResultResponse
.
error
();
}
@PostMapping
(
"/joinByAdmin"
)
public
HttpResultResponse
joinOrgByAdmin
(
@RequestBody
OrgJoinDTO
orgDTO
)
{
boolean
isDel
=
orgService
.
joinOrgByAdmin
(
orgDTO
);
return
isDel
?
HttpResultResponse
.
success
()
:
HttpResultResponse
.
error
();
}
}
\ No newline at end of file
sample/src/main/java/com/dji/sample/manage/controller/UserController.java
View file @
76d8063c
...
@@ -3,6 +3,7 @@ package com.dji.sample.manage.controller;
...
@@ -3,6 +3,7 @@ package com.dji.sample.manage.controller;
import
com.dji.sample.common.model.CustomClaim
;
import
com.dji.sample.common.model.CustomClaim
;
import
com.dji.sample.manage.model.dto.UserListDTO
;
import
com.dji.sample.manage.model.dto.UserListDTO
;
import
com.dji.sample.manage.model.entity.UserEntity
;
import
com.dji.sample.manage.model.entity.UserEntity
;
import
com.dji.sample.manage.model.param.searchParam.UserSearchParam
;
import
com.dji.sample.manage.service.IUserService
;
import
com.dji.sample.manage.service.IUserService
;
import
com.dji.sdk.common.HttpResultResponse
;
import
com.dji.sdk.common.HttpResultResponse
;
import
com.dji.sdk.common.PaginationData
;
import
com.dji.sdk.common.PaginationData
;
...
@@ -34,16 +35,18 @@ public class UserController {
...
@@ -34,16 +35,18 @@ public class UserController {
/**
/**
* Paging to query all users in a workspace.
* Paging to query all users in a workspace.
* @param param param
* @param page current page
* @param page current page
* @param pageSize
* @param pageSize
* @param workspaceId
* @param workspaceId
* @return
* @return
*/
*/
@GetMapping
(
"/{workspace_id}/users"
)
@GetMapping
(
"/{workspace_id}/users"
)
public
HttpResultResponse
<
PaginationData
<
UserListDTO
>>
getUsers
(
@RequestParam
(
defaultValue
=
"1"
)
Long
page
,
public
HttpResultResponse
<
PaginationData
<
UserListDTO
>>
getUsers
(
UserSearchParam
param
,
@RequestParam
(
defaultValue
=
"1"
)
Long
page
,
@RequestParam
(
value
=
"page_size"
,
defaultValue
=
"50"
)
Long
pageSize
,
@RequestParam
(
value
=
"page_size"
,
defaultValue
=
"50"
)
Long
pageSize
,
@PathVariable
(
"workspace_id"
)
String
workspaceId
)
{
@PathVariable
(
"workspace_id"
)
String
workspaceId
)
{
PaginationData
<
UserListDTO
>
paginationData
=
userService
.
getUsers
ByWorkspaceId
(
page
,
pageSize
,
workspaceId
);
PaginationData
<
UserListDTO
>
paginationData
=
userService
.
getUsers
(
param
,
workspaceId
,
page
,
pageSize
);
return
HttpResultResponse
.
success
(
paginationData
);
return
HttpResultResponse
.
success
(
paginationData
);
}
}
...
...
sample/src/main/java/com/dji/sample/manage/controller/UserOrgController.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
controller
;
import
com.dji.sample.common.model.CustomClaim
;
import
com.dji.sample.manage.model.dto.OrgDTO
;
import
com.dji.sample.manage.model.dto.UserOrgDTO
;
import
com.dji.sample.manage.model.param.searchParam.OrgSearchParam
;
import
com.dji.sample.manage.service.IOrgService
;
import
com.dji.sample.manage.service.IUserOrgService
;
import
com.dji.sdk.common.HttpResultResponse
;
import
com.dji.sdk.common.PaginationData
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Optional
;
import
static
com
.
dji
.
sample
.
common
.
util
.
SecurityUtils
.*;
import
static
com
.
dji
.
sample
.
component
.
AuthInterceptor
.
TOKEN_CLAIM
;
@RestController
@RequestMapping
(
"${url.manage.prefix}${url.manage.version}/orgUser"
)
public
class
UserOrgController
{
@Autowired
private
IUserOrgService
userOrgService
;
@PostMapping
(
"/addUserToOrg"
)
public
HttpResultResponse
addUserToOrg
(
@RequestBody
UserOrgDTO
userOrgDTO
)
{
// 判断权限 管理员才允许新增
aboveAdminRoleAndThrowError
();
boolean
isAdd
=
userOrgService
.
addUserToOrg
(
userOrgDTO
.
getUserId
(),
userOrgDTO
.
getOrgId
(),
userOrgDTO
.
getRoleType
());
return
isAdd
?
HttpResultResponse
.
success
()
:
HttpResultResponse
.
error
();
}
@PostMapping
(
"/removeUserFromOrg"
)
public
HttpResultResponse
removeUserFromOrg
(
@RequestBody
UserOrgDTO
userOrgDTO
)
{
// 判断权限 管理员才允许删除
aboveAdminRoleAndThrowError
();
boolean
isDel
=
userOrgService
.
removeUserFromOrg
(
userOrgDTO
.
getUserId
(),
userOrgDTO
.
getOrgId
());
return
isDel
?
HttpResultResponse
.
success
()
:
HttpResultResponse
.
error
();
}
}
\ No newline at end of file
sample/src/main/java/com/dji/sample/manage/dao/IDeviceOrgMapper.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dji.sample.manage.model.entity.DeviceOrgEntity
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
public
interface
IDeviceOrgMapper
extends
BaseMapper
<
DeviceOrgEntity
>
{
}
sample/src/main/java/com/dji/sample/manage/dao/IFleetOrgMapper.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dji.sample.manage.model.entity.DeviceOrgEntity
;
import
com.dji.sample.manage.model.entity.FleetOrgEntity
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* @author guan
*/
@Mapper
public
interface
IFleetOrgMapper
extends
BaseMapper
<
FleetOrgEntity
>
{
}
sample/src/main/java/com/dji/sample/manage/dao/IOrgMapper.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dji.sample.manage.model.entity.OrgEntity
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* @author guan
*/
@Mapper
public
interface
IOrgMapper
extends
BaseMapper
<
OrgEntity
>
{
}
sample/src/main/java/com/dji/sample/manage/dao/IUserOrgMapper.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dji.sample.manage.model.dto.UserOrgDTO
;
import
com.dji.sample.manage.model.entity.UserOrgEntity
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.List
;
@Mapper
public
interface
IUserOrgMapper
extends
BaseMapper
<
UserOrgEntity
>
{
/**
* 查询用户所有关联的组织信息,包含组织名称
* @param userId 用户ID
* @return 用户组织列表(包含组织名称)
*/
@Select
(
"SELECT uo.*, o.org_name FROM manage_user_org uo "
+
"LEFT JOIN manage_org o ON uo.org_id = o.org_id "
+
"WHERE uo.user_id = #{userId} AND uo.status = 1"
)
List
<
UserOrgDTO
>
selectUserOrgs
(
@Param
(
"userId"
)
String
userId
);
}
sample/src/main/java/com/dji/sample/manage/model/dto/DeviceDTO.java
View file @
76d8063c
...
@@ -85,4 +85,14 @@ public class DeviceDTO {
...
@@ -85,4 +85,14 @@ public class DeviceDTO {
@JsonProperty
(
"device_enum"
)
@JsonProperty
(
"device_enum"
)
private
String
deviceEnum
;
private
String
deviceEnum
;
/**
* 设备归属团队
*/
private
String
orgId
;
/**
* 是否来源于其他团队的分享设备
*/
private
String
isShared
;
}
}
\ No newline at end of file
sample/src/main/java/com/dji/sample/manage/model/dto/DeviceOrgDTO.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
model
.
dto
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @author guan
*/
@Data
public
class
DeviceOrgDTO
implements
Serializable
{
private
Integer
id
;
private
Integer
deviceId
;
private
String
deviceSn
;
private
String
orgId
;
private
Integer
isShared
;
private
Long
createTime
;
private
Long
updateTime
;
private
String
creatorId
;
private
String
creatorName
;
private
String
updaterId
;
private
String
updaterName
;
private
String
workspceId
;
}
sample/src/main/java/com/dji/sample/manage/model/dto/FleetDTO.java
View file @
76d8063c
...
@@ -40,6 +40,8 @@ public class FleetDTO implements Serializable {
...
@@ -40,6 +40,8 @@ public class FleetDTO implements Serializable {
private
String
nickname
;
private
String
nickname
;
private
String
orgId
;
@JsonProperty
(
value
=
"user_list"
)
@JsonProperty
(
value
=
"user_list"
)
private
List
<
FleetUserDTO
>
userList
;
private
List
<
FleetUserDTO
>
userList
;
...
...
sample/src/main/java/com/dji/sample/manage/model/dto/FleetOrgDTO.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
model
.
dto
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @author guan
*/
@Data
public
class
FleetOrgDTO
implements
Serializable
{
private
Integer
id
;
private
Integer
fleetId
;
private
String
fleetSn
;
private
String
orgId
;
private
Integer
isShared
;
private
Long
createTime
;
private
Long
updateTime
;
private
String
creatorId
;
private
String
creatorName
;
private
String
updaterId
;
private
String
updaterName
;
private
String
workspceId
;
}
sample/src/main/java/com/dji/sample/manage/model/dto/OrgDTO.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
model
.
dto
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* @author guan
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
OrgDTO
implements
Serializable
{
private
Integer
id
;
private
String
orgId
;
private
String
orgName
;
private
String
orgDesc
;
private
String
workspaceId
;
private
LocalDateTime
createTime
;
private
LocalDateTime
updateTime
;
private
String
bindCode
;
@JsonProperty
(
"admin_user_id"
)
private
String
adminUserId
;
@JsonProperty
(
"admin_user_name"
)
private
String
adminUserName
;
@JsonProperty
(
"admin_user_password"
)
private
String
adminUserPassword
;
}
sample/src/main/java/com/dji/sample/manage/model/dto/OrgJoinDTO.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
model
.
dto
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* @author guan
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
OrgJoinDTO
implements
Serializable
{
private
String
orgId
;
private
String
orgName
;
private
String
orgDesc
;
private
String
workspaceId
;
private
String
bindCode
;
private
String
joinUserId
;
private
String
joinUserName
;
private
Integer
joinUserRoleType
;
}
sample/src/main/java/com/dji/sample/manage/model/dto/UserDTO.java
View file @
76d8063c
...
@@ -20,6 +20,9 @@ public class UserDTO {
...
@@ -20,6 +20,9 @@ public class UserDTO {
@JsonProperty
(
"workspace_id"
)
@JsonProperty
(
"workspace_id"
)
private
String
workspaceId
;
private
String
workspaceId
;
@JsonProperty
(
"org_id"
)
private
String
orgId
;
@JsonProperty
(
"user_type"
)
@JsonProperty
(
"user_type"
)
private
Integer
userType
;
private
Integer
userType
;
...
...
sample/src/main/java/com/dji/sample/manage/model/dto/UserLoginDTO.java
View file @
76d8063c
...
@@ -22,4 +22,9 @@ public class UserLoginDTO {
...
@@ -22,4 +22,9 @@ public class UserLoginDTO {
@NonNull
@NonNull
private
Integer
flag
;
private
Integer
flag
;
private
String
orgId
;
private
String
orgName
;
}
}
sample/src/main/java/com/dji/sample/manage/model/dto/UserOrgDTO.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
model
.
dto
;
import
lombok.Builder
;
import
lombok.Data
;
@Data
@Builder
public
class
UserOrgDTO
{
private
Integer
id
;
private
String
userId
;
private
String
orgId
;
private
String
orgName
;
// 组织名称
private
Integer
roleType
;
private
Integer
status
;
// private String createTime;
// private String updateTime;
}
sample/src/main/java/com/dji/sample/manage/model/entity/DeviceEntity.java
View file @
76d8063c
...
@@ -88,4 +88,7 @@ public class DeviceEntity implements Serializable {
...
@@ -88,4 +88,7 @@ public class DeviceEntity implements Serializable {
@TableField
(
value
=
"login_time"
)
@TableField
(
value
=
"login_time"
)
private
Long
loginTime
;
private
Long
loginTime
;
@TableField
(
value
=
"org_id"
)
private
String
orgId
;
}
}
\ No newline at end of file
sample/src/main/java/com/dji/sample/manage/model/entity/DeviceOrgEntity.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
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
;
@Data
@TableName
(
"manage_device_org"
)
public
class
DeviceOrgEntity
implements
Serializable
{
@TableId
(
type
=
IdType
.
AUTO
)
private
Integer
id
;
private
Integer
deviceId
;
private
String
deviceSn
;
private
String
orgId
;
private
Integer
isShared
;
private
Long
createTime
;
private
Long
updateTime
;
private
String
creatorId
;
private
String
creatorName
;
private
String
updaterId
;
private
String
updaterName
;
private
String
workspaceId
;
}
sample/src/main/java/com/dji/sample/manage/model/entity/FleetEntity.java
View file @
76d8063c
...
@@ -49,4 +49,6 @@ public class FleetEntity implements Serializable {
...
@@ -49,4 +49,6 @@ public class FleetEntity implements Serializable {
@TableField
(
value
=
"nickname"
)
@TableField
(
value
=
"nickname"
)
private
String
nickname
;
private
String
nickname
;
@TableField
(
value
=
"org_id"
)
private
String
orgId
;
}
}
\ No newline at end of file
sample/src/main/java/com/dji/sample/manage/model/entity/FleetOrgEntity.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
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
;
@Data
@TableName
(
"fleet_device_org"
)
public
class
FleetOrgEntity
implements
Serializable
{
@TableId
(
type
=
IdType
.
AUTO
)
private
Integer
id
;
private
Integer
fleetId
;
private
String
fleetSn
;
private
String
orgId
;
private
Integer
isShared
;
private
Long
createTime
;
private
Long
updateTime
;
private
String
creatorId
;
private
String
creatorName
;
private
String
updaterId
;
private
String
updaterName
;
private
String
workspaceId
;
}
sample/src/main/java/com/dji/sample/manage/model/entity/OrgEntity.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
model
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @author guan
*/
@Data
@TableName
(
"manage_org"
)
public
class
OrgEntity
implements
Serializable
{
@TableId
(
type
=
IdType
.
AUTO
)
private
Integer
id
;
private
String
orgId
;
private
String
orgName
;
private
String
orgDesc
;
private
String
workspaceId
;
private
Long
createTime
;
private
Long
updateTime
;
private
String
creatorId
;
private
String
creatorName
;
private
String
updaterId
;
private
String
updaterName
;
private
String
bindCode
;
@TableField
(
value
=
"admin_user_id"
)
private
String
adminUserId
;
}
sample/src/main/java/com/dji/sample/manage/model/entity/UserOrgEntity.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
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
*/
@Data
@TableName
(
"manage_user_org"
)
public
class
UserOrgEntity
implements
Serializable
{
@TableId
(
type
=
IdType
.
AUTO
)
private
Integer
id
;
private
String
userId
;
private
String
orgId
;
private
Integer
roleType
;
private
Integer
status
;
private
Long
createTime
;
private
Long
updateTime
;
private
String
creatorId
;
private
String
creatorName
;
private
String
updaterId
;
private
String
updaterName
;
private
String
workspaceId
;
}
sample/src/main/java/com/dji/sample/manage/model/enums/RoleTypeEnum.java
View file @
76d8063c
...
@@ -12,7 +12,7 @@ public enum RoleTypeEnum {
...
@@ -12,7 +12,7 @@ public enum RoleTypeEnum {
PILOT
(
2
,
"飞手"
),
PILOT
(
2
,
"飞手"
),
PROJECT
_ADMIN
(
50
,
"项目管理员"
),
ORG
_ADMIN
(
50
,
"项目管理员"
),
SYS_ADMIN
(
100
,
"系统管理员"
),
SYS_ADMIN
(
100
,
"系统管理员"
),
...
@@ -39,8 +39,8 @@ public enum RoleTypeEnum {
...
@@ -39,8 +39,8 @@ public enum RoleTypeEnum {
if
(
val
==
SYS_ADMIN
.
val
)
{
if
(
val
==
SYS_ADMIN
.
val
)
{
return
SYS_ADMIN
;
return
SYS_ADMIN
;
}
}
if
(
val
==
PROJECT
_ADMIN
.
val
)
{
if
(
val
==
ORG
_ADMIN
.
val
)
{
return
PROJECT
_ADMIN
;
return
ORG
_ADMIN
;
}
}
if
(
val
==
ADMIN
.
val
)
{
if
(
val
==
ADMIN
.
val
)
{
return
ADMIN
;
return
ADMIN
;
...
...
sample/src/main/java/com/dji/sample/manage/model/param/DeviceSearchParam.java
View file @
76d8063c
...
@@ -27,6 +27,9 @@ public class DeviceSearchParam {
...
@@ -27,6 +27,9 @@ public class DeviceSearchParam {
@JsonProperty
(
"workspace_id"
)
@JsonProperty
(
"workspace_id"
)
private
String
workspaceId
;
private
String
workspaceId
;
@JsonProperty
(
"org_id"
)
private
String
orgId
;
@JsonProperty
(
"device_type"
)
@JsonProperty
(
"device_type"
)
private
Integer
deviceType
;
private
Integer
deviceType
;
...
...
sample/src/main/java/com/dji/sample/manage/model/param/searchParam/OrgSearchParam.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
model
.
param
.
searchParam
;
import
lombok.Data
;
/**
* @author guan
*/
@Data
public
class
OrgSearchParam
{
private
String
orgId
;
private
String
workspaceId
;
private
Integer
id
;
private
String
orgName
;
private
String
orgDesc
;
/**
* 只能查看自己的团队
*/
private
String
roleUserId
;
}
sample/src/main/java/com/dji/sample/manage/model/param/searchParam/UserSearchParam.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
model
.
param
.
searchParam
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
UserSearchParam
implements
Serializable
{
@JsonProperty
(
"device_sn"
)
private
String
orgId
;
private
String
workspaceId
;
}
sample/src/main/java/com/dji/sample/manage/service/IDeviceOrgService.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dji.sample.manage.model.entity.DeviceOrgEntity
;
import
com.dji.sample.manage.model.entity.UserOrgEntity
;
/**
* @author guan
*/
public
interface
IDeviceOrgService
extends
IService
<
DeviceOrgEntity
>
{
}
sample/src/main/java/com/dji/sample/manage/service/IDeviceService.java
View file @
76d8063c
...
@@ -270,6 +270,10 @@ public interface IDeviceService extends IService<DeviceEntity> {
...
@@ -270,6 +270,10 @@ public interface IDeviceService extends IService<DeviceEntity> {
boolean
editAirport
(
DeviceDTO
airport
);
boolean
editAirport
(
DeviceDTO
airport
);
void
shareDevice
(
DeviceDTO
device
);
void
cancelShareDevice
(
DeviceDTO
device
);
/**
/**
* Get the devices list in one workspace.
* Get the devices list in one workspace.
* @param workspaceId
* @param workspaceId
...
...
sample/src/main/java/com/dji/sample/manage/service/IFleetOrgService.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dji.sample.manage.model.entity.FleetOrgEntity
;
/**
* @author guan
*/
public
interface
IFleetOrgService
extends
IService
<
FleetOrgEntity
>
{
}
sample/src/main/java/com/dji/sample/manage/service/IOrgService.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dji.sample.manage.model.dto.OrgDTO
;
import
com.dji.sample.manage.model.dto.OrgJoinDTO
;
import
com.dji.sample.manage.model.dto.WorkspaceDTO
;
import
com.dji.sample.manage.model.entity.OrgEntity
;
import
com.dji.sample.manage.model.param.searchParam.OrgSearchParam
;
import
com.dji.sample.manage.model.param.searchParam.WorkspaceSearchParam
;
import
com.dji.sdk.common.PaginationData
;
import
java.util.List
;
import
java.util.Optional
;
public
interface
IOrgService
extends
IService
<
OrgEntity
>
{
/**
* 根据组织ID获取组织信息
* @param orgId 组织ID
* @return 组织信息
*/
Optional
<
OrgDTO
>
getOrgByOrgId
(
String
orgId
);
PaginationData
<
OrgDTO
>
getOrgPage
(
OrgSearchParam
param
,
Long
page
,
Long
pageSize
);
OrgDTO
addOrg
(
OrgDTO
orgDTO
);
boolean
editOrg
(
OrgDTO
orgDTO
);
boolean
delOrg
(
OrgDTO
orgDTO
);
/**
* 用户申请加入团队
* @param orgDTO
* @return
*/
boolean
applyOrg
(
OrgJoinDTO
orgDTO
);
/**
* 管理员增加团队
* @param orgDTO
* @return
*/
boolean
joinOrgByAdmin
(
OrgJoinDTO
orgDTO
);
OrgDTO
getOrg
(
OrgSearchParam
param
);
/**
* 获取组织对应的workspaceId
* @param orgId 组织ID
* @return workspaceId
*/
String
getWorkspaceIdByOrgId
(
String
orgId
);
/**
* 获取所有组织列表
* @return 组织列表
*/
List
<
OrgDTO
>
getAllOrgs
();
/**
* 删除组织
* @param orgId 组织ID
* @return 是否删除成功
*/
boolean
deleteOrg
(
String
orgId
);
/**
* 创建组织
* @param orgDTO 组织实体
* @return 是否创建成功
*/
boolean
createOrg
(
OrgDTO
orgDTO
);
/**
* 更新组织
* @param orgDTO 组织实体
* @return 是否更新成功
*/
boolean
updateOrg
(
OrgDTO
orgDTO
);
}
sample/src/main/java/com/dji/sample/manage/service/IUserOrgService.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dji.sample.manage.model.dto.UserOrgDTO
;
import
com.dji.sample.manage.model.entity.UserOrgEntity
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
public
interface
IUserOrgService
extends
IService
<
UserOrgEntity
>
{
/**
* 获取用户在特定组织的角色信息
* @param userId 用户ID
* @param orgId 组织ID
* @return 用户组织关联信息
*/
Optional
<
UserOrgEntity
>
getUserOrg
(
String
userId
,
String
orgId
);
/**
* 获取用户的所有组织信息
* @param userId 用户ID
* @return 用户所有组织关联信息列表
*/
List
<
UserOrgDTO
>
getUserOrgs
(
String
userId
);
/**
* 获取特定组织中所有用户ID
* @param orgId 组织ID
* @return 用户ID列表
*/
List
<
String
>
getUserIdsByOrgId
(
String
orgId
);
/**
* 获取组织中所有用户的角色映射
* @param orgId 组织ID
* @return 用户ID与角色类型的映射
*/
Map
<
String
,
Integer
>
getUserRoleMapByOrgId
(
String
orgId
);
/**
* 添加用户到组织
* @param userId 用户ID
* @param orgId 组织ID
* @param roleType 角色类型
* @return 操作是否成功
*/
boolean
addUserToOrg
(
String
userId
,
String
orgId
,
Integer
roleType
);
/**
* 从组织移除用户
* @param userId 用户ID
* @param orgId 组织ID
* @return 操作是否成功
*/
boolean
removeUserFromOrg
(
String
userId
,
String
orgId
);
/**
* 更新用户在组织的角色
* @param userId 用户ID
* @param orgId 组织ID
* @param roleType 新的角色类型
* @return 操作是否成功
*/
boolean
updateUserOrgRole
(
String
userId
,
String
orgId
,
Integer
roleType
);
}
sample/src/main/java/com/dji/sample/manage/service/IUserService.java
View file @
76d8063c
...
@@ -3,7 +3,9 @@ package com.dji.sample.manage.service;
...
@@ -3,7 +3,9 @@ package com.dji.sample.manage.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dji.sample.manage.model.dto.UserDTO
;
import
com.dji.sample.manage.model.dto.UserDTO
;
import
com.dji.sample.manage.model.dto.UserListDTO
;
import
com.dji.sample.manage.model.dto.UserListDTO
;
import
com.dji.sample.manage.model.dto.UserLoginDTO
;
import
com.dji.sample.manage.model.entity.UserEntity
;
import
com.dji.sample.manage.model.entity.UserEntity
;
import
com.dji.sample.manage.model.param.searchParam.UserSearchParam
;
import
com.dji.sdk.common.HttpResultResponse
;
import
com.dji.sdk.common.HttpResultResponse
;
import
com.dji.sdk.common.PaginationData
;
import
com.dji.sdk.common.PaginationData
;
...
@@ -29,6 +31,13 @@ public interface IUserService extends IService<UserEntity> {
...
@@ -29,6 +31,13 @@ public interface IUserService extends IService<UserEntity> {
HttpResultResponse
userLogin
(
String
username
,
String
password
,
Integer
flag
);
HttpResultResponse
userLogin
(
String
username
,
String
password
,
Integer
flag
);
/**
/**
* Verify the username and password to log in.
* @param loginDTO
* @return
*/
HttpResultResponse
userLogin
(
UserLoginDTO
loginDTO
);
/**
* Create a user object containing a new token.
* Create a user object containing a new token.
* @param token
* @param token
* @return
* @return
...
@@ -36,12 +45,26 @@ public interface IUserService extends IService<UserEntity> {
...
@@ -36,12 +45,26 @@ public interface IUserService extends IService<UserEntity> {
Optional
<
UserDTO
>
refreshToken
(
String
token
);
Optional
<
UserDTO
>
refreshToken
(
String
token
);
/**
/**
* Create a user object containing a new token.
* @param token
* @return
*/
Optional
<
UserDTO
>
changeOrgRefreshToken
(
String
token
,
String
orgId
);
/**
* Query information about all users in a workspace.
* Query information about all users in a workspace.
* @param workspaceId uuid
* @param workspaceId uuid
* @return
* @return
*/
*/
PaginationData
<
UserListDTO
>
getUsersByWorkspaceId
(
long
page
,
long
pageSize
,
String
workspaceId
);
PaginationData
<
UserListDTO
>
getUsersByWorkspaceId
(
long
page
,
long
pageSize
,
String
workspaceId
);
/**
* Query information about all users.
* @param workspaceId uuid
* @return
*/
PaginationData
<
UserListDTO
>
getUsers
(
UserSearchParam
param
,
String
workspaceId
,
long
page
,
long
pageSize
);
Boolean
updateUser
(
String
workspaceId
,
String
userId
,
UserListDTO
user
);
Boolean
updateUser
(
String
workspaceId
,
String
userId
,
UserListDTO
user
);
Boolean
deleteUser
(
String
workspaceId
,
String
userId
);
Boolean
deleteUser
(
String
workspaceId
,
String
userId
);
...
@@ -58,4 +81,6 @@ public interface IUserService extends IService<UserEntity> {
...
@@ -58,4 +81,6 @@ public interface IUserService extends IService<UserEntity> {
UserEntity
addWorkspaceAdminUser
(
UserEntity
user
);
UserEntity
addWorkspaceAdminUser
(
UserEntity
user
);
UserEntity
addOrgAdminUser
(
UserEntity
user
);
}
}
sample/src/main/java/com/dji/sample/manage/service/impl/DeviceOrgServiceImpl.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dji.sample.manage.dao.IDeviceOrgMapper
;
import
com.dji.sample.manage.dao.IUserOrgMapper
;
import
com.dji.sample.manage.model.entity.DeviceOrgEntity
;
import
com.dji.sample.manage.model.entity.UserOrgEntity
;
import
com.dji.sample.manage.service.IDeviceOrgService
;
import
com.dji.sample.manage.service.IUserOrgService
;
import
org.springframework.stereotype.Service
;
@Service
public
class
DeviceOrgServiceImpl
extends
ServiceImpl
<
IDeviceOrgMapper
,
DeviceOrgEntity
>
implements
IDeviceOrgService
{
}
sample/src/main/java/com/dji/sample/manage/service/impl/DeviceServiceImpl.java
View file @
76d8063c
This diff is collapsed.
Click to expand it.
sample/src/main/java/com/dji/sample/manage/service/impl/FleetOrgServiceImpl.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dji.sample.manage.dao.IFleetOrgMapper
;
import
com.dji.sample.manage.model.entity.FleetOrgEntity
;
import
com.dji.sample.manage.service.IFleetOrgService
;
import
org.springframework.stereotype.Service
;
/**
* @author guan
*/
@Service
public
class
FleetOrgServiceImpl
extends
ServiceImpl
<
IFleetOrgMapper
,
FleetOrgEntity
>
implements
IFleetOrgService
{
}
sample/src/main/java/com/dji/sample/manage/service/impl/FleetServiceImpl.java
View file @
76d8063c
...
@@ -32,6 +32,9 @@ import java.util.Map;
...
@@ -32,6 +32,9 @@ import java.util.Map;
import
java.util.UUID
;
import
java.util.UUID
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
com
.
dji
.
sample
.
common
.
util
.
SecurityUtils
.
aboveSysAdminRole
;
import
static
com
.
dji
.
sample
.
common
.
util
.
SecurityUtils
.
getOrgId
;
/**
/**
* @author guan
* @author guan
*/
*/
...
@@ -74,6 +77,13 @@ public class FleetServiceImpl extends ServiceImpl<IFleetMapper, FleetEntity> imp
...
@@ -74,6 +77,13 @@ public class FleetServiceImpl extends ServiceImpl<IFleetMapper, FleetEntity> imp
fleetQueryWrapper
.
like
(
FleetEntity:
:
getFleetName
,
param
.
getFleetName
());
fleetQueryWrapper
.
like
(
FleetEntity:
:
getFleetName
,
param
.
getFleetName
());
}
}
// 限制 团队
if
(
aboveSysAdminRole
())
{
}
else
{
fleetQueryWrapper
.
eq
(
FleetEntity:
:
getOrgId
,
getOrgId
());
}
Page
<
FleetEntity
>
pagination
=
mapper
.
selectPage
(
new
Page
<>(
page
,
pageSize
),
fleetQueryWrapper
);
Page
<
FleetEntity
>
pagination
=
mapper
.
selectPage
(
new
Page
<>(
page
,
pageSize
),
fleetQueryWrapper
);
List
<
FleetDTO
>
fleetList
=
pagination
.
getRecords
().
stream
()
List
<
FleetDTO
>
fleetList
=
pagination
.
getRecords
().
stream
()
...
@@ -127,7 +137,8 @@ public class FleetServiceImpl extends ServiceImpl<IFleetMapper, FleetEntity> imp
...
@@ -127,7 +137,8 @@ public class FleetServiceImpl extends ServiceImpl<IFleetMapper, FleetEntity> imp
}
else
{
}
else
{
addFleet
.
setFleetSn
(
UUID
.
randomUUID
().
toString
());
addFleet
.
setFleetSn
(
UUID
.
randomUUID
().
toString
());
}
}
addFleet
.
setOrgId
(
StringUtils
.
hasText
(
fleetDTO
.
getOrgId
())
?
fleetDTO
.
getOrgId
()
:
getOrgId
());
addFleet
.
setFleetName
(
fleetDTO
.
getFleetName
());
addFleet
.
setFleetName
(
fleetDTO
.
getFleetName
());
addFleet
.
setNickname
(
fleetDTO
.
getNickname
());
addFleet
.
setNickname
(
fleetDTO
.
getNickname
());
addFleet
.
setFleetDesc
(
fleetDTO
.
getFleetDesc
());
addFleet
.
setFleetDesc
(
fleetDTO
.
getFleetDesc
());
...
@@ -279,6 +290,7 @@ public class FleetServiceImpl extends ServiceImpl<IFleetMapper, FleetEntity> imp
...
@@ -279,6 +290,7 @@ public class FleetServiceImpl extends ServiceImpl<IFleetMapper, FleetEntity> imp
fleetDTO
.
setFleetDesc
(
fleetEntity
.
getFleetDesc
());
fleetDTO
.
setFleetDesc
(
fleetEntity
.
getFleetDesc
());
fleetDTO
.
setUserId
(
fleetEntity
.
getUserId
());
fleetDTO
.
setUserId
(
fleetEntity
.
getUserId
());
fleetDTO
.
setNickname
(
fleetEntity
.
getNickname
());
fleetDTO
.
setNickname
(
fleetEntity
.
getNickname
());
fleetDTO
.
setOrgId
(
fleetEntity
.
getOrgId
());
return
fleetDTO
;
return
fleetDTO
;
}
}
...
@@ -293,6 +305,7 @@ public class FleetServiceImpl extends ServiceImpl<IFleetMapper, FleetEntity> imp
...
@@ -293,6 +305,7 @@ public class FleetServiceImpl extends ServiceImpl<IFleetMapper, FleetEntity> imp
fleetEntity
.
setFleetDesc
(
fleetDTO
.
getFleetDesc
());
fleetEntity
.
setFleetDesc
(
fleetDTO
.
getFleetDesc
());
fleetEntity
.
setUserId
(
fleetDTO
.
getUserId
());
fleetEntity
.
setUserId
(
fleetDTO
.
getUserId
());
fleetEntity
.
setNickname
(
fleetDTO
.
getNickname
());
fleetEntity
.
setNickname
(
fleetDTO
.
getNickname
());
fleetEntity
.
setOrgId
(
fleetDTO
.
getOrgId
());
return
fleetEntity
;
return
fleetEntity
;
}
}
...
...
sample/src/main/java/com/dji/sample/manage/service/impl/OrgServiceImpl.java
0 → 100644
View file @
76d8063c
This diff is collapsed.
Click to expand it.
sample/src/main/java/com/dji/sample/manage/service/impl/UserOrgServiceImpl.java
0 → 100644
View file @
76d8063c
package
com
.
dji
.
sample
.
manage
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dji.sample.common.util.SecurityUtils
;
// 修正导入包
import
com.dji.sample.manage.dao.IUserOrgMapper
;
import
com.dji.sample.manage.model.dto.UserOrgDTO
;
import
com.dji.sample.manage.model.entity.UserOrgEntity
;
import
com.dji.sample.manage.service.IUserOrgService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
@Service
public
class
UserOrgServiceImpl
extends
ServiceImpl
<
IUserOrgMapper
,
UserOrgEntity
>
implements
IUserOrgService
{
@Autowired
private
IUserOrgMapper
userOrgMapper
;
@Override
public
Optional
<
UserOrgEntity
>
getUserOrg
(
String
userId
,
String
orgId
)
{
LambdaQueryWrapper
<
UserOrgEntity
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
UserOrgEntity:
:
getUserId
,
userId
)
.
eq
(
UserOrgEntity:
:
getOrgId
,
orgId
)
.
eq
(
UserOrgEntity:
:
getStatus
,
1
);
UserOrgEntity
entity
=
getOne
(
queryWrapper
);
return
Optional
.
ofNullable
(
entity
);
}
@Override
public
List
<
UserOrgDTO
>
getUserOrgs
(
String
userId
)
{
return
userOrgMapper
.
selectUserOrgs
(
userId
);
}
@Override
public
List
<
String
>
getUserIdsByOrgId
(
String
orgId
)
{
LambdaQueryWrapper
<
UserOrgEntity
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
UserOrgEntity:
:
getOrgId
,
orgId
)
.
eq
(
UserOrgEntity:
:
getStatus
,
1
)
.
select
(
UserOrgEntity:
:
getUserId
);
return
this
.
list
(
queryWrapper
)
.
stream
()
.
map
(
UserOrgEntity:
:
getUserId
)
.
collect
(
Collectors
.
toList
());
}
@Override
public
Map
<
String
,
Integer
>
getUserRoleMapByOrgId
(
String
orgId
)
{
LambdaQueryWrapper
<
UserOrgEntity
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
UserOrgEntity:
:
getOrgId
,
orgId
)
.
eq
(
UserOrgEntity:
:
getStatus
,
1
)
.
select
(
UserOrgEntity:
:
getUserId
,
UserOrgEntity:
:
getRoleType
);
return
this
.
list
(
queryWrapper
)
.
stream
()
.
collect
(
Collectors
.
toMap
(
UserOrgEntity:
:
getUserId
,
UserOrgEntity:
:
getRoleType
));
}
@Override
public
boolean
addUserToOrg
(
String
userId
,
String
orgId
,
Integer
roleType
)
{
// 检查是否已存在
LambdaQueryWrapper
<
UserOrgEntity
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
UserOrgEntity:
:
getUserId
,
userId
)
.
eq
(
UserOrgEntity:
:
getOrgId
,
orgId
);
UserOrgEntity
entity
=
getOne
(
queryWrapper
);
if
(
entity
!=
null
)
{
// 如果已存在但被禁用,则启用
if
(
entity
.
getStatus
()
==
0
)
{
entity
.
setStatus
(
1
);
entity
.
setRoleType
(
roleType
);
// entity.setUpdateTime(System.currentTimeMillis());
return
updateById
(
entity
);
}
return
false
;
// 已存在且启用状态
}
// 创建新关联
UserOrgEntity
userOrg
=
new
UserOrgEntity
();
userOrg
.
setUserId
(
userId
);
userOrg
.
setOrgId
(
orgId
);
userOrg
.
setRoleType
(
roleType
);
userOrg
.
setStatus
(
1
);
userOrg
.
setCreateTime
(
System
.
currentTimeMillis
());
userOrg
.
setUpdateTime
(
System
.
currentTimeMillis
());
// 创建新关联时设置创建者和更新者信息
String
currentUserId
=
SecurityUtils
.
getUserId
();
String
currentUserName
=
SecurityUtils
.
getUsername
();
userOrg
.
setCreatorId
(
currentUserId
);
userOrg
.
setCreatorName
(
currentUserName
);
userOrg
.
setUpdaterId
(
currentUserId
);
userOrg
.
setUpdaterName
(
currentUserName
);
return
save
(
userOrg
);
}
@Override
public
boolean
removeUserFromOrg
(
String
userId
,
String
orgId
)
{
LambdaQueryWrapper
<
UserOrgEntity
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
UserOrgEntity:
:
getUserId
,
userId
)
.
eq
(
UserOrgEntity:
:
getOrgId
,
orgId
);
// 使用逻辑删除(将状态设置为禁用)
UserOrgEntity
entity
=
getOne
(
queryWrapper
);
if
(
entity
!=
null
)
{
entity
.
setStatus
(
0
);
// entity.setUpdateTime(System.currentTimeMillis());
return
updateById
(
entity
);
}
return
false
;
}
@Override
public
boolean
updateUserOrgRole
(
String
userId
,
String
orgId
,
Integer
roleType
)
{
LambdaQueryWrapper
<
UserOrgEntity
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
UserOrgEntity:
:
getUserId
,
userId
)
.
eq
(
UserOrgEntity:
:
getOrgId
,
orgId
);
UserOrgEntity
entity
=
getOne
(
queryWrapper
);
if
(
entity
!=
null
)
{
entity
.
setRoleType
(
roleType
);
// entity.setUpdateTime(System.currentTimeMillis());
// 设置更新者信息
entity
.
setUpdaterId
(
SecurityUtils
.
getUserId
());
entity
.
setUpdaterName
(
SecurityUtils
.
getUsername
());
return
updateById
(
entity
);
}
return
false
;
}
}
sample/src/main/java/com/dji/sample/manage/service/impl/UserServiceImpl.java
View file @
76d8063c
This diff is collapsed.
Click to expand it.
sample/src/main/java/com/dji/sample/wayline/model/dto/WaylineFileDTO.java
View file @
76d8063c
...
@@ -51,4 +51,6 @@ public class WaylineFileDTO {
...
@@ -51,4 +51,6 @@ public class WaylineFileDTO {
@JsonAlias
(
"isDir"
)
@JsonAlias
(
"isDir"
)
private
Integer
isDir
;
private
Integer
isDir
;
private
String
orgId
;
}
}
sample/src/main/java/com/dji/sample/wayline/model/dto/WaylineFileTreeVO.java
View file @
76d8063c
...
@@ -53,4 +53,6 @@ public class WaylineFileTreeVO {
...
@@ -53,4 +53,6 @@ public class WaylineFileTreeVO {
private
List
<
WaylineFileTreeVO
>
children
;
private
List
<
WaylineFileTreeVO
>
children
;
private
String
orgId
;
}
}
sample/src/main/java/com/dji/sample/wayline/model/dto/WaylineJobDTO.java
View file @
76d8063c
...
@@ -87,4 +87,6 @@ public class WaylineJobDTO {
...
@@ -87,4 +87,6 @@ public class WaylineJobDTO {
@CloudSDKVersion
(
since
=
CloudSDKVersionEnum
.
V1_0_0
)
@CloudSDKVersion
(
since
=
CloudSDKVersionEnum
.
V1_0_0
)
private
SimulateMission
simulateMission
;
private
SimulateMission
simulateMission
;
private
String
orgId
;
}
}
sample/src/main/java/com/dji/sample/wayline/model/entity/WaylineFileEntity.java
View file @
76d8063c
...
@@ -74,4 +74,8 @@ public class WaylineFileEntity implements Serializable {
...
@@ -74,4 +74,8 @@ public class WaylineFileEntity implements Serializable {
// @TableLogic
// @TableLogic
@TableField
(
"is_deleted"
)
@TableField
(
"is_deleted"
)
private
Boolean
isDeleted
;
private
Boolean
isDeleted
;
@TableField
(
"org_id"
)
private
String
orgId
;
}
}
sample/src/main/java/com/dji/sample/wayline/model/entity/WaylineJobEntity.java
View file @
76d8063c
...
@@ -89,4 +89,10 @@ public class WaylineJobEntity implements Serializable {
...
@@ -89,4 +89,10 @@ public class WaylineJobEntity implements Serializable {
@TableField
(
"task_scene"
)
@TableField
(
"task_scene"
)
private
Integer
taskScene
;
private
Integer
taskScene
;
/**
* orgId
*/
@TableField
(
"org_id"
)
private
String
orgId
;
}
}
sample/src/main/java/com/dji/sample/wayline/model/param/CreateJobParam.java
View file @
76d8063c
...
@@ -48,4 +48,7 @@ public class CreateJobParam {
...
@@ -48,4 +48,7 @@ public class CreateJobParam {
private
List
<
Long
>
taskDays
;
private
List
<
Long
>
taskDays
;
private
List
<
List
<
Long
>>
taskPeriods
;
private
List
<
List
<
Long
>>
taskPeriods
;
private
String
orgId
;
}
}
sample/src/main/java/com/dji/sample/wayline/model/param/WaylineJobSearchParam.java
View file @
76d8063c
...
@@ -26,4 +26,7 @@ public class WaylineJobSearchParam {
...
@@ -26,4 +26,7 @@ public class WaylineJobSearchParam {
@JsonProperty
(
"job_ids"
)
@JsonProperty
(
"job_ids"
)
private
String
jobIds
;
private
String
jobIds
;
@JsonProperty
(
"org_id"
)
private
String
orgId
;
}
}
sample/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
View file @
76d8063c
...
@@ -48,6 +48,8 @@ import java.util.stream.Collectors;
...
@@ -48,6 +48,8 @@ import java.util.stream.Collectors;
import
java.util.zip.ZipEntry
;
import
java.util.zip.ZipEntry
;
import
java.util.zip.ZipInputStream
;
import
java.util.zip.ZipInputStream
;
import
static
com
.
dji
.
sample
.
common
.
util
.
SecurityUtils
.
aboveSysAdminRole
;
import
static
com
.
dji
.
sample
.
common
.
util
.
SecurityUtils
.
getOrgId
;
import
static
com
.
dji
.
sample
.
wayline
.
model
.
dto
.
KmzFileProperties
.
WAYLINE_FILE_SUFFIX
;
import
static
com
.
dji
.
sample
.
wayline
.
model
.
dto
.
KmzFileProperties
.
WAYLINE_FILE_SUFFIX
;
/**
/**
...
@@ -67,31 +69,40 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
...
@@ -67,31 +69,40 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
@Override
@Override
public
PaginationData
<
GetWaylineListResponse
>
getWaylinesByParam
(
String
workspaceId
,
GetWaylineListRequest
param
)
{
public
PaginationData
<
GetWaylineListResponse
>
getWaylinesByParam
(
String
workspaceId
,
GetWaylineListRequest
param
)
{
LambdaQueryWrapper
<
WaylineFileEntity
>
waylineFileaQueryWrapper
=
new
LambdaQueryWrapper
<
WaylineFileEntity
>();
if
(
aboveSysAdminRole
())
{
}
else
{
waylineFileaQueryWrapper
.
eq
(
WaylineFileEntity:
:
getOrgId
,
getOrgId
());
}
waylineFileaQueryWrapper
.
eq
(
WaylineFileEntity:
:
getIsDir
,
WaylineFileTypeEnum
.
FILE
.
getVal
())
.
eq
(
WaylineFileEntity:
:
getWorkspaceId
,
workspaceId
)
.
eq
(
Objects
.
nonNull
(
param
.
getFavorited
()),
WaylineFileEntity:
:
getFavorited
,
param
.
getFavorited
())
.
and
(
param
.
getTemplateType
()
!=
null
,
wrapper
->
{
for
(
WaylineTypeEnum
type
:
param
.
getTemplateType
())
{
wrapper
.
like
(
WaylineFileEntity:
:
getTemplateTypes
,
type
.
getValue
()).
or
();
}
})
.
and
(
param
.
getPayloadModelKey
()
!=
null
,
wrapper
->
{
for
(
DeviceEnum
type
:
param
.
getPayloadModelKey
())
{
wrapper
.
like
(
WaylineFileEntity:
:
getPayloadModelKeys
,
type
.
getType
()).
or
();
}
})
.
and
(
param
.
getDroneModelKeys
()
!=
null
,
wrapper
->
{
for
(
DeviceEnum
type
:
param
.
getDroneModelKeys
())
{
wrapper
.
eq
(
WaylineFileEntity:
:
getDroneModelKey
,
type
.
getType
()).
or
();
}
})
.
like
(
Objects
.
nonNull
(
param
.
getKey
()),
WaylineFileEntity:
:
getName
,
param
.
getKey
())
// There is a risk of SQL injection
.
last
(
Objects
.
nonNull
(
param
.
getOrderBy
()),
" order by "
+
param
.
getOrderBy
().
toString
());
// Paging Query
// Paging Query
Page
<
WaylineFileEntity
>
page
=
mapper
.
selectPage
(
Page
<
WaylineFileEntity
>
page
=
mapper
.
selectPage
(
new
Page
<
WaylineFileEntity
>(
param
.
getPage
(),
param
.
getPageSize
()),
new
Page
<>(
param
.
getPage
(),
param
.
getPageSize
()),
waylineFileaQueryWrapper
new
LambdaQueryWrapper
<
WaylineFileEntity
>()
);
.
eq
(
WaylineFileEntity:
:
getIsDir
,
WaylineFileTypeEnum
.
FILE
.
getVal
())
.
eq
(
WaylineFileEntity:
:
getWorkspaceId
,
workspaceId
)
.
eq
(
Objects
.
nonNull
(
param
.
getFavorited
()),
WaylineFileEntity:
:
getFavorited
,
param
.
getFavorited
())
.
and
(
param
.
getTemplateType
()
!=
null
,
wrapper
->
{
for
(
WaylineTypeEnum
type
:
param
.
getTemplateType
())
{
wrapper
.
like
(
WaylineFileEntity:
:
getTemplateTypes
,
type
.
getValue
()).
or
();
}
})
.
and
(
param
.
getPayloadModelKey
()
!=
null
,
wrapper
->
{
for
(
DeviceEnum
type
:
param
.
getPayloadModelKey
())
{
wrapper
.
like
(
WaylineFileEntity:
:
getPayloadModelKeys
,
type
.
getType
()).
or
();
}
})
.
and
(
param
.
getDroneModelKeys
()
!=
null
,
wrapper
->
{
for
(
DeviceEnum
type
:
param
.
getDroneModelKeys
())
{
wrapper
.
eq
(
WaylineFileEntity:
:
getDroneModelKey
,
type
.
getType
()).
or
();
}
})
.
like
(
Objects
.
nonNull
(
param
.
getKey
()),
WaylineFileEntity:
:
getName
,
param
.
getKey
())
// There is a risk of SQL injection
.
last
(
Objects
.
nonNull
(
param
.
getOrderBy
()),
" order by "
+
param
.
getOrderBy
().
toString
()));
// Wrap the results of a paging query into a custom paging object.
// Wrap the results of a paging query into a custom paging object.
List
<
GetWaylineListResponse
>
records
=
page
.
getRecords
()
List
<
GetWaylineListResponse
>
records
=
page
.
getRecords
()
...
@@ -144,6 +155,7 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
...
@@ -144,6 +155,7 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
WaylineFileEntity
file
=
this
.
dtoConvertToEntity
(
metadata
);
WaylineFileEntity
file
=
this
.
dtoConvertToEntity
(
metadata
);
file
.
setWaylineId
(
UUID
.
randomUUID
().
toString
());
file
.
setWaylineId
(
UUID
.
randomUUID
().
toString
());
file
.
setWorkspaceId
(
workspaceId
);
file
.
setWorkspaceId
(
workspaceId
);
file
.
setOrgId
(
getOrgId
());
if
(!
StringUtils
.
hasText
(
file
.
getSign
()))
{
if
(!
StringUtils
.
hasText
(
file
.
getSign
()))
{
try
(
InputStream
object
=
ossService
.
getObject
(
OssConfiguration
.
bucket
,
metadata
.
getObjectKey
()))
{
try
(
InputStream
object
=
ossService
.
getObject
(
OssConfiguration
.
bucket
,
metadata
.
getObjectKey
()))
{
...
@@ -301,6 +313,7 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
...
@@ -301,6 +313,7 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
dir
.
setIsDir
(
WaylineFileTypeEnum
.
DIRECTORY
.
getVal
());
dir
.
setIsDir
(
WaylineFileTypeEnum
.
DIRECTORY
.
getVal
());
dir
.
setWaylineId
(
UUID
.
randomUUID
().
toString
());
dir
.
setWaylineId
(
UUID
.
randomUUID
().
toString
());
dir
.
setWorkspaceId
(
workspaceId
);
dir
.
setWorkspaceId
(
workspaceId
);
dir
.
setOrgId
(
getOrgId
());
int
insertId
=
mapper
.
insert
(
dir
);
int
insertId
=
mapper
.
insert
(
dir
);
...
@@ -335,6 +348,12 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
...
@@ -335,6 +348,12 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
fileQueryWrapper
.
like
(
WaylineFileEntity:
:
getAncestors
,
rootId
);
fileQueryWrapper
.
like
(
WaylineFileEntity:
:
getAncestors
,
rootId
);
fileQueryWrapper
.
eq
(
WaylineFileEntity:
:
getIsDir
,
WaylineFileTypeEnum
.
DIRECTORY
.
getVal
());
fileQueryWrapper
.
eq
(
WaylineFileEntity:
:
getIsDir
,
WaylineFileTypeEnum
.
DIRECTORY
.
getVal
());
if
(
aboveSysAdminRole
())
{
}
else
{
// 只能 查看自己团队的 航线
fileQueryWrapper
.
eq
(
WaylineFileEntity:
:
getOrgId
,
getOrgId
());
}
List
<
WaylineFileEntity
>
waylineFiles
=
mapper
.
selectList
(
fileQueryWrapper
);
List
<
WaylineFileEntity
>
waylineFiles
=
mapper
.
selectList
(
fileQueryWrapper
);
return
getWaylineFileTree
(
waylineFiles
,
rootId
);
return
getWaylineFileTree
(
waylineFiles
,
rootId
);
...
@@ -480,6 +499,7 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
...
@@ -480,6 +499,7 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
.
name
(
file
.
getName
())
.
name
(
file
.
getName
())
.
username
(
file
.
getUsername
())
.
username
(
file
.
getUsername
())
.
objectKey
(
file
.
getObjectKey
())
.
objectKey
(
file
.
getObjectKey
())
.
orgId
(
file
.
getOrgId
())
// Separate multiple payload data with ",".
// Separate multiple payload data with ",".
.
payloadModelKeys
(
String
.
join
(
","
,
file
.
getPayloadModelKeys
()))
.
payloadModelKeys
(
String
.
join
(
","
,
file
.
getPayloadModelKeys
()))
.
templateTypes
(
file
.
getTemplateTypes
().
stream
()
.
templateTypes
(
file
.
getTemplateTypes
().
stream
()
...
@@ -509,6 +529,7 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
...
@@ -509,6 +529,7 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
.
name
(
file
.
getName
())
.
name
(
file
.
getName
())
.
username
(
file
.
getUsername
())
.
username
(
file
.
getUsername
())
.
objectKey
(
file
.
getObjectKey
())
.
objectKey
(
file
.
getObjectKey
())
.
orgId
(
file
.
getOrgId
())
// Separate multiple payload data with ",".
// Separate multiple payload data with ",".
// .payloadModelKeys(String.join(",", file.getPayloadModelKeys()))
// .payloadModelKeys(String.join(",", file.getPayloadModelKeys()))
// .templateTypes(file.getTemplateTypes().stream()
// .templateTypes(file.getTemplateTypes().stream()
...
@@ -649,6 +670,12 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
...
@@ -649,6 +670,12 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
public
PaginationData
<
GetWaylineListResponse
>
getWaylinesByParam
(
String
workspaceId
,
String
parentId
,
GetWaylineListRequest
param
)
{
public
PaginationData
<
GetWaylineListResponse
>
getWaylinesByParam
(
String
workspaceId
,
String
parentId
,
GetWaylineListRequest
param
)
{
// Paging Query
// Paging Query
LambdaQueryWrapper
<
WaylineFileEntity
>
waylineFileQueryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
WaylineFileEntity
>
waylineFileQueryWrapper
=
new
LambdaQueryWrapper
<>();
if
(
aboveSysAdminRole
())
{
}
else
{
waylineFileQueryWrapper
.
eq
(
WaylineFileEntity:
:
getOrgId
,
getOrgId
());
}
waylineFileQueryWrapper
.
eq
(
WaylineFileEntity:
:
getIsDir
,
WaylineFileTypeEnum
.
FILE
.
getVal
())
waylineFileQueryWrapper
.
eq
(
WaylineFileEntity:
:
getIsDir
,
WaylineFileTypeEnum
.
FILE
.
getVal
())
.
eq
(
WaylineFileEntity:
:
getWorkspaceId
,
workspaceId
)
.
eq
(
WaylineFileEntity:
:
getWorkspaceId
,
workspaceId
)
.
eq
(
Objects
.
nonNull
(
param
.
getFavorited
()),
WaylineFileEntity:
:
getFavorited
,
param
.
getFavorited
());
.
eq
(
Objects
.
nonNull
(
param
.
getFavorited
()),
WaylineFileEntity:
:
getFavorited
,
param
.
getFavorited
());
...
@@ -689,6 +716,13 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
...
@@ -689,6 +716,13 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
public
PaginationData
<
GetWaylineListResponse
>
getWaylinesByParam
(
WaylineSearchParam
param
,
String
workspaceId
,
GetWaylineListRequest
request
)
{
public
PaginationData
<
GetWaylineListResponse
>
getWaylinesByParam
(
WaylineSearchParam
param
,
String
workspaceId
,
GetWaylineListRequest
request
)
{
// Paging Query
// Paging Query
LambdaQueryWrapper
<
WaylineFileEntity
>
waylineFileQueryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
WaylineFileEntity
>
waylineFileQueryWrapper
=
new
LambdaQueryWrapper
<>();
if
(
aboveSysAdminRole
())
{
}
else
{
waylineFileQueryWrapper
.
eq
(
WaylineFileEntity:
:
getOrgId
,
getOrgId
());
}
waylineFileQueryWrapper
.
eq
(
WaylineFileEntity:
:
getIsDir
,
WaylineFileTypeEnum
.
FILE
.
getVal
());
waylineFileQueryWrapper
.
eq
(
WaylineFileEntity:
:
getIsDir
,
WaylineFileTypeEnum
.
FILE
.
getVal
());
waylineFileQueryWrapper
.
eq
(
WaylineFileEntity:
:
getWorkspaceId
,
workspaceId
);
waylineFileQueryWrapper
.
eq
(
WaylineFileEntity:
:
getWorkspaceId
,
workspaceId
);
...
...
sample/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java
View file @
76d8063c
...
@@ -57,6 +57,9 @@ import java.util.*;
...
@@ -57,6 +57,9 @@ import java.util.*;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
com
.
dji
.
sample
.
common
.
util
.
SecurityUtils
.
aboveSysAdminRole
;
import
static
com
.
dji
.
sample
.
common
.
util
.
SecurityUtils
.
getOrgId
;
/**
/**
* @author sean
* @author sean
* @version 1.1
* @version 1.1
...
@@ -113,6 +116,7 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
...
@@ -113,6 +116,7 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
.
fileId
(
param
.
getFileId
())
.
fileId
(
param
.
getFileId
())
.
username
(
username
)
.
username
(
username
)
.
workspaceId
(
workspaceId
)
.
workspaceId
(
workspaceId
)
.
orgId
(
StringUtils
.
hasText
(
param
.
getOrgId
())
?
param
.
getOrgId
()
:
getOrgId
())
.
jobId
(
jobId
)
.
jobId
(
jobId
)
.
beginTime
(
beginTime
)
.
beginTime
(
beginTime
)
.
endTime
(
endTime
)
.
endTime
(
endTime
)
...
@@ -204,6 +208,15 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
...
@@ -204,6 +208,15 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
public
PaginationData
<
WaylineJobDTO
>
getJobsByParam
(
WaylineJobSearchParam
param
,
String
workspaceId
,
long
page
,
long
pageSize
)
{
public
PaginationData
<
WaylineJobDTO
>
getJobsByParam
(
WaylineJobSearchParam
param
,
String
workspaceId
,
long
page
,
long
pageSize
)
{
LambdaQueryWrapper
<
WaylineJobEntity
>
waylineJobQueryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
WaylineJobEntity
>
waylineJobQueryWrapper
=
new
LambdaQueryWrapper
<>();
if
(
StringUtils
.
hasText
(
param
.
getOrgId
()))
{
waylineJobQueryWrapper
.
eq
(
WaylineJobEntity:
:
getOrgId
,
param
.
getOrgId
());
}
if
(
aboveSysAdminRole
())
{
}
else
{
waylineJobQueryWrapper
.
eq
(
WaylineJobEntity:
:
getOrgId
,
getOrgId
());
}
waylineJobQueryWrapper
.
eq
(
WaylineJobEntity:
:
getWorkspaceId
,
workspaceId
);
waylineJobQueryWrapper
.
eq
(
WaylineJobEntity:
:
getWorkspaceId
,
workspaceId
);
waylineJobQueryWrapper
.
orderByDesc
(
WaylineJobEntity:
:
getId
);
waylineJobQueryWrapper
.
orderByDesc
(
WaylineJobEntity:
:
getId
);
...
@@ -258,8 +271,13 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
...
@@ -258,8 +271,13 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
@Override
@Override
public
PaginationData
<
WaylineJobDTO
>
getTodayJobsByWorkspaceId
(
String
workspaceId
,
String
dockSns
,
long
page
,
long
pageSize
)
{
public
PaginationData
<
WaylineJobDTO
>
getTodayJobsByWorkspaceId
(
String
workspaceId
,
String
dockSns
,
long
page
,
long
pageSize
)
{
LambdaQueryWrapper
<
WaylineJobEntity
>
waylineJobQueryWrapper
=
new
LambdaQueryWrapper
<
WaylineJobEntity
>()
LambdaQueryWrapper
<
WaylineJobEntity
>
waylineJobQueryWrapper
=
new
LambdaQueryWrapper
<>();
.
eq
(
WaylineJobEntity:
:
getWorkspaceId
,
workspaceId
)
if
(
aboveSysAdminRole
())
{
}
else
{
waylineJobQueryWrapper
.
eq
(
WaylineJobEntity:
:
getOrgId
,
getOrgId
());
}
waylineJobQueryWrapper
.
eq
(
WaylineJobEntity:
:
getWorkspaceId
,
workspaceId
)
.
orderByDesc
(
WaylineJobEntity:
:
getId
);
.
orderByDesc
(
WaylineJobEntity:
:
getId
);
if
(
StringUtils
.
hasText
(
dockSns
))
{
if
(
StringUtils
.
hasText
(
dockSns
))
{
List
<
String
>
dockSnList
=
Arrays
.
asList
(
dockSns
.
split
(
","
));
List
<
String
>
dockSnList
=
Arrays
.
asList
(
dockSns
.
split
(
","
));
...
@@ -314,6 +332,7 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
...
@@ -314,6 +332,7 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
.
fileId
(
dto
.
getFileId
())
.
fileId
(
dto
.
getFileId
())
.
dockSn
(
dto
.
getDockSn
())
.
dockSn
(
dto
.
getDockSn
())
.
workspaceId
(
dto
.
getWorkspaceId
())
.
workspaceId
(
dto
.
getWorkspaceId
())
.
orgId
(
dto
.
getOrgId
())
.
taskType
(
Optional
.
ofNullable
(
dto
.
getTaskType
()).
map
(
TaskTypeEnum:
:
getType
).
orElse
(
null
))
.
taskType
(
Optional
.
ofNullable
(
dto
.
getTaskType
()).
map
(
TaskTypeEnum:
:
getType
).
orElse
(
null
))
.
taskScene
(
Optional
.
ofNullable
(
dto
.
getTaskScene
()).
map
(
TaskSceneEnum:
:
getScene
).
orElse
(
null
))
.
taskScene
(
Optional
.
ofNullable
(
dto
.
getTaskScene
()).
map
(
TaskSceneEnum:
:
getScene
).
orElse
(
null
))
.
waylineType
(
Optional
.
ofNullable
(
dto
.
getWaylineType
()).
map
(
WaylineTypeEnum:
:
getValue
).
orElse
(
null
))
.
waylineType
(
Optional
.
ofNullable
(
dto
.
getWaylineType
()).
map
(
WaylineTypeEnum:
:
getValue
).
orElse
(
null
))
...
@@ -366,6 +385,7 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
...
@@ -366,6 +385,7 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
.
orElse
(
DeviceDTO
.
builder
().
build
()).
getNickname
())
.
orElse
(
DeviceDTO
.
builder
().
build
()).
getNickname
())
.
username
(
entity
.
getUsername
())
.
username
(
entity
.
getUsername
())
.
workspaceId
(
entity
.
getWorkspaceId
())
.
workspaceId
(
entity
.
getWorkspaceId
())
.
orgId
(
entity
.
getOrgId
())
.
status
(
WaylineJobStatusEnum
.
IN_PROGRESS
.
getVal
()
==
entity
.
getStatus
()
&&
.
status
(
WaylineJobStatusEnum
.
IN_PROGRESS
.
getVal
()
==
entity
.
getStatus
()
&&
entity
.
getJobId
().
equals
(
waylineRedisService
.
getPausedWaylineJobId
(
entity
.
getDockSn
()))
?
entity
.
getJobId
().
equals
(
waylineRedisService
.
getPausedWaylineJobId
(
entity
.
getDockSn
()))
?
WaylineJobStatusEnum
.
PAUSED
.
getVal
()
:
entity
.
getStatus
())
WaylineJobStatusEnum
.
PAUSED
.
getVal
()
:
entity
.
getStatus
())
...
@@ -482,6 +502,11 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
...
@@ -482,6 +502,11 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
endSecond
=
endSecond
*
1000
;
endSecond
=
endSecond
*
1000
;
waylineJobQueryWrapper
.
between
(
WaylineJobEntity:
:
getBeginTime
,
startSecond
,
endSecond
);
waylineJobQueryWrapper
.
between
(
WaylineJobEntity:
:
getBeginTime
,
startSecond
,
endSecond
);
waylineJobQueryWrapper
.
eq
(
WaylineJobEntity:
:
getWorkspaceId
,
workspaceId
);
waylineJobQueryWrapper
.
eq
(
WaylineJobEntity:
:
getWorkspaceId
,
workspaceId
);
if
(
aboveSysAdminRole
())
{
}
else
{
waylineJobQueryWrapper
.
eq
(
WaylineJobEntity:
:
getOrgId
,
getOrgId
());
}
List
<
WaylineJobEntity
>
waylineJobList
=
this
.
mapper
.
selectList
(
waylineJobQueryWrapper
);
List
<
WaylineJobEntity
>
waylineJobList
=
this
.
mapper
.
selectList
(
waylineJobQueryWrapper
);
...
@@ -655,6 +680,13 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
...
@@ -655,6 +680,13 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
public
void
exportTaskList
(
HttpServletResponse
response
,
String
workspaceId
)
{
public
void
exportTaskList
(
HttpServletResponse
response
,
String
workspaceId
)
{
// 模拟数据(根据传入参数过滤)
// 模拟数据(根据传入参数过滤)
LambdaQueryWrapper
<
WaylineJobEntity
>
waylineJobQueryWrapper
=
new
LambdaQueryWrapper
<>();
waylineJobQueryWrapper
.
eq
(
WaylineJobEntity:
:
getWorkspaceId
,
workspaceId
);
if
(
aboveSysAdminRole
())
{
}
else
{
waylineJobQueryWrapper
.
eq
(
WaylineJobEntity:
:
getOrgId
,
getOrgId
());
}
List
<
WaylineJobEntity
>
list
=
this
.
list
();
List
<
WaylineJobEntity
>
list
=
this
.
list
();
// 创建 Excel
// 创建 Excel
...
...
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