From 5e21b17f8e65b8236542e5b4ecaad87b41627b71 Mon Sep 17 00:00:00 2001 From: wangyu <727842003@qq.com> Date: Mon, 22 Mar 2021 00:37:50 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=96=B0=E5=A2=9E=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dict/config/DictionaryProcessor.java | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/flyfish-dict/src/main/java/com/flyfish/framework/dict/config/DictionaryProcessor.java b/flyfish-dict/src/main/java/com/flyfish/framework/dict/config/DictionaryProcessor.java index f54a616..10f4f29 100644 --- a/flyfish-dict/src/main/java/com/flyfish/framework/dict/config/DictionaryProcessor.java +++ b/flyfish-dict/src/main/java/com/flyfish/framework/dict/config/DictionaryProcessor.java @@ -54,25 +54,29 @@ public class DictionaryProcessor implements InitializingBean { BlankEnum.class != annotation.enumType()) .map(annotation -> dictionaryService .getByCode(annotation.value()) - .map(dictionary -> { - if (CollectionUtils.isEmpty(dictionary.getValues())) { - dictionary.setValues(mapValues(annotation.enumType())); - } - return dictionary; - }) - .orElseGet(() -> { - Dictionary dictionary = new Dictionary(); - dictionary.setCode(annotation.value()); - dictionary.setValues(mapValues(annotation.enumType())); - dictionary.setName(StringUtils.isNotBlank(annotation.name()) ? annotation.name() : annotation.value()); - return dictionary; - })) + .map(dictionary -> applyDictProps(dictionary, annotation)) + .orElseGet(() -> applyDictProps(new Dictionary(), annotation))) .distinct() .collect(Collectors.toList()); dictionaryService.updateBatch(dictionaries); } } + /** + * 给字典属性赋值 + * + * @param dictionary 字典 + * @param annotation 注解 + * @return 结果 + */ + private Dictionary applyDictProps(Dictionary dictionary, DictValue annotation) { + dictionary.setCode(annotation.value()); + if (CollectionUtils.isEmpty(dictionary.getValues())) { + dictionary.setValues(mapValues(annotation.enumType())); + } + dictionary.setName(StringUtils.isNotBlank(annotation.name()) ? annotation.name() : annotation.value()); + return dictionary; + } /** * 映射值,转换为字典表的值