【添加】角色批量配置功能
This commit is contained in:
+30
@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
@@ -1307,4 +1308,33 @@ public class SysUserController {
|
||||
return ls;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "用户管理-角色配置")
|
||||
@PostMapping(value = "/setRole")
|
||||
public Result<SysUser> setRole(@RequestBody JSONObject jsonObject) {
|
||||
try {
|
||||
String ids = jsonObject.getString("ids");
|
||||
List<String> idList = Arrays.asList(ids.split(","));
|
||||
for (String id : idList) {
|
||||
SysUser sysUser = sysUserService.getById(id);
|
||||
baseCommonService.addLog("编辑用户角色,id: " + id, CommonConstant.LOG_TYPE_2, 2);
|
||||
if (sysUser == null) {
|
||||
return Result.error("未找到对应实体");
|
||||
} else {
|
||||
SysUser user = new SysUser();
|
||||
user.setId(id);
|
||||
user.setUpdateTime(new Date());
|
||||
|
||||
String roles = jsonObject.getString("selectedroles");
|
||||
sysUserService.addRoleToUser(user, roles);
|
||||
return Result.OK("修改成功!");
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return Result.error("操作失败");
|
||||
}
|
||||
return Result.OK("修改成功!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+7
@@ -86,6 +86,13 @@ public interface ISysUserService extends IService<SysUser> {
|
||||
*/
|
||||
public void editUserWithRole(SysUser user,String roles);
|
||||
|
||||
/**
|
||||
* 更新用户的全部角色
|
||||
* @param user
|
||||
* @param roles
|
||||
*/
|
||||
public void addRoleToUser(SysUser user, String roles);
|
||||
|
||||
/**
|
||||
* 获取用户的授权角色
|
||||
* @param username
|
||||
|
||||
+14
@@ -152,6 +152,20 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@CacheEvict(value= {CacheConstant.SYS_USERS_CACHE}, allEntries=true)
|
||||
@Transactional
|
||||
public void addRoleToUser(SysUser user, String roles) {
|
||||
//先删后加
|
||||
sysUserRoleMapper.delete(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, user.getId()));
|
||||
if(oConvertUtils.isNotEmpty(roles)) {
|
||||
String[] arr = roles.split(",");
|
||||
for (String roleId : arr) {
|
||||
SysUserRole userRole = new SysUserRole(user.getId(), roleId);
|
||||
sysUserRoleMapper.insert(userRole);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getRole(String username) {
|
||||
|
||||
Reference in New Issue
Block a user