From 1a84c06e5befca9286e50f489692f4e612b7e637 Mon Sep 17 00:00:00 2001 From: zhenggm Date: Tue, 12 Jul 2022 17:54:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E6=A0=91=E5=9E=8B?= =?UTF-8?q?=E8=A1=A8=E5=8A=A0=E5=AD=97=E6=AE=B5level?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cc/smtweb/framework/core/common/SwEnum.java | 3 ++- .../java/cc/smtweb/framework/core/db/vo/ModelTable.java | 10 ++++++++++ .../cc/smtweb/framework/core/mvc/service/TreeHelper.java | 15 ++++++++++----- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/common/SwEnum.java b/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/common/SwEnum.java index d859d04..505c53a 100644 --- a/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/common/SwEnum.java +++ b/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/common/SwEnum.java @@ -39,7 +39,8 @@ public interface SwEnum { public static FieldTypeBean NAME = instance.addEnum(3, "名称字段", DataType.NAME.value,1); public static FieldTypeBean PARENT_ID = instance.addEnum(4, "父ID", DataType.ID.value); public static FieldTypeBean LEVEL_CODE = instance.addEnum(5, "级次码", DataType.CODE.value); - public static FieldTypeBean ORDER = instance.addEnum(6, "排序字段", ""); + public static FieldTypeBean LEVEL = instance.addEnum(6, "级次", DataType.SHORT.value); +// public static FieldTypeBean ORDER = instance.addEnum(6, "排序字段", ""); public static FieldTypeBean CREATE_USER = instance.addEnum(7, "创建人", DataType.ID.value); public static FieldTypeBean CREATE_TIME = instance.addEnum(8, "创建时间", DataType.DATETIME.value); public static FieldTypeBean UPDATE_USER = instance.addEnum(9, "更新人", DataType.ID.value); diff --git a/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/db/vo/ModelTable.java b/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/db/vo/ModelTable.java index 8ffeea1..0300314 100644 --- a/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/db/vo/ModelTable.java +++ b/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/db/vo/ModelTable.java @@ -231,6 +231,16 @@ public class ModelTable extends DefaultEntity { return null; } + public String findFieldNameByType(int type) { + for (ModelField value : fields) { + if (type == value.getFieldType()) { + return value.getName(); + } + } + + return null; + } + public ModelField findIdField() { ModelIndex index = findPrimaryIndex(); if (index != null) { diff --git a/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/mvc/service/TreeHelper.java b/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/mvc/service/TreeHelper.java index 413bb37..889a446 100644 --- a/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/mvc/service/TreeHelper.java +++ b/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/mvc/service/TreeHelper.java @@ -31,6 +31,7 @@ public class TreeHelper { private EntityDao dao; private String fieldParent; + private String fieldLevel; private String fieldLevelCode; @@ -58,16 +59,19 @@ public class TreeHelper { cache = CacheManager.getIntance().getCache(tableName); dao = DbEngine.getInstance().findDao(tableName); - ModelField field = table.findFieldByType(SwEnum.FieldType.PARENT_ID.value); - fieldParent = field.getName(); - field = table.findFieldByType(SwEnum.FieldType.LEVEL_CODE.value); - fieldLevelCode = field.getName(); + fieldParent = table.findFieldNameByType(SwEnum.FieldType.PARENT_ID.value); + fieldLevelCode = table.findFieldNameByType(SwEnum.FieldType.LEVEL_CODE.value); + fieldLevel = table.findFieldNameByType(SwEnum.FieldType.LEVEL.value); } public long getParentId(T bean) { return bean.getLong(fieldParent); } + public long getLevel(T bean) { + return bean.getLong(fieldLevel); + } + public String getLevelCode(T bean) { return bean.getStr(fieldLevelCode); } @@ -119,7 +123,8 @@ public class TreeHelper { T parent = cache.get(getParentId(bean)); if (parent != null) { bean.put(fieldLevelCode, getLevelCode(parent) + SwConsts.SPLIT_CHAR + parent.getEntityId()); - dao.updateEntity(bean, fieldLevelCode); + bean.put(fieldLevel, getLevel(parent) + 1); + dao.updateEntity(bean, fieldLevelCode, fieldLevel); list.add(bean); } Collection children = getChildren(bean);