From 2cc6f87a43be527237ab63ba61a733344079ee62 Mon Sep 17 00:00:00 2001 From: efren <79289982@qq.com> Date: Wed, 25 Jun 2025 10:59:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=AD=E4=BF=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extend/sms/constant/SmsErrorEnum.java | 164 ++++++++++-------- .../extend/sms/controller/SmsController.java | 7 + 2 files changed, 94 insertions(+), 77 deletions(-) diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/sms/constant/SmsErrorEnum.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/sms/constant/SmsErrorEnum.java index 72746e0..4f1bd7c 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/sms/constant/SmsErrorEnum.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/sms/constant/SmsErrorEnum.java @@ -1,93 +1,103 @@ package com.chinaunicom.mall.ebtp.extend.sms.constant; -public enum SmsErrorEnum { - ACCOUNT_URL_FORMAT_ERROR(111100, "【账号】请求URL中账号格式不正确"), - ACCOUNT_AUTHORIZATION_HEADER_EMPTY(111101, "【账号】请求包头Authorization参数为空"), - ACCOUNT_AUTHORIZATION_BASE64_DECODE_FAIL(111102, "【账号】请求包头Authorization参数Base64解码失败"), - ACCOUNT_AUTHORIZATION_DECODE_FORMAT_ERROR(111103, "【账号】请求包头Authorization参数解码后格式有误"), - ACCOUNT_AUTHORIZATION_DECODE_ID_EMPTY(111104, "【账号】请求包头Authorization参数解码后账户ID为空"), - ACCOUNT_AUTHORIZATION_DECODE_TIMESTAMP_EMPTY(111105, "【账号】请求包头Authorization参数解码后时间戳为空"), - ACCOUNT_AUTHORIZATION_DECODE_TIMESTAMP_EXPIRED(111106, "【账号】请求包头Authorization参数解码后时间戳过期"), - ACCOUNT_AUTHORIZATION_ID_NOT_MATCH(111107, "【账号】请求包头Authorization参数中账户ID跟请求地址中的账户ID不一致"), - ACCOUNT_SIG_PARAM_EMPTY(111108, "【账号】请求地址Sig参数为空"), - ACCOUNT_SIG_VERIFY_FAIL(111109, "【账号】请求地址Sig校验失败"), - ACCOUNT_SOFTVERSION_ERROR(111110, "【账号】请求地址SoftVersion参数有误"), - ACCOUNT_CONCURRENT_LIMIT(111111, "【账号】接口请求超过规定的并发数"), - ACCOUNT_AUTHORIZATION_TIMESTAMP_FORMAT_ERROR(111113, "【账号】请求包头Authorization参数中时间戳格式有误,请参考yyyyMMddHHmmss"), - ACCOUNT_PAUSED(111139, "【账号】主账户已暂停"), - ACCOUNT_CLOSED(111140, "【账号】主账户已关闭"), - ACCOUNT_NOT_EXIST(111141, "【账号】主账户不存在"), - ACCOUNT_BALANCE_NOT_ENOUGH(121002, "【账号】余额不足"), - SMS_TEST_TEMPLATE_NOT_BIND(113302, "【短信】正在使用云通讯测试模板且短信接收者不是绑定的测试号码"), - SMS_PARAM_PARSE_FAIL(160031, "【短信】参数解析失败"), - SMS_TEMPLATE_INVALID(160032, "【短信】短信模板无效"), - SMS_BLACK_WORD(160033, "【短信】短信存在黑词"), - SMS_NUMBER_BLACKLIST(160034, "【短信】号码黑名单"), - SMS_CONTENT_EMPTY(160035, "【短信】短信下发内容为空"), - SMS_TEMPLATE_TYPE_UNKNOWN(160036, "【短信】短信模板类型未知"), - SMS_CONTENT_LENGTH_LIMIT(160037, "【短信】短信内容长度限制"), - SMS_CODE_SEND_TOO_FREQUENT(160038, "【短信】短信验证码发送过频繁"), - SMS_TEMPLATE_NUMBER_DAY_LIMIT(160039, "【短信】超出同模板同号天发送次数上限"), - SMS_CODE_NUMBER_DAY_LIMIT(160040, "【短信】验证码超出同模板同号码天发送上限"), - SMS_NOTIFY_NUMBER_DAY_LIMIT(160041, "【短信】通知超出同模板同号码天发送上限"), - SMS_NUMBER_FORMAT_ERROR(160042, "【短信】号码格式有误"), - SMS_APP_TEMPLATE_ID_NOT_MATCH(160043, "【短信】应用与模板id不匹配"), - SMS_SEND_NUMBER_EMPTY(160044, "【短信】发送号码为空"), - SMS_BATCH_NUMBER_DUPLICATE(160045, "【短信】群发号码重复"), - SMS_MARKETING_CONTENT_AUDIT_FAIL(160046, "【短信】营销短信发送内容审核未通过"), - SMS_STATUS_REPORT_PARSE_FAIL(160047, "【短信】查询状态报告包体解析失败"), - SMS_BATCH_NUMBER_LIMIT(160048, "【短信】群发号码个数超限制"), - SMS_CONTENT_SENSITIVE_WORD(160049, "【短信】短信内容含敏感词"), - SMS_SEND_FAIL(160050, "【短信】短信发送失败"), - SMS_MARKETING_UNSUBSCRIBE_NUMBER(160051, "【短信】营销退订号码"), - SMS_TEMPLATE_VARIABLE_FORMAT_ERROR(160052, "【短信】模板变量格式有误"), - SMS_IP_AUTH_FAIL(160053, "【短信】IP鉴权失败"), - SMS_REQUEST_REPEAT(160054, "【短信】请求重复"), - SMS_REQID_TOO_LONG(160055, "【短信】请求reqId超长"), - SMS_SAME_NUMBER_CONTENT_REPEAT(160056, "【短信】同号码请求内容重复"), - SMS_TEMPLATE_ID_MUST_NUMBER(160057, "【短信】短信模板ID要求为数字"), - SMS_INTL_NO_PERMISSION(160058, "【国际短信】账户无国际短信权限"), - SMS_INTL_BATCH_NOT_SUPPORT(160059, "【国际短信】国际短信暂不支持群发"), - SMS_INTL_MARKETING_NO_PERMISSION(160060, "【国际短信】国际短信账户无营销短信权限"), - SMS_INTL_UNSUPPORTED_COUNTRY_CODE(160061, "【国际短信】暂不支持的国家码号"), - SMS_INTL_COUNTRY_CODE_NOT_OPEN(160062, "【国际短信】未开通此国家码号"), - SMS_SEND_FAIL_2(160063, "【短信】短信发送失败"), - SMS_SEND_FAIL_3(160064, "【短信】短信发送失败"), - SMS_SUB_EXT_INVALID(160065, "【短信】子扩展不符合要求"), - SMS_SCHEDULE_TIME_INVALID(160066, "【短信】定时发送时间不符合平台规则"), - SMS_SCHEDULE_TIME_FORMAT_ERROR(160067, "【短信】定时发送时间格式有误"), - SMS_ALL_UNSUBSCRIBE_BLACKLIST(160068, "【短信】平台全部退订号码黑名单"), - SMS_TEST_TEMPLATE_VAR_NOT_NUMBER(160069, "【短信】测试模板变量非数字"), - SMS_CUSTOM_TEMPLATE_NOT_SUPPORT_INTL(160070, "【短信】自定义短信模板不支持国际短信"), - SMS_MARKETING_TIME_NOT_ALLOWED(160071, "【短信】营销短信不在允许发送时间段"), - SMS_KEY_NUMBER_BLACKLIST(160072, "【短信】关键号码黑名单"), - SMS_OPERATOR_COMPLAINT_BLACKLIST(160073, "【短信】运营商投诉号码黑名单"), - SMS_CONTENT_BLACK_LINK(160074, "【短信】内容含黑链接"), - SMS_TEMPLATE_VAR_TOO_LONG(160078, "【短信】模板变量超长"), - SMS_NUMBER_BLACKLIST_2(160079, "【短信】号码黑名单"), - SMS_DAY_LIMIT(160080, "【短信】日发送量超出限额"), - SMS_MONTH_LIMIT(160081, "【短信】月发送量超出限额"), - SMS_NOT_WHITE_TEMPLATE(160082, "【短信】非报备白模板内容"), - SMS_CUSTOM_APP_NOT_EXIST(160083, "【短信】自定义应用不存在"), - SMS_NOT_CUSTOM_APP(160084, "【短信】非自定义应用"), - SMS_CUSTOM_APP_DISABLED(160085, "【短信】自定义应用已停用"), - SMS_NUMBER_BLIND_ZONE(160086, "【短信】号码盲区"), - SMS_SIGNATURE_BLOCKED(160087, "【短信】系统屏蔽签名"), - SMS_INTL_NUMBER_FORMAT_INVALID(160088, "【国际短信】号码格式无效"); - private final int code; +public enum SmsErrorEnum { + ACCOUNT_URL_FORMAT_ERROR("111100", "【账号】请求URL中账号格式不正确"), + ACCOUNT_AUTHORIZATION_HEADER_EMPTY("111101", "【账号】请求包头Authorization参数为空"), + ACCOUNT_AUTHORIZATION_BASE64_DECODE_FAIL("111102", "【账号】请求包头Authorization参数Base64解码失败"), + ACCOUNT_AUTHORIZATION_DECODE_FORMAT_ERROR("111103", "【账号】请求包头Authorization参数解码后格式有误"), + ACCOUNT_AUTHORIZATION_DECODE_ID_EMPTY("111104", "【账号】请求包头Authorization参数解码后账户ID为空"), + ACCOUNT_AUTHORIZATION_DECODE_TIMESTAMP_EMPTY("111105", "【账号】请求包头Authorization参数解码后时间戳为空"), + ACCOUNT_AUTHORIZATION_DECODE_TIMESTAMP_EXPIRED("111106", "【账号】请求包头Authorization参数解码后时间戳过期"), + ACCOUNT_AUTHORIZATION_ID_NOT_MATCH("111107", "【账号】请求包头Authorization参数中账户ID跟请求地址中的账户ID不一致"), + ACCOUNT_SIG_PARAM_EMPTY("111108", "【账号】请求地址Sig参数为空"), + ACCOUNT_SIG_VERIFY_FAIL("111109", "【账号】请求地址Sig校验失败"), + ACCOUNT_SOFTVERSION_ERROR("111110", "【账号】请求地址SoftVersion参数有误"), + ACCOUNT_CONCURRENT_LIMIT("111111", "【账号】接口请求超过规定的并发数"), + ACCOUNT_AUTHORIZATION_TIMESTAMP_FORMAT_ERROR("111113", "【账号】请求包头Authorization参数中时间戳格式有误,请参考yyyyMMddHHmmss"), + ACCOUNT_PAUSED("111139", "【账号】主账户已暂停"), + ACCOUNT_CLOSED("111140", "【账号】主账户已关闭"), + ACCOUNT_NOT_EXIST("111141", "【账号】主账号不存在"), + ACCOUNT_BALANCE_NOT_ENOUGH("121002", "【账号】余额不足"), + SMS_TEST_TEMPLATE_NOT_BIND("113302", "【短信】正在使用云通讯测试模板且短信接收者不是绑定的测试号码"), + SMS_PARAM_PARSE_FAIL("160031", "【短信】参数解析失败"), + SMS_TEMPLATE_INVALID("160032", "【短信】短信模板无效"), + SMS_BLACK_WORD("160033", "【短信】短信存在黑词"), + SMS_NUMBER_BLACKLIST("160034", "【短信】号码黑名单"), + SMS_CONTENT_EMPTY("160035", "【短信】短信下发内容为空"), + SMS_TEMPLATE_TYPE_UNKNOWN("160036", "【短信】短信模板类型未知"), + SMS_CONTENT_LENGTH_LIMIT("160037", "【短信】短信内容长度限制"), + SMS_CODE_SEND_TOO_FREQUENT("160038", "【短信】短信验证码发送过频繁"), + SMS_TEMPLATE_NUMBER_DAY_LIMIT("160039", "【短信】超出同模板同号天发送次数上限"), + SMS_CODE_NUMBER_DAY_LIMIT("160040", "【短信】验证码超出同模板同号码天发送上限"), + SMS_NOTIFY_NUMBER_DAY_LIMIT("160041", "【短信】通知超出同模板同号码天发送上限"), + SMS_NUMBER_FORMAT_ERROR("160042", "【短信】号码格式有误"), + SMS_APP_TEMPLATE_ID_NOT_MATCH("160043", "【短信】应用与模板id不匹配"), + SMS_SEND_NUMBER_EMPTY("160044", "【短信】发送号码为空"), + SMS_BATCH_NUMBER_DUPLICATE("160045", "【短信】群发号码重复"), + SMS_MARKETING_CONTENT_AUDIT_FAIL("160046", "【短信】营销短信发送内容审核未通过"), + SMS_STATUS_REPORT_PARSE_FAIL("160047", "【短信】查询状态报告包体解析失败"), + SMS_BATCH_NUMBER_LIMIT("160048", "【短信】群发号码个数超限制"), + SMS_CONTENT_SENSITIVE_WORD("160049", "【短信】短信内容含敏感词"), + SMS_SEND_FAIL("160050", "【短信】短信发送失败"), + SMS_MARKETING_UNSUBSCRIBE_NUMBER("160051", "【短信】营销退订号码"), + SMS_TEMPLATE_VARIABLE_FORMAT_ERROR("160052", "【短信】模板变量格式有误"), + SMS_IP_AUTH_FAIL("160053", "【短信】IP鉴权失败"), + SMS_REQUEST_REPEAT("160054", "【短信】请求重复"), + SMS_REQID_TOO_LONG("160055", "【短信】请求reqId超长"), + SMS_SAME_NUMBER_CONTENT_REPEAT("160056", "【短信】同号码请求内容重复"), + SMS_TEMPLATE_ID_MUST_NUMBER("160057", "【短信】短信模板ID要求为数字"), + SMS_INTL_NO_PERMISSION("160058", "【国际短信】账户无国际短信权限"), + SMS_INTL_BATCH_NOT_SUPPORT("160059", "【国际短信】国际短信暂不支持群发"), + SMS_INTL_MARKETING_NO_PERMISSION("160060", "【国际短信】国际短信账户无营销短信权限"), + SMS_INTL_UNSUPPORTED_COUNTRY_CODE("160061", "【国际短信】暂不支持的国家码号"), + SMS_INTL_COUNTRY_CODE_NOT_OPEN("160062", "【国际短信】未开通此国家码号"), + SMS_SEND_FAIL_2("160063", "【短信】短信发送失败"), + SMS_SEND_FAIL_3("160064", "【短信】短信发送失败"), + SMS_SUB_EXT_INVALID("160065", "【短信】子扩展不符合要求"), + SMS_SCHEDULE_TIME_INVALID("160066", "【短信】定时发送时间不符合平台规则"), + SMS_SCHEDULE_TIME_FORMAT_ERROR("160067", "【短信】定时发送时间格式有误"), + SMS_ALL_UNSUBSCRIBE_BLACKLIST("160068", "【短信】平台全部退订号码黑名单"), + SMS_TEST_TEMPLATE_VAR_NOT_NUMBER("160069", "【短信】测试模板变量非数字"), + SMS_CUSTOM_TEMPLATE_NOT_SUPPORT_INTL("160070", "【短信】自定义短信模板不支持国际短信"), + SMS_MARKETING_TIME_NOT_ALLOWED("160071", "【短信】营销短信不在允许发送时间段"), + SMS_KEY_NUMBER_BLACKLIST("160072", "【短信】关键号码黑名单"), + SMS_OPERATOR_COMPLAINT_BLACKLIST("160073", "【短信】运营商投诉号码黑名单"), + SMS_CONTENT_BLACK_LINK("160074", "【短信】内容含黑链接"), + SMS_TEMPLATE_VAR_TOO_LONG("160078", "【短信】模板变量超长"), + SMS_NUMBER_BLACKLIST_2("160079", "【短信】号码黑名单"), + SMS_DAY_LIMIT("160080", "【短信】日发送量超出限额"), + SMS_MONTH_LIMIT("160081", "【短信】月发送量超出限额"), + SMS_NOT_WHITE_TEMPLATE("160082", "【短信】非报备白模板内容"), + SMS_CUSTOM_APP_NOT_EXIST("160083", "【短信】自定义应用不存在"), + SMS_NOT_CUSTOM_APP("160084", "【短信】非自定义应用"), + SMS_CUSTOM_APP_DISABLED("160085", "【短信】自定义应用已停用"), + SMS_NUMBER_BLIND_ZONE("160086", "【短信】号码盲区"), + SMS_SIGNATURE_BLOCKED("160087", "【短信】系统屏蔽签名"), + SMS_INTL_NUMBER_FORMAT_INVALID("160088", "【国际短信】号码格式无效"); + + private final String code; private final String message; - SmsErrorEnum(int code, String message) { + SmsErrorEnum(String code, String message) { this.code = code; this.message = message; } - public int code() { + public String code() { return code; } public String message() { return message; } + + public static String getMessageByCode(String code) { + for (SmsErrorEnum e : SmsErrorEnum.values()) { + if (e.code().equals(code)) { + return e.message; + } + } + return "未知错误"; + } } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/sms/controller/SmsController.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/sms/controller/SmsController.java index 28f7863..344e482 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/sms/controller/SmsController.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/sms/controller/SmsController.java @@ -1,6 +1,7 @@ package com.chinaunicom.mall.ebtp.extend.sms.controller; import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.extend.sms.constant.SmsErrorEnum; import com.chinaunicom.mall.ebtp.extend.sms.entity.SmsBaseResponseDTO; import com.chinaunicom.mall.ebtp.extend.sms.entity.SmsSendResponseDTO; import com.chinaunicom.mall.ebtp.extend.sms.entity.SmsTemplateDTO; @@ -21,6 +22,9 @@ public class SmsController { @Resource private SmsService smsService; + private static final String SMS_SUCCESS_CODE = "000000";// 短信接口成功代码 + private static final String SMS_ERRER_DESC = "sms错误代码/描述: "; + /** * 查询短信模板 * @param templateId @@ -30,6 +34,9 @@ public class SmsController { public BaseResponse> queryTemplate(@RequestParam(value = "templateId", required = false) String templateId) { // public SmsBaseResponseDTO queryTemplate(@RequestParam(value = "templateId", required = false) String templateId) { SmsBaseResponseDTO smsBaseResponseDTO = smsService.querySmsTemplate(templateId);// 空(null和'')查询所有模板 + if (!SMS_SUCCESS_CODE.equals(smsBaseResponseDTO.getStatusCode())) { + return BaseResponse.fail(SMS_ERRER_DESC + smsBaseResponseDTO.getStatusCode() + SmsErrorEnum.getMessageByCode(smsBaseResponseDTO.getStatusCode()), smsBaseResponseDTO.getTemplateSMS()); + } return BaseResponse.success(smsBaseResponseDTO.getTemplateSMS()); }