From 47d9d86be3ac44c165dc5af46192f5e3e02c452e Mon Sep 17 00:00:00 2001 From: heqijun Date: Tue, 17 Jun 2025 18:06:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E7=9F=AD=E4=BF=A1=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E5=90=8E=E5=93=8D=E5=BA=94=E6=9E=9A=E4=B8=BE=E5=92=8C?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E5=8F=91=E9=80=81=E5=90=8E=E5=9B=9E=E8=B0=83?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E4=BB=A5=E5=8F=8A=E5=AF=B9=E5=BA=94=E7=9A=84?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E7=B1=BB+=E5=88=9B=E5=BB=BA=E4=B8=B4?= =?UTF-8?q?=E6=97=B6=E5=AD=98=E5=82=A8StandardReport=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/CMPP2DeliverEnums.java | 32 +++++++++++++++++ .../common/enums/CMPP2ResultEnums.java | 34 ++++++++++++++++++ .../common/utils/CMPP2DeliverUtil.java | 36 +++++++++++++++++++ .../common/utils/CMPP2ResultUtil.java | 36 +++++++++++++++++++ .../common/utils/CMPPDeliverMapUtil.java | 31 ++++++++++++++++ .../common/utils/CMPPSubmitRepoMapUtil.java | 8 ++--- 6 files changed, 173 insertions(+), 4 deletions(-) create mode 100644 beacon-common/src/main/java/com/mashibing/common/enums/CMPP2DeliverEnums.java create mode 100644 beacon-common/src/main/java/com/mashibing/common/enums/CMPP2ResultEnums.java create mode 100644 beacon-common/src/main/java/com/mashibing/common/utils/CMPP2DeliverUtil.java create mode 100644 beacon-common/src/main/java/com/mashibing/common/utils/CMPP2ResultUtil.java create mode 100644 beacon-common/src/main/java/com/mashibing/common/utils/CMPPDeliverMapUtil.java diff --git a/beacon-common/src/main/java/com/mashibing/common/enums/CMPP2DeliverEnums.java b/beacon-common/src/main/java/com/mashibing/common/enums/CMPP2DeliverEnums.java new file mode 100644 index 0000000..f61fb77 --- /dev/null +++ b/beacon-common/src/main/java/com/mashibing/common/enums/CMPP2DeliverEnums.java @@ -0,0 +1,32 @@ +package com.mashibing.common.enums; + +import lombok.Getter; + +/** + * @author heqijun + * @ClassName: CMPP2DeliverEnums + * @Description: CMPP2.0协议-短信发送后回调枚举 + * @date 2025/6/17 17:56 + */ + +@Getter +public enum CMPP2DeliverEnums { + + DELIVERED("DELIVRD", "Message is delivered to destination"), + EXPIRED("EXPIRED", "Message validity period has expired"), + DELETED("DELETED", "Message has been deleted."), + UNDELIVERABLE("UNDELIV", "Message is undeliverable"), + ACCEPTED("ACCEPTD", "Message is in accepted state"), + UNKNOWN("UNKNOWN", "Message is in invalid state"), + REJECTED("REJECTD", "Message is in a rejected state"), + ; + + private String stat; + + private String description; + + CMPP2DeliverEnums(String stat, String description) { + this.stat = stat; + this.description = description; + } +} diff --git a/beacon-common/src/main/java/com/mashibing/common/enums/CMPP2ResultEnums.java b/beacon-common/src/main/java/com/mashibing/common/enums/CMPP2ResultEnums.java new file mode 100644 index 0000000..809b8c2 --- /dev/null +++ b/beacon-common/src/main/java/com/mashibing/common/enums/CMPP2ResultEnums.java @@ -0,0 +1,34 @@ +package com.mashibing.common.enums; + +import lombok.Getter; + +/** + * @author heqijun + * @ClassName: CMPP2ResultEnums + * @Description: CMPP2.0协议-短信提交后的应答枚举 + * @date 2025/6/17 17:32 + */ + +@Getter +public enum CMPP2ResultEnums { + + OK(0, "正确"), + MESSAGE_BUILD_ERROR(1, "消息结构错"), + COMMAND_WORD_ERROR(2, "命令字错"), + MESSAGE_SEQUENCE_ERROR(3, "消息序号重复"), + MESSAGE_LENGTH_ERROR(4, "消息长度错"), + INCORRECT_TARIFF_CODE(5, "资费代码错"), + Exceeding_maximum_message_length(6, "超过最大信息长"), + BUSINESS_CODE_ERROR(7, "业务代码错"), + FLOW_CONTROL_ERROR(8, "流量控制错"), + UNKNOWN(9, "其他错误"); + + private final Integer result; + + private final String msg; + + CMPP2ResultEnums(Integer result, String msg) { + this.result = result; + this.msg = msg; + } +} diff --git a/beacon-common/src/main/java/com/mashibing/common/utils/CMPP2DeliverUtil.java b/beacon-common/src/main/java/com/mashibing/common/utils/CMPP2DeliverUtil.java new file mode 100644 index 0000000..aff49ff --- /dev/null +++ b/beacon-common/src/main/java/com/mashibing/common/utils/CMPP2DeliverUtil.java @@ -0,0 +1,36 @@ +package com.mashibing.common.utils; + +import com.mashibing.common.enums.CMPP2DeliverEnums; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author heqijun + * @ClassName: CMPP2DeliverUtil + * @Description: CMPP2.0协议-短信发送后回调枚举工具类 + * @date 2025/6/17 17:59 + */ + +public class CMPP2DeliverUtil { + + private static Map stats = new HashMap<>(); + + static { + CMPP2DeliverEnums[] cmpp2DeliverEnums = CMPP2DeliverEnums.values(); + for (CMPP2DeliverEnums cmpp2DeliverEnum : cmpp2DeliverEnums) { + stats.put(cmpp2DeliverEnum.getStat(), cmpp2DeliverEnum.getDescription()); + } + } + + /** + * 通过result结果拿到对应的错误信息 + * + * @param stat CMPP2DeliverEnum.stat + * @return CMPP2DeliverEnums.description + */ + public static String getResultMessage(String stat) { + return stats.get(stat); + } + +} diff --git a/beacon-common/src/main/java/com/mashibing/common/utils/CMPP2ResultUtil.java b/beacon-common/src/main/java/com/mashibing/common/utils/CMPP2ResultUtil.java new file mode 100644 index 0000000..981d5ff --- /dev/null +++ b/beacon-common/src/main/java/com/mashibing/common/utils/CMPP2ResultUtil.java @@ -0,0 +1,36 @@ +package com.mashibing.common.utils; + +import com.mashibing.common.enums.CMPP2ResultEnums; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author heqijun + * @ClassName: CMPP2ResultUtil + * @Description: CMPP2.0协议-短信提交后的应答枚举工具类 + * @date 2025/6/17 17:39 + */ + +public class CMPP2ResultUtil { + + private static Map results = new HashMap<>(); + + static { + CMPP2ResultEnums[] cmpp2ResultEnums = CMPP2ResultEnums.values(); + for (CMPP2ResultEnums cmpp2ResultEnum : cmpp2ResultEnums) { + results.put(cmpp2ResultEnum.getResult(), cmpp2ResultEnum.getMsg()); + } + } + + /** + * 通过result结果拿到对应的错误信息 + * + * @param result CMPP2ResultEnum.result + * @return CMPP2ResultEnum.msg + */ + public static String getResultMessage(Integer result) { + return results.get(result); + } + +} diff --git a/beacon-common/src/main/java/com/mashibing/common/utils/CMPPDeliverMapUtil.java b/beacon-common/src/main/java/com/mashibing/common/utils/CMPPDeliverMapUtil.java new file mode 100644 index 0000000..7dd9061 --- /dev/null +++ b/beacon-common/src/main/java/com/mashibing/common/utils/CMPPDeliverMapUtil.java @@ -0,0 +1,31 @@ +package com.mashibing.common.utils; + +import com.mashibing.common.pojo.StandardReport; + +import java.util.concurrent.ConcurrentHashMap; + +/** + * @author heqijun + * @ClassName: CMPPDeliverMapUtil + * @Description: 临时存储StandardReport对象 + * @date 2025/6/17 18:01 + */ + +public class CMPPDeliverMapUtil { + + private static ConcurrentHashMap tempReport = new ConcurrentHashMap<>(); + + public static void put(String msgId, StandardReport submit) { + tempReport.put(msgId, submit); + } + + public static StandardReport get(String msgId) { + return tempReport.get(msgId); + } + + public static StandardReport remove(String msgId) { + return tempReport.remove(msgId); + } + + +} diff --git a/beacon-common/src/main/java/com/mashibing/common/utils/CMPPSubmitRepoMapUtil.java b/beacon-common/src/main/java/com/mashibing/common/utils/CMPPSubmitRepoMapUtil.java index 73f9fc0..67a5c05 100644 --- a/beacon-common/src/main/java/com/mashibing/common/utils/CMPPSubmitRepoMapUtil.java +++ b/beacon-common/src/main/java/com/mashibing/common/utils/CMPPSubmitRepoMapUtil.java @@ -13,18 +13,18 @@ import java.util.concurrent.ConcurrentHashMap; public class CMPPSubmitRepoMapUtil { - private static final ConcurrentHashMap TEMP_SUBMIT = new ConcurrentHashMap<>(); + private static ConcurrentHashMap tempSubmit = new ConcurrentHashMap<>(); public static StandardSubmit put(int sequence, StandardSubmit standardSubmit) { - return TEMP_SUBMIT.put(sequence + "", standardSubmit); + return tempSubmit.put(sequence + "", standardSubmit); } public static StandardSubmit get(int sequence) { - return TEMP_SUBMIT.get(sequence + ""); + return tempSubmit.get(sequence + ""); } public static StandardSubmit remove(int sequence) { - return TEMP_SUBMIT.remove(sequence + ""); + return tempSubmit.remove(sequence + ""); } private CMPPSubmitRepoMapUtil() {