|
|
@@ -21,6 +21,7 @@ import com.xjrsoft.module.system.entity.Subsystem;
|
|
|
import com.xjrsoft.module.system.entity.XjrMenuQuick;
|
|
|
import com.xjrsoft.module.system.mapper.AuthorizeMapper;
|
|
|
import com.xjrsoft.module.system.mapper.MenuMapper;
|
|
|
+import com.xjrsoft.module.system.mapper.XjrMenuDeptRelationMapper;
|
|
|
import com.xjrsoft.module.system.mapper.XjrMenuQuickMapper;
|
|
|
import com.xjrsoft.module.system.service.IMenuService;
|
|
|
import com.xjrsoft.module.system.vo.*;
|
|
|
@@ -49,6 +50,8 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
|
|
|
|
|
|
private final XjrMenuQuickMapper menuQuickMapper;
|
|
|
|
|
|
+ private final XjrMenuDeptRelationMapper menuDeptRelationMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public List<MenuVo> getAuthMenuList(MenuTreeDto dto) {
|
|
|
List<Long> roleIds = getUserRoleIds();
|
|
|
@@ -189,21 +192,35 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
|
|
|
}
|
|
|
authMenuIdList = authorizeList.stream().map(Authorize::getObjectId).collect(Collectors.toList());
|
|
|
}
|
|
|
+ List<MenuVo> menuVos = this.selectJoinList(MenuVo.class,
|
|
|
+ MPJWrappers.<Menu>lambdaJoin()
|
|
|
+ .like(StrUtil.isNotBlank(dto.getTitle()), Menu::getTitle, dto.getTitle())
|
|
|
+ .like(StrUtil.isNotBlank(dto.getCode()), Menu::getCode, dto.getCode())
|
|
|
+ .like(StrUtil.isNotBlank(dto.getName()), Menu::getName, dto.getName())
|
|
|
+ .eq(ObjectUtil.isNotEmpty(dto.getSystemType()), Menu::getSystemType, dto.getSystemType())
|
|
|
+ .eq(ObjectUtil.isNotEmpty(dto.getDisplay()), Menu::getDisplay, dto.getDisplay())
|
|
|
+ .in(CollectionUtils.isNotEmpty(authMenuIdList), Menu::getId, authMenuIdList)
|
|
|
+ .select(Menu::getId)
|
|
|
+ .select("1 as authorized")
|
|
|
+ .selectAs(Subsystem::getName, MenuVo::getSystemName)
|
|
|
+ .select(Menu.class, x -> VoToColumnUtil.fieldsToColumns(MenuTreeVo.class).contains(x.getProperty()))
|
|
|
+ .leftJoin(Subsystem.class, Subsystem::getId, Menu::getSystemId)
|
|
|
+ .eq(Menu::getEnabledMark, EnabledMark.ENABLED.getCode())
|
|
|
+ .orderByAsc(Menu::getSortCode)
|
|
|
+ );
|
|
|
+ List<XjrMentDeptGroupVo> menuDept = menuDeptRelationMapper.getMenuDept();
|
|
|
+ Map<Long, String> deptNameMap = new HashMap<>();
|
|
|
+ Map<Long, String> deptIdMap = new HashMap<>();
|
|
|
+ for (XjrMentDeptGroupVo deptGroupVo : menuDept) {
|
|
|
+ deptNameMap.put(deptGroupVo.getMenuId(), deptGroupVo.getDeptNames());
|
|
|
+ deptIdMap.put(deptGroupVo.getMenuId(), deptGroupVo.getDeptIds());
|
|
|
+ }
|
|
|
+ for (MenuVo menuVo : menuVos) {
|
|
|
+ menuVo.setDeptId(deptIdMap.get(menuVo.getId()));
|
|
|
+ menuVo.setDeptName(deptNameMap.get(menuVo.getId()));
|
|
|
+ }
|
|
|
|
|
|
- return this.selectJoinList(MenuVo.class,
|
|
|
- MPJWrappers.<Menu>lambdaJoin()
|
|
|
- .like(StrUtil.isNotBlank(dto.getTitle()), Menu::getTitle, dto.getTitle())
|
|
|
- .like(StrUtil.isNotBlank(dto.getCode()), Menu::getCode, dto.getCode())
|
|
|
- .like(StrUtil.isNotBlank(dto.getName()), Menu::getName, dto.getName())
|
|
|
- .eq(ObjectUtil.isNotEmpty(dto.getSystemType()), Menu::getSystemType, dto.getSystemType())
|
|
|
- .eq(ObjectUtil.isNotEmpty(dto.getDisplay()),Menu::getDisplay, dto.getDisplay())
|
|
|
- .in(CollectionUtils.isNotEmpty(authMenuIdList), Menu::getId, authMenuIdList)
|
|
|
- .select(Menu::getId)
|
|
|
- .selectAs(Subsystem::getName, MenuVo::getSystemName)
|
|
|
- .select(Menu.class, x -> VoToColumnUtil.fieldsToColumns(MenuTreeVo.class).contains(x.getProperty()))
|
|
|
- .leftJoin(Subsystem.class, Subsystem::getId, Menu::getSystemId)
|
|
|
- .eq(Menu::getEnabledMark, EnabledMark.ENABLED.getCode())
|
|
|
- .orderByAsc(Menu::getSortCode));
|
|
|
+ return menuVos;
|
|
|
}
|
|
|
|
|
|
/**
|