From 2c61248e71db697113e4fc39f96bb246d714b231 Mon Sep 17 00:00:00 2001 From: chenjinlong <$chenjinlong> Date: Sun, 17 Jan 2021 00:35:27 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E3=80=90sms-business-validation=E3=80=91?= =?UTF-8?q?=20=E6=A8=A1=E5=9D=97=E4=BD=8D=E7=BD=AE=E7=A7=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel-d-sms/pom.xml | 1 + .../sms-business-validation}/README.md | 0 .../sms-business-validation}/pom.xml | 4 ++-- .../kernel/sms/modular/controller/SmsSenderController.java | 0 .../cn/stylefeng/roses/kernel/sms/modular/entity/SysSms.java | 0 .../roses/kernel/sms/modular/enums/SmsSendSourceEnum.java | 0 .../roses/kernel/sms/modular/enums/SmsSendStatusEnum.java | 0 .../stylefeng/roses/kernel/sms/modular/enums/SmsTypeEnum.java | 0 .../roses/kernel/sms/modular/mapper/SysSmsMapper.java | 0 .../roses/kernel/sms/modular/mapper/mapping/SysSmsMapper.xml | 0 .../roses/kernel/sms/modular/param/SysSmsInfoParam.java | 0 .../roses/kernel/sms/modular/param/SysSmsSendParam.java | 0 .../roses/kernel/sms/modular/param/SysSmsVerifyParam.java | 0 .../roses/kernel/sms/modular/service/SysSmsInfoService.java | 0 .../sms/modular/service/impl/SysSmsInfoServiceImpl.java | 0 kernel-s-system/pom.xml | 1 - 16 files changed, 3 insertions(+), 3 deletions(-) rename {kernel-s-system/system-business-sms => kernel-d-sms/sms-business-validation}/README.md (100%) rename {kernel-s-system/system-business-sms => kernel-d-sms/sms-business-validation}/pom.xml (94%) rename {kernel-s-system/system-business-sms => kernel-d-sms/sms-business-validation}/src/main/java/cn/stylefeng/roses/kernel/sms/modular/controller/SmsSenderController.java (100%) rename {kernel-s-system/system-business-sms => kernel-d-sms/sms-business-validation}/src/main/java/cn/stylefeng/roses/kernel/sms/modular/entity/SysSms.java (100%) rename {kernel-s-system/system-business-sms => kernel-d-sms/sms-business-validation}/src/main/java/cn/stylefeng/roses/kernel/sms/modular/enums/SmsSendSourceEnum.java (100%) rename {kernel-s-system/system-business-sms => kernel-d-sms/sms-business-validation}/src/main/java/cn/stylefeng/roses/kernel/sms/modular/enums/SmsSendStatusEnum.java (100%) rename {kernel-s-system/system-business-sms => kernel-d-sms/sms-business-validation}/src/main/java/cn/stylefeng/roses/kernel/sms/modular/enums/SmsTypeEnum.java (100%) rename {kernel-s-system/system-business-sms => kernel-d-sms/sms-business-validation}/src/main/java/cn/stylefeng/roses/kernel/sms/modular/mapper/SysSmsMapper.java (100%) rename {kernel-s-system/system-business-sms => kernel-d-sms/sms-business-validation}/src/main/java/cn/stylefeng/roses/kernel/sms/modular/mapper/mapping/SysSmsMapper.xml (100%) rename {kernel-s-system/system-business-sms => kernel-d-sms/sms-business-validation}/src/main/java/cn/stylefeng/roses/kernel/sms/modular/param/SysSmsInfoParam.java (100%) rename {kernel-s-system/system-business-sms => kernel-d-sms/sms-business-validation}/src/main/java/cn/stylefeng/roses/kernel/sms/modular/param/SysSmsSendParam.java (100%) rename {kernel-s-system/system-business-sms => kernel-d-sms/sms-business-validation}/src/main/java/cn/stylefeng/roses/kernel/sms/modular/param/SysSmsVerifyParam.java (100%) rename {kernel-s-system/system-business-sms => kernel-d-sms/sms-business-validation}/src/main/java/cn/stylefeng/roses/kernel/sms/modular/service/SysSmsInfoService.java (100%) rename {kernel-s-system/system-business-sms => kernel-d-sms/sms-business-validation}/src/main/java/cn/stylefeng/roses/kernel/sms/modular/service/impl/SysSmsInfoServiceImpl.java (100%) diff --git a/kernel-d-sms/pom.xml b/kernel-d-sms/pom.xml index 4b0aa7232..70d03089e 100644 --- a/kernel-d-sms/pom.xml +++ b/kernel-d-sms/pom.xml @@ -19,6 +19,7 @@ sms-api sms-sdk-aliyun sms-sdk-tencent + sms-business-validation sms-spring-boot-starter diff --git a/kernel-s-system/system-business-sms/README.md b/kernel-d-sms/sms-business-validation/README.md similarity index 100% rename from kernel-s-system/system-business-sms/README.md rename to kernel-d-sms/sms-business-validation/README.md diff --git a/kernel-s-system/system-business-sms/pom.xml b/kernel-d-sms/sms-business-validation/pom.xml similarity index 94% rename from kernel-s-system/system-business-sms/pom.xml rename to kernel-d-sms/sms-business-validation/pom.xml index 6c6f7a4e4..fa91d4f98 100644 --- a/kernel-s-system/system-business-sms/pom.xml +++ b/kernel-d-sms/sms-business-validation/pom.xml @@ -8,10 +8,10 @@ cn.stylefeng.roses kernel-s-system 1.0.0 - ../pom.xml + ../../kernel-s-system/pom.xml - system-business-sms + sms-business-validation jar diff --git a/kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/controller/SmsSenderController.java b/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/controller/SmsSenderController.java similarity index 100% rename from kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/controller/SmsSenderController.java rename to kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/controller/SmsSenderController.java diff --git a/kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/entity/SysSms.java b/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/entity/SysSms.java similarity index 100% rename from kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/entity/SysSms.java rename to kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/entity/SysSms.java diff --git a/kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/enums/SmsSendSourceEnum.java b/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/enums/SmsSendSourceEnum.java similarity index 100% rename from kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/enums/SmsSendSourceEnum.java rename to kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/enums/SmsSendSourceEnum.java diff --git a/kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/enums/SmsSendStatusEnum.java b/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/enums/SmsSendStatusEnum.java similarity index 100% rename from kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/enums/SmsSendStatusEnum.java rename to kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/enums/SmsSendStatusEnum.java diff --git a/kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/enums/SmsTypeEnum.java b/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/enums/SmsTypeEnum.java similarity index 100% rename from kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/enums/SmsTypeEnum.java rename to kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/enums/SmsTypeEnum.java diff --git a/kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/mapper/SysSmsMapper.java b/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/mapper/SysSmsMapper.java similarity index 100% rename from kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/mapper/SysSmsMapper.java rename to kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/mapper/SysSmsMapper.java diff --git a/kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/mapper/mapping/SysSmsMapper.xml b/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/mapper/mapping/SysSmsMapper.xml similarity index 100% rename from kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/mapper/mapping/SysSmsMapper.xml rename to kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/mapper/mapping/SysSmsMapper.xml diff --git a/kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/param/SysSmsInfoParam.java b/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/param/SysSmsInfoParam.java similarity index 100% rename from kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/param/SysSmsInfoParam.java rename to kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/param/SysSmsInfoParam.java diff --git a/kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/param/SysSmsSendParam.java b/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/param/SysSmsSendParam.java similarity index 100% rename from kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/param/SysSmsSendParam.java rename to kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/param/SysSmsSendParam.java diff --git a/kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/param/SysSmsVerifyParam.java b/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/param/SysSmsVerifyParam.java similarity index 100% rename from kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/param/SysSmsVerifyParam.java rename to kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/param/SysSmsVerifyParam.java diff --git a/kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/service/SysSmsInfoService.java b/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/service/SysSmsInfoService.java similarity index 100% rename from kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/service/SysSmsInfoService.java rename to kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/service/SysSmsInfoService.java diff --git a/kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/service/impl/SysSmsInfoServiceImpl.java b/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/service/impl/SysSmsInfoServiceImpl.java similarity index 100% rename from kernel-s-system/system-business-sms/src/main/java/cn/stylefeng/roses/kernel/sms/modular/service/impl/SysSmsInfoServiceImpl.java rename to kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/service/impl/SysSmsInfoServiceImpl.java diff --git a/kernel-s-system/pom.xml b/kernel-s-system/pom.xml index 9b5edd9bd..cf27c8902 100644 --- a/kernel-s-system/pom.xml +++ b/kernel-s-system/pom.xml @@ -25,7 +25,6 @@ system-business-menu system-business-notice system-business-login-log - system-business-sms system-spring-boot-starter From 41f14aa8ad8d15e04c6b1007528dbe2736e6ecf0 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Sun, 17 Jan 2021 12:07:33 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E3=80=90sms=E3=80=91=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E7=9A=84=E6=A8=A1=E5=9D=97=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel-d-sms/sms-business-validation/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel-d-sms/sms-business-validation/pom.xml b/kernel-d-sms/sms-business-validation/pom.xml index fa91d4f98..4428c1de1 100644 --- a/kernel-d-sms/sms-business-validation/pom.xml +++ b/kernel-d-sms/sms-business-validation/pom.xml @@ -6,9 +6,9 @@ cn.stylefeng.roses - kernel-s-system + kernel-d-sms 1.0.0 - ../../kernel-s-system/pom.xml + ../pom.xml sms-business-validation From a4bdef358e40068bc28868e5f1056ade6643f446 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Sun, 17 Jan 2021 14:42:07 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E3=80=90dict=E3=80=91=E6=95=B4=E7=90=86?= =?UTF-8?q?=E5=AD=97=E5=85=B8=E5=BA=8F=E5=88=97=E5=8C=96=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/serializer/DictValueSerializer.java | 97 +++++++++++-------- .../notice/modular/entity/SysNotice.java | 10 +- 2 files changed, 61 insertions(+), 46 deletions(-) diff --git a/kernel-s-dict/dict-api/src/main/java/cn/stylefeng/roses/kernel/dict/api/serializer/DictValueSerializer.java b/kernel-s-dict/dict-api/src/main/java/cn/stylefeng/roses/kernel/dict/api/serializer/DictValueSerializer.java index a2edcb44c..3d312d27a 100644 --- a/kernel-s-dict/dict-api/src/main/java/cn/stylefeng/roses/kernel/dict/api/serializer/DictValueSerializer.java +++ b/kernel-s-dict/dict-api/src/main/java/cn/stylefeng/roses/kernel/dict/api/serializer/DictValueSerializer.java @@ -18,23 +18,29 @@ import java.lang.reflect.Type; /** * jackson 序列化获取字典名称 *

- * 使用@JsonSerialize(using=DictValueSerializer.class) + * 使用注意事项: + *

+ * 1.在pojo的字段上加 @JsonSerialize(using=DictValueSerializer.class) + * 2.pojo字段的返回值为:"字典类型编码|字典的编码" * * @author liuhanqing * @date 2021/1/16 22:21 */ @JacksonStdImpl -public final class DictValueSerializer - extends StdScalarSerializer { +public final class DictValueSerializer extends StdScalarSerializer { + private static final long serialVersionUID = 1L; + /** * 字典类型编码和字典值的分隔符 */ private static final String SEPARATOR = "|"; + /** * 空值字符串 */ private static final String NULL_STR = "null"; + /** * 字典值之前分隔符 */ @@ -58,43 +64,55 @@ public final class DictValueSerializer return; } - String strVal = value.toString(); - // 判断需要翻译字典值是否为不空且含有字典标识 - if (StrUtil.isNotBlank(strVal) && strVal.indexOf(SEPARATOR) > 0) { - // 分隔需要序列化的值 - String[] dictArr = strVal.split("\\|"); - if (dictArr.length == 2) { - // 获取字典编码值 - String dictCode = dictArr[1]; - if (StrUtil.isBlank(dictCode) || NULL_STR.equals(dictArr[1])) { - strVal = StrUtil.EMPTY; - } else { - // 获取字典名称逻辑,多个名称用逗号分隔 - String[] codeArr = dictCode.split(VALUE_SEPARATOR); - if (codeArr.length > 0) { - if (codeArr.length == 1) { - strVal = DictContext.me().getDictName(dictArr[0], codeArr[0]); - } else { - StringBuffer sb = new StringBuffer(); - for (String dic : codeArr) { - String dicVal = DictContext.me().getDictName(dictArr[0], dic); - if (StrUtil.isNotBlank(dicVal)) { - sb.append(dicVal).append(","); - } - } - if (StrUtil.isNotEmpty(sb)) { - strVal = StrUtil.removeSuffix(sb.toString(), ","); - } else { - strVal = dictArr[1]; - } - } - } - } - } else { - strVal = StrUtil.EMPTY; - } + // 被序列化字段的值 + String fieldValue = value.toString(); + + // 如果为空或者没有分隔符返回空串 + if (StrUtil.isBlank(fieldValue) || !fieldValue.contains(SEPARATOR)) { + fieldValue = StrUtil.EMPTY; + gen.writeString(fieldValue); + return; } - gen.writeString(strVal); + + // 分隔需要序列化的值 + String[] dictTypeCodeAndDictCode = fieldValue.split("\\|"); + + // 如果分割出来不是2,则格式不正确 + if (dictTypeCodeAndDictCode.length != 2) { + fieldValue = StrUtil.EMPTY; + gen.writeString(fieldValue); + return; + } + + // 获取字典类型编码和字典编码 + String dictTypeCode = dictTypeCodeAndDictCode[0]; + String dictCode = dictTypeCodeAndDictCode[1]; + + // 字典code为空,返回空串 + if (StrUtil.isBlank(dictCode) || NULL_STR.equals(dictCode)) { + fieldValue = StrUtil.EMPTY; + gen.writeString(fieldValue); + return; + } + + // 字典编码是多个,存在逗号分隔符 + if (dictCode.contains(VALUE_SEPARATOR)) { + String[] dictCodeArray = dictCode.split(VALUE_SEPARATOR); + StringBuilder dictNames = new StringBuilder(); + for (String singleDictCode : dictCodeArray) { + String dictName = DictContext.me().getDictName(dictTypeCode, singleDictCode); + if (StrUtil.isNotBlank(dictName)) { + dictNames.append(dictName).append(VALUE_SEPARATOR); + } + } + fieldValue = StrUtil.removeSuffix(dictNames.toString(), VALUE_SEPARATOR); + gen.writeString(fieldValue); + return; + } + + // 字典编码是一个 + fieldValue = DictContext.me().getDictName(dictTypeCode, dictCode); + gen.writeString(fieldValue); } @Override @@ -113,4 +131,5 @@ public final class DictValueSerializer public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException { visitStringFormat(visitor, typeHint); } + } diff --git a/kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/notice/modular/entity/SysNotice.java b/kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/notice/modular/entity/SysNotice.java index 2b37219c4..0634fc401 100644 --- a/kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/notice/modular/entity/SysNotice.java +++ b/kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/notice/modular/entity/SysNotice.java @@ -78,13 +78,9 @@ public class SysNotice extends BaseEntity { @TableField(value = "del_flag", fill = FieldFill.INSERT) private String delFlag; - /*public String getPriorityLevelValue(){ - AtomicReference value = new AtomicReference<>(""); - Optional.ofNullable(this.priorityLevel).ifPresent(val ->{ - value.set(MessagePriorityLevelEnum.getName(this.priorityLevel)); - }); - return value.get(); - }*/ + /** + * 通知优先级的名称 + */ @JsonSerialize(using = DictValueSerializer.class) public String getPriorityLevelValue() { return "priority_level|" + this.priorityLevel;