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

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

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

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

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

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

Loading…
Cancel
Save