From 1a32e5c9c041f914e98daa2108096c9f2b717524 Mon Sep 17 00:00:00 2001 From: smallchill Date: Thu, 27 Jun 2019 17:35:48 +0800 Subject: [PATCH] =?UTF-8?q?:tada:=20=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../springblade/system/vo/DataScopeVO.java | 39 ++++++++++++++++ .../controller/DataScopeController.java | 6 ++- .../system/controller/MenuController.java | 2 +- .../system/wrapper/DataScopeWrapper.java | 46 +++++++++++++++++++ 4 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 blade-service-api/blade-system-api/src/main/java/org/springblade/system/vo/DataScopeVO.java create mode 100644 blade-service/blade-system/src/main/java/org/springblade/system/wrapper/DataScopeWrapper.java diff --git a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/vo/DataScopeVO.java b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/vo/DataScopeVO.java new file mode 100644 index 00000000..6b3bf24e --- /dev/null +++ b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/vo/DataScopeVO.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package org.springblade.system.vo; + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.system.entity.DataScope; + +/** + * 视图实体类 + * + * @author Chill + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "DataScopeVO对象", description = "DataScopeVO对象") +public class DataScopeVO extends DataScope { + private static final long serialVersionUID = 1L; + + /** + * 规则类型名 + */ + private String scopeTypeName; +} diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/controller/DataScopeController.java b/blade-service/blade-system/src/main/java/org/springblade/system/controller/DataScopeController.java index d7886f8d..e0cb2cd9 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/controller/DataScopeController.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/controller/DataScopeController.java @@ -28,6 +28,8 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.system.entity.DataScope; import org.springblade.system.service.IDataScopeService; +import org.springblade.system.vo.DataScopeVO; +import org.springblade.system.wrapper.DataScopeWrapper; import org.springframework.cache.annotation.CacheEvict; import org.springframework.web.bind.annotation.*; @@ -64,9 +66,9 @@ public class DataScopeController extends BladeController { */ @GetMapping("/list") @ApiOperation(value = "分页", notes = "传入dataScope", position = 2) - public R> list(DataScope dataScope, Query query) { + public R> list(DataScope dataScope, Query query) { IPage pages = dataScopeService.page(Condition.getPage(query), Condition.getQueryWrapper(dataScope)); - return R.data(pages); + return R.data(DataScopeWrapper.build().pageVO(pages)); } /** diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/controller/MenuController.java b/blade-service/blade-system/src/main/java/org/springblade/system/controller/MenuController.java index 5db82ccd..a26eda3d 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/controller/MenuController.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/controller/MenuController.java @@ -112,7 +112,7 @@ public class MenuController extends BladeController { @GetMapping("/routes") @ApiOperation(value = "前端菜单数据", notes = "前端菜单数据", position = 3) public R> routes(BladeUser user) { - List list = menuService.routes(user.getRoleId()); + List list = menuService.routes((user == null) ? null : user.getRoleId()); return R.data(list); } diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/wrapper/DataScopeWrapper.java b/blade-service/blade-system/src/main/java/org/springblade/system/wrapper/DataScopeWrapper.java new file mode 100644 index 00000000..eefe8ee1 --- /dev/null +++ b/blade-service/blade-system/src/main/java/org/springblade/system/wrapper/DataScopeWrapper.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package org.springblade.system.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.system.cache.DictCache; +import org.springblade.system.entity.DataScope; +import org.springblade.system.vo.DataScopeVO; + + +/** + * 包装类,返回视图层所需的字段 + * + * @author Chill + */ +public class DataScopeWrapper extends BaseEntityWrapper { + + public static DataScopeWrapper build() { + return new DataScopeWrapper(); + } + + @Override + public DataScopeVO entityVO(DataScope dataScope) { + DataScopeVO dataScopeVO = BeanUtil.copy(dataScope, DataScopeVO.class); + assert dataScopeVO != null; + String scopeTypeName = DictCache.getValue("scope_type", dataScope.getScopeType()); + dataScopeVO.setScopeTypeName(scopeTypeName); + return dataScopeVO; + } + +}