Day37项目saas-export项目-进入用户角色页面**

在这里插入图片描述

进入用户角色页面

  • (1)先查看页面
    在这里插入图片描述

UserController

   @RequestMapping(path = "/toUserRole", method = {RequestMethod.GET, RequestMethod.POST})
    public String toUserRole(String userId){
        //接收页面传过来的userId
        l.info("toUserRole userId="+userId);
        //使用userId查找用户对象
        User user = iUserService.findUserById(userId);
        //转发给页面
        request.setAttribute("user",user);
        return "system/user/user-role";
    }

在这里插入图片描述

查找用户角色的业务

编写sql完成查询用户角色列表

# 查找所有的角色
select * from pe_role order by order_no asc;	

# 查找老王的所有的角色 
select * 
from pe_role_user ru,pe_role r 
where ru.role_id= r.role_id 
and ru.user_id = '002108e2-9a10-4510-9683-8d8fd1d374ef'

UserController

 @Autowired
    IRoleService iRoleService;
    @RequestMapping(path = "/toUserRole", method = {RequestMethod.GET, RequestMethod.POST})
    public String toUserRole(String userId){
        //接收页面传过来的userId
        l.info("toUserRole userId="+userId);
        //使用userId查找用户对象
        User user = iUserService.findUserById(userId);
        //转发给页面
        request.setAttribute("user",user);

        //所有角色的数据
        String companyId=getLoginCompanyId();
        List<Role> roleList =  iRoleService.findAll(companyId);
        //老王的角色数据
        List<Role> userRoleList =  iRoleService.findRolesByUserId(userId);
        l.info("toUserRole roleList = "+roleList);
        l.info("toUserRole userRoleList = "+userRoleList);

        for(Role role: roleList){
            //当前公司的所有的角色
            if(isInUserRoleList(role,userRoleList)){
                role.setChecked(true);
            }
        }
        //转发到页面
        request.setAttribute("roleList",roleList);
        request.setAttribute("userRoleList",userRoleList);
        return "system/user/user-role";
    }

    //当前的复选框 要不要打勾 取决于是否在 用户的角色列表中
    private boolean isInUserRoleList(Role role, List<Role> userRoleList) {
        for( Role r:userRoleList){
            if(r.getRoleId().equals(role.getRoleId())){
                return true;
            }
        }//end for
        return false;
    }


IRoleService ,RoleSeviceImpl

 List<Role> findAll(String companyId);
 List<Role> findRolesByUserId(String userId);

    @Override
    public List<Role> findAll(String companyId) {
        return iRoleDao.findAll(companyId);
    }

    @Override
    public List<Role> findRolesByUserId(String userId) {
        return iRoleDao.findByUserId(userId);
    }

IRoleDao,IRoleDao.xml

    List<Role> findByUserId(String userId);
    <select id="findByUserId" parameterType="string" resultMap="roleMap">
            select *
            from pe_role_user ru inner join pe_role r
            on ru.role_id= r.role_id
            where ru.user_id = #{userId}
    </select>

Role增加checked变量

    private boolean checked;//在角色列表中打上勾

    public boolean isChecked() {
        return checked;
    }

    public void setChecked(boolean checked) {
        this.checked = checked;
    }

user-role.jsp

  <c:forEach items="${roleList}" var="role" varStatus="vs">
                                     <span style="padding:3px;margin-right:30px;width: 160px;display: inline-block">
                                         <input type="checkbox" name="roleIds" value="${role.roleId}"
<%--                                               根据role对象中的checked属性进行判断,如果为true,则打勾,否不打勾--%>
                                                 <c:if test="${role.checked}">
                                                     checked
                                                 </c:if>

                                         />
                                         ${role.name}
                                     </span>
                                </c:forEach>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翁老师的教学团队

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值