|
@@ -1,5 +1,6 @@
|
|
|
package com.fire.admin.util;
|
|
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.fire.admin.vo.DeptTreeVo;
|
|
|
import com.fire.admin.vo.MenuMetaVo;
|
|
@@ -33,26 +34,27 @@ public class PreUtil {
|
|
|
MenuVo menuVo = new MenuVo();
|
|
|
menuVo.setName(sysMenu.getName());
|
|
|
menuVo.setPath(sysMenu.getPath());
|
|
|
- // 如果不是外链
|
|
|
+ // TODO 如果不是外链
|
|
|
if (sysMenu.getIsFrame()) {
|
|
|
- if (sysMenu.getParentId().equals(0)) {
|
|
|
- //一级目录需要加斜杠,不然访问 会跳转404页面
|
|
|
- menuVo.setPath("/" + sysMenu.getPath());
|
|
|
+ if (sysMenu.getParentId().equals(0L)) {
|
|
|
+ // TODO一级目录需要加斜杠,不然访问 会跳转404页面
|
|
|
+ menuVo.setPath("/".concat(sysMenu.getPath()));
|
|
|
menuVo.setComponent(StrUtil.isEmpty(sysMenu.getComponent()) ? "Layout" : sysMenu.getComponent());
|
|
|
} else if (!StrUtil.isEmpty(sysMenu.getComponent())) {
|
|
|
menuVo.setComponent(sysMenu.getComponent());
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
menuVo.setMeta(new MenuMetaVo(sysMenu.getName(), sysMenu.getIcon()));
|
|
|
if (menuDTOList != null && menuDTOList.size() != 0 && sysMenu.getType() == 0) {
|
|
|
menuVo.setChildren(buildMenus(menuDTOList));
|
|
|
- // 处理是一级菜单并且没有子菜单的情况
|
|
|
- } else if (sysMenu.getParentId().equals(0)) {
|
|
|
+ // TODO 处理是一级菜单并且没有子菜单的情况
|
|
|
+ } else if (sysMenu.getParentId().equals(0L)) {
|
|
|
menuVo.setAlwaysShow(false);
|
|
|
menuVo.setRedirect("noredirect");
|
|
|
MenuVo menuVo1 = new MenuVo();
|
|
|
menuVo1.setMeta(menuVo.getMeta());
|
|
|
- // 非外链
|
|
|
+ // TODO 非外链
|
|
|
if (sysMenu.getIsFrame()) {
|
|
|
menuVo1.setPath("index");
|
|
|
menuVo1.setName(menuVo.getName());
|
|
@@ -75,13 +77,13 @@ public class PreUtil {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * @Description: TODO 遍历菜单
|
|
|
- * @Param: [menuList, menus, menuType]
|
|
|
- * @return: void
|
|
|
- * @Author: liuliu
|
|
|
- * @Date: 2021/5/13 18:24
|
|
|
- */
|
|
|
- public void findChildren(List<SysMenu> menuList, List<SysMenu> menus, int menuType) {
|
|
|
+ * @Description: TODO 遍历菜单
|
|
|
+ * @Param: [menuList, menus, menuType]
|
|
|
+ * @return: void
|
|
|
+ * @Author: liuliu
|
|
|
+ * @Date: 2021/5/13 18:24
|
|
|
+ */
|
|
|
+ public void findChildren(List<SysMenu> menuList, List<SysMenu> menus, Integer menuType) {
|
|
|
for (SysMenu sysMenu : menuList) {
|
|
|
List<SysMenu> children = new ArrayList<>();
|
|
|
for (SysMenu menu : menus) {
|
|
@@ -89,7 +91,7 @@ public class PreUtil {
|
|
|
// 如果是获取类型不需要按钮,且菜单类型是按钮的,直接过滤掉
|
|
|
continue;
|
|
|
}
|
|
|
- if (sysMenu.getMenuId() != null && sysMenu.getMenuId().equals(menu.getParentId())) {
|
|
|
+ if (ObjectUtil.isNotEmpty(sysMenu.getMenuId()) && sysMenu.getMenuId().equals(menu.getParentId())) {
|
|
|
menu.setParentName(sysMenu.getName());
|
|
|
menu.setLevel(sysMenu.getLevel() + 1);
|
|
|
if (exists(children, menu)) {
|
|
@@ -105,12 +107,12 @@ public class PreUtil {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * @Description: TODO 构建部门tree
|
|
|
- * @Param: [sysDepts, depts]
|
|
|
- * @return: void
|
|
|
- * @Author: liuliu
|
|
|
- * @Date: 2021/5/13 18:25
|
|
|
- */
|
|
|
+ * @Description: TODO 构建部门tree
|
|
|
+ * @Param: [sysDepts, depts]
|
|
|
+ * @return: void
|
|
|
+ * @Author: liuliu
|
|
|
+ * @Date: 2021/5/13 18:25
|
|
|
+ */
|
|
|
public void findChildren(List<SysDept> sysDepts, List<SysDept> depts) {
|
|
|
|
|
|
for (SysDept sysDept : sysDepts) {
|
|
@@ -129,12 +131,12 @@ public class PreUtil {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * @Description: TODO 构建部门tree
|
|
|
- * @Param: [sysDepts, depts]
|
|
|
- * @return: void
|
|
|
- * @Author: liuliu
|
|
|
- * @Date: 2021/5/13 18:25
|
|
|
- */
|
|
|
+ * @Description: TODO 构建部门tree
|
|
|
+ * @Param: [sysDepts, depts]
|
|
|
+ * @return: void
|
|
|
+ * @Author: liuliu
|
|
|
+ * @Date: 2021/5/13 18:25
|
|
|
+ */
|
|
|
public void findChildren1(List<DeptTreeVo> sysDepts, List<SysDept> depts) {
|
|
|
|
|
|
for (DeptTreeVo sysDept : sysDepts) {
|
|
@@ -142,7 +144,7 @@ public class PreUtil {
|
|
|
sysDept.setLabel(sysDept.getLabel());
|
|
|
List<DeptTreeVo> children = new ArrayList<>();
|
|
|
for (SysDept dept : depts) {
|
|
|
- if (sysDept.getId() == dept.getParentId()) {
|
|
|
+ if (sysDept.getId().equals(dept.getParentId())) {
|
|
|
DeptTreeVo deptTreeVo1 = new DeptTreeVo();
|
|
|
deptTreeVo1.setLabel(dept.getName());
|
|
|
deptTreeVo1.setId(dept.getDeptId());
|
|
@@ -156,12 +158,12 @@ public class PreUtil {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * @Description: TODO 判断菜单是否存在
|
|
|
- * @Param: [sysMenus, sysMenu]
|
|
|
- * @return: boolean
|
|
|
- * @Author: liuliu
|
|
|
- * @Date: 2021/5/13 18:25
|
|
|
- */
|
|
|
+ * @Description: TODO 判断菜单是否存在
|
|
|
+ * @Param: [sysMenus, sysMenu]
|
|
|
+ * @return: boolean
|
|
|
+ * @Author: liuliu
|
|
|
+ * @Date: 2021/5/13 18:25
|
|
|
+ */
|
|
|
public boolean exists(List<SysMenu> sysMenus, SysMenu sysMenu) {
|
|
|
boolean exist = false;
|
|
|
for (SysMenu menu : sysMenus) {
|
|
@@ -174,12 +176,12 @@ public class PreUtil {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * @Description: TODO 生成BCryptPasswordEncoder密码
|
|
|
- * @Param: [rawPass]
|
|
|
- * @return: java.lang.String
|
|
|
- * @Author: liuliu
|
|
|
- * @Date: 2021/5/13 18:25
|
|
|
- */
|
|
|
+ * @Description: TODO 生成BCryptPasswordEncoder密码
|
|
|
+ * @Param: [rawPass]
|
|
|
+ * @return: java.lang.String
|
|
|
+ * @Author: liuliu
|
|
|
+ * @Date: 2021/5/13 18:25
|
|
|
+ */
|
|
|
public String encode(String rawPass) {
|
|
|
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
|
|
|
return passwordEncoder.encode(rawPass);
|
|
@@ -187,12 +189,12 @@ public class PreUtil {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * @Description: TODO 校验密码
|
|
|
- * @Param: [newPass, passwordEncoderOldPass]
|
|
|
- * @return: boolean
|
|
|
- * @Author: liuliu
|
|
|
- * @Date: 2021/5/13 18:25
|
|
|
- */
|
|
|
+ * @Description: TODO 校验密码
|
|
|
+ * @Param: [newPass, passwordEncoderOldPass]
|
|
|
+ * @return: boolean
|
|
|
+ * @Author: liuliu
|
|
|
+ * @Date: 2021/5/13 18:25
|
|
|
+ */
|
|
|
public boolean validatePass(String newPass, String passwordEncoderOldPass) {
|
|
|
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
|
|
|
return passwordEncoder.matches(newPass, passwordEncoderOldPass);
|
|
@@ -200,12 +202,12 @@ public class PreUtil {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * @Description: TODO 不重复的验证码
|
|
|
- * @Param: [i]
|
|
|
- * @return: java.lang.String
|
|
|
- * @Author: liuliu
|
|
|
- * @Date: 2021/5/13 18:26
|
|
|
- */
|
|
|
+ * @Description: TODO 不重复的验证码
|
|
|
+ * @Param: [i]
|
|
|
+ * @return: java.lang.String
|
|
|
+ * @Author: liuliu
|
|
|
+ * @Date: 2021/5/13 18:26
|
|
|
+ */
|
|
|
public String codeGen(int i) {
|
|
|
char[] codeSequence = {'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', 'L', 'K', 'J', 'H', 'G', 'F', 'D', 'S', 'A', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'};
|
|
|
Random random = new Random();
|