|
@@ -162,7 +162,7 @@ public class RoleService extends ServiceImpl<RoleMapper, Role> implements IRoleS
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public boolean saveDefaultMessage(Long companyId) {
|
|
|
+ public boolean saveDefaultMessage(Long companyId, int defaultAssign, String assignMenuIds) {
|
|
|
//默认角色列表
|
|
|
List<Role> defaultRoleList = new ArrayList<>();
|
|
|
for (CommonEnum.DefaultRole defaultRole : DefaultMenuConstants.DEFAULT_ROLE) {
|
|
@@ -175,22 +175,33 @@ public class RoleService extends ServiceImpl<RoleMapper, Role> implements IRoleS
|
|
|
if (!this.saveBatch(defaultRoleList)) {
|
|
|
return false;
|
|
|
}
|
|
|
- //关联关系列表
|
|
|
- List<RoleMenu> needSaveRoleMenuList = new ArrayList<>();
|
|
|
- //生成角色菜单关联关系
|
|
|
- for (Role role : defaultRoleList) {
|
|
|
- long[] menuIds = DefaultMenuConstants.DEFAULT_ROLE_MENUIDS.get(role.getCode());
|
|
|
- for (Long menuId : menuIds) {
|
|
|
- RoleMenu roleMenu = new RoleMenu();
|
|
|
- roleMenu.setMenuId(menuId);
|
|
|
- roleMenu.setRoleId(role.getId());
|
|
|
- needSaveRoleMenuList.add(roleMenu);
|
|
|
+ //获取当前企业的企业管理员
|
|
|
+ Role enterpriseAdminRole = this.getOne(new QueryWrapper<Role>()
|
|
|
+ .eq("company_id", companyId)
|
|
|
+ .eq("code", CommonEnum.DefaultRole.ENTERPRISE_ADMIN.getCode())
|
|
|
+ );
|
|
|
+ if(0 == defaultAssign) {
|
|
|
+ //菜单默认分配方式
|
|
|
+ //关联关系列表
|
|
|
+ List<RoleMenu> needSaveRoleMenuList = new ArrayList<>();
|
|
|
+ //生成角色菜单关联关系
|
|
|
+ for (Role role : defaultRoleList) {
|
|
|
+ long[] menuIds = DefaultMenuConstants.DEFAULT_ROLE_MENUIDS.get(role.getCode());
|
|
|
+ for (Long menuId : menuIds) {
|
|
|
+ RoleMenu roleMenu = new RoleMenu();
|
|
|
+ roleMenu.setMenuId(menuId);
|
|
|
+ roleMenu.setRoleId(role.getId());
|
|
|
+ needSaveRoleMenuList.add(roleMenu);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- //需要保存角色菜单信息
|
|
|
- if (!roleMenuService.saveBatch(needSaveRoleMenuList)) {
|
|
|
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
- return false;
|
|
|
+ //需要保存角色菜单信息
|
|
|
+ if (!roleMenuService.saveBatch(needSaveRoleMenuList)) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //菜单手动分配方式
|
|
|
+
|
|
|
}
|
|
|
return true;
|
|
|
}
|