1、修复菜单无法编辑
2、完善运输计划 3、完善运单管理 4、新增配置管理
This commit is contained in:
@@ -293,14 +293,19 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements IM
|
||||
@Override
|
||||
public boolean submit(Menu menu) {
|
||||
boolean isNewMenu = menu.getId() == null;
|
||||
Menu oldMenu = isNewMenu ? null : getById(menu.getId());
|
||||
|
||||
// 验证code和name唯一性
|
||||
LambdaQueryWrapper<Menu> menuQueryWrapper = Wrappers.<Menu>lambdaQuery()
|
||||
.and(!isNewMenu, w -> w.ne(Menu::getId, menu.getId()))
|
||||
.and(w -> w.eq(Menu::getCode, menu.getCode())
|
||||
.or(o -> o.eq(Menu::getName, menu.getName()).eq(Menu::getCategory, MENU_CATEGORY)));
|
||||
|
||||
if (baseMapper.selectCount(menuQueryWrapper) > 0L) {
|
||||
boolean codeChanged = isNewMenu || oldMenu == null || !Objects.equals(oldMenu.getCode(), menu.getCode());
|
||||
boolean nameChanged = isNewMenu || oldMenu == null || !Objects.equals(oldMenu.getName(), menu.getName()) || !Objects.equals(oldMenu.getCategory(), menu.getCategory());
|
||||
boolean duplicateCode = codeChanged && Func.isNotBlank(menu.getCode()) && baseMapper.selectCount(Wrappers.<Menu>lambdaQuery()
|
||||
.ne(!isNewMenu, Menu::getId, menu.getId())
|
||||
.eq(Menu::getCode, menu.getCode())) > 0L;
|
||||
boolean duplicateName = nameChanged && Objects.equals(menu.getCategory(), MENU_CATEGORY) && Func.isNotBlank(menu.getName()) && baseMapper.selectCount(Wrappers.<Menu>lambdaQuery()
|
||||
.ne(!isNewMenu, Menu::getId, menu.getId())
|
||||
.eq(Menu::getName, menu.getName())
|
||||
.eq(Menu::getCategory, MENU_CATEGORY)) > 0L;
|
||||
if (duplicateCode || duplicateName) {
|
||||
throw new ServiceException("菜单名或编号已存在!");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user