Merge remote-tracking branch 'gitrep/dev-shangqing' into dev-shangqing-origin

# Conflicts:
#	.gitignore
#	src/main/java/com/sunyard/SydApiException.java
This commit is contained in:
cheney
2022-09-05 15:49:46 +08:00
33 changed files with 1194 additions and 1417 deletions
+36 -26
View File
@@ -13,82 +13,92 @@ public class SydApiException extends RuntimeException{
return retCode;
}
public void transMsg(){
switch (this.retCode){
private static String transMsg(int code){
String msg = "未定义的错误";
switch (code){
case -1:
case -2:
case -3:
this.msg = "网络错误";
msg = "网络错误";
break;
case -4:
this.msg = "返回包的序列号有误";
msg = "返回包的序列号有误";
break;
case -5:
this.msg = "返回包的命令码有误";
msg = "返回包的命令码有误";
break;
case -6:
this.msg = "输出缓冲区预留太小";
msg = "输出缓冲区预留太小";
break;
case -25:
this.msg = "输入的 HASH 值长度应该为 32 个字节";
msg = "输入的 HASH 值长度应该为 32 个字节";
break;
case -26:
this.msg = "用户标识超长(应该<=16) ";
msg = "用户标识超长(应该<=16) ";
break;
case -27:
this.msg = "数据类型不合法 ";
msg = "数据类型不合法 ";
break;
case 33:
this.msg = "检索的数据或密钥不存在";
msg = "检索的数据或密钥不存在";
break;
case 4:
this.msg = "DER 编码格式错误(公钥) ";
msg = "DER 编码格式错误(公钥) ";
break;
case 21:
this.msg = "输入的数据格式错误 ";
msg = "输入的数据格式错误 ";
break;
case 19:
this.msg = "数据解密错(C3) ";
msg = "数据解密错(C3) ";
break;
case 2:
this.msg = "签名验证错误 ";
msg = "签名验证错误 ";
break;
case 129:
this.msg = "没有该指令";
msg = "没有该指令";
break;
case 0x8006 : {
this.msg = "输入的数据格式错误";
msg = "输入的数据格式错误";
break;
}
case 32770:
this.msg = "签名验证错误(P7) ";
msg = "签名验证错误(P7) ";
break;
case 32773:
this.msg = "证书不可信";
msg = "证书不可信";
break;
case 32884:
this.msg = "证书或签名数据的格式错";
msg = "证书或签名数据的格式错";
break;
case 36868:
this.msg = "DN 所指向的实体不存在";
msg = "DN 所指向的实体不存在";
break;
case 40000:
this.msg = "输入的大数据处理异常";
break;
case 56300:
this.msg = "证书导入错误";
break;
case 56307:
this.msg = "证书删除错误";
break;
default:
this.msg = "未定义的错误";
msg = "未定义的错误";
}
return msg;
}
public void transMsg(){
this.msg = transMsg( this.retCode );
}
public SydApiException(int retCode) {
@@ -98,9 +108,9 @@ public class SydApiException extends RuntimeException{
}
public SydApiException(String msg, int ret){
super("SydApiException(" +"code ="+ String.format(" %d", ret) + " : "+"msg ="+ (null == msg ? "未定义的错误" : msg) +")" );
this.retCode = ret;
public SydApiException(String msg, int retCode){
super("SydApiException(" + String.format("%04X", retCode) + ":" + ( null == msg ? transMsg(retCode) : msg ) + ")" );
this.retCode = retCode;
if (null == msg || "".equals(msg)){
transMsg();
}else {
@@ -124,7 +134,7 @@ public class SydApiException extends RuntimeException{
sb.append(Integer.toHexString(this.retCode));
sb.append(" ) ");
sb.append(" msg = ");
sb.append(this.msg);
sb.append(msg);
return sb.toString();
}
}