From 47b5bd7afedc846d55facc1442c5836d63dd3fcd Mon Sep 17 00:00:00 2001 From: lihongjie0209 Date: Fri, 9 May 2025 20:30:39 +0800 Subject: [PATCH] =?UTF-8?q?feat(bizLog):=20=E6=B7=BB=E5=8A=A0=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E5=85=A8=E8=B7=AF=E5=BE=84=E5=AD=97=E6=AE=B5=E5=B9=B6?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AE=9E=E4=BD=93=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 BizLogDto、CreateBizLogDto 和 BizLogEntity 中添加菜单全路径字段 - 在 BizLogEntity 中添加 prePersist 和 preUpdate 方法,用于生成菜单全路径- 为 BizLogEntity 添加索引,提高查询效率 --- .../lihongjie/coal/bizLog/dto/BizLogDto.java | 4 ++ .../coal/bizLog/dto/CreateBizLogDto.java | 4 ++ .../coal/bizLog/entity/BizLogEntity.java | 47 +++++++++++++++++-- 3 files changed, 51 insertions(+), 4 deletions(-) diff --git a/src/main/java/cn/lihongjie/coal/bizLog/dto/BizLogDto.java b/src/main/java/cn/lihongjie/coal/bizLog/dto/BizLogDto.java index 148eba44..50130dc3 100644 --- a/src/main/java/cn/lihongjie/coal/bizLog/dto/BizLogDto.java +++ b/src/main/java/cn/lihongjie/coal/bizLog/dto/BizLogDto.java @@ -26,6 +26,10 @@ public class BizLogDto extends OrgCommonDto { @Comment("五级菜单") private String level5; + + @Comment("菜单全路径") + private String menuPath; + @Comment("功能点") private String functionPoint; diff --git a/src/main/java/cn/lihongjie/coal/bizLog/dto/CreateBizLogDto.java b/src/main/java/cn/lihongjie/coal/bizLog/dto/CreateBizLogDto.java index caae7e18..93e4b993 100644 --- a/src/main/java/cn/lihongjie/coal/bizLog/dto/CreateBizLogDto.java +++ b/src/main/java/cn/lihongjie/coal/bizLog/dto/CreateBizLogDto.java @@ -26,6 +26,10 @@ public class CreateBizLogDto extends OrgCommonDto { @Comment("五级菜单") private String level5; + + @Comment("菜单全路径") + private String menuPath; + @Comment("功能点") private String functionPoint; diff --git a/src/main/java/cn/lihongjie/coal/bizLog/entity/BizLogEntity.java b/src/main/java/cn/lihongjie/coal/bizLog/entity/BizLogEntity.java index c537c9dc..ac98d924 100644 --- a/src/main/java/cn/lihongjie/coal/bizLog/entity/BizLogEntity.java +++ b/src/main/java/cn/lihongjie/coal/bizLog/entity/BizLogEntity.java @@ -10,14 +10,17 @@ import lombok.Data; import org.hibernate.annotations.Comment; import java.time.LocalDateTime; +import java.util.stream.Stream; @Data @Entity @Table( - indexes = - @jakarta.persistence.Index( - name = "idx_bizLog_org_id", - columnList = "organization_id")) + indexes = { + @jakarta.persistence.Index(name = "idx_bizLog_org_id", columnList = "organization_id"), + @jakarta.persistence.Index(name = "idx_bizLog_createUserId", columnList = "create_user_id"), + @jakarta.persistence.Index(name = "idx_bizLog_menuPath", columnList = "menu_path"), + + }) public class BizLogEntity extends OrgCommonEntity { @Comment("一级菜单") @@ -34,6 +37,9 @@ public class BizLogEntity extends OrgCommonEntity { @Comment("五级菜单") private String level5; + + @Comment("菜单全路径") + private String menuPath; @Comment("功能点") private String functionPoint; @@ -67,4 +73,37 @@ public class BizLogEntity extends OrgCommonEntity { @Comment("备用字段5") private String reverse5; + + + @Override + public void prePersist() { + super.prePersist(); + this.setOperationTime(LocalDateTime.now()); + this.menuPath = + Stream.of( + this.getLevel1(), + this.getLevel2(), + this.getLevel3(), + this.getLevel4(), + this.getLevel5()) + .filter(s -> s != null && !s.isBlank()) + .reduce((a, b) -> a + "/" + b) + .orElse(null); + } + + @Override + public void preUpdate() { + super.preUpdate(); + + this.menuPath = + Stream.of( + this.getLevel1(), + this.getLevel2(), + this.getLevel3(), + this.getLevel4(), + this.getLevel5()) + .filter(s -> s != null && !s.isBlank()) + .reduce((a, b) -> a + "/" + b) + .orElse(null); + } }