完善WeixinException

This commit is contained in:
jinyu
2016-05-05 23:22:13 +08:00
parent ce653e049d
commit aff76298d3
15 changed files with 1822 additions and 416 deletions
@@ -1,6 +1,7 @@
package com.foxinmy.weixin4j.exception;
import com.foxinmy.weixin4j.util.StringUtil;
import com.foxinmy.weixin4j.util.WeixinErrorUtil;
/**
* 调用微信接口抛出的异常
@@ -15,17 +16,17 @@ public class WeixinException extends Exception {
private static final long serialVersionUID = 7148145661883468514L;
private String errorCode;
private String errorMsg;
private String code;
private String desc;
public WeixinException(String errorCode, String errorMsg) {
this.errorCode = errorCode;
this.errorMsg = errorMsg;
public WeixinException(String code, String desc) {
this.code = code;
this.desc = desc;
}
public WeixinException(String errorMsg) {
this.errorCode = "-1";
this.errorMsg = errorMsg;
public WeixinException(String desc) {
this.code = "-1";
this.desc = desc;
}
public WeixinException(Throwable e) {
@@ -37,25 +38,27 @@ public class WeixinException extends Exception {
}
public String getErrorCode() {
return errorCode;
return code;
}
public String getErrorMsg() {
return errorMsg;
return desc;
}
@Override
public String getMessage() {
StringBuilder buf = new StringBuilder();
if (StringUtil.isNotBlank(errorCode)) {
buf.append(errorCode);
if (StringUtil.isNotBlank(code)) {
buf.append(code);
}
if (StringUtil.isNotBlank(errorMsg)) {
buf.append(" ").append(errorMsg);
if (StringUtil.isNotBlank(desc)) {
buf.append(" >> ").append(desc);
}
if (buf.length() == 0) {
if (buf.length() > 0) {
buf.append(" >> ").append(WeixinErrorUtil.getText(code));
return buf.toString();
} else {
return super.getMessage();
}
return buf.toString();
}
}
@@ -12,14 +12,14 @@ package com.foxinmy.weixin4j.exception;
public class WeixinPayException extends WeixinException {
private static final long serialVersionUID = 7148145661883468514L;
public WeixinPayException(String errorMsg) {
super(errorMsg);
public WeixinPayException(String desc) {
super(desc);
}
public WeixinPayException(String errorCode, String errorMsg) {
super(errorCode, errorMsg);
public WeixinPayException(String code, String desc) {
super(code, desc);
}
public WeixinPayException(Throwable e) {
super(e);
}
@@ -22,8 +22,6 @@ import com.foxinmy.weixin4j.http.factory.HttpClientFactory;
import com.foxinmy.weixin4j.logging.InternalLogger;
import com.foxinmy.weixin4j.logging.InternalLoggerFactory;
import com.foxinmy.weixin4j.model.Consts;
import com.foxinmy.weixin4j.util.StringUtil;
import com.foxinmy.weixin4j.util.WeixinErrorUtil;
import com.foxinmy.weixin4j.xml.XmlStream;
/**
@@ -95,7 +93,8 @@ public class WeixinRequestExecutor {
return doRequest(request);
}
protected WeixinResponse doRequest(HttpRequest request) throws WeixinException {
protected WeixinResponse doRequest(HttpRequest request)
throws WeixinException {
request.setParams(params);
try {
logger.info("weixin request >> " + request.getMethod() + " "
@@ -144,10 +143,6 @@ public class WeixinRequestExecutor {
JsonResult jsonResult = response.getAsJsonResult();
response.setJsonResult(true);
if (jsonResult.getCode() != 0) {
if (StringUtil.isBlank(jsonResult.getDesc())) {
jsonResult.setDesc(WeixinErrorUtil.getText(Integer
.toString(jsonResult.getCode())));
}
throw new WeixinException(Integer.toString(jsonResult.getCode()),
jsonResult.getDesc());
}
File diff suppressed because it is too large Load Diff
@@ -97,9 +97,11 @@ public class JSSDKConfigurator {
*
* @param url
* 当前网页的URL,不包含#及其后面部分
* @return
* @return jssdk配置JSON字符串
* @see <a
* href="http://mp.weixin.qq.com/wiki/11/74ad127cc054f6b80759c40f77ec03db.html#.E6.AD.A5.E9.AA.A4.E4.B8.89.EF.BC.9A.E9.80.9A.E8.BF.87config.E6.8E.A5.E5.8F.A3.E6.B3.A8.E5.85.A5.E6.9D.83.E9.99.90.E9.AA.8C.E8.AF.81.E9.85.8D.E7.BD.AE">通过config接口注入权限验证配置</a>
* href="https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN">公众号JSSDK</a>
* @see <a
* href="http://qydev.weixin.qq.com/wiki/index.php?title=%E5%BE%AE%E4%BF%A1JS-SDK%E6%8E%A5%E5%8F%A3">企业号JSSDK</a>
* @throws WeixinException
*/
public String toJSONConfig(String url) throws WeixinException {
@@ -19,7 +19,7 @@ public abstract class AbstractTokenCreator implements TokenCreator {
}
/**
* 缓存key:附加weixin4j前缀
* 缓存key:附加weixin4j_前缀
*
* @return
*/
@@ -16,9 +16,9 @@ import com.foxinmy.weixin4j.model.Token;
*/
public interface TokenStorager extends CacheStorager<Token> {
/**
* 考虑到程序的临界值,实际有效时间应该减去下面这个数
* 考虑到临界情况,在实际有效时间上减去60秒
*/
final long CUTMS = 1 * 60 * 1000l;
final long CUTMS = 60 * 1000l;
/**
* 缓存key的前缀
*/
@@ -74,11 +74,14 @@ public final class WeixinErrorUtil {
}
public String getText() {
return StringUtil.isBlank(text) ? "未知错误" : text;
return StringUtil.isBlank(text) ? "" : text;
}
}
public static String getText(String code) throws RuntimeException {
if (StringUtil.isBlank(code)) {
return "";
}
String text = errorCacheMap.get(code);
if (StringUtil.isBlank(text)) {
ErrorTextHandler textHandler = new ErrorTextHandler(code);