From 04b2152ab74e398a5b82632b9b445e75a3658d3f Mon Sep 17 00:00:00 2001 From: wangyu <727842003@qq.com> Date: Thu, 6 Jan 2022 23:42:17 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E5=AE=9E=E7=8E=B0=E7=BC=BA?= =?UTF-8?q?=E7=9C=81=E7=9A=84code=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../framework/config/FrameworkConfiguration.java | 5 +++++ .../com/flyfish/framework/constant/Frameworks.java | 14 ++++++++++++++ .../com/flyfish/framework/domain/base/Domain.java | 3 ++- .../com/flyfish/framework/utils/FieldUtils.java | 1 + 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/flyfish-common/src/main/java/com/flyfish/framework/config/FrameworkConfiguration.java b/flyfish-common/src/main/java/com/flyfish/framework/config/FrameworkConfiguration.java index bb65dcb..a69ef05 100644 --- a/flyfish-common/src/main/java/com/flyfish/framework/config/FrameworkConfiguration.java +++ b/flyfish-common/src/main/java/com/flyfish/framework/config/FrameworkConfiguration.java @@ -4,8 +4,11 @@ import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; +import java.util.function.Supplier; + /** * 框架配置 + * * @author wangyu */ @Setter @@ -18,4 +21,6 @@ public class FrameworkConfiguration { private boolean debug = false; private boolean shortPassword = false; + + private Supplier codeSupplier = null; } diff --git a/flyfish-common/src/main/java/com/flyfish/framework/constant/Frameworks.java b/flyfish-common/src/main/java/com/flyfish/framework/constant/Frameworks.java index 4dbfb82..ea3572c 100644 --- a/flyfish-common/src/main/java/com/flyfish/framework/constant/Frameworks.java +++ b/flyfish-common/src/main/java/com/flyfish/framework/constant/Frameworks.java @@ -2,6 +2,8 @@ package com.flyfish.framework.constant; import com.flyfish.framework.config.FrameworkConfiguration; +import java.util.function.Supplier; + /** * 框架静态配置 * @@ -25,4 +27,16 @@ public interface Frameworks { config.setDebug(true); return config; } + + static FrameworkConfiguration codeSupplier(Supplier codeSupplier) { + config.setCodeSupplier(codeSupplier); + return config; + } + + static String getCode() { + if (null != config.getCodeSupplier()) { + return config.getCodeSupplier().get(); + } + return null; + } } diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Domain.java b/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Domain.java index a18f5a7..dbd8e20 100644 --- a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Domain.java +++ b/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Domain.java @@ -3,6 +3,7 @@ package com.flyfish.framework.domain.base; import com.fasterxml.jackson.annotation.JsonIgnore; import com.flyfish.framework.annotations.Generation; import com.flyfish.framework.annotations.Property; +import com.flyfish.framework.constant.Frameworks; import lombok.Getter; import lombok.Setter; import org.springframework.data.annotation.Id; @@ -33,7 +34,7 @@ public abstract class Domain implements Po, Named, Serializable { @Property(title = "编码", inherited = true) @NotBlank(message = "编码不可为空") @Generation(Generation.Strategy.CODE) - protected String code; + protected String code = Frameworks.getCode(); /** * 名称 diff --git a/flyfish-data/src/main/java/com/flyfish/framework/utils/FieldUtils.java b/flyfish-data/src/main/java/com/flyfish/framework/utils/FieldUtils.java index 666eab7..a6f1114 100644 --- a/flyfish-data/src/main/java/com/flyfish/framework/utils/FieldUtils.java +++ b/flyfish-data/src/main/java/com/flyfish/framework/utils/FieldUtils.java @@ -11,6 +11,7 @@ import java.util.function.Supplier; */ public final class FieldUtils { + public static T complete(T value, Supplier supplier) { return ObjectUtils.isEmpty(value) ? supplier.get() : value; }