|  |  | 
 |  |  | 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 | 
 |  |  | 
 |  |  |                 removeAttribute(menu); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         //menu进行排序 | 
 |  |  |         if (!ObjectUtils.isEmpty(menus)) { | 
 |  |  |             orderRootMenu(menus); | 
 |  |  |         } | 
 |  |  |         vo.setAccountId(account.getId()); | 
 |  |  |         vo.setUserName(account.getUserName()); | 
 |  |  |         vo.setMenus(menus); | 
 |  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |     * @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; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } |