Search in sources :

Example 1 with MenuDo

use of com.albedo.java.modules.sys.domain.MenuDo in project albedo by somowhere.

the class MenuDoResourceIntTest method createMenu.

@Test
@Transactional(rollbackFor = Exception.class)
public void createMenu() throws Exception {
    List<MenuDo> databaseSizeBeforeCreate = menuService.list();
    // Create the Menu
    restMenuMockMvc.perform(post(DEFAULT_API_URL).contentType(TestUtil.APPLICATION_JSON_UTF8).content(TestUtil.convertObjectToJsonBytes(menu))).andExpect(status().isOk());
    // Validate the Menu in the database
    List<MenuDo> menuDoList = menuService.list();
    assertThat(menuDoList).hasSize(databaseSizeBeforeCreate.size() + 1);
    MenuDo testMenuDo = menuService.getOne(Wrappers.<MenuDo>query().lambda().eq(MenuDo::getName, menu.getName()));
    assertThat(testMenuDo.getName()).isEqualTo(DEFAULT_NAME);
    assertThat(testMenuDo.getPermission()).isEqualTo(DEFAULT_PERMISSION);
    assertThat(testMenuDo.getIcon()).isEqualTo(DEFAULT_ICON);
    assertThat(testMenuDo.getSort()).isEqualTo(DEFAULT_SORT);
    assertThat(testMenuDo.getParentId()).isEqualTo(anotherMenu.getId());
    assertThat(testMenuDo.getParentIds()).contains(String.valueOf(anotherMenu.getId()));
    assertThat(testMenuDo.getComponent()).isEqualTo(DEFAULT_COMPONENT);
    assertThat(testMenuDo.getHidden()).isEqualTo(DEFAULT_HIDDEN);
    assertThat(testMenuDo.getCache()).isEqualTo(DEFAULT_CACHE);
    assertThat(testMenuDo.getIframe()).isEqualTo(DEFAULT_IFRAME);
    assertThat(testMenuDo.getType()).isEqualTo(DEFAULT_TYPE);
    assertThat(testMenuDo.getPath()).isEqualTo(DEFAULT_PATH);
    assertThat(testMenuDo.isLeaf()).isEqualTo(true);
    assertThat(testMenuDo.getDescription()).isEqualTo(DEFAULT_DESCRIPTION);
    assertThat(testMenuDo.getDelFlag()).isEqualTo(MenuDo.FLAG_NORMAL);
}
Also used : MenuDo(com.albedo.java.modules.sys.domain.MenuDo) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) Transactional(org.springframework.transaction.annotation.Transactional)

Example 2 with MenuDo

use of com.albedo.java.modules.sys.domain.MenuDo in project albedo by somowhere.

the class MenuDoResourceIntTest method testMenuEquals.

@Test
@Transactional(rollbackFor = Exception.class)
public void testMenuEquals() throws Exception {
    TestUtil.equalsVerifier(MenuDo.class);
    MenuDo menuDo1 = new MenuDo();
    menuDo1.setId(1L);
    menuDo1.setName("Menu1");
    MenuDo menuDo2 = new MenuDo();
    menuDo2.setId(menuDo1.getId());
    menuDo2.setName(menuDo1.getName());
    assertThat(menuDo1).isEqualTo(menuDo2);
    menuDo2.setId(2L);
    menuDo2.setName("Menu2");
    assertThat(menuDo1).isNotEqualTo(menuDo2);
    menuDo1.setId(null);
    assertThat(menuDo1).isNotEqualTo(menuDo2);
}
Also used : MenuDo(com.albedo.java.modules.sys.domain.MenuDo) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) Transactional(org.springframework.transaction.annotation.Transactional)

Example 3 with MenuDo

use of com.albedo.java.modules.sys.domain.MenuDo in project albedo by somowhere.

the class MenuDoResourceIntTest method updateMenu.

@Test
@Transactional(rollbackFor = Exception.class)
public void updateMenu() throws Exception {
    // Initialize the database
    menuService.saveOrUpdate(menu);
    int databaseSizeBeforeUpdate = menuService.list().size();
    // Update the menu
    MenuDo updatedMenuDo = menuService.getById(menu.getId());
    MenuDto managedMenuVM = new MenuDto();
    managedMenuVM.setName(UPDATED_NAME);
    managedMenuVM.setPermission(UPDATED_PERMISSION);
    managedMenuVM.setIcon(UPDATED_ICON);
    managedMenuVM.setSort(UPDATED_SORT);
    managedMenuVM.setHidden(UPDATED_HIDDEN);
    managedMenuVM.setCache(UPDATED_CACHE);
    managedMenuVM.setIframe(UPDATED_IFRAME);
    managedMenuVM.setParentId(UPDATED_PARENT_ID);
    managedMenuVM.setComponent(UPDATED_COMPONENT);
    managedMenuVM.setPath(UPDATED_PATH);
    managedMenuVM.setType(UPDATED_TYPE);
    managedMenuVM.setDescription(UPDATED_DESCRIPTION);
    managedMenuVM.setId(updatedMenuDo.getId());
    restMenuMockMvc.perform(post(DEFAULT_API_URL).contentType(TestUtil.APPLICATION_JSON_UTF8).content(TestUtil.convertObjectToJsonBytes(managedMenuVM))).andExpect(status().isOk()).andExpect(jsonPath("$.code").value(CommonConstants.SUCCESS));
    // Validate the Menu in the database
    List<MenuDo> menuDoList = menuService.list();
    assertThat(menuDoList).hasSize(databaseSizeBeforeUpdate);
    MenuDo testMenuDo = menuService.getById(updatedMenuDo.getId());
    assertThat(testMenuDo.getName()).isEqualTo(UPDATED_NAME);
    assertThat(testMenuDo.getPermission()).isEqualTo(UPDATED_PERMISSION);
    assertThat(testMenuDo.getIcon()).isEqualTo(UPDATED_ICON);
    assertThat(testMenuDo.getHidden()).isEqualTo(UPDATED_HIDDEN);
    assertThat(testMenuDo.getCache()).isEqualTo(UPDATED_CACHE);
    assertThat(testMenuDo.getIframe()).isEqualTo(UPDATED_IFRAME);
    assertThat(testMenuDo.getSort()).isEqualTo(UPDATED_SORT);
    assertThat(testMenuDo.getParentId()).isEqualTo(UPDATED_PARENT_ID);
    // assertThat(testMenu.getParentIds()).contains(UPDATED_PARENT_ID);
    assertThat(testMenuDo.getComponent()).isEqualTo(UPDATED_COMPONENT);
    assertThat(testMenuDo.getPath()).isEqualTo(UPDATED_PATH);
    assertThat(testMenuDo.getType()).isEqualTo(UPDATED_TYPE);
    assertThat(testMenuDo.isLeaf()).isEqualTo(true);
    assertThat(testMenuDo.getDescription()).isEqualTo(UPDATED_DESCRIPTION);
    assertThat(testMenuDo.getDelFlag()).isEqualTo(MenuDo.FLAG_NORMAL);
}
Also used : MenuDo(com.albedo.java.modules.sys.domain.MenuDo) MenuDto(com.albedo.java.modules.sys.domain.dto.MenuDto) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) Transactional(org.springframework.transaction.annotation.Transactional)

Example 4 with MenuDo

use of com.albedo.java.modules.sys.domain.MenuDo in project albedo by somowhere.

the class MenuServiceImpl method saveByGenScheme.

@Override
public boolean saveByGenScheme(GenSchemeDto schemeDto) {
    String moduleName = schemeDto.getSchemeName(), parentMenuId = schemeDto.getParentMenuId(), url = schemeDto.getUrl();
    String permission = StringUtil.toCamelCase(StringUtil.lowerFirst(url), CharUtil.DASHED).replace(StringUtil.SLASH, "_").substring(1), permissionLike = permission.substring(0, permission.length() - 1);
    List<MenuDo> currentMenuListDo = repository.selectList(Wrappers.<MenuDo>query().lambda().eq(MenuDo::getName, moduleName).or().likeLeft(MenuDo::getPermission, permissionLike));
    for (MenuDo currentMenuDo : currentMenuListDo) {
        if (currentMenuDo != null) {
            List<Long> idList = repository.selectList(Wrappers.<MenuDo>query().lambda().likeLeft(MenuDo::getPermission, permissionLike).or(i -> i.eq(MenuDo::getId, currentMenuDo.getId()).or().eq(MenuDo::getParentId, currentMenuDo.getId()))).stream().map(MenuDo::getId).collect(Collectors.toList());
            roleMenuRepository.delete(Wrappers.<RoleMenuDo>query().lambda().in(RoleMenuDo::getMenuId, idList));
            repository.deleteBatchIds(idList);
        }
    }
    MenuDo parentMenuDo = repository.selectById(parentMenuId);
    ArgumentAssert.notNull(parentMenuDo, StringUtil.toAppendStr("根据模块id[", parentMenuId, "无法查询到模块信息]"));
    MenuDo module = new MenuDo();
    module.setName(moduleName);
    module.setParentId(parentMenuDo.getId());
    module.setType(MenuDo.TYPE_MENU);
    module.setIcon("app");
    module.setPath(StringUtil.toRevertCamelCase(StringUtil.lowerFirst(schemeDto.getClassName()), CharUtil.DASHED));
    module.setComponent(url.substring(1) + "index");
    save(module);
    MenuDo moduleView = new MenuDo();
    moduleView.setParent(module);
    moduleView.setName(moduleName + "查看");
    moduleView.setPermission(permission + "view");
    moduleView.setParentId(module.getId());
    moduleView.setType(MenuDo.TYPE_BUTTON);
    moduleView.setSort(20);
    save(moduleView);
    MenuDo moduleEdit = new MenuDo();
    moduleEdit.setParent(module);
    moduleEdit.setName(moduleName + "编辑");
    moduleEdit.setPermission(permission + "edit");
    moduleEdit.setParentId(module.getId());
    moduleEdit.setType(MenuDo.TYPE_BUTTON);
    moduleEdit.setSort(40);
    save(moduleEdit);
    MenuDo moduleDelete = new MenuDo();
    moduleDelete.setParent(module);
    moduleDelete.setName(moduleName + "删除");
    moduleDelete.setPermission(permission + "del");
    moduleDelete.setParentId(module.getId());
    moduleDelete.setType(MenuDo.TYPE_BUTTON);
    moduleDelete.setSort(80);
    save(moduleDelete);
    return true;
}
Also used : MenuDo(com.albedo.java.modules.sys.domain.MenuDo) RoleMenuDo(com.albedo.java.modules.sys.domain.RoleMenuDo)

Example 5 with MenuDo

use of com.albedo.java.modules.sys.domain.MenuDo in project albedo by somowhere.

the class MenuServiceImpl method sortUpdate.

@Override
public void sortUpdate(MenuSortDto menuSortDto) {
    menuSortDto.getMenuSortList().forEach(menuSortVo -> {
        MenuDo menuDo = repository.selectById(menuSortVo.getId());
        if (menuDo != null) {
            menuDo.setSort(menuSortVo.getSort());
            repository.updateById(menuDo);
        }
    });
}
Also used : MenuDo(com.albedo.java.modules.sys.domain.MenuDo) RoleMenuDo(com.albedo.java.modules.sys.domain.RoleMenuDo)

Aggregations

MenuDo (com.albedo.java.modules.sys.domain.MenuDo)8 Test (org.junit.jupiter.api.Test)5 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)5 Transactional (org.springframework.transaction.annotation.Transactional)5 RoleMenuDo (com.albedo.java.modules.sys.domain.RoleMenuDo)3 MenuDto (com.albedo.java.modules.sys.domain.dto.MenuDto)3 BizException (com.albedo.java.common.core.exception.BizException)1