0
点赞
收藏
分享

微信扫一扫

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


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

进入用户角色页面

  • (1)先查看页面
  • Day37项目saas-export项目-进入用户角色页面**_ide_02

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";
}

Day37项目saas-export项目-进入用户角色页面**_数据_03

查找用户角色的业务

编写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

<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

<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">
<spanstyle="padding:3px;margin-right:30px;width: 160px;display:">
<input type="checkbox" name="roleIds" value="${role.roleId}"
<%-- 根据role对象中的checked属性进行判断,如果为true,则打勾,否不打勾--%>
<c:if test="${role.checked}">
checked
</c:if>

/>
${role.name}
</span>
</c:forEach>


举报

相关推荐

0 条评论