dzx il y a 1 an
Parent
commit
76c0570c35

+ 10 - 2
src/main/java/com/xjrsoft/module/ledger/service/impl/LedgerConfigReleaseServiceImpl.java

@@ -82,11 +82,15 @@ public class LedgerConfigReleaseServiceImpl extends MPJBaseServiceImpl<LedgerCon
 
     @Override
     public Boolean updateRelease(UpdateLedgerConfigReleaseDto dto) {
-        boolean exists = menuService.count(Wrappers.<Menu>lambdaQuery().eq(Menu::getCode, dto.getMenuConfig().getCode())) > 0;
+        LedgerConfigRelease configRelease = ledgerConfigReleaseMapper.selectById(dto.getId());
+        boolean exists = menuService.count(
+                Wrappers.<Menu>lambdaQuery()
+                        .eq(Menu::getCode, dto.getMenuConfig().getCode())
+                        .ne(Menu::getId, configRelease.getMenuId())
+        ) > 0;
         if (exists) {
             throw new MyException("菜单编码已存在");
         }
-        LedgerConfigRelease configRelease = ledgerConfigReleaseMapper.selectById(dto.getId());
         Menu menu = menuService.getById(configRelease.getMenuId());
 
         insertMenuConfig(dto.getMenuConfig(), dto.getId(), menu.getId());
@@ -134,6 +138,7 @@ public class LedgerConfigReleaseServiceImpl extends MPJBaseServiceImpl<LedgerCon
         menuConfig.setIcon(menu.getIcon());
         menuConfig.setCode(menu.getCode());
         menuConfig.setName(menu.getTitle());
+        menuConfig.setParentId(menu.getParentId().toString());
         menuConfig.setRemark(menu.getRemark());
         menuConfig.setSortCode(menu.getSortCode());
         vo.setMenuConfig(menuConfig);
@@ -150,12 +155,15 @@ public class LedgerConfigReleaseServiceImpl extends MPJBaseServiceImpl<LedgerCon
     @SneakyThrows
     private Long insertMenuConfig(MenuConfig menuConfig, Long releaseId, Long menuId) {
         Menu menu = BeanUtil.toBean(menuConfig, Menu.class);
+        Menu parentMenu = menuService.getById(menuConfig.getParentId());
         menu.setId(menuId);
         menu.setName(menuConfig.getName() + RandomUtil.randomNumbers(4));
         menu.setTitle(menuConfig.getName());
         menu.setMenuType(MenuType.FUNCTION.getCode());
         menu.setDisplay(YesOrNoEnum.YES.getCode());
         menu.setAllowDelete(YesOrNoEnum.YES.getCode());
+        menu.setSystemId(parentMenu.getSystemId());
+        menu.setSystemType(parentMenu.getSystemType());
         menu.setAllowModify(YesOrNoEnum.YES.getCode());
         menu.setOutLink(YesOrNoEnum.NO.getCode());
         menu.setKeepAlive(YesOrNoEnum.NO.getCode());