From 7bf9583e3fd56020cbc62a5e87ff5987b8070ca5 Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Thu, 13 May 2021 16:00:35 +0800 Subject: [PATCH] screen-manage 更改返回菜单vo对象属性名称 --- screen-manage/src/main/java/com/moral/api/pojo/vo/menu/MenuQueryVO.java | 69 ++++++++++++++++++++++++++++++++-- 1 files changed, 65 insertions(+), 4 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..c7930c4 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; + List<MenuVO> menus; - 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.setMenus(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