feat: 大屏页面扩展接口新增方法:新增后拓展、删除后拓展,大屏权限扩展接口新增方法:根据权限过滤

大屏页面扩展接口新增方法:新增后拓展、删除后拓展,大屏权限扩展接口新增方法:根据权限过滤
main
hong.yang 2 years ago
parent bab3807009
commit 442297cef9

@ -28,20 +28,8 @@ public class DataRoomExtendClient {
}
/**
*
* @param allCode id
* @return id
*/
public List<String> filterByPermission(List<String> allCode) {
if (extendService != null) {
return extendService.filterByPermission(allCode);
}
return allCode;
}
/**
*
* @param code id
*
* @param code code
*/
public void afterAdd(String code) {
if (extendService != null) {
@ -50,8 +38,8 @@ public class DataRoomExtendClient {
}
/**
*
* @param code id
*
* @param code code
*/
public void afterDelete(String code) {
if (extendService != null) {

@ -17,16 +17,7 @@ public interface IDataRoomExtendService {
* @param code
*/
@Deprecated
void deleteByCode(String code);
/**
*
* @param allCode code
* @return code
*/
default List<String> filterByPermission(List<String> allCode) {
return allCode;
}
default void deleteByCode(String code) {}
/**
* ,

@ -14,6 +14,7 @@ import com.gccloud.dataroom.core.module.manage.extend.DataRoomExtendClient;
import com.gccloud.dataroom.core.module.manage.service.IDataRoomPageService;
import com.gccloud.dataroom.core.module.template.entity.PageTemplateEntity;
import com.gccloud.dataroom.core.module.template.service.IPageTemplateService;
import com.gccloud.dataroom.core.permission.DataRoomPermissionClient;
import com.gccloud.dataroom.core.utils.CodeGenerateUtils;
import com.gccloud.common.exception.GlobalException;
import com.gccloud.common.utils.AssertUtils;
@ -54,6 +55,9 @@ public class DataRoomPageServiceImpl extends ServiceImpl<DataRoomPageDao, PageEn
@Resource
private DataRoomExtendClient dataRoomExtendClient;
@Resource
private DataRoomPermissionClient permissionClient;
@Override
public String add(DataRoomPageDTO bigScreenPageDTO) {
if (StringUtils.isBlank(bigScreenPageDTO.getCode())) {
@ -181,12 +185,19 @@ public class DataRoomPageServiceImpl extends ServiceImpl<DataRoomPageDao, PageEn
queryWrapper.select(PageEntity::getCode);
List<PageEntity> idEntityList = this.list(queryWrapper);
if (idEntityList == null || idEntityList.isEmpty()) {
return new PageVO<>();
PageVO<PageEntity> pageVO = new PageVO<>();
pageVO.setList(Lists.newArrayList());
return pageVO;
}
List<String> codeList = idEntityList.stream().map(PageEntity::getCode).collect(Collectors.toList());
List<String> filterByPermission = permissionClient.filterByPermission(codeList);
if (filterByPermission == null || filterByPermission.isEmpty()) {
PageVO<PageEntity> pageVO = new PageVO<>();
pageVO.setList(Lists.newArrayList());
return pageVO;
}
List<String> codeList = idEntityList.stream().map(PageEntity::getId).collect(Collectors.toList());
List<String> filterByPermission = dataRoomExtendClient.filterByPermission(codeList);
LambdaQueryWrapper<PageEntity> reQueryWrapper = new LambdaQueryWrapper<>();
if (codeList.size() == filterByPermission.size()) {
if (idEntityList.size() == filterByPermission.size()) {
// 说明没有过滤掉任何一个, 按照原来的条件查询
reQueryWrapper = queryWrapper;
} else {

@ -4,6 +4,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* @author hongyang
@ -14,7 +15,7 @@ import javax.servlet.http.HttpServletRequest;
public class DataRoomPermissionClient {
@Autowired(required = false)
private IDataRoomPermissionService tokenService;
private IDataRoomPermissionService permissionService;
/**
@ -25,13 +26,26 @@ public class DataRoomPermissionClient {
*/
public boolean verifyDataPermission(HttpServletRequest request, String pageCode) {
boolean verify = true;
if (tokenService != null) {
verify = tokenService.verifyDataPermission(request, pageCode);
if (permissionService != null) {
verify = permissionService.verifyDataPermission(request, pageCode);
}
return verify;
}
/**
*
* @param allCode code
* @return code
*/
public List<String> filterByPermission(List<String> allCode) {
if (permissionService != null) {
return permissionService.filterByPermission(allCode);
}
return allCode;
}
}

@ -2,6 +2,7 @@ package com.gccloud.dataroom.core.permission;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* @author hongyang
@ -18,5 +19,13 @@ public interface IDataRoomPermissionService {
*/
boolean verifyDataPermission(HttpServletRequest request, String pageCode);
/**
*
* @param allCode code
* @return code
*/
default List<String> filterByPermission(List<String> allCode) {
return allCode;
}
}

Loading…
Cancel
Save