diff --git a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/annotation/DictField.java b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/annotation/DictField.java index d1ed5ea1..70cfceba 100644 --- a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/annotation/DictField.java +++ b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/annotation/DictField.java @@ -42,4 +42,11 @@ public @interface DictField { * @return 值字段名 */ String valueKey() default "id"; + + /** + * 额外信息字段名 + * + * @return 额外信息字段名 + */ + String extraKey() default ""; } diff --git a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/autoconfigure/CrudProperties.java b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/autoconfigure/CrudProperties.java index b7a92030..2423b6f6 100644 --- a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/autoconfigure/CrudProperties.java +++ b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/autoconfigure/CrudProperties.java @@ -33,7 +33,7 @@ public class CrudProperties { * 树配置 */ @NestedConfigurationProperty - private CrudTreeProperties tree; + private CrudTreeProperties tree = new CrudTreeProperties(); public CrudTreeProperties getTree() { return tree; diff --git a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/model/resp/LabelValueResp.java b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/model/resp/LabelValueResp.java index 44a25930..6bc8b33c 100644 --- a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/model/resp/LabelValueResp.java +++ b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/model/resp/LabelValueResp.java @@ -54,11 +54,11 @@ public class LabelValueResp implements Serializable { private Boolean disabled; /** - * 扩展 + * 额外数据 */ - @Schema(description = "扩展") + @Schema(description = "额外数据") @JsonInclude(JsonInclude.Include.NON_NULL) - private Object extend; + private Object extra; public LabelValueResp() { } @@ -68,10 +68,10 @@ public class LabelValueResp implements Serializable { this.value = value; } - public LabelValueResp(String label, T value, Object extend) { + public LabelValueResp(String label, T value, Object extra) { this.label = label; this.value = value; - this.extend = extend; + this.extra = extra; } public LabelValueResp(String label, T value, Boolean disabled) { @@ -104,11 +104,11 @@ public class LabelValueResp implements Serializable { this.disabled = disabled; } - public Object getExtend() { - return extend; + public Object getExtra() { + return extra; } - public void setExtend(Object extend) { - this.extend = extend; + public void setExtra(Object extra) { + this.extra = extra; } } diff --git a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mp/src/main/java/top/continew/starter/extension/crud/service/impl/BaseServiceImpl.java b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mp/src/main/java/top/continew/starter/extension/crud/service/impl/BaseServiceImpl.java index f1bac703..79f09c04 100644 --- a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mp/src/main/java/top/continew/starter/extension/crud/service/impl/BaseServiceImpl.java +++ b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mp/src/main/java/top/continew/starter/extension/crud/service/impl/BaseServiceImpl.java @@ -54,10 +54,7 @@ import top.continew.starter.extension.crud.service.BaseService; import top.continew.starter.file.excel.util.ExcelUtils; import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Optional; +import java.util.*; /** * 业务实现基类 @@ -146,12 +143,16 @@ public abstract class BaseServiceImpl, T extends BaseIdD DictField dictField = super.getEntityClass().getDeclaredAnnotation(DictField.class); CheckUtils.throwIfNull(dictField, "请添加并配置 @DictField 字典结构信息"); // 指定查询字典字段 - queryWrapper.select(dictField.labelKey(), dictField.valueKey()); + Set columns = CollUtil.newLinkedHashSet(dictField.labelKey(), dictField.valueKey(), dictField + .extraKey()); + columns.removeIf(CharSequenceUtil::isBlank); + queryWrapper.select(columns.toArray(String[]::new)); List entityList = baseMapper.selectList(queryWrapper); // 解析映射 Map fieldMapping = MapUtil.newHashMap(2); fieldMapping.put(CharSequenceUtil.toCamelCase(dictField.labelKey()), "label"); fieldMapping.put(CharSequenceUtil.toCamelCase(dictField.valueKey()), "value"); + fieldMapping.put(CharSequenceUtil.toCamelCase(dictField.extraKey()), "extra"); return BeanUtil.copyToList(entityList, LabelValueResp.class, CopyOptions.create() .setFieldMapping(fieldMapping)); }