|
@@ -8,7 +8,7 @@ import java.util.Map;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 微信错误处理工具类
|
|
* 微信错误处理工具类
|
|
|
- *
|
|
|
|
|
|
|
+ *
|
|
|
* @author system
|
|
* @author system
|
|
|
*/
|
|
*/
|
|
|
@Slf4j
|
|
@Slf4j
|
|
@@ -28,7 +28,7 @@ public class WechatErrorUtil {
|
|
|
if (errcode == null) {
|
|
if (errcode == null) {
|
|
|
return "微信接口调用失败";
|
|
return "微信接口调用失败";
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
switch (errcode) {
|
|
switch (errcode) {
|
|
|
case 40001:
|
|
case 40001:
|
|
|
return "微信access_token无效或已过期";
|
|
return "微信access_token无效或已过期";
|
|
@@ -47,7 +47,7 @@ public class WechatErrorUtil {
|
|
|
case 50003:
|
|
case 50003:
|
|
|
return "微信小程序未发布,无法生成链接";
|
|
return "微信小程序未发布,无法生成链接";
|
|
|
case 85079:
|
|
case 85079:
|
|
|
- return "微信小程序程序代码已发布,不能重新发布";
|
|
|
|
|
|
|
+ return "微信小程序程序代码待发布,请先发布版本";
|
|
|
case 85301:
|
|
case 85301:
|
|
|
return "微信小程序审核未通过";
|
|
return "微信小程序审核未通过";
|
|
|
case 89449:
|
|
case 89449:
|
|
@@ -59,32 +59,32 @@ public class WechatErrorUtil {
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 处理WxErrorException异常
|
|
* 处理WxErrorException异常
|
|
|
- *
|
|
|
|
|
|
|
+ *
|
|
|
* @param e WxErrorException异常
|
|
* @param e WxErrorException异常
|
|
|
* @param defaultMessage 默认错误信息
|
|
* @param defaultMessage 默认错误信息
|
|
|
* @return 格式化后的错误信息(错误码|错误信息)
|
|
* @return 格式化后的错误信息(错误码|错误信息)
|
|
|
*/
|
|
*/
|
|
|
public static String handleWxErrorException(WxErrorException e, String defaultMessage) {
|
|
public static String handleWxErrorException(WxErrorException e, String defaultMessage) {
|
|
|
log.error("微信API调用异常", e);
|
|
log.error("微信API调用异常", e);
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// WxErrorException 包含微信返回的错误信息
|
|
// WxErrorException 包含微信返回的错误信息
|
|
|
Integer errcode = e.getError().getErrorCode();
|
|
Integer errcode = e.getError().getErrorCode();
|
|
|
String errmsg = e.getError().getErrorMsg();
|
|
String errmsg = e.getError().getErrorMsg();
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 如果有微信错误码,使用微信的错误处理逻辑
|
|
// 如果有微信错误码,使用微信的错误处理逻辑
|
|
|
if (errcode != null) {
|
|
if (errcode != null) {
|
|
|
String friendlyMsg = getFriendlyMessage(errcode);
|
|
String friendlyMsg = getFriendlyMessage(errcode);
|
|
|
log.error("微信返回错误,错误码:{},原始信息:{},友好提示:{}", errcode, errmsg, friendlyMsg);
|
|
log.error("微信返回错误,错误码:{},原始信息:{},友好提示:{}", errcode, errmsg, friendlyMsg);
|
|
|
return formatError(errcode, friendlyMsg);
|
|
return formatError(errcode, friendlyMsg);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 否则返回默认错误
|
|
// 否则返回默认错误
|
|
|
return formatError(-2, defaultMessage);
|
|
return formatError(-2, defaultMessage);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 解析错误信息,返回包含错误码和错误信息的Map
|
|
* 解析错误信息,返回包含错误码和错误信息的Map
|
|
|
- *
|
|
|
|
|
|
|
+ *
|
|
|
* @param errorMsg 错误信息(格式:错误码|错误信息)
|
|
* @param errorMsg 错误信息(格式:错误码|错误信息)
|
|
|
* @return Map包含errcode和msg,如果格式不正确返回null
|
|
* @return Map包含errcode和msg,如果格式不正确返回null
|
|
|
*/
|
|
*/
|
|
@@ -92,12 +92,12 @@ public class WechatErrorUtil {
|
|
|
if (errorMsg == null || !errorMsg.contains("|")) {
|
|
if (errorMsg == null || !errorMsg.contains("|")) {
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
String[] parts = errorMsg.split("\\|", 2);
|
|
String[] parts = errorMsg.split("\\|", 2);
|
|
|
if (parts.length != 2) {
|
|
if (parts.length != 2) {
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
try {
|
|
try {
|
|
|
Integer errcode = Integer.parseInt(parts[0]);
|
|
Integer errcode = Integer.parseInt(parts[0]);
|
|
|
Map<String, Object> result = new HashMap<>();
|
|
Map<String, Object> result = new HashMap<>();
|