尚学堂java笔记day18_Java的新项目学成在线笔记-day18(四)

3.3 用户中心查询用户权限

3.3.1 需求分析

认证服务请求用户中心查询用户信息,用户需要将用户基本信息和用户权限一同返回给认证服务。

本小节实现用户查询查询用户权限,并将用户权限信息添加到的用户信息中返回给认证服务。

以上需求需要修改如下接口:

[mw_shl_code=applescript,true]@GetMapping("/getuserext") public XcUserExt getUserext(@RequestParam("username") String username);

[/mw_shl_code]

3.3.2 DAO

在用户中心服务中编写dao,实现根据用户id查询权限。 1、定义XcMenuMapper.java

在com.xuecheng.ucenter.dao包下定义:

[mw_shl_code=applescript,true]@Mapper public interface XcMenuMapper {

public List selectPermissionByUserId(String userid); }

[/mw_shl_code]

2、XcMenuMapper.xml

在com.xuecheng.ucenter.dao下定义XcMenuMapper.xml

[mw_shl_code=applescript,true]<?xml version="1.0" encoding="UTF‐8" ?> //mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis‐3mapper.dtd" >

SELECT

id,

CODE,

p_id pId,

menu_name menuName,

url,

is_menu isMenu,

LEVEL,

sort,

STATUS,

icon,

create_time createTime,

update_time updateTiem

FROM

xc_menu

WHERE id IN(

SELECT menu_id FROM xc_permission WHERE role_id IN(

SELECT role_id FROM xc_user_role WHERE user_id = #{id}

)

)

[/mw_shl_code]

其它Dao采用spring data 编写如下:

0bddfbf011b99d1ac9d7d9d92d6656f5.png

3.3.3 Service

修改UserService的getUserExt方法,查询用户权限。

[mw_shl_code=applescript,true]//根据账号查询用户的信息,返回用户扩展信息 public XcUserExt getUserExt(String username){ XcUser xcUser = this.findXcUserByUsername(username);

if(xcUser == null){

return null;

}

//根据用户id查询用户权限

String userId = xcUser.getId();

List xcMenus = xcMenuMapper.selectPermissionByUserId(userId);

XcUserExt xcUserExt = new XcUserExt();

BeanUtils.copyProperties(xcUser,xcUserExt);

//用户的权限

xcUserExt.setPermissions(xcMenus);

return xcUserExt; }

[/mw_shl_code]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值