直接上java代码
java
public enum FMCOSStatus {
SUCCESS("9000", "正确执行"),
WARNING_POSSIBLE_DATA_ERROR("6281", "回送的数据可能错误"),
SELECT_FILE_OR_KEY_CHECK_ERROR("6283", "选择文件无效,文件或密钥校验错误"),
RETRY_COUNT_AVAILABLE("63CX", "X表示还可再试次数"),
STATE_FLAG_UNCHANGED("6400", "状态标志未改变"),
EEPROM_WRITE_FAILED("6581", "写EEPROM不成功"),
INCORRECT_LENGTH("6700", "错误的长度"),
CLA_MISMATCH_LINE_PROTECT("6900", "CLA与线路保护要求不匹配"),
INVALID_STATE("6901", "无效的状态"),
COMMAND_INCOMPATIBLE_WITH_FILE_STRUCTURE("6981", "命令与文件结构不相容"),
SECURITY_STATUS_NOT_SATISFIED("6982", "不满足安全状态"),
KEY_LOCKED("6983", "密钥被锁死"),
CONDITIONS_OF_USE_NOT_SATISFIED("6985", "使用条件不满足"),
SECURITY_MESSAGE_MISSING("6987", "无安全报文"),
SECURITY_MESSAGE_DATA_INCORRECT("6988", "安全报文数据项不正确"),
DATA_FIELD_PARAM_ERROR("6A80", "数据域参数错误"),
FUNCTION_NOT_SUPPORTED("6A81", "功能不支持或卡中无MF或卡片已锁定"),
FILE_NOT_FOUND("6A82", "文件未找到"),
RECORD_NOT_FOUND("6A83", "记录未找到"),
INSUFFICIENT_FILE_SPACE("6A84", "文件无足够空间"),
PARAM_P1_P2_ERROR("6A86", "参数P1 P2错误"),
KEY_NOT_FOUND("6A88", "密钥未找到"),
FILE_END_BEFORE_LE("6B00", "在达到Le/Le字节之前文件结束,偏移量错误"),
LE_ERROR("6CXX", "Le错误"),
INVALID_CLA("6E00", "无效的CLA"),
DATA_INVALID("6F00", "数据无效"),
MAC_ERROR("9302", "MAC错误"),
APPLICATION_LOCKED("9303", "应用已被锁定"),
AMOUNT_INSUFFICIENT("9401", "金额不足"),
KEY_INDEX_NOT_SUPPORTED("9403", "密钥索引不支持"),
REQUIRED_MAC_UNAVAILABLE("9406", "所需的MAC不可用"),
GMAC_ERROR("9302", "GMAC错误"),
INSTRUCTION_CODE_NOT_SUPPORTED("6D00", "指令代码(INS)不被支持或无效");
private final String code;
private final String description;
FMCOSStatus(String code, String description) {
this.code = code;
this.description = description;
}
public String getCode() {
return code;
}
public String getDescription() {
return description;
}
public static FMCOSStatus fromCode(String code) {
for (FMCOSStatus status : values()) {
if (status.code.equals(code)) {
return status;
}
}
return null;
}
}
使用示例:
java
public class FMCOSExample {
public static void main(String[] args) {
String response = "6982";
FMCOSStatus status = FMCOSStatus.fromCode(response);
if (status != null) {
System.out.println("状态码: " + status.getCode());
System.out.println("含义: " + status.getDescription());
} else {
System.out.println("未知状态码: " + response);
}
}
}