From c075685ae3551f4880e412d86616fd0c044ec755 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 7 May 2019 20:59:47 +0800 Subject: [PATCH] =?UTF-8?q?[=E9=94=80=E5=94=AE=E7=89=88=E6=9C=AC][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9]:=E9=94=80=E5=94=AE=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/MallUserInfoController.java | 3 +- .../controller/sys/SysMenuController.java | 45 --------- .../java/com/iformall/shiro/MyShiroRealm.java | 8 +- .../impl/MallRolePermissionServiceImpl.java | 58 +++++------ .../mapper/MallRolePermissionMapper.xml | 96 +++++++++---------- 5 files changed, 78 insertions(+), 132 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/sys/MallUserInfoController.java b/mallinkAdmin/src/main/java/com/iformall/controller/sys/MallUserInfoController.java index b67fa5f53..f732aa69d 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/sys/MallUserInfoController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/sys/MallUserInfoController.java @@ -13,7 +13,6 @@ import com.iformall.enums.EnumFlowPermissionType; import com.iformall.service.*; import com.iformall.shiro.PasswordHelper; import com.iformall.shiro.UserSession; -import com.iformall.utils.Constant; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -21,7 +20,6 @@ import io.swagger.annotations.ApiOperation; import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; -import org.apache.shiro.authz.annotation.RequiresPermissions; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -299,6 +297,7 @@ public class MallUserInfoController extends BaseController { // TODO 请用 /menu/nav 获取菜单及权限 List menuList = mallPermissionService.queryAdminMenuList(info); + //list.stream().distinct().collect(Collectors.joining(",")); StringBuilder sb = new StringBuilder(); boolean bFirst = true; for(Long id: menuList) { diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java b/mallinkAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java index 7a8726ec5..89a601d9c 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java @@ -50,12 +50,6 @@ public class SysMenuController extends BaseController { @Autowired private MallUserInfoService mallUserInfoService; - @Autowired - private MallRoleService mallRoleService; - - @Autowired - private MallRolePermissionService mallRolePermissionService; - @ApiOperation("导航菜单") @GetMapping("/nav") public ResultData nav(){ @@ -136,45 +130,6 @@ public class SysMenuController extends BaseController { return new ResultData(Result.SUCCESS, "成功", mallPermissionService.getById(id)); } - @ApiOperation("用户菜单权限升级") - @GetMapping("/upgradeMenus") - //@RequiresPermissions("sys:menu:info") - @SystemControllerLog(description = "用户管理-权限升级") - public ResultData upgradeMenus() { - logger.debug("[" + getIpAddr() + "] MallPermissionController::upgradeMenus"); - MallUserInfo userInfo = getUser(); - if(userInfo.isFmSuperAdmin()) { - // 已有Role - MallRole q = new MallRole(); - List mallRoleList = mallRoleService.getList(q); - for(MallRole mallRole: mallRoleList) { - MallRolePermission qRP = new MallRolePermission(); - qRP.setRoleId(mallRole.getId()); - List mallRolePermissionList = mallRolePermissionService.getList(qRP); - if(mallRolePermissionList.stream().allMatch((rolePermission->(rolePermission.getPermissionId().longValue() <= (long)EnumMenuType.HARDWARE.getCode())))){ - // 添加子权限给此role - for(MallRolePermission mRP: mallRolePermissionList) { - List pList = new ArrayList<>(); - // 二级菜单 - List subList1 = mallPermissionService.getByParentId(mRP.getPermissionId()); - for(MallPermission mp: subList1) { - pList.add(mp.getId()); - // 三级菜单 - List subList2 = mallPermissionService.getByParentId(mRP.getPermissionId()); - if(subList2.size() > 0) { - subList2.stream().forEach(smp->{ - pList.add(smp.getId()); - }); - } - } - mallRolePermissionService.savePermissions(mRP.getTenantId(), mRP.getRoleId(), (Long[])pList.toArray()); - } - } - } - } - return new ResultData(ErrorCode.USER_NO_PERMISSION); - } - @Autowired private RequestMappingHandlerMapping requestMappingHandlerMapping; diff --git a/mallinkAdmin/src/main/java/com/iformall/shiro/MyShiroRealm.java b/mallinkAdmin/src/main/java/com/iformall/shiro/MyShiroRealm.java index 9999230a3..862f472ca 100644 --- a/mallinkAdmin/src/main/java/com/iformall/shiro/MyShiroRealm.java +++ b/mallinkAdmin/src/main/java/com/iformall/shiro/MyShiroRealm.java @@ -46,10 +46,10 @@ public class MyShiroRealm extends AuthorizingRealm { throw new UnknownAccountException(ErrorCode.USER_IS_EMPTY.getMessage()); } // 租户1为预留系统管理端 - //if(user.getTenantId().equals("1")) { - // // 只支持租户为1的用户 - // throw new UnknownAccountException("租户不支持"); - //} + if(user.getTenantId().equals("1")) { + // 只支持租户为1的用户 + throw new UnknownAccountException("租户不支持"); + } if(user.getStatus()==null || !EnumMallUserStatus.VALID.getCode().equals(user.getStatus())) {//用户被禁用 throw new DisabledAccountException(ErrorCode.USER_IS_LOCKED.getMessage()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MallRolePermissionServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MallRolePermissionServiceImpl.java index 11bbf3c94..ee8b1a949 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MallRolePermissionServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MallRolePermissionServiceImpl.java @@ -17,10 +17,10 @@ import java.util.List; public class MallRolePermissionServiceImpl implements MallRolePermissionService { private final Logger logger = LoggerFactory.getLogger(this.getClass()); - - @Autowired + + @Autowired MallRolePermissionMapper mallUserRolePermissionMapper; - + @Override public PageInfo listAsPage(MallRolePermission record, Integer pageIndex, Integer pageSize) { @@ -42,7 +42,7 @@ public class MallRolePermissionServiceImpl implements MallRolePermissionService if (record.getId() == null) { //record.setId(UUID.randomUUID().toString().replaceAll("-", "")); final IdWorker idWorker = IdWorker.get(); - record.setId(idWorker.nextId()); + record.setId(idWorker.nextId()); mallUserRolePermissionMapper.insertSelective(record); } else { mallUserRolePermissionMapper.updateByPrimaryKeySelective(record); @@ -53,32 +53,26 @@ public class MallRolePermissionServiceImpl implements MallRolePermissionService public void deleteById(Long id) { mallUserRolePermissionMapper.deleteByPrimaryKey(id); } - - - - @Override - public void savePermissions(String tenantId,Long roleId, Long[] perId) { -// Map map = new HashMap<>(); -// map.put("roleId", roleId); - mallUserRolePermissionMapper.deleteByRoleId(roleId); - for(Long pId:perId){ - MallRolePermission permission =new MallRolePermission(); - final IdWorker idWorker = IdWorker.get(); - permission.setId(idWorker.nextId()); - permission.setPermissionId(pId); - permission.setTenantId(tenantId); - permission.setRoleId(roleId); - mallUserRolePermissionMapper.insert(permission); - } - - } - - public void deleteByRoleId(Long roleId) { - mallUserRolePermissionMapper.deleteByRoleId(roleId); - } - - - - - + + + @Override + public void savePermissions(String tenantId, Long roleId, Long[] perId) { + mallUserRolePermissionMapper.deleteByRoleId(roleId); + for (Long pId : perId) { + MallRolePermission permission = new MallRolePermission(); + final IdWorker idWorker = IdWorker.get(); + permission.setId(idWorker.nextId()); + permission.setPermissionId(pId); + permission.setTenantId(tenantId); + permission.setRoleId(roleId); + mallUserRolePermissionMapper.insert(permission); + } + + } + + public void deleteByRoleId(Long roleId) { + mallUserRolePermissionMapper.deleteByRoleId(roleId); + } + + } diff --git a/mallinkService/src/main/resources/mapper/MallRolePermissionMapper.xml b/mallinkService/src/main/resources/mapper/MallRolePermissionMapper.xml index 598a42a06..91b2c1749 100644 --- a/mallinkService/src/main/resources/mapper/MallRolePermissionMapper.xml +++ b/mallinkService/src/main/resources/mapper/MallRolePermissionMapper.xml @@ -1,57 +1,55 @@ - - - - - - - - + + + + + + + + `id`,`tenant_id`,`permission_id`,`role_id` - - where 1 = 1 - - - and `id` = #{id} - - - - - and `tenant_id` = #{tenantId} - - - - - and `permission_id` like concat('%', #{permissionId},'%') - - - - - and `role_id` like concat('%', #{roleId},'%') - - - - and id in - - #{idItem} - - - order by ${sortColumns} - - - - - - - delete from mall_role_permission where role_id=#{roleId} + + where 1 = 1 + + + and `id` = #{id} + + + + and `tenant_id` = #{tenantId} + + + + and `permission_id` = #{permissionId} + + + + and `role_id` = #{roleId} + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + + + delete from mall_role_permission where role_id=#{roleId} - - + +