From 188e49976c393005b9e43546566b0747dd93515d Mon Sep 17 00:00:00 2001 From: dzq Date: Fri, 16 May 2025 10:21:35 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E8=8F=9C=E5=8D=95=E6=9C=8D=E5=8A=A1):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=8F=9C=E5=8D=95meta=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在菜单服务中,增加了对meta信息的转换处理,并添加了异常捕获和日志记录,以避免转换失败导致的问题。 --- .../domain/system/menu/MenuApplicationService.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/system/menu/MenuApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/system/menu/MenuApplicationService.java index 2699872..5ff7175 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/system/menu/MenuApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/system/menu/MenuApplicationService.java @@ -4,10 +4,12 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.lang.tree.TreeNodeConfig; import cn.hutool.core.lang.tree.TreeUtil; +import cn.hutool.json.JSONUtil; import com.agileboot.domain.system.menu.command.AddMenuCommand; import com.agileboot.domain.system.menu.command.UpdateMenuCommand; import com.agileboot.domain.system.menu.dto.MenuDTO; import com.agileboot.domain.system.menu.dto.MenuDetailDTO; +import com.agileboot.domain.system.menu.dto.MetaDTO; import com.agileboot.domain.system.menu.dto.RouterDTO; import com.agileboot.domain.system.menu.model.MenuModel; import com.agileboot.domain.system.menu.model.MenuModelFactory; @@ -21,12 +23,14 @@ import java.util.LinkedList; import java.util.List; import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; /** * 菜单应用服务 * @author valarchie */ +@Slf4j @Service @RequiredArgsConstructor public class MenuApplicationService { @@ -135,8 +139,12 @@ public class MenuApplicationService { // 也可以使用 tree.setId(dept.getId());等一些默认值 tree.setId(menu.getMenuId()); tree.setParentId(menu.getParentId()); - // TODO 可以取meta中的rank来排序 -// tree.setWeight(menu.getRank()); + try { + MetaDTO meta = JSONUtil.toBean(menu.getMetaInfo(), MetaDTO.class); + tree.setWeight(meta.getRank()); + } catch (Exception e) { + log.error("菜单metaInfo转换失败", e); + } tree.putExtra("entity", menu); });