From c7dd4a195d8d893d92c49963447cdf6486844584 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Fri, 20 Oct 2023 09:45:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wb' into cjl
---
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