Search in sources :

Example 1 with SysUserRole

use of com.company.project.entity.SysUserRole in project springboot-manager by aitangbao.

the class UserController method setUserOwnRole.

@PutMapping("/user/roles/{userId}")
@ApiOperation(value = "赋予角色-用户赋予角色接口")
@LogAnnotation(title = "用户管理", action = "赋予角色-用户赋予角色接口")
@RequiresPermissions("sys:user:update:role")
public DataResult setUserOwnRole(@PathVariable("userId") String userId, @RequestBody List<String> roleIds) {
    LambdaQueryWrapper<SysUserRole> queryWrapper = Wrappers.lambdaQuery();
    queryWrapper.eq(SysUserRole::getUserId, userId);
    userRoleService.remove(queryWrapper);
    if (!CollectionUtils.isEmpty(roleIds)) {
        UserRoleOperationReqVO reqVO = new UserRoleOperationReqVO();
        reqVO.setUserId(userId);
        reqVO.setRoleIds(roleIds);
        userRoleService.addUserRoleInfo(reqVO);
    }
    // 刷新权限
    httpSessionService.refreshUerId(userId);
    return DataResult.success();
}
Also used : UserRoleOperationReqVO(com.company.project.vo.req.UserRoleOperationReqVO) SysUserRole(com.company.project.entity.SysUserRole) LogAnnotation(com.company.project.common.aop.annotation.LogAnnotation) RequiresPermissions(org.apache.shiro.authz.annotation.RequiresPermissions) ApiOperation(io.swagger.annotations.ApiOperation)

Example 2 with SysUserRole

use of com.company.project.entity.SysUserRole in project springboot-manager by aitangbao.

the class UserRoleServiceImpl method addUserRoleInfo.

@Transactional(rollbackFor = Exception.class)
@Override
public void addUserRoleInfo(UserRoleOperationReqVO vo) {
    if (CollectionUtils.isEmpty(vo.getRoleIds())) {
        return;
    }
    List<SysUserRole> list = new ArrayList<>();
    for (String roleId : vo.getRoleIds()) {
        SysUserRole sysUserRole = new SysUserRole();
        sysUserRole.setUserId(vo.getUserId());
        sysUserRole.setRoleId(roleId);
        list.add(sysUserRole);
    }
    sysUserRoleMapper.delete(Wrappers.<SysUserRole>lambdaQuery().eq(SysUserRole::getUserId, vo.getUserId()));
    // 批量插入
    this.saveBatch(list);
}
Also used : ArrayList(java.util.ArrayList) SysUserRole(com.company.project.entity.SysUserRole) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

SysUserRole (com.company.project.entity.SysUserRole)2 LogAnnotation (com.company.project.common.aop.annotation.LogAnnotation)1 UserRoleOperationReqVO (com.company.project.vo.req.UserRoleOperationReqVO)1 ApiOperation (io.swagger.annotations.ApiOperation)1 ArrayList (java.util.ArrayList)1 RequiresPermissions (org.apache.shiro.authz.annotation.RequiresPermissions)1 Transactional (org.springframework.transaction.annotation.Transactional)1