jinpengyong
2022-03-09 8228b06f808840d95d58e4ad457e072800af33e6
screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java
@@ -4,12 +4,11 @@
import com.moral.api.entity.ManageAccount;
import com.moral.api.entity.ManageMenu;
import com.moral.api.entity.ManageRole;
import com.moral.api.pojo.dto.login.AccountInfoDTO;
import com.moral.api.pojo.redisBean.AccountInfoDTO;
import lombok.Data;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
/**
 * @ClassName AccountInfoVO
@@ -62,18 +61,12 @@
        /*过滤menu无用属性*/
        if (!ObjectUtils.isEmpty(menus)) {
            for (ManageMenu menu : menus) {
                menu.setCreateTime(null);
                menu.setIsDelete(null);
                menu.setUpdateTime(null);
                menu.setParentId(null);
                List<ManageMenu> children = menu.getChildren();
                for (ManageMenu child : children) {
                    child.setCreateTime(null);
                    child.setIsDelete(null);
                    child.setUpdateTime(null);
                    child.setParentId(null);
                }
                removeAttribute(menu);
            }
        }
        //menu进行排序
        if (!ObjectUtils.isEmpty(menus)) {
            orderRootMenu(menus);
        }
        vo.setAccountId(account.getId());
        vo.setUserName(account.getUserName());
@@ -82,4 +75,52 @@
        return vo;
    }
    public static void removeAttribute(ManageMenu menu) {
        menu.setCreateTime(null);
        menu.setIsDelete(null);
        menu.setUpdateTime(null);
        menu.setParentId(null);
        if (ObjectUtils.isEmpty(menu.getChildren()))
            return;
        List<ManageMenu> children = menu.getChildren();
        for (ManageMenu child : children) {
            removeAttribute(child);
        }
    }
    /**
    * @Description: 对根菜单进行排序
            * @Param: [menus]
            * @return: void
            * @Author: 陈凯裕
            * @Date: 2021/6/8
            */
    public static void orderRootMenu(List<ManageMenu> menus){
        menus.sort(Comparator.comparing(ManageMenu::getOrder));
        for (ManageMenu menu : menus) {
            orderMenu(menu);
        }
    }
    /**
    * @Description: 对非根菜单进行排序
            * @Param: [menu]
            * @return: void
            * @Author: 陈凯裕
            * @Date: 2021/6/8
            */
    public static void orderMenu(ManageMenu menu){
        List<ManageMenu> children = menu.getChildren();
        if(!ObjectUtils.isEmpty(children)){
            children.sort(Comparator.comparing(ManageMenu::getOrder));
            for (ManageMenu child : children) {
                orderMenu(child);
            }
        }else{
            return;
        }
    }
}