|
@@ -50,14 +50,27 @@ public class MenuService extends ServiceImpl<MenuMapper, Menu> implements IMenuS
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public RestResponse all() {
|
|
|
+ public RestResponse all(MenuRequest menuRequest) {
|
|
|
List<Menu> allMenus = this.list();
|
|
|
+ if(menuRequest.getCompanyId() != null){
|
|
|
+ //如果公司id不为空,获取当前公司已有的菜单信息
|
|
|
+ List<Menu> companyMenus = this.list(new QueryWrapper<Menu>().eq("company_id", menuRequest.getCompanyId()));
|
|
|
+ //在全部订单中设置选中
|
|
|
+ setMenuChecked(allMenus, companyMenus);
|
|
|
+ }
|
|
|
+
|
|
|
return RestResponse.ok(getMenuTree(allMenus), ApiConstants.RESULT_SUCCESS, "获取所有菜单信息");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public RestResponse list(MenuRequest menuRequest) {
|
|
|
List<Menu> menuList = this.list(new QueryWrapper<Menu>().eq("company_id", menuRequest.getCompanyId()));
|
|
|
+ if(menuRequest.getRoleId() != null){
|
|
|
+ //如果传递了角色,获取角色下的所有菜单
|
|
|
+ List<Menu> roleMenuList = getByRoleId(menuRequest.getRoleId());
|
|
|
+ //设置角色有的菜单为选中
|
|
|
+ setMenuChecked(menuList, roleMenuList);
|
|
|
+ }
|
|
|
return RestResponse.ok(getMenuTree(menuList), ApiConstants.RESULT_SUCCESS, "获取企业所有菜单信息");
|
|
|
}
|
|
|
|
|
@@ -66,16 +79,16 @@ public class MenuService extends ServiceImpl<MenuMapper, Menu> implements IMenuS
|
|
|
public RestResponse companyMenu(MenuRequest menuRequest) {
|
|
|
Long companyId = menuRequest.getCompanyId();
|
|
|
//删除企业原来关联的菜单
|
|
|
- List<CompanyMenu> needDeleteCompanuMenuList = companyMenuService.list(new QueryWrapper<CompanyMenu>()
|
|
|
- .eq("company_id", companyId)
|
|
|
+ List<CompanyMenu> needDeleteCompanyMenuList = companyMenuService.list(new QueryWrapper<CompanyMenu>()
|
|
|
+ .eq("company_id", companyId)
|
|
|
);
|
|
|
- List<Long> companyMenuIds = ProjectUtils.getAttrList(needDeleteCompanuMenuList, "id", null);
|
|
|
+ List<Long> companyMenuIds = ProjectUtils.getAttrList(needDeleteCompanyMenuList, "id", null);
|
|
|
companyMenuService.removeByIds(companyMenuIds);
|
|
|
//获取菜单id列表
|
|
|
List<Long> menuIdList = ProjectUtils.getLongIdFromIds(menuRequest.getMenuIds());
|
|
|
List<CompanyMenu> needSaveCompanyMenuList = new ArrayList<>();
|
|
|
if (menuIdList != null && menuIdList.size() > 0) {
|
|
|
- for(Long menuId:menuIdList){
|
|
|
+ for (Long menuId : menuIdList) {
|
|
|
CompanyMenu companyMenu = new CompanyMenu();
|
|
|
companyMenu.setCompanyId(companyId);
|
|
|
companyMenu.setMenuId(menuId);
|
|
@@ -83,7 +96,7 @@ public class MenuService extends ServiceImpl<MenuMapper, Menu> implements IMenuS
|
|
|
}
|
|
|
}
|
|
|
//保存公司菜单关联关系
|
|
|
- if(needSaveCompanyMenuList.size() > 0){
|
|
|
+ if (needSaveCompanyMenuList.size() > 0) {
|
|
|
companyMenuService.saveBatch(needSaveCompanyMenuList);
|
|
|
}
|
|
|
return RestResponse.ok(null, ApiConstants.RESULT_SUCCESS, "分配菜单成功");
|
|
@@ -113,4 +126,25 @@ public class MenuService extends ServiceImpl<MenuMapper, Menu> implements IMenuS
|
|
|
}
|
|
|
sb.append(url + ",");
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param moreMenuList 大的菜单列表
|
|
|
+ * @param lessMenuList 小的菜单列表
|
|
|
+ * @return
|
|
|
+ * @description 设置菜单选中
|
|
|
+ * @date 2019-12-20 16:33
|
|
|
+ */
|
|
|
+ private void setMenuChecked(List<Menu> moreMenuList, List<Menu> lessMenuList) {
|
|
|
+ if ((moreMenuList != null && moreMenuList.size() > 0)
|
|
|
+ && (lessMenuList != null && lessMenuList.size() > 0)) {
|
|
|
+ for (Menu moreMenu : moreMenuList) {
|
|
|
+ for (Menu lessMenu : lessMenuList) {
|
|
|
+ if (moreMenu.getId().equals(lessMenu.getId())) {
|
|
|
+ //设置菜单信息为选中
|
|
|
+ moreMenu.setChecked(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|