From 19792073aeb0462088208334b4bd4241571630d4 Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Tue, 27 Apr 2021 09:13:43 +0800 Subject: [PATCH] screen-manage 菜单删除和添加功能 --- screen-manage/src/main/java/com/moral/api/pojo/vo/menu/MenuQueryVO.java | 67 ++++++++++++++++++++++++++++++++- 1 files changed, 64 insertions(+), 3 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/menu/MenuQueryVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/menu/MenuQueryVO.java index 5613bca..6c0a1f0 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/vo/menu/MenuQueryVO.java +++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/menu/MenuQueryVO.java @@ -1,8 +1,16 @@ package com.moral.api.pojo.vo.menu; -import com.moral.api.pojo.dto.menu.MenuQueryDto; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.moral.api.entity.Menu; +import com.moral.api.pojo.dto.menu.MenuDTO; +import com.moral.api.pojo.dto.menu.MenuQueryDTO; +import com.moral.constant.ResponseCodeEnum; import lombok.Data; +import org.springframework.util.ObjectUtils; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.List; /** @@ -13,11 +21,64 @@ * @Version TODO **/ @Data +@JsonInclude(JsonInclude.Include.NON_EMPTY) public class MenuQueryVO { List<MenuVO> vos; - public static MenuQueryVO convert(MenuQueryDto dto){ - return null; + public static MenuQueryVO convert(MenuQueryDTO dto) { + if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) + return null; + MenuQueryVO vo = new MenuQueryVO(); + List<MenuDTO> dtos = dto.getDtos(); + List<MenuVO> vos = new ArrayList<>(); + for (MenuDTO menuDTO : dtos) { + MenuVO menuVO = convertToQueryPage(menuDTO); + vos.add(menuVO); + } + //������������������������ + Collections.sort(vos, new Comparator<MenuVO>() { + @Override + public int compare(MenuVO o1, MenuVO o2) { + return o1.getOrder() - o2.getOrder(); + } + }); + vo.setVos(vos); + return vo; } + + private static MenuVO convertToQueryPage(MenuDTO dto) { + Menu menu = dto.getMenu(); + MenuVO menuVO = convertToQueryPage(menu); + return menuVO; + } + + private static MenuVO convertToQueryPage(Menu menu) { + MenuVO vo = new MenuVO(); + vo.setId(menu.getId()); + vo.setParentId(menu.getParentId()); + vo.setUrl(menu.getUrl()); + vo.setIcon(menu.getIcon()); + vo.setName(menu.getName()); + vo.setOrder(menu.getOrder()); + List<MenuVO> vos = new ArrayList<>(); + List<Menu> children = menu.getChildren(); + if (!ObjectUtils.isEmpty(children)) { + //���children���������������������order������ + Collections.sort(children, new Comparator<Menu>() { + @Override + public int compare(Menu o1, Menu o2) { + return o1.getOrder() - o2.getOrder(); + } + }); + for (Menu child : children) { + MenuVO menuVO = convertToQueryPage(child); + vos.add(menuVO); + } + vo.setChildren(vos); + } + return vo; + } + } + -- Gitblit v1.8.0