Browse Source

:zap: INode支持泛型,优化业务代码

smallchill 6 years ago
parent
commit
45d4c65a4a

+ 2 - 3
src/main/java/org/springblade/modules/system/controller/DeptController.java

@@ -30,7 +30,6 @@ import org.springblade.core.secure.annotation.PreAuth;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.constant.RoleConstant;
-import org.springblade.core.tool.node.INode;
 import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.system.entity.Dept;
@@ -81,7 +80,7 @@ public class DeptController extends BladeController {
 	})
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "列表", notes = "传入dept")
-	public R<List<INode>> list(@ApiIgnore @RequestParam Map<String, Object> dept, BladeUser bladeUser) {
+	public R<List<DeptVO>> list(@ApiIgnore @RequestParam Map<String, Object> dept, BladeUser bladeUser) {
 		QueryWrapper<Dept> queryWrapper = Condition.getQueryWrapper(dept, Dept.class);
 		List<Dept> list = deptService.list((!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Dept::getTenantId, bladeUser.getTenantId()) : queryWrapper);
 		return R.data(DeptWrapper.build().listNodeVO(list));
@@ -97,7 +96,7 @@ public class DeptController extends BladeController {
 	})
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "懒加载列表", notes = "传入dept")
-	public R<List<INode>> lazyList(@ApiIgnore @RequestParam Map<String, Object> dept, Long parentId, BladeUser bladeUser) {
+	public R<List<DeptVO>> lazyList(@ApiIgnore @RequestParam Map<String, Object> dept, Long parentId, BladeUser bladeUser) {
 		List<DeptVO> list = deptService.lazyList(bladeUser.getTenantId(), parentId, dept);
 		return R.data(DeptWrapper.build().listNodeLazyVO(list));
 	}

+ 1 - 2
src/main/java/org/springblade/modules/system/controller/DictBizController.java

@@ -26,7 +26,6 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.node.INode;
 import org.springblade.modules.system.entity.DictBiz;
 import org.springblade.modules.system.service.IDictBizService;
 import org.springblade.modules.system.vo.DictBizVO;
@@ -74,7 +73,7 @@ public class DictBizController extends BladeController {
 	})
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "列表", notes = "传入dict")
-	public R<List<INode>> list(@ApiIgnore @RequestParam Map<String, Object> dict) {
+	public R<List<DictBizVO>> list(@ApiIgnore @RequestParam Map<String, Object> dict) {
 		List<DictBiz> list = dictService.list(Condition.getQueryWrapper(dict, DictBiz.class).lambda().orderByAsc(DictBiz::getSort));
 		return R.data(DictBizWrapper.build().listNodeVO(list));
 	}

+ 1 - 2
src/main/java/org/springblade/modules/system/controller/DictController.java

@@ -26,7 +26,6 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.node.INode;
 import org.springblade.modules.system.entity.Dict;
 import org.springblade.modules.system.service.IDictService;
 import org.springblade.modules.system.vo.DictVO;
@@ -74,7 +73,7 @@ public class DictController extends BladeController {
 	})
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "列表", notes = "传入dict")
-	public R<List<INode>> list(@ApiIgnore @RequestParam Map<String, Object> dict) {
+	public R<List<DictVO>> list(@ApiIgnore @RequestParam Map<String, Object> dict) {
 		List<Dict> list = dictService.list(Condition.getQueryWrapper(dict, Dict.class).lambda().orderByAsc(Dict::getSort));
 		return R.data(DictWrapper.build().listNodeVO(list));
 	}

+ 1 - 2
src/main/java/org/springblade/modules/system/controller/RoleController.java

@@ -29,7 +29,6 @@ import org.springblade.core.secure.annotation.PreAuth;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.constant.RoleConstant;
-import org.springblade.core.tool.node.INode;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.system.entity.Role;
 import org.springblade.modules.system.service.IRoleService;
@@ -80,7 +79,7 @@ public class RoleController extends BladeController {
 	})
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "列表", notes = "传入role")
-	public R<List<INode>> list(@ApiIgnore @RequestParam Map<String, Object> role, BladeUser bladeUser) {
+	public R<List<RoleVO>> list(@ApiIgnore @RequestParam Map<String, Object> role, BladeUser bladeUser) {
 		QueryWrapper<Role> queryWrapper = Condition.getQueryWrapper(role, Role.class);
 		List<Role> list = roleService.list((!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Role::getTenantId, bladeUser.getTenantId()) : queryWrapper);
 		return R.data(RoleWrapper.build().listNodeVO(list));

+ 3 - 3
src/main/java/org/springblade/modules/system/vo/DeptVO.java

@@ -36,7 +36,7 @@ import java.util.List;
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ApiModel(value = "DeptVO对象", description = "DeptVO对象")
-public class DeptVO extends Dept implements INode {
+public class DeptVO extends Dept implements INode<DeptVO> {
 	private static final long serialVersionUID = 1L;
 
 	/**
@@ -55,7 +55,7 @@ public class DeptVO extends Dept implements INode {
 	 * 子孙节点
 	 */
 	@JsonInclude(JsonInclude.Include.NON_EMPTY)
-	private List<INode> children;
+	private List<DeptVO> children;
 
 	/**
 	 * 是否有子孙节点
@@ -64,7 +64,7 @@ public class DeptVO extends Dept implements INode {
 	private Boolean hasChildren;
 
 	@Override
-	public List<INode> getChildren() {
+	public List<DeptVO> getChildren() {
 		if (this.children == null) {
 			this.children = new ArrayList<>();
 		}

+ 3 - 3
src/main/java/org/springblade/modules/system/vo/DictBizVO.java

@@ -36,7 +36,7 @@ import java.util.List;
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ApiModel(value = "DictBizVO对象", description = "DictBizVO对象")
-public class DictBizVO extends DictBiz implements INode {
+public class DictBizVO extends DictBiz implements INode<DictBizVO> {
 	private static final long serialVersionUID = 1L;
 	/**
 	 * 主键ID
@@ -54,10 +54,10 @@ public class DictBizVO extends DictBiz implements INode {
 	 * 子孙节点
 	 */
 	@JsonInclude(JsonInclude.Include.NON_EMPTY)
-	private List<INode> children;
+	private List<DictBizVO> children;
 
 	@Override
-	public List<INode> getChildren() {
+	public List<DictBizVO> getChildren() {
 		if (this.children == null) {
 			this.children = new ArrayList<>();
 		}

+ 3 - 3
src/main/java/org/springblade/modules/system/vo/DictVO.java

@@ -36,7 +36,7 @@ import java.util.List;
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ApiModel(value = "DictVO对象", description = "DictVO对象")
-public class DictVO extends Dict implements INode {
+public class DictVO extends Dict implements INode<DictVO> {
 	private static final long serialVersionUID = 1L;
 	/**
 	 * 主键ID
@@ -54,10 +54,10 @@ public class DictVO extends Dict implements INode {
 	 * 子孙节点
 	 */
 	@JsonInclude(JsonInclude.Include.NON_EMPTY)
-	private List<INode> children;
+	private List<DictVO> children;
 
 	@Override
-	public List<INode> getChildren() {
+	public List<DictVO> getChildren() {
 		if (this.children == null) {
 			this.children = new ArrayList<>();
 		}

+ 3 - 3
src/main/java/org/springblade/modules/system/vo/MenuVO.java

@@ -36,7 +36,7 @@ import java.util.List;
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ApiModel(value = "MenuVO对象", description = "MenuVO对象")
-public class MenuVO extends Menu implements INode {
+public class MenuVO extends Menu implements INode<MenuVO> {
 	private static final long serialVersionUID = 1L;
 
 	/**
@@ -55,7 +55,7 @@ public class MenuVO extends Menu implements INode {
 	 * 子孙节点
 	 */
 	@JsonInclude(JsonInclude.Include.NON_EMPTY)
-	private List<INode> children;
+	private List<MenuVO> children;
 
 	/**
 	 * 是否有子孙节点
@@ -64,7 +64,7 @@ public class MenuVO extends Menu implements INode {
 	private Boolean hasChildren;
 
 	@Override
-	public List<INode> getChildren() {
+	public List<MenuVO> getChildren() {
 		if (this.children == null) {
 			this.children = new ArrayList<>();
 		}

+ 3 - 3
src/main/java/org/springblade/modules/system/vo/RoleVO.java

@@ -36,7 +36,7 @@ import java.util.List;
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ApiModel(value = "RoleVO对象", description = "RoleVO对象")
-public class RoleVO extends Role implements INode {
+public class RoleVO extends Role implements INode<RoleVO> {
 	private static final long serialVersionUID = 1L;
 
 	/**
@@ -55,10 +55,10 @@ public class RoleVO extends Role implements INode {
 	 * 子孙节点
 	 */
 	@JsonInclude(JsonInclude.Include.NON_EMPTY)
-	private List<INode> children;
+	private List<RoleVO> children;
 
 	@Override
-	public List<INode> getChildren() {
+	public List<RoleVO> getChildren() {
 		if (this.children == null) {
 			this.children = new ArrayList<>();
 		}

+ 4 - 5
src/main/java/org/springblade/modules/system/wrapper/DeptWrapper.java

@@ -21,7 +21,6 @@ import org.springblade.common.cache.SysCache;
 import org.springblade.core.mp.support.BaseEntityWrapper;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.node.ForestNodeMerger;
-import org.springblade.core.tool.node.INode;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.system.entity.Dept;
@@ -56,8 +55,8 @@ public class DeptWrapper extends BaseEntityWrapper<Dept, DeptVO> {
 		return deptVO;
 	}
 
-	public List<INode> listNodeVO(List<Dept> list) {
-		List<INode> collect = list.stream().map(dept -> {
+	public List<DeptVO> listNodeVO(List<Dept> list) {
+		List<DeptVO> collect = list.stream().map(dept -> {
 			DeptVO deptVO = BeanUtil.copy(dept, DeptVO.class);
 			String category = DictCache.getValue("org_category", dept.getDeptCategory());
 			Objects.requireNonNull(deptVO).setDeptCategoryName(category);
@@ -66,8 +65,8 @@ public class DeptWrapper extends BaseEntityWrapper<Dept, DeptVO> {
 		return ForestNodeMerger.merge(collect);
 	}
 
-	public List<INode> listNodeLazyVO(List<DeptVO> list) {
-		List<INode> collect = list.stream().peek(dept -> {
+	public List<DeptVO> listNodeLazyVO(List<DeptVO> list) {
+		List<DeptVO> collect = list.stream().peek(dept -> {
 			String category = DictCache.getValue("org_category", dept.getDeptCategory());
 			Objects.requireNonNull(dept).setDeptCategoryName(category);
 		}).collect(Collectors.toList());

+ 2 - 3
src/main/java/org/springblade/modules/system/wrapper/DictBizWrapper.java

@@ -20,7 +20,6 @@ import org.springblade.common.cache.DictBizCache;
 import org.springblade.core.mp.support.BaseEntityWrapper;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.node.ForestNodeMerger;
-import org.springblade.core.tool.node.INode;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.system.entity.DictBiz;
@@ -54,8 +53,8 @@ public class DictBizWrapper extends BaseEntityWrapper<DictBiz, DictBizVO> {
 		return dictVO;
 	}
 
-	public List<INode> listNodeVO(List<DictBiz> list) {
-		List<INode> collect = list.stream().map(dict -> BeanUtil.copy(dict, DictBizVO.class)).collect(Collectors.toList());
+	public List<DictBizVO> listNodeVO(List<DictBiz> list) {
+		List<DictBizVO> collect = list.stream().map(dict -> BeanUtil.copy(dict, DictBizVO.class)).collect(Collectors.toList());
 		return ForestNodeMerger.merge(collect);
 	}
 

+ 2 - 3
src/main/java/org/springblade/modules/system/wrapper/DictWrapper.java

@@ -20,7 +20,6 @@ import org.springblade.common.cache.DictCache;
 import org.springblade.core.mp.support.BaseEntityWrapper;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.node.ForestNodeMerger;
-import org.springblade.core.tool.node.INode;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.system.entity.Dict;
@@ -54,8 +53,8 @@ public class DictWrapper extends BaseEntityWrapper<Dict, DictVO> {
 		return dictVO;
 	}
 
-	public List<INode> listNodeVO(List<Dict> list) {
-		List<INode> collect = list.stream().map(dict -> BeanUtil.copy(dict, DictVO.class)).collect(Collectors.toList());
+	public List<DictVO> listNodeVO(List<Dict> list) {
+		List<DictVO> collect = list.stream().map(dict -> BeanUtil.copy(dict, DictVO.class)).collect(Collectors.toList());
 		return ForestNodeMerger.merge(collect);
 	}
 

+ 2 - 3
src/main/java/org/springblade/modules/system/wrapper/RoleWrapper.java

@@ -20,7 +20,6 @@ import org.springblade.common.cache.SysCache;
 import org.springblade.core.mp.support.BaseEntityWrapper;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.node.ForestNodeMerger;
-import org.springblade.core.tool.node.INode;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.system.entity.Role;
@@ -54,8 +53,8 @@ public class RoleWrapper extends BaseEntityWrapper<Role, RoleVO> {
 	}
 
 
-	public List<INode> listNodeVO(List<Role> list) {
-		List<INode> collect = list.stream().map(this::entityVO).collect(Collectors.toList());
+	public List<RoleVO> listNodeVO(List<Role> list) {
+		List<RoleVO> collect = list.stream().map(this::entityVO).collect(Collectors.toList());
 		return ForestNodeMerger.merge(collect);
 	}