From 0a5c793bf43c374429f9c9826a0cbf1d338fb29f Mon Sep 17 00:00:00 2001
From: kyw7 <641364175@qq.com>
Date: Mon, 10 Apr 2023 20:02:46 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=BAenum=E6=B7=BB=E5=8A=A0=E9=BB=98?=
=?UTF-8?q?=E8=AE=A4=E7=9A=84int=E5=88=B0enum=E7=9A=84=E8=BD=AC=E6=8D=A2?=
=?UTF-8?q?=E6=96=B9=E6=B3=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../austin/common/domain/AnchorInfo.java | 1 +
.../dto/account/sms/TencentSmsAccount.java | 13 +++++++-
.../austin/common/enums/AnchorState.java | 20 ++----------
.../austin/common/enums/AuditStatus.java | 2 +-
.../austin/common/enums/ChannelType.java | 31 +++++--------------
.../common/enums/DeduplicationType.java | 18 ++---------
.../java3y/austin/common/enums/EnumUtil.java | 30 ++++++++++++++++++
.../java3y/austin/common/enums/FileType.java | 22 +++++--------
.../java3y/austin/common/enums/IdType.java | 2 +-
.../austin/common/enums/MessageStatus.java | 2 +-
.../austin/common/enums/MessageType.java | 22 +++----------
.../austin/common/enums/PowerfulEnum.java | 9 ++++++
.../austin/common/enums/RespStatusEnum.java | 2 +-
.../austin/common/enums/ShieldType.java | 4 +--
.../java3y/austin/common/enums/SmsStatus.java | 20 +-----------
.../austin/common/enums/SmsSupplier.java | 17 +---------
.../austin/common/enums/TemplateType.java | 2 +-
17 files changed, 83 insertions(+), 134 deletions(-)
create mode 100644 austin-common/src/main/java/com/java3y/austin/common/enums/EnumUtil.java
create mode 100644 austin-common/src/main/java/com/java3y/austin/common/enums/PowerfulEnum.java
diff --git a/austin-common/src/main/java/com/java3y/austin/common/domain/AnchorInfo.java b/austin-common/src/main/java/com/java3y/austin/common/domain/AnchorInfo.java
index d674e8d..9d07035 100644
--- a/austin-common/src/main/java/com/java3y/austin/common/domain/AnchorInfo.java
+++ b/austin-common/src/main/java/com/java3y/austin/common/domain/AnchorInfo.java
@@ -25,6 +25,7 @@ public class AnchorInfo {
/**
* 具体点位
+ * @see com.java3y.austin.common.enums.AnchorState
*/
private int state;
diff --git a/austin-common/src/main/java/com/java3y/austin/common/dto/account/sms/TencentSmsAccount.java b/austin-common/src/main/java/com/java3y/austin/common/dto/account/sms/TencentSmsAccount.java
index 73fe7cf..85b1524 100644
--- a/austin-common/src/main/java/com/java3y/austin/common/dto/account/sms/TencentSmsAccount.java
+++ b/austin-common/src/main/java/com/java3y/austin/common/dto/account/sms/TencentSmsAccount.java
@@ -8,7 +8,18 @@ import lombok.NoArgsConstructor;
* 腾讯短信参数
*
* 账号参数示例:
- * {"url":"sms.tencentcloudapi.com","region":"ap-guangzhou","secretId":"AKIDhDxxxxxxxx1WljQq","secretKey":"B4hwww39yxxxrrrrgxyi","smsSdkAppId":"1423123125","templateId":"1182097","signName":"Java3y公众号","supplierId":10,"supplierName":"腾讯云","scriptName":"TencentSmsScript"}
+ * {
+ * "url": "sms.tencentcloudapi.com",
+ * "region": "ap-guangzhou",
+ * "secretId": "AKIDhDxxxxxxxx1WljQq",
+ * "secretKey": "B4hwww39yxxxrrrrgxyi",
+ * "smsSdkAppId": "1423123125",
+ * "templateId": "1182097",
+ * "signName": "Java3y公众号",
+ * "supplierId": 10,
+ * "supplierName": "腾讯云",
+ * "scriptName": "TencentSmsScript"
+ * }
*
* @author 3y
*/
diff --git a/austin-common/src/main/java/com/java3y/austin/common/enums/AnchorState.java b/austin-common/src/main/java/com/java3y/austin/common/enums/AnchorState.java
index 8415fc9..6211313 100644
--- a/austin-common/src/main/java/com/java3y/austin/common/enums/AnchorState.java
+++ b/austin-common/src/main/java/com/java3y/austin/common/enums/AnchorState.java
@@ -13,7 +13,7 @@ import lombok.ToString;
@Getter
@ToString
@AllArgsConstructor
-public enum AnchorState {
+public enum AnchorState implements PowerfulEnum {
/**
* 消息接收成功(获取到请求)
@@ -56,26 +56,10 @@ public enum AnchorState {
/**
* 点击(下发的消息被点击)
*/
- CLICK(0100, "消息被点击"),
+ CLICK(64, "消息被点击"),
;
private final Integer code;
private final String description;
-
- /**
- * 通过code获取描述
- *
- * @param code
- * @return
- */
- public static String getDescriptionByCode(Integer code) {
- for (AnchorState anchorState : AnchorState.values()) {
- if (anchorState.getCode().equals(code)) {
- return anchorState.getDescription();
- }
- }
- return "未知点位";
- }
-
}
diff --git a/austin-common/src/main/java/com/java3y/austin/common/enums/AuditStatus.java b/austin-common/src/main/java/com/java3y/austin/common/enums/AuditStatus.java
index 97797ff..7e2e8a8 100644
--- a/austin-common/src/main/java/com/java3y/austin/common/enums/AuditStatus.java
+++ b/austin-common/src/main/java/com/java3y/austin/common/enums/AuditStatus.java
@@ -12,7 +12,7 @@ import lombok.ToString;
@Getter
@ToString
@AllArgsConstructor
-public enum AuditStatus {
+public enum AuditStatus implements PowerfulEnum {
/**
* 10.待审核
diff --git a/austin-common/src/main/java/com/java3y/austin/common/enums/ChannelType.java b/austin-common/src/main/java/com/java3y/austin/common/enums/ChannelType.java
index 16ca665..2fe1f5c 100644
--- a/austin-common/src/main/java/com/java3y/austin/common/enums/ChannelType.java
+++ b/austin-common/src/main/java/com/java3y/austin/common/enums/ChannelType.java
@@ -6,6 +6,9 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;
+import java.util.Arrays;
+import java.util.Objects;
+
/**
* 发送渠道类型枚举
*
@@ -14,7 +17,7 @@ import lombok.ToString;
@Getter
@ToString
@AllArgsConstructor
-public enum ChannelType {
+public enum ChannelType implements PowerfulEnum {
/**
@@ -94,28 +97,8 @@ public enum ChannelType {
* @return
*/
public static Class extends ContentModel> getChanelModelClassByCode(Integer code) {
- ChannelType[] values = values();
- for (ChannelType value : values) {
- if (value.getCode().equals(code)) {
- return value.getContentModelClass();
- }
- }
- return null;
- }
-
- /**
- * 通过code获取enum
- *
- * @param code
- * @return
- */
- public static ChannelType getEnumByCode(Integer code) {
- ChannelType[] values = values();
- for (ChannelType value : values) {
- if (value.getCode().equals(code)) {
- return value;
- }
- }
- return null;
+ return Arrays.stream(values()).filter(channelType -> Objects.equals(code, channelType.getCode()))
+ .map(ChannelType::getContentModelClass)
+ .findFirst().orElse(null);
}
}
diff --git a/austin-common/src/main/java/com/java3y/austin/common/enums/DeduplicationType.java b/austin-common/src/main/java/com/java3y/austin/common/enums/DeduplicationType.java
index 1cfa77f..a57d162 100644
--- a/austin-common/src/main/java/com/java3y/austin/common/enums/DeduplicationType.java
+++ b/austin-common/src/main/java/com/java3y/austin/common/enums/DeduplicationType.java
@@ -5,7 +5,9 @@ import lombok.Getter;
import lombok.ToString;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
+import java.util.stream.Collectors;
/**
* 去重类型枚举
@@ -15,7 +17,7 @@ import java.util.List;
@Getter
@ToString
@AllArgsConstructor
-public enum DeduplicationType {
+public enum DeduplicationType implements PowerfulEnum {
/**
* 相同内容去重
@@ -29,18 +31,4 @@ public enum DeduplicationType {
;
private final Integer code;
private final String description;
-
-
- /**
- * 获取去重渠道的列表
- *
- * @return
- */
- public static List getDeduplicationList() {
- ArrayList result = new ArrayList<>();
- for (DeduplicationType value : DeduplicationType.values()) {
- result.add(value.getCode());
- }
- return result;
- }
}
diff --git a/austin-common/src/main/java/com/java3y/austin/common/enums/EnumUtil.java b/austin-common/src/main/java/com/java3y/austin/common/enums/EnumUtil.java
new file mode 100644
index 0000000..51dcb3e
--- /dev/null
+++ b/austin-common/src/main/java/com/java3y/austin/common/enums/EnumUtil.java
@@ -0,0 +1,30 @@
+package com.java3y.austin.common.enums;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+public class EnumUtil {
+
+ private EnumUtil() {
+ }
+
+ public static String getDescriptionByCode(Integer code, Class enumClass) {
+ return Arrays.stream(enumClass.getEnumConstants())
+ .filter(e -> Objects.equals(e.getCode(), code))
+ .findFirst().map(PowerfulEnum::getDescription).orElse("");
+ }
+
+ public static T getEnumByCode(Integer code, Class enumClass) {
+ return Arrays.stream(enumClass.getEnumConstants())
+ .filter(e -> Objects.equals(e.getCode(), code))
+ .findFirst().orElse(null);
+ }
+
+ public static List getCodeList(Class enumClass) {
+ return Arrays.stream(enumClass.getEnumConstants())
+ .map(PowerfulEnum::getCode)
+ .collect(Collectors.toList());
+ }
+}
diff --git a/austin-common/src/main/java/com/java3y/austin/common/enums/FileType.java b/austin-common/src/main/java/com/java3y/austin/common/enums/FileType.java
index 8d57357..02adb20 100644
--- a/austin-common/src/main/java/com/java3y/austin/common/enums/FileType.java
+++ b/austin-common/src/main/java/com/java3y/austin/common/enums/FileType.java
@@ -13,33 +13,25 @@ import lombok.ToString;
@Getter
@ToString
@AllArgsConstructor
-public enum FileType {
+public enum FileType implements PowerfulEnum {
/**
* 图片
*/
- IMAGE("10", "image"),
+ IMAGE(10, "image"),
/**
* 语音
*/
- VOICE("20", "voice"),
+ VOICE(20, "voice"),
/**
* 普通文件
*/
- COMMON_FILE("30", "file"),
+ COMMON_FILE(30, "file"),
/**
* 视频
*/
- VIDEO("40", "video"),
+ VIDEO(40, "video"),
;
- private final String code;
- private final String name;
+ private final Integer code;
+ private final String description;
- public static String getNameByCode(String code) {
- for (FileType fileType : FileType.values()) {
- if (fileType.getCode().equals(code)) {
- return fileType.getName();
- }
- }
- return null;
- }
}
diff --git a/austin-common/src/main/java/com/java3y/austin/common/enums/IdType.java b/austin-common/src/main/java/com/java3y/austin/common/enums/IdType.java
index 2861f48..e4be0d9 100644
--- a/austin-common/src/main/java/com/java3y/austin/common/enums/IdType.java
+++ b/austin-common/src/main/java/com/java3y/austin/common/enums/IdType.java
@@ -13,7 +13,7 @@ import lombok.ToString;
@Getter
@ToString
@AllArgsConstructor
-public enum IdType {
+public enum IdType implements PowerfulEnum {
/**
* 站内userId
*/
diff --git a/austin-common/src/main/java/com/java3y/austin/common/enums/MessageStatus.java b/austin-common/src/main/java/com/java3y/austin/common/enums/MessageStatus.java
index 0d29926..5e0bb52 100644
--- a/austin-common/src/main/java/com/java3y/austin/common/enums/MessageStatus.java
+++ b/austin-common/src/main/java/com/java3y/austin/common/enums/MessageStatus.java
@@ -11,7 +11,7 @@ import lombok.ToString;
@Getter
@ToString
@AllArgsConstructor
-public enum MessageStatus {
+public enum MessageStatus implements PowerfulEnum {
/**
* 10.新建
diff --git a/austin-common/src/main/java/com/java3y/austin/common/enums/MessageType.java b/austin-common/src/main/java/com/java3y/austin/common/enums/MessageType.java
index de40d1f..7b97462 100644
--- a/austin-common/src/main/java/com/java3y/austin/common/enums/MessageType.java
+++ b/austin-common/src/main/java/com/java3y/austin/common/enums/MessageType.java
@@ -4,6 +4,9 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;
+import java.util.Arrays;
+import java.util.Objects;
+
/**
* 发送的消息类型
*
@@ -12,7 +15,7 @@ import lombok.ToString;
@Getter
@ToString
@AllArgsConstructor
-public enum MessageType {
+public enum MessageType implements PowerfulEnum {
/**
* 通知类消息
@@ -44,21 +47,4 @@ public enum MessageType {
private final String codeEn;
- /**
- * 通过code获取enum
- *
- * @param code
- * @return
- */
- public static MessageType getEnumByCode(Integer code) {
- MessageType[] values = values();
- for (MessageType value : values) {
- if (value.getCode().equals(code)) {
- return value;
- }
- }
- return null;
- }
-
-
}
diff --git a/austin-common/src/main/java/com/java3y/austin/common/enums/PowerfulEnum.java b/austin-common/src/main/java/com/java3y/austin/common/enums/PowerfulEnum.java
new file mode 100644
index 0000000..6d9f8fa
--- /dev/null
+++ b/austin-common/src/main/java/com/java3y/austin/common/enums/PowerfulEnum.java
@@ -0,0 +1,9 @@
+package com.java3y.austin.common.enums;
+
+public interface PowerfulEnum {
+
+ Integer getCode();
+
+ String getDescription();
+
+}
diff --git a/austin-common/src/main/java/com/java3y/austin/common/enums/RespStatusEnum.java b/austin-common/src/main/java/com/java3y/austin/common/enums/RespStatusEnum.java
index c745ba0..4830964 100644
--- a/austin-common/src/main/java/com/java3y/austin/common/enums/RespStatusEnum.java
+++ b/austin-common/src/main/java/com/java3y/austin/common/enums/RespStatusEnum.java
@@ -13,7 +13,7 @@ import lombok.ToString;
@Getter
@ToString
@AllArgsConstructor
-public enum RespStatusEnum {
+public enum RespStatusEnum {
/**
* 错误
diff --git a/austin-common/src/main/java/com/java3y/austin/common/enums/ShieldType.java b/austin-common/src/main/java/com/java3y/austin/common/enums/ShieldType.java
index e5e68d4..74770db 100644
--- a/austin-common/src/main/java/com/java3y/austin/common/enums/ShieldType.java
+++ b/austin-common/src/main/java/com/java3y/austin/common/enums/ShieldType.java
@@ -12,7 +12,7 @@ import lombok.ToString;
@Getter
@ToString
@AllArgsConstructor
-public enum ShieldType {
+public enum ShieldType implements PowerfulEnum {
/**
@@ -30,6 +30,4 @@ public enum ShieldType {
private final Integer code;
private final String description;
-
-
}
diff --git a/austin-common/src/main/java/com/java3y/austin/common/enums/SmsStatus.java b/austin-common/src/main/java/com/java3y/austin/common/enums/SmsStatus.java
index c7d2511..b3976ac 100644
--- a/austin-common/src/main/java/com/java3y/austin/common/enums/SmsStatus.java
+++ b/austin-common/src/main/java/com/java3y/austin/common/enums/SmsStatus.java
@@ -12,7 +12,7 @@ import lombok.ToString;
@Getter
@ToString
@AllArgsConstructor
-public enum SmsStatus {
+public enum SmsStatus implements PowerfulEnum{
/**
* 调用渠道接口发送成功
@@ -33,22 +33,4 @@ public enum SmsStatus {
private final Integer code;
private final String description;
-
-
- /**
- * 根据状态获取描述信息
- *
- * @param code
- * @return
- */
- public static String getDescriptionByStatus(Integer code) {
- for (SmsStatus value : SmsStatus.values()) {
- if (value.getCode().equals(code)) {
- return value.getDescription();
- }
- }
- return "";
- }
-
-
}
diff --git a/austin-common/src/main/java/com/java3y/austin/common/enums/SmsSupplier.java b/austin-common/src/main/java/com/java3y/austin/common/enums/SmsSupplier.java
index 1fcc07b..f986478 100644
--- a/austin-common/src/main/java/com/java3y/austin/common/enums/SmsSupplier.java
+++ b/austin-common/src/main/java/com/java3y/austin/common/enums/SmsSupplier.java
@@ -13,7 +13,7 @@ import lombok.ToString;
@Getter
@ToString
@AllArgsConstructor
-public enum SmsSupplier {
+public enum SmsSupplier implements PowerfulEnum {
/**
@@ -27,19 +27,4 @@ public enum SmsSupplier {
private final Integer code;
private final String description;
-
- /**
- * 根据状态获取描述信息
- *
- * @param code
- * @return
- */
- public static String getDescriptionByStatus(Integer code) {
- for (SmsStatus value : SmsStatus.values()) {
- if (value.getCode().equals(code)) {
- return value.getDescription();
- }
- }
- return "";
- }
}
diff --git a/austin-common/src/main/java/com/java3y/austin/common/enums/TemplateType.java b/austin-common/src/main/java/com/java3y/austin/common/enums/TemplateType.java
index 2900033..6e80ee4 100644
--- a/austin-common/src/main/java/com/java3y/austin/common/enums/TemplateType.java
+++ b/austin-common/src/main/java/com/java3y/austin/common/enums/TemplateType.java
@@ -12,7 +12,7 @@ import lombok.ToString;
@Getter
@ToString
@AllArgsConstructor
-public enum TemplateType {
+public enum TemplateType implements PowerfulEnum {
/**
* 定时类的模板(后台定时调用)