权限组权限code去重处理

  • 开发中会遇到单用户多角色多权限的问题,这时我们分配的权限组就要做去重处理,否则用户登录系统后会有重复菜单或者按钮

效果图:

在这里插入图片描述

实现代码:

  • hashSet去重处理,这里贴上我完整的权限组处理方法.
//查询用户角色对应的系统  用于登录时权限分配
	public List<Map<String, Object>> findBankRoleSys(List<Map<String, Object>> list, String bankId){
		
		if(list != null ) {
		StringBuilder builer = new StringBuilder(); //保存一次处理后的字符串
		Set<String> sets=new HashSet<>(); //去重处理
		String auths = null; //保存处理完的字符串
		list.forEach((temp)->{
			sets.addAll(Arrays.asList(temp.get("role_auths").toString().split(",")));
		});
		for(String hs : sets) {
			if(hs.length() == 3) {
				builer.append("'"+hs+"',");  //过滤掉code为三(系统)的数据
			}
		}
		if(builer != null && builer.length() >0) {
			 auths = builer.substring(0,builer.length()-1);
		}
		String sql = "SELECT * FROM t_bank_sys_menu where `status`=0 AND statuz =0 AND bank_id = '"+bankId+"' AND menu_code IN ("+auths+")";
		List<Map<String, Object>> menuslist = jt.queryForList(sql);
		return menuslist;
		}
		return null;
	}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值