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
95fd45c3
Commit
95fd45c3
authored
Apr 08, 2021
by
linruibiao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
接口编写
parent
eac187bf
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
279 additions
and
55 deletions
+279
-55
InstrumentPanelConfigController.java
...slm/slmbi/controller/InstrumentPanelConfigController.java
+2
-2
InstrumentPanelConfigDTO.java
.../java/com/syc/slm/slmbi/dto/InstrumentPanelConfigDTO.java
+6
-2
InstrumentPanelPermissionDTO.java
...a/com/syc/slm/slmbi/dto/InstrumentPanelPermissionDTO.java
+6
-0
InstrumentPanelTree.java
...in/java/com/syc/slm/slmbi/entity/InstrumentPanelTree.java
+3
-1
InstrumentPanelConfigService.java
...m/syc/slm/slmbi/service/InstrumentPanelConfigService.java
+20
-3
InstrumentPanelDraftService.java
...om/syc/slm/slmbi/service/InstrumentPanelDraftService.java
+8
-0
InstrumentPanelPermissionService.java
...c/slm/slmbi/service/InstrumentPanelPermissionService.java
+18
-2
InstrumentPanelService.java
...ava/com/syc/slm/slmbi/service/InstrumentPanelService.java
+9
-0
InstrumentPanelTreeService.java
...com/syc/slm/slmbi/service/InstrumentPanelTreeService.java
+30
-1
InstrumentPanelConfigServiceImpl.java
.../slmbi/service/impl/InstrumentPanelConfigServiceImpl.java
+0
-0
InstrumentPanelDraftServiceImpl.java
...m/slmbi/service/impl/InstrumentPanelDraftServiceImpl.java
+29
-0
InstrumentPanelPermissionImpl.java
...slm/slmbi/service/impl/InstrumentPanelPermissionImpl.java
+56
-3
InstrumentPanelServiceImpl.java
...yc/slm/slmbi/service/impl/InstrumentPanelServiceImpl.java
+47
-40
InstrumentPanelTreeServiceImpl.java
...lm/slmbi/service/impl/InstrumentPanelTreeServiceImpl.java
+42
-0
InstrumentPanelConfigVo.java
...in/java/com/syc/slm/slmbi/vo/InstrumentPanelConfigVo.java
+3
-1
No files found.
src/main/java/com/syc/slm/slmbi/controller/InstrumentPanelConfigController.java
View file @
95fd45c3
...
...
@@ -31,14 +31,14 @@ public class InstrumentPanelConfigController {
@ApiOperation
(
"保存仪表板样式以及数据配置"
)
@ApiImplicitParam
(
name
=
"appId"
,
value
=
"租户id"
,
required
=
true
,
dataTypeClass
=
String
.
class
)
public
R
<
String
>
saveInstrumentPanelConfig
(
@PathVariable
String
appId
,
InstrumentPanelConfigDTO
config
)
{
return
R
.
ok
(
instrumentPanelConfigService
.
saveConfig
(
config
));
return
R
.
ok
(
instrumentPanelConfigService
.
saveConfig
(
appId
,
config
));
}
@PostMapping
(
"/publish"
)
@ApiOperation
(
"保存发布仪表板样式以及数据配置"
)
@ApiImplicitParam
(
name
=
"appId"
,
value
=
"租户id"
,
required
=
true
,
dataTypeClass
=
String
.
class
)
public
R
<
String
>
publish
(
@PathVariable
String
appId
,
@RequestBody
InstrumentPanelConfigDTO
config
)
{
return
R
.
ok
(
instrumentPanelConfigService
.
publish
(
config
));
return
R
.
ok
(
instrumentPanelConfigService
.
publish
(
appId
,
config
));
}
@GetMapping
(
"/{panelId}"
)
...
...
src/main/java/com/syc/slm/slmbi/dto/InstrumentPanelConfigDTO.java
View file @
95fd45c3
...
...
@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.List
;
/**
* slm-bi
* 仪表板样式,数据配置显示类
...
...
@@ -19,12 +21,14 @@ public class InstrumentPanelConfigDTO {
@ApiModelProperty
(
value
=
"仪表板id"
,
required
=
true
)
private
String
panelId
;
@ApiModelProperty
(
value
=
"仪表板名称"
,
required
=
true
)
private
String
panelName
;
@ApiModelProperty
(
value
=
"仪表板配置详情,包含了样式,数据配置"
,
required
=
true
)
private
String
configDetails
;
@ApiModelProperty
(
value
=
"仪表板配置组件集合"
,
required
=
true
)
private
List
<
InstrumentPanelAssemblyDTO
>
assemblys
;
@ApiModelProperty
(
value
=
"访问权限"
,
required
=
true
)
private
InstrumentPanelPermissionDTO
permission
;
...
...
src/main/java/com/syc/slm/slmbi/dto/InstrumentPanelPermissionDTO.java
View file @
95fd45c3
...
...
@@ -22,6 +22,12 @@ public class InstrumentPanelPermissionDTO {
@ApiModelProperty
(
value
=
"主键id"
)
private
String
id
;
@ApiModelProperty
(
value
=
"仪表板名称"
,
required
=
true
)
private
String
panelName
;
@ApiModelProperty
(
value
=
"仪表板分组id"
,
required
=
true
)
private
String
groupId
;
@ApiModelProperty
(
value
=
"访问权限类型"
,
required
=
true
)
private
String
accessType
;
...
...
src/main/java/com/syc/slm/slmbi/entity/InstrumentPanelTree.java
View file @
95fd45c3
...
...
@@ -19,7 +19,6 @@ import lombok.EqualsAndHashCode;
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"仪表板树聚合表"
)
public
class
InstrumentPanelTree
extends
BaseEntity
<
InstrumentPanelTree
>
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 节点全路径id
*/
...
...
@@ -38,5 +37,8 @@ public class InstrumentPanelTree extends BaseEntity<InstrumentPanelTree> {
@ApiModelProperty
(
value
=
"组件key"
)
private
String
assemblyKey
;
/* @ApiModelProperty(value = "业务id")
private String bizId;*/
}
src/main/java/com/syc/slm/slmbi/service/InstrumentPanelConfigService.java
View file @
95fd45c3
...
...
@@ -6,6 +6,7 @@ import com.syc.slm.slmbi.entity.InstrumentPanelConfig;
import
com.syc.slm.slmbi.vo.InstrumentPanelConfigVo
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
/**
* slm-bi
...
...
@@ -35,17 +36,33 @@ public interface InstrumentPanelConfigService extends IService<InstrumentPanelCo
* @param config
* @return
*/
String
publish
(
InstrumentPanelConfigDTO
config
);
String
publish
(
String
appId
,
InstrumentPanelConfigDTO
config
);
/**
* 保存仪表板配置
* @param appId
* @param config
* @return
*/
String
saveConfig
(
InstrumentPanelConfigDTO
config
);
String
saveConfig
(
String
appId
,
InstrumentPanelConfigDTO
config
);
/**
* 根据仪表板id删除仪表板配置
* @param panelId
*/
void
delConfig
(
@NotNull
String
panelId
);
void
delConfig
(
@NotNull
String
panelId
,
Integer
publishedStatus
);
/**
* 根据仪表板详情保存仪表盘配置
* @param panelId
* @param configDetails
* @param publishStatus
*/
void
savePanelConfig
(
String
panelId
,
String
configDetails
,
Integer
publishStatus
);
/**
* 发布仪表板把对应配置状态修改为发布
* @param ids
*/
void
publishConfigByPanelIds
(
List
<
String
>
ids
);
}
src/main/java/com/syc/slm/slmbi/service/InstrumentPanelDraftService.java
View file @
95fd45c3
package
com
.
syc
.
slm
.
slmbi
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.syc.slm.slmbi.entity.InstrumentPanel
;
import
com.syc.slm.slmbi.entity.InstrumentPanelDraft
;
import
java.util.List
;
/**
* 仪表板草稿
*
...
...
@@ -11,4 +14,9 @@ import com.syc.slm.slmbi.entity.InstrumentPanelDraft;
*/
public
interface
InstrumentPanelDraftService
extends
IService
<
InstrumentPanelDraft
>
{
/**
* 发布仪表板生成仪表板草稿
* @param panels
*/
void
saveDrafts
(
List
<
InstrumentPanel
>
panels
);
}
src/main/java/com/syc/slm/slmbi/service/InstrumentPanelPermissionService.java
View file @
95fd45c3
package
com
.
syc
.
slm
.
slmbi
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.syc.slm.slmbi.dto.CustomPermissionDTO
;
import
com.syc.slm.slmbi.dto.InstrumentPanelPermissionDTO
;
import
com.syc.slm.slmbi.entity.InstrumentPanelPermission
;
import
com.syc.slm.slmbi.vo.CustomPermissionVo
;
...
...
@@ -53,12 +54,27 @@ public interface InstrumentPanelPermissionService extends IService<InstrumentPan
* 根据仪表板id删除仪表板权限
* @param panelId
*/
void
delPermissionByPanelId
(
@NonNull
String
panelId
);
void
delPermissionByPanelId
(
@NonNull
String
panelId
,
Integer
publishStatus
);
/**
* 根据仪表板id获取已经发布的配置
* @param panelId
* @return
*/
List
<
CustomPermissionVo
>
getPublishPermissionByPanelId
(
@NonNull
String
panelId
);
List
<
CustomPermissionVo
>
getPublishPermissionByPanelId
(
@NonNull
String
panelId
,
@NonNull
Integer
publishStatus
);
/**
* 根据仪表板详情保存仪表板配置
* @param customPermissions
* @param panelId
* @param accessType
* @param publishStatus
*/
void
savePanelPermission
(
List
<
CustomPermissionDTO
>
customPermissions
,
String
panelId
,
String
accessType
,
Integer
publishStatus
);
/**
* 批量发布把对应配置状态更改为发布状态
* @param ids
*/
void
publishPermissionByPanelIds
(
List
<
String
>
ids
);
}
src/main/java/com/syc/slm/slmbi/service/InstrumentPanelService.java
View file @
95fd45c3
...
...
@@ -7,6 +7,7 @@ import com.syc.slm.slmbi.dto.QueryInstrumentPanelDTO;
import
com.syc.slm.slmbi.entity.InstrumentPanel
;
import
com.syc.slm.slmbi.vo.InstrumentPanelConfigVo
;
import
com.syc.slm.slmbi.vo.InstrumentPanelVo
;
import
lombok.NonNull
;
import
java.util.List
;
import
java.util.Set
;
...
...
@@ -89,4 +90,12 @@ public interface InstrumentPanelService extends IService<InstrumentPanel> {
* @param recordStatus
*/
void
batchUpdatePanelByIds
(
Set
<
String
>
panelIds
,
Integer
recordStatus
);
/**
* 检验仪表板是否重复
* @param appId
* @param panelId
* @param panelName
*/
void
checkName
(
@NonNull
String
appId
,
String
panelId
,
@NonNull
String
panelName
);
}
src/main/java/com/syc/slm/slmbi/service/InstrumentPanelTreeService.java
View file @
95fd45c3
package
com
.
syc
.
slm
.
slmbi
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.syc.slm.slmbi.dto.InstrumentPanelAssemblyDTO
;
import
com.syc.slm.slmbi.entity.InstrumentPanel
;
import
com.syc.slm.slmbi.entity.InstrumentPanelTree
;
import
lombok.NonNull
;
import
java.util.List
;
import
java.util.Set
;
/**
...
...
@@ -17,16 +21,41 @@ public interface InstrumentPanelTreeService extends IService<InstrumentPanelTree
/**
* 初始化仪表板树
*
* @param nodeId
* @param nodeType
* @param bizId
* @param bizName
*/
void
initTree
(
String
nodeId
,
String
nodeType
,
String
bizId
,
String
bizName
);
void
initTree
(
String
nodeId
,
String
nodeType
,
String
bizId
,
String
bizName
);
/**
* 根据仪表板id删除仪表板树
*
* @param panelId
*/
void
delTreeByPanelId
(
String
panelId
);
/**
* 根据仪表板详情保存仪表板组件树
*
* @param tree
* @param assembly
* @param panelId
*/
void
savePanelAssemblyTree
(
InstrumentPanelTree
tree
,
List
<
InstrumentPanelAssemblyDTO
>
assembly
,
String
panelId
);
/**
* 根据fullId 删除仪表板树
* @param fullId
*/
void
delTreeByPanelFullId
(
String
fullId
);
/**
* 更新仪表板树
* @param panelId
* @param panelName
* @param groupId
*/
void
updatePanelTreeFullName
(
String
panelId
,
String
panelName
,
String
groupId
)
;
}
src/main/java/com/syc/slm/slmbi/service/impl/InstrumentPanelConfigServiceImpl.java
View file @
95fd45c3
This diff is collapsed.
Click to expand it.
src/main/java/com/syc/slm/slmbi/service/impl/InstrumentPanelDraftServiceImpl.java
View file @
95fd45c3
package
com
.
syc
.
slm
.
slmbi
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.google.common.collect.Sets
;
import
com.google.gson.reflect.TypeToken
;
import
com.syc.slm.common.core.constant.SlmConstants
;
import
com.syc.slm.slmbi.dao.InstrumentPanelDraftMapper
;
import
com.syc.slm.slmbi.entity.BaseEntity
;
import
com.syc.slm.slmbi.entity.InstrumentPanel
;
import
com.syc.slm.slmbi.entity.InstrumentPanelDraft
;
import
com.syc.slm.slmbi.service.InstrumentPanelDraftService
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* 仪表板草稿
*
...
...
@@ -16,4 +26,23 @@ import org.springframework.stereotype.Service;
public
class
InstrumentPanelDraftServiceImpl
extends
ServiceImpl
<
InstrumentPanelDraftMapper
,
InstrumentPanelDraft
>
implements
InstrumentPanelDraftService
{
@Override
public
void
saveDrafts
(
List
<
InstrumentPanel
>
panels
)
{
if
(
CollectionUtils
.
isNotEmpty
(
panels
)){
List
<
InstrumentPanelDraft
>
drafts
=
SlmConstants
.
gson
.
fromJson
(
SlmConstants
.
gson
.
toJson
(
panels
),
new
TypeToken
<
List
<
InstrumentPanelDraft
>>()
{
}.
getType
());
List
<
InstrumentPanelDraft
>
panelDrafts
=
baseMapper
.
selectBatchIds
(
panels
.
stream
()
.
map
(
InstrumentPanel:
:
getId
)
.
collect
(
Collectors
.
toList
()));
Set
<
String
>
idSets
=
CollectionUtils
.
isNotEmpty
(
panelDrafts
)?
panelDrafts
.
stream
().
map
(
BaseEntity:
:
getId
).
collect
(
Collectors
.
toSet
()):
Sets
.
newHashSet
();
drafts
.
forEach
(
x
->{
if
(
idSets
.
contains
(
x
.
getId
())){
baseMapper
.
updateById
(
x
);
}
else
{
baseMapper
.
insert
(
x
);
}
});
}
}
}
src/main/java/com/syc/slm/slmbi/service/impl/InstrumentPanelPermissionImpl.java
View file @
95fd45c3
...
...
@@ -2,12 +2,15 @@ package com.syc.slm.slmbi.service.impl;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.core.toolkit.IdWorker
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.google.gson.reflect.TypeToken
;
import
com.syc.slm.common.core.constant.SlmConstants
;
import
com.syc.slm.slmbi.dao.InstrumentPanelPermissionMapper
;
import
com.syc.slm.slmbi.dto.CustomPermissionDTO
;
import
com.syc.slm.slmbi.dto.InstrumentPanelPermissionDTO
;
import
com.syc.slm.slmbi.entity.InstrumentPanelPermission
;
import
com.syc.slm.slmbi.enums.AccessType
;
import
com.syc.slm.slmbi.enums.PublishedStatus
;
import
com.syc.slm.slmbi.service.InstrumentPanelPermissionService
;
import
com.syc.slm.slmbi.vo.CustomPermissionVo
;
...
...
@@ -17,6 +20,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* slm-bi
...
...
@@ -54,10 +58,13 @@ public class InstrumentPanelPermissionImpl
}
@Override
public
void
delPermissionByPanelId
(
@NonNull
String
panelId
)
{
public
void
delPermissionByPanelId
(
@NonNull
String
panelId
,
Integer
publishStatus
)
{
LambdaQueryWrapper
<
InstrumentPanelPermission
>
where
=
new
LambdaQueryWrapper
<>();
where
.
eq
(
InstrumentPanelPermission:
:
getPanelId
,
panelId
);
where
.
eq
(
InstrumentPanelPermission:
:
getRecordStatus
,
SlmConstants
.
DATA_VALID
);
if
(
publishStatus
!=
null
){
where
.
eq
(
InstrumentPanelPermission:
:
getPublished
,
publishStatus
);
}
List
<
InstrumentPanelPermission
>
permissions
=
baseMapper
.
selectList
(
where
);
if
(
CollectionUtils
.
isNotEmpty
(
permissions
))
{
permissions
.
forEach
(
x
->
{
...
...
@@ -69,15 +76,61 @@ public class InstrumentPanelPermissionImpl
@Override
@Transactional
(
readOnly
=
true
)
public
List
<
CustomPermissionVo
>
getPublishPermissionByPanelId
(
@NonNull
String
panelId
)
{
public
List
<
CustomPermissionVo
>
getPublishPermissionByPanelId
(
@NonNull
String
panelId
,
@NonNull
Integer
publishStatus
)
{
LambdaQueryWrapper
<
InstrumentPanelPermission
>
where
=
new
LambdaQueryWrapper
<>();
where
.
eq
(
InstrumentPanelPermission:
:
getPanelId
,
panelId
);
where
.
eq
(
InstrumentPanelPermission:
:
getRecordStatus
,
SlmConstants
.
DATA_VALID
);
where
.
eq
(
InstrumentPanelPermission:
:
getPublished
,
PublishedStatus
.
PUBLISHED
);
where
.
eq
(
InstrumentPanelPermission:
:
getPublished
,
publishStatus
);
List
<
InstrumentPanelPermission
>
permissions
=
baseMapper
.
selectList
(
where
);
return
CollectionUtils
.
isNotEmpty
(
permissions
)
?
SlmConstants
.
gson
.
fromJson
(
SlmConstants
.
gson
.
toJson
(
permissions
),
new
TypeToken
<
List
<
CustomPermissionVo
>>()
{
}.
getType
())
:
null
;
}
@Override
public
void
savePanelPermission
(
List
<
CustomPermissionDTO
>
customPermissions
,
String
panelId
,
String
accessType
,
Integer
publishStatus
)
{
if
(
CollectionUtils
.
isNotEmpty
(
customPermissions
)){
if
(
AccessType
.
CUSTOM
.
value
.
equals
(
accessType
))
{
if
(
CollectionUtils
.
isNotEmpty
(
customPermissions
))
{
customPermissions
.
forEach
(
x
->
{
InstrumentPanelPermission
p
=
new
InstrumentPanelPermission
();
p
.
setId
(
IdWorker
.
get32UUID
());
p
.
setBizId
(
x
.
getBizId
());
p
.
setBizName
(
x
.
getBizName
());
p
.
setBizType
(
x
.
getType
());
p
.
setPanelId
(
panelId
);
p
.
setPublished
(
publishStatus
);
baseMapper
.
insert
(
p
);
});
}
}
}
}
@Override
public
void
publishPermissionByPanelIds
(
List
<
String
>
ids
)
{
LambdaQueryWrapper
<
InstrumentPanelPermission
>
where
=
new
LambdaQueryWrapper
<>();
where
.
in
(
InstrumentPanelPermission:
:
getPanelId
,
ids
);
where
.
eq
(
InstrumentPanelPermission:
:
getRecordStatus
,
SlmConstants
.
DATA_VALID
);
List
<
InstrumentPanelPermission
>
permissions
=
baseMapper
.
selectList
(
where
);
if
(
CollectionUtils
.
isNotEmpty
(
permissions
)){
List
<
InstrumentPanelPermission
>
waitPublishPermission
=
permissions
.
stream
().
filter
(
x
->
PublishedStatus
.
WAIT_PUBLISHED
.
value
.
equals
(
x
.
getPublished
())).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isNotEmpty
(
waitPublishPermission
)){
waitPublishPermission
.
forEach
(
x
->{
x
.
setPublished
(
PublishedStatus
.
PUBLISHED
.
value
);
baseMapper
.
updateById
(
x
);
});
}
List
<
InstrumentPanelPermission
>
publishPermission
=
permissions
.
stream
().
filter
(
x
->
PublishedStatus
.
PUBLISHED
.
value
.
equals
(
x
.
getPublished
())).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isNotEmpty
(
publishPermission
)){
publishPermission
.
forEach
(
x
->{
x
.
setRecordStatus
(
SlmConstants
.
DATA_DELETED
);
baseMapper
.
updateById
(
x
);
});
}
}
}
}
src/main/java/com/syc/slm/slmbi/service/impl/InstrumentPanelServiceImpl.java
View file @
95fd45c3
...
...
@@ -13,8 +13,7 @@ import com.syc.slm.slmbi.dao.InstrumentPanelMapper;
import
com.syc.slm.slmbi.dto.QueryInstrumentPanelDTO
;
import
com.syc.slm.slmbi.dto.SaveInstrumentPanelDTO
;
import
com.syc.slm.slmbi.entity.InstrumentPanel
;
import
com.syc.slm.slmbi.entity.InstrumentPanelConfig
;
import
com.syc.slm.slmbi.entity.InstrumentPanelPermission
;
import
com.syc.slm.slmbi.entity.InstrumentPanelDraft
;
import
com.syc.slm.slmbi.entity.InstrumentPanelTree
;
import
com.syc.slm.slmbi.enums.AccessType
;
import
com.syc.slm.slmbi.enums.NodeType
;
...
...
@@ -23,6 +22,7 @@ import com.syc.slm.slmbi.exception.SysException;
import
com.syc.slm.slmbi.service.*
;
import
com.syc.slm.slmbi.vo.InstrumentPanelConfigVo
;
import
com.syc.slm.slmbi.vo.InstrumentPanelVo
;
import
lombok.NonNull
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -103,7 +103,14 @@ public class InstrumentPanelServiceImpl extends ServiceImpl<InstrumentPanelMappe
x
.
setPublished
(
PublishedStatus
.
PUBLISHED
.
value
);
baseMapper
.
updateById
(
x
);
});
log
.
info
(
"修改配置状态为发布状态"
);
configService
.
publishConfigByPanelIds
(
ids
);
log
.
info
(
"修改权限状态为发布状态"
);
permissionService
.
publishPermissionByPanelIds
(
ids
);
log
.
info
(
"复制一份草稿"
);
draftService
.
saveDrafts
(
panels
);
}
}
@Override
...
...
@@ -121,6 +128,11 @@ public class InstrumentPanelServiceImpl extends ServiceImpl<InstrumentPanelMappe
log
.
info
(
"删除该仪表板下的配置"
);
delAllSetting
(
id
);
log
.
info
(
"删除仪表板草稿表"
);
InstrumentPanelDraft
draft
=
new
InstrumentPanelDraft
();
draft
.
setRecordStatus
(
SlmConstants
.
DATA_DELETED
);
draft
.
setId
(
id
);
draftService
.
updateById
(
draft
);
return
id
;
}
...
...
@@ -134,10 +146,11 @@ public class InstrumentPanelServiceImpl extends ServiceImpl<InstrumentPanelMappe
@Override
@Transactional
(
readOnly
=
true
)
public
Boolean
showRecoveryBtn
(
String
id
)
{
return
draftService
.
getById
(
id
)
!=
null
;
return
draftService
.
getById
(
id
)
!=
null
;
}
@Override
@Transactional
(
readOnly
=
true
)
public
InstrumentPanelConfigVo
recoveryPanel
(
String
id
)
{
return
configService
.
getPublishConfigByPanelId
(
id
);
}
...
...
@@ -156,7 +169,13 @@ public class InstrumentPanelServiceImpl extends ServiceImpl<InstrumentPanelMappe
throw
new
SysException
(
"该数据已被删除,请刷新页面"
);
}
panel
.
setPublished
(
PublishedStatus
.
OFFLINE
.
value
);
// panel.setRecordStatus(SlmConstants.DATA_DELETED);
baseMapper
.
updateById
(
panel
);
// log.info("删除配置");
// log.info("删除权限");
// log.info("删除草稿");
// log.info("删除仪表板树");
// delAllSetting(id);
return
id
;
}
...
...
@@ -167,6 +186,20 @@ public class InstrumentPanelServiceImpl extends ServiceImpl<InstrumentPanelMappe
}
}
@Override
public
void
checkName
(
@NonNull
String
appId
,
String
panelId
,
@NonNull
String
panelName
)
{
LambdaQueryWrapper
<
InstrumentPanel
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
InstrumentPanel:
:
getName
,
panelName
);
wrapper
.
eq
(
InstrumentPanel:
:
getAppId
,
appId
);
wrapper
.
eq
(
InstrumentPanel:
:
getRecordStatus
,
SlmConstants
.
DATA_VALID
);
if
(
StringUtils
.
isNotEmpty
(
panelId
))
{
wrapper
.
eq
(
InstrumentPanel:
:
getId
,
panelId
);
}
if
(
baseMapper
.
selectCount
(
wrapper
)
>
0
)
{
throw
new
SysException
(
"仪表板名字:"
+
panelName
+
"已存在!"
);
}
}
private
String
savePanelData
(
String
appId
,
SaveInstrumentPanelDTO
panel
)
{
if
(
StringUtils
.
isEmpty
(
panel
.
getName
()))
{
throw
new
SysException
(
"仪表板名字必填"
);
...
...
@@ -175,12 +208,7 @@ public class InstrumentPanelServiceImpl extends ServiceImpl<InstrumentPanelMappe
throw
new
SysException
(
"仪表板分组必填"
);
}
log
.
info
(
"检查仪表板名称是否重复"
);
LambdaQueryWrapper
<
InstrumentPanel
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
InstrumentPanel:
:
getName
,
panel
.
getName
());
wrapper
.
eq
(
InstrumentPanel:
:
getAppId
,
appId
);
if
(
baseMapper
.
selectCount
(
wrapper
)
>
0
)
{
throw
new
SysException
(
"仪表板名字:"
+
panel
.
getName
()
+
"已存在!"
);
}
this
.
checkName
(
appId
,
null
,
panel
.
getName
());
log
.
info
(
"保存仪表板访问权限"
);
String
panelId
=
IdWorker
.
get32UUID
();
...
...
@@ -188,19 +216,11 @@ public class InstrumentPanelServiceImpl extends ServiceImpl<InstrumentPanelMappe
if
(
ObjectUtils
.
isNotEmpty
(
panel
.
getPermission
())
&&
StringUtils
.
isNotEmpty
(
panel
.
getPermission
()
.
getAccessType
()))
{
accessType
=
panel
.
getPermission
().
getAccessType
();
if
(
AccessType
.
CUSTOM
.
value
.
equals
(
panel
.
getPermission
().
getAccessType
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
panel
.
getPermission
().
getCustomPermissions
()))
{
panel
.
getPermission
().
getCustomPermissions
().
forEach
(
x
->
{
InstrumentPanelPermission
permission
=
new
InstrumentPanelPermission
();
permission
.
setId
(
IdWorker
.
get32UUID
());
permission
.
setBizId
(
x
.
getBizId
());
permission
.
setBizName
(
x
.
getBizName
());
permission
.
setBizType
(
x
.
getType
());
permission
.
setPanelId
(
panelId
);
permission
.
setPublished
(
1
);
});
}
}
permissionService
.
savePanelPermission
(
panel
.
getPermission
().
getCustomPermissions
(),
panelId
,
panel
.
getPermission
().
getAccessType
(),
PublishedStatus
.
WAIT_PUBLISHED
.
value
);
}
InstrumentPanel
instrumentPanel
=
new
InstrumentPanel
(
panelId
,
...
...
@@ -211,12 +231,7 @@ public class InstrumentPanelServiceImpl extends ServiceImpl<InstrumentPanelMappe
log
.
info
(
"保存仪表板配置"
);
if
(
StringUtils
.
isNotEmpty
(
panel
.
getConfigDetails
()))
{
InstrumentPanelConfig
config
=
new
InstrumentPanelConfig
();
config
.
setId
(
IdWorker
.
get32UUID
());
config
.
setConfigDetails
(
panel
.
getConfigDetails
());
config
.
setPanelId
(
panelId
);
config
.
setPublished
(
1
);
configService
.
save
(
config
);
configService
.
savePanelConfig
(
panelId
,
panel
.
getConfigDetails
(),
PublishedStatus
.
WAIT_PUBLISHED
.
value
);
}
log
.
info
(
"初始化仪表板树"
);
...
...
@@ -225,18 +240,10 @@ public class InstrumentPanelServiceImpl extends ServiceImpl<InstrumentPanelMappe
instrumentPanel
.
getId
(),
instrumentPanel
.
getName
());
log
.
info
(
"保存仪表板组件树"
);
if
(
CollectionUtils
.
isNotEmpty
(
panel
.
getAssemblys
()))
{
InstrumentPanelTree
tree
=
treeService
.
getById
(
instrumentPanel
.
getId
());
for
(
int
i
=
0
;
i
<
panel
.
getAssemblys
().
size
();
i
++)
{
InstrumentPanelTree
t
=
new
InstrumentPanelTree
();
t
.
setId
(
tree
.
getId
()
+
"_"
+
i
);
t
.
setNodeType
(
NodeType
.
ASSEMBLY
.
value
);
t
.
setFullId
(
tree
.
getFullId
()
+
"."
+
t
.
getId
());
t
.
setFullName
(
tree
.
getFullName
()
+
"."
+
panel
.
getAssemblys
().
get
(
i
).
getName
());
t
.
setAssemblyKey
(
panel
.
getAssemblys
().
get
(
i
).
getKey
());
treeService
.
save
(
t
);
}
log
.
info
(
"保存仪表板组件树"
);
treeService
.
savePanelAssemblyTree
(
tree
,
panel
.
getAssemblys
(),
instrumentPanel
.
getId
());
}
else
{
log
.
info
(
"前端没有构建组件树"
);
}
...
...
@@ -247,10 +254,10 @@ public class InstrumentPanelServiceImpl extends ServiceImpl<InstrumentPanelMappe
private
void
delAllSetting
(
String
id
)
{
log
.
info
(
"删除仪表板对应权限"
);
permissionService
.
delPermissionByPanelId
(
id
);
permissionService
.
delPermissionByPanelId
(
id
,
null
);
log
.
info
(
"删除仪表板对应配置"
);
configService
.
delConfig
(
id
);
configService
.
delConfig
(
id
,
null
);
log
.
info
(
"删除仪表板树"
);
treeService
.
delTreeByPanelId
(
id
);
...
...
src/main/java/com/syc/slm/slmbi/service/impl/InstrumentPanelTreeServiceImpl.java
View file @
95fd45c3
...
...
@@ -5,9 +5,13 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.syc.slm.common.core.constant.SlmConstants
;
import
com.syc.slm.slmbi.dao.InstrumentPanelTreeMapper
;
import
com.syc.slm.slmbi.dto.InstrumentPanelAssemblyDTO
;
import
com.syc.slm.slmbi.entity.BaseEntity
;
import
com.syc.slm.slmbi.entity.InstrumentPanel
;
import
com.syc.slm.slmbi.entity.InstrumentPanelTree
;
import
com.syc.slm.slmbi.enums.NodeType
;
import
com.syc.slm.slmbi.service.InstrumentPanelTreeService
;
import
lombok.NonNull
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
...
...
@@ -58,4 +62,42 @@ public class InstrumentPanelTreeServiceImpl extends ServiceImpl<InstrumentPanelT
});
}
}
@Override
public
void
savePanelAssemblyTree
(
InstrumentPanelTree
tree
,
List
<
InstrumentPanelAssemblyDTO
>
assembly
,
String
panelId
)
{
if
(
CollectionUtils
.
isNotEmpty
(
assembly
)){
for
(
int
i
=
0
;
i
<
assembly
.
size
();
i
++)
{
InstrumentPanelTree
t
=
new
InstrumentPanelTree
();
t
.
setId
(
tree
.
getId
()
+
"_"
+
i
);
t
.
setNodeType
(
NodeType
.
ASSEMBLY
.
value
);
t
.
setFullId
(
tree
.
getFullId
()
+
"."
+
t
.
getId
());
t
.
setFullName
(
tree
.
getFullName
()
+
"."
+
assembly
.
get
(
i
).
getName
());
t
.
setAssemblyKey
(
assembly
.
get
(
i
).
getKey
());
baseMapper
.
insert
(
t
);
}
}
}
@Override
public
void
delTreeByPanelFullId
(
String
fullId
)
{
LambdaQueryWrapper
<
InstrumentPanelTree
>
where
=
new
LambdaQueryWrapper
<>();
where
.
eq
(
BaseEntity:
:
getRecordStatus
,
SlmConstants
.
DATA_VALID
);
where
.
likeRight
(
InstrumentPanelTree:
:
getFullId
,
fullId
+
"."
);
List
<
InstrumentPanelTree
>
trees
=
baseMapper
.
selectList
(
where
);
if
(
CollectionUtils
.
isNotEmpty
(
trees
)){
trees
.
forEach
(
x
->{
x
.
setRecordStatus
(
SlmConstants
.
DATA_DELETED
);
baseMapper
.
updateById
(
x
);
});
}
}
@Override
public
void
updatePanelTreeFullName
(
String
panelId
,
String
panelName
,
String
groupId
)
{
InstrumentPanelTree
groupTree
=
baseMapper
.
selectById
(
groupId
);
InstrumentPanelTree
tree
=
baseMapper
.
selectById
(
panelId
);
tree
.
setFullName
(
groupTree
.
getFullName
()
+
"."
+
panelName
);
tree
.
setFullId
(
groupTree
.
getFullId
()
+
"."
+
panelId
);
baseMapper
.
updateById
(
tree
);
}
}
src/main/java/com/syc/slm/slmbi/vo/InstrumentPanelConfigVo.java
View file @
95fd45c3
...
...
@@ -22,5 +22,7 @@ import java.util.Map;
public
class
InstrumentPanelConfigVo
extends
InstrumentPanelConfig
{
@ApiModelProperty
(
value
=
"自定义权限类型"
,
required
=
true
)
List
<
CustomPermissionVo
>
permissions
;
private
List
<
CustomPermissionVo
>
permissions
;
@ApiModelProperty
(
value
=
"仪表板信息"
,
required
=
true
)
private
InstrumentPanelVo
panel
;
}
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