Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
slm-bi
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
林锐标
slm-bi
Commits
ba944255
Commit
ba944255
authored
Apr 22, 2021
by
梁光意
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'remotes/origin/develop' into develop-fix
# Conflicts: # src/main/java/com/syc/slm/slmbi/controller/BaseRestController.java
parents
115abd61
19d0d1a9
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
127 additions
and
3 deletions
+127
-3
VariableController.java
...java/com/syc/slm/slmbi/controller/VariableController.java
+10
-0
VariableSendDTO.java
src/main/java/com/syc/slm/slmbi/dto/VariableSendDTO.java
+28
-0
VariableService.java
src/main/java/com/syc/slm/slmbi/service/VariableService.java
+9
-0
VariableServiceImpl.java
...a/com/syc/slm/slmbi/service/impl/VariableServiceImpl.java
+80
-3
No files found.
src/main/java/com/syc/slm/slmbi/controller/VariableController.java
View file @
ba944255
...
@@ -115,4 +115,14 @@ public class VariableController extends BaseRestController{
...
@@ -115,4 +115,14 @@ public class VariableController extends BaseRestController{
public
R
<
Map
<
String
,
List
<
Map
<
String
,
HistoryVariableVo
>>>>
getVariableHistoryDataList
(
@PathVariable
String
appId
,
VariableDataDTO
variableDTO
)
{
public
R
<
Map
<
String
,
List
<
Map
<
String
,
HistoryVariableVo
>>>>
getVariableHistoryDataList
(
@PathVariable
String
appId
,
VariableDataDTO
variableDTO
)
{
return
call
(()->(
variableService
.
getVariableHistoryDataList
(
variableDTO
)));
return
call
(()->(
variableService
.
getVariableHistoryDataList
(
variableDTO
)));
}
}
@PostMapping
(
"/send"
)
@ApiOperation
(
"下发"
)
@ApiImplicitParam
(
name
=
"appId"
,
value
=
"租户id"
,
required
=
true
,
dataTypeClass
=
String
.
class
)
public
R
<
Object
>
send
(
HttpServletRequest
request
,
@PathVariable
String
appId
,
@RequestBody
VariableSendDTO
sendDTO
)
{
return
call
(()
->
{
CurrentUser
currentUser
=
getCurrentUser
(
request
);
variableService
.
send
(
sendDTO
,
currentUser
,
dcClientHost
+
deptsRoles
);
});
}
}
}
src/main/java/com/syc/slm/slmbi/dto/VariableSendDTO.java
0 → 100644
View file @
ba944255
package
com
.
syc
.
slm
.
slmbi
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* slm-bi
*
* @author : lin
* @date : 2021-04-19 19:31
**/
@Data
@ApiModel
(
value
=
"下发DTO"
)
public
class
VariableSendDTO
{
@ApiModelProperty
(
value
=
"访问权限"
,
required
=
true
)
private
String
accessType
;
@ApiModelProperty
(
value
=
"权限控制"
,
required
=
true
)
private
List
<
CustomPermissionDTO
>
permissions
;
@ApiModelProperty
(
value
=
"变量id"
,
required
=
true
)
private
String
variableId
;
@ApiModelProperty
(
value
=
"设备id"
,
required
=
true
)
private
String
equipmentId
;
@ApiModelProperty
(
value
=
"权限为私有的时候需要把创建人传入"
,
required
=
true
)
private
String
userId
;
}
src/main/java/com/syc/slm/slmbi/service/VariableService.java
View file @
ba944255
...
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
...
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.syc.slm.slmbi.dto.QueryPageDTO
;
import
com.syc.slm.slmbi.dto.QueryPageDTO
;
import
com.syc.slm.slmbi.dto.VariableDataDTO
;
import
com.syc.slm.slmbi.dto.VariableDataDTO
;
import
com.syc.slm.slmbi.dto.VariableDTO
;
import
com.syc.slm.slmbi.dto.VariableDTO
;
import
com.syc.slm.slmbi.dto.VariableSendDTO
;
import
com.syc.slm.slmbi.entity.CurrentUser
;
import
com.syc.slm.slmbi.vo.*
;
import
com.syc.slm.slmbi.vo.*
;
import
java.util.List
;
import
java.util.List
;
...
@@ -53,4 +55,11 @@ public interface VariableService {
...
@@ -53,4 +55,11 @@ public interface VariableService {
* @return
* @return
*/
*/
Map
<
String
,
List
<
Map
<
String
,
HistoryVariableVo
>>>
getVariableHistoryDataList
(
VariableDataDTO
variableDTO
);
Map
<
String
,
List
<
Map
<
String
,
HistoryVariableVo
>>>
getVariableHistoryDataList
(
VariableDataDTO
variableDTO
);
/**
* 下发
* @param sendDTO
* @param currentUser
*/
void
send
(
VariableSendDTO
sendDTO
,
CurrentUser
currentUser
,
String
uri
);
}
}
src/main/java/com/syc/slm/slmbi/service/impl/VariableServiceImpl.java
View file @
ba944255
...
@@ -2,6 +2,7 @@ package com.syc.slm.slmbi.service.impl;
...
@@ -2,6 +2,7 @@ package com.syc.slm.slmbi.service.impl;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
...
@@ -9,16 +10,19 @@ import com.google.gson.reflect.TypeToken;
...
@@ -9,16 +10,19 @@ import com.google.gson.reflect.TypeToken;
import
com.syc.slm.common.core.constant.SlmConstants
;
import
com.syc.slm.common.core.constant.SlmConstants
;
import
com.syc.slm.common.core.util.R
;
import
com.syc.slm.common.core.util.R
;
import
com.syc.slm.common.core.util.RestTemplateUtils
;
import
com.syc.slm.common.core.util.RestTemplateUtils
;
import
com.syc.slm.slmbi.dto.QueryPageDTO
;
import
com.syc.slm.slmbi.dto.*
;
import
com.syc.slm.slmbi.dto.VariableDataDTO
;
import
com.syc.slm.slmbi.entity.CurrentUser
;
import
com.syc.slm.slmbi.dto.VariableDTO
;
import
com.syc.slm.slmbi.enums.AccessType
;
import
com.syc.slm.slmbi.exception.SysException
;
import
com.syc.slm.slmbi.service.VariableService
;
import
com.syc.slm.slmbi.service.VariableService
;
import
com.syc.slm.slmbi.vo.*
;
import
com.syc.slm.slmbi.vo.*
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
/**
* slm-bi
* slm-bi
...
@@ -120,4 +124,77 @@ public class VariableServiceImpl implements VariableService {
...
@@ -120,4 +124,77 @@ public class VariableServiceImpl implements VariableService {
public
Map
<
String
,
List
<
Map
<
String
,
HistoryVariableVo
>>>
getVariableHistoryDataList
(
VariableDataDTO
variableDTO
)
{
public
Map
<
String
,
List
<
Map
<
String
,
HistoryVariableVo
>>>
getVariableHistoryDataList
(
VariableDataDTO
variableDTO
)
{
return
null
;
return
null
;
}
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
send
(
VariableSendDTO
sendDTO
,
CurrentUser
currentUser
,
String
uri
)
{
if
(
StringUtils
.
isBlank
(
sendDTO
.
getAccessType
()))
{
throw
new
SysException
(
"请传入访问类型"
);
}
if
(
StringUtils
.
isBlank
(
sendDTO
.
getEquipmentId
()))
{
throw
new
SysException
(
"请传入设备id"
);
}
if
(
StringUtils
.
isBlank
(
sendDTO
.
getVariableId
()))
{
throw
new
SysException
(
"请传入变量id"
);
}
if
(
AccessType
.
PRIVATE
.
value
.
equals
(
sendDTO
.
getAccessType
())){
if
(
StringUtils
.
isBlank
(
sendDTO
.
getUserId
()))
{
throw
new
SysException
(
"访问类型为私有,请传入创建人"
);
}
if
(
currentUser
.
getUid
().
equals
(
sendDTO
.
getUserId
())){
throw
new
SysException
(
"没有访问权限"
);
}
}
else
if
(
AccessType
.
CUSTOM
.
value
.
equals
(
sendDTO
.
getAccessType
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
sendDTO
.
getPermissions
())){
Map
<
String
,
List
<
CustomPermissionDTO
>>
maps
=
sendDTO
.
getPermissions
().
stream
().
collect
(
Collectors
.
groupingBy
(
CustomPermissionDTO:
:
getType
));
List
<
CustomPermissionDTO
>
departments
=
maps
.
get
(
"department"
);
List
<
CustomPermissionDTO
>
positions
=
maps
.
get
(
"position"
);
List
<
CustomPermissionDTO
>
users
=
maps
.
get
(
"user"
);
boolean
flag
=
true
;
if
(
CollectionUtils
.
isNotEmpty
(
users
)){
if
(
users
.
stream
().
noneMatch
(
x
->
currentUser
.
getUid
().
equals
(
x
.
getBizId
()))){
flag
=
false
;
}
}
if
(
CollectionUtils
.
isNotEmpty
(
departments
)
||
CollectionUtils
.
isNotEmpty
(
positions
))
{
R
<
Map
<
String
,
String
>>
result
=
setDeptAndRole
(
currentUser
,
uri
);
Map
<
String
,
String
>
detach
=
result
.
detach
();
String
officeIds
=
detach
.
get
(
"deptIds"
);
String
roleIds
=
detach
.
get
(
"roleIds"
);
if
(
flag
)
{
if
(
CollectionUtils
.
isNotEmpty
(
departments
))
{
if
(
departments
.
stream
()
.
map
(
CustomPermissionDTO:
:
getBizId
)
.
anyMatch
(
officeIds:
:
contains
))
{
flag
=
false
;
}
}
}
if
(
flag
)
{
if
(
CollectionUtils
.
isNotEmpty
(
positions
))
{
if
(
positions
.
stream
().
map
(
CustomPermissionDTO:
:
getBizId
).
anyMatch
(
roleIds:
:
contains
))
{
flag
=
false
;
}
}
}
if
(
flag
){
throw
new
SysException
(
"没有访问权限"
);
}
}
}
//# todo 准备下发接口
}
}
private
R
<
Map
<
String
,
String
>>
setDeptAndRole
(
CurrentUser
user
,
String
uri
){
Map
<
String
,
String
>
heads
=
Maps
.
newHashMap
();
heads
.
put
(
"X-Token"
,
user
.
getToken
());
Map
<
String
,
String
>
uriVariables
=
Maps
.
newHashMap
();
uriVariables
.
put
(
"appId"
,
user
.
getAppId
());
return
RestTemplateUtils
.
get
(
uri
,
heads
,
new
TypeToken
<
R
<
Map
<
String
,
String
>>>()
{}.
getType
(),
uriVariables
);
}
}
}
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