wuqiping
2021-06-09 f342a0d88b2a7168f794d0cf545d16a3138acb6d
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
@@ -65,6 +64,10 @@
                removeAttribute(menu);
            }
        }
        //menu进行排序
        if (!ObjectUtils.isEmpty(menus)) {
            orderRootMenu(menus);
        }
        vo.setAccountId(account.getId());
        vo.setUserName(account.getUserName());
        vo.setMenus(menus);
@@ -85,4 +88,39 @@
        }
    }
    /**
    * @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;
        }
    }
}