From ebae9ba5c88ee6aee3274cc87224aa0efe91db64 Mon Sep 17 00:00:00 2001 From: zhaojun <873019219@qq.com> Date: Sun, 5 Mar 2023 15:31:59 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E5=A2=9E=E5=8A=A0=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E5=BF=BD=E7=95=A5=E5=8F=82=E6=95=B0=E4=B8=8D=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E5=88=B0=E5=89=8D=E7=AB=AF=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/base/AbstractBaseFileService.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/main/java/im/zhaojun/zfile/module/storage/service/base/AbstractBaseFileService.java b/src/main/java/im/zhaojun/zfile/module/storage/service/base/AbstractBaseFileService.java index d615424..37f5892 100644 --- a/src/main/java/im/zhaojun/zfile/module/storage/service/base/AbstractBaseFileService.java +++ b/src/main/java/im/zhaojun/zfile/module/storage/service/base/AbstractBaseFileService.java @@ -50,7 +50,7 @@ public abstract class AbstractBaseFileService

implement * 存储源 ID */ public Integer storageId; - + /** * 存储源名称 */ @@ -111,6 +111,8 @@ public abstract class AbstractBaseFileService

implement // 已添加的字段列表. List fieldNames = new ArrayList<>(); + // 要忽略的字段名 + List ignoreFieldNames = new ArrayList<>(); for (Field field : fields) { // 获取字段上的注解 @@ -145,6 +147,10 @@ public abstract class AbstractBaseFileService

implement continue; } + if (annotation.ignoreInput()) { + ignoreFieldNames.add(key); + } + // 如果默认值不为空, 则该字段则不是必填的 if (StrUtil.isNotEmpty(defaultValue)) { required = false; @@ -163,7 +169,7 @@ public abstract class AbstractBaseFileService

implement // 从实现类中通过反射获取 options Class storageParamSelectClass = annotation.optionsClass(); if (ObjectUtil.isNotEmpty(storageParamSelectClass) - && ObjectUtil.notEqual(storageParamSelectClass.getName(), "im.zhaojun.zfile.module.storage.annotation.StorageParamSelect")) { + && ObjectUtil.notEqual(storageParamSelectClass.getName(), StorageParamSelect.class.getName())) { StorageParamSelect storageParamSelect = ReflectUtil.newInstance(storageParamSelectClass); List storageParamSelectOptions = storageParamSelect.getOptions(annotation, param); optionsList.addAll(storageParamSelectOptions); @@ -181,7 +187,11 @@ public abstract class AbstractBaseFileService

implement options(optionsList). order(order). build(); - result.add(storageSourceParamDef); + + if (!ignoreFieldNames.contains(key)) { + result.add(storageSourceParamDef); + } + fieldNames.add(field.getName()); } } @@ -223,7 +233,7 @@ public abstract class AbstractBaseFileService

implement } this.storageId = storageId; } - + public void setName(String name) { if (this.name != null) { throw new IllegalStateException("请勿重复初始化存储源"); @@ -265,8 +275,8 @@ public abstract class AbstractBaseFileService

implement public Integer getStorageId() { return storageId; } - - + + String getStorageSimpleInfo() { return StrUtil.format("存储源 [id={}, name={}, type: {}]", storageId, name, getStorageTypeEnum().getDescription()); }