优化维度类型

This commit is contained in:
zhou-hao
2019-10-24 19:23:40 +08:00
parent 20f8a1e345
commit 22a091cfac
2 changed files with 7 additions and 35 deletions

View File

@@ -44,7 +44,6 @@ public class DefaultDimensionService
return entity.getChildren();
}
@Override
public Flux<DimensionType> getAllType() {
return dimensionTypeRepository
@@ -55,13 +54,14 @@ public class DefaultDimensionService
@Override
public Flux<Dimension> getDimensionByUserId(String userId) {
return createQuery().fetch()
.map(DynamicDimensionType::of)
return getAllType()
.collect(Collectors.toMap(DimensionType::getId, Function.identity()))
.flatMapMany(typeGrouping -> dimensionUserRepository.createQuery()
.where(DimensionUserEntity::getUserId, userId)
.fetch()
.map(entity -> DynamicDimension.of(entity, typeGrouping.get(entity.getDimensionId()))));
.flatMapMany(typeGrouping ->
dimensionUserRepository
.createQuery()
.where(DimensionUserEntity::getUserId, userId)
.fetch()
.map(entity -> DynamicDimension.of(entity, typeGrouping.get(entity.getDimensionId()))));
}

View File

@@ -1,28 +0,0 @@
package org.hswebframework.web.system.authorization.defaults.service;
import lombok.Getter;
import lombok.Setter;
import org.hswebframework.web.authorization.DimensionType;
import org.hswebframework.web.system.authorization.api.entity.DimensionEntity;
@Getter
@Setter
public class DynamicDimensionType implements DimensionType {
private String id;
private String name;
private String parentId;
private String describe;
public static DimensionType of(DimensionEntity e) {
DynamicDimensionType type = new DynamicDimensionType();
type.id = e.getId();
type.parentId = e.getParentId();
type.name = e.getName();
type.describe = e.getDescribe();
return type;
}
}