|
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.xy.consts.CommConsts;
|
|
import com.xy.dto.BatchDeleteDto;
|
|
import com.xy.dto.BatchDeleteDto;
|
|
import com.xy.dto.CommDto;
|
|
import com.xy.dto.CommDto;
|
|
import com.xy.dto.SysRoleDto;
|
|
import com.xy.dto.SysRoleDto;
|
|
@@ -35,6 +36,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
|
|
import javax.validation.Valid;
|
|
import javax.validation.Valid;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.xy.utils.PlusBeans.toIPage;
|
|
import static com.xy.utils.PlusBeans.toIPage;
|
|
import static com.xy.utils.PlusBeans.toPageBean;
|
|
import static com.xy.utils.PlusBeans.toPageBean;
|
|
@@ -69,7 +71,31 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
|
}
|
|
}
|
|
SysRole sysRole = Beans.copy(SysRole.class, sysRoleDto).saveOrUpdate(RedisCache.getLoginId(Long.class), id);
|
|
SysRole sysRole = Beans.copy(SysRole.class, sysRoleDto).saveOrUpdate(RedisCache.getLoginId(Long.class), id);
|
|
saveOrUpdate(sysRole);
|
|
saveOrUpdate(sysRole);
|
|
-
|
|
|
|
|
|
+ List<Long> menuIds = sysRoleDto.getMenuIds();
|
|
|
|
+ if (CollUtil.isNotEmpty(menuIds)) {
|
|
|
|
+ Boolean selectAdmin = false;
|
|
|
|
+ if (CommConsts.ADMIN_ROLE_CODE.equals(sysRole.getCode())) {
|
|
|
|
+ selectAdmin = true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Long sysRoleId = sysRole.getId();
|
|
|
|
+ sysRoleMenuService.remove(Wrappers.<SysRoleMenu>lambdaQuery().eq(SysRoleMenu::getRoleId, sysRoleId));
|
|
|
|
+
|
|
|
|
+ //角色菜单绑定
|
|
|
|
+ Boolean finalSelectAdmin = selectAdmin;
|
|
|
|
+ List<SysRoleMenu> sysRoleMenus = menuIds.stream().map(menuId -> {
|
|
|
|
+ SysRoleMenu sysRoleMenu = new SysRoleMenu()
|
|
|
|
+ .createId()
|
|
|
|
+ .setSelectAdmin(finalSelectAdmin)
|
|
|
|
+ .setMenuId(menuId)
|
|
|
|
+ .setRoleId(sysRoleId);
|
|
|
|
+ return sysRoleMenu;
|
|
|
|
+
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+ //批量保存菜单角色绑定关系
|
|
|
|
+ sysRoleMenuService.saveBatch(sysRoleMenus);
|
|
|
|
+ }
|
|
|
|
+
|
|
return R.ok(sysRole.getId());
|
|
return R.ok(sysRole.getId());
|
|
}
|
|
}
|
|
|
|
|