001/*
002 * ===========================================================================================
003 * = COPYRIGHT
004 *          PAX Computer Technology (Shenzhen) Co., Ltd. PROPRIETARY INFORMATION
005 *   This software is supplied under the terms of a license agreement or nondisclosure
006 *   agreement with PAX Computer Technology (Shenzhen) Co., Ltd. and may not be copied or
007 *   disclosed except in accordance with the terms in that agreement.
008 *     Copyright (C) 2017-2023 PAX Computer Technology (Shenzhen) Co., Ltd. All rights reserved.
009 * Description: // Detail description about the function of this module,
010 *             // interfaces with the other modules, and dependencies.
011 * Revision History:
012 * Date                         Author                        Action
013 * 2017/04/01                   PAX                     Create/Add/Modify/Delete
014 * ===========================================================================================
015 */
016 
017package com.pax.dal.exceptions;
018
019import com.pax.dal.utils.Utils;
020
021public enum EIccDevException {
022    /**
023     * <div class="zh"> 未知异常 </div> <div class="en"> unexpected error </div>
024     */
025    DEVICES_ERR_UNEXPECTED(97, "unexpected error", "未知异常"),
026    /**
027     * <div class="zh"> 参数错误 </div> <div class="en"> invalid argument error </div>
028     */
029    DEVICES_ERR_INVALID_ARGUMENT (98, "invalid argument error", "参数错误"),
030    /**
031     * <div class="zh"> RPC I/O 连接异常 </div> <div class="en"> connect error </div>
032     */
033    DEVICES_ERR_CONNECT(99, "connect error", "RPC I/O 连接异常"),
034    /**
035     * <div class="zh"> 不支持 </div> <div class="en"> not support error </div>
036     */
037    DEVICES_ERR_NO_SUPPORT(100, "not support error", "不支持"),
038    /**
039     * <div class="zh"> 无权限异常</div> <div class="en"> no permission error </div>
040     */
041    DEVICES_ERR_NO_PERMISSION(101,"no permission error","无权限异常"),
042    
043    /**
044     * <div class="zh"> 模块被禁用 </div> <div class="en"> module disabled </div>
045     */
046    ERROR_DISABLED(102, "module disabled", "模块被禁用"),
047    
048    /**
049     * <div class="zh"> 插件方法未找到</div> <div class="en"> plugin method not found </div>
050     */
051    ERROR_PLUGIN_METHOD_NOT_FOUND(103,"plugin method not found","插件方法未找到"),
052    
053    /**
054     * <div class="zh"> 不在白名单中 </div> <div class="en"> not in whiteList </div>
055     */
056    ERROR_NOT_IN_WHITELIST(104,"not in whiteList","不在白名单中"),
057
058    /**
059     * <div class="zh"> 通信超时 </div> <div class="en"> timeout error </div>
060     */
061    ICC_ERR_TIMEOUT(1, "timeout error", "通信超时"),
062    /**
063     * <div class="zh"> 交易中卡被拨出 </div> <div class="en"> pullout card error </div>
064     */
065    ICC_ERR_PULLOUT_CARD(2, "pullout card error", "交易中卡被拨出"),
066    /**
067     * <div class="zh"> 奇偶错误 </div> <div class="en"> parity error </div>
068     */
069    ICC_ERR_PARITY(3, "parity error", "奇偶错误"),
070    /**
071     * <div class="zh"> 选择通道错误 </div> <div class="en"> channel error </div>
072     */
073    ICC_ERR_CHANNEL(4, "channel error", "选择通道错误"),
074    /**
075     * <div class="zh"> 发送数据太长(LC) </div> <div class="en"> data length error </div>
076     */
077    ICC_ERR_DATA_LEN(5, "data length error", "发送数据太长(LC)"),
078    /**
079     * <div class="zh"> 卡片协议错误(不为T=0或T=1) </div> <div class="en"> protocol error </div>
080     */
081    ICC_ERR_PROTOCOL(6, "protocol error", "卡片协议错误(不为T=0或T=1)"),
082    /**
083     * <div class="zh"> 没有复位卡片 </div> <div class="en"> no reset error </div>
084     */
085    ICC_ERR_NO_RESET(7, "no reset error", "没有复位卡片"),
086    /**
087     * <div class="zh"> 不能通信或没上电 </div> <div class="en"> not call error </div>
088     */
089    ICC_ERR_NOT_CALL(8, "not call error", "不能通信或没上电"),
090    /**
091     * <div class="zh"> 正反向约定错误 </div> <div class="en"> forward and reverse convention errors</div>
092     */
093    ICC_ERR_ATR_TS(49, "forward and reverse convention errors", "正反向约定错误"),
094    /**
095     * <div class="zh"> 复位校验错误 </div> <div class="en"> reset check error </div>
096     */
097    ICC_ERR_ATR_TCK(50, "reset check error", "复位校验错误"),
098    /**
099     * <div class="zh"> 复位等待超时 </div> <div class="en"> reset timeout </div>
100     */
101    ICC_ERR_ATR_TIMEOUT(51, "reset timeout", "复位等待超时"),
102    /**
103     * <div class="zh"> TA1错误 </div> <div class="en"> TA1 error </div>
104     */
105    ICC_ERR_ATR_TA1(52, "TA1 error", "TA1错误"),
106    /**
107     * <div class="zh"> TA2错误 </div> <div class="en"> TA2 error </div>
108     */
109    ICC_ERR_ATR_TA2(53, "TA2 error", "TA2错误"),
110    /**
111     * <div class="zh"> TA3错误 </div> <div class="en">TA3 error </div>
112     */
113    ICC_ERR_ATR_TA3(54, "TA3 error", "TA3错误"),
114    /**
115     * <div class="zh"> TB1错误 </div> <div class="en"> TB1 error </div>
116     */
117    ICC_ERR_ATR_TB1(55, "TB1 error", "TB1错误"),
118    /**
119     * <div class="zh"> TB2错误 </div> <div class="en"> TB2 error </div>
120     */
121    ICC_ERR_ATR_TB2(56, "TB2 error", "TB2错误"),
122    /**
123     * <div class="zh"> TB3错误 </div> <div class="en"> TB3 error </div>
124     */
125    ICC_ERR_ATR_TB3(57, "TB3 error", "TB3错误"),
126    /**
127     * <div class="zh"> TC1错误 </div> <div class="en"> TC1 error </div>
128     */
129    ICC_ERR_ATR_TC1(58, "TC1 error", "TC1错误"),
130    /**
131     * <div class="zh"> TC2错误 </div> <div class="en"> TC2 error </div>
132     */
133    ICC_ERR_ATR_TC2(59, "TC2 error", "TC2错误"),
134    /**
135     * <div class="zh"> TC3错误 </div> <div class="en">TC3 error </div>
136     */
137    ICC_ERR_ATR_TC3(60, "TC3 error", "TC3错误"),
138    /**
139     * <div class="zh"> TD1错误 </div> <div class="en"> TD1 error </div>
140     */
141    ICC_ERR_ATR_TD1(61, "TD1 error", "TD1错误"),
142    /**
143     * <div class="zh"> TD2错误 </div> <div class="en"> TD2 error </div>
144     */
145    ICC_ERR_ATR_TD2(62, "TD2 error", "TD2错误"),
146    /**
147     * <div class="zh"> ATR数据长度错误 </div> <div class="en"> ATR data length error </div>
148     */
149    ICC_ERR_ATR_LENGTH(63, "ATR data length error", "ATR数据长度错误"),
150    /**
151     * <div class="zh"> T=0等待时间溢出 </div> <div class="en"> T=0 timeout </div>
152     */
153    ICC_ERR_T0_TIMEOUT(65, "T=0 timeout", "T=0等待时间溢出"),
154    /**
155     * <div class="zh"> 重传次数到限 </div> <div class="en"> Resend times limit </div>
156     */
157    ICC_ERR_T0_MORESEND(66, "Resend times limit", "重传次数到限"),
158    /**
159     * <div class="zh"> 重收次数到限 </div> <div class="en"> Re-receive times limit </div>
160     */
161    ICC_ERR_T0_MORERECE(67, "Re-receive times limit", "重收次数到限"),
162    /**
163     * <div class="zh"> T0校验错误 </div> <div class="en"> T0 check error </div>
164     */
165    ICC_ERR_T0_PAR(68, "T0 check error", "T0校验错误"),
166    /**
167     * <div class="zh"> 无效的过程字节 </div> <div class="en"> invalid process byte </div>
168     */
169    ICC_ERR_T0_INVALIDSW(69, "invalid process byte", "无效的过程字节"),
170    /**
171     * <div class="zh"> T=1字组等待时间错误 </div> <div class="en"> T=1 byte wait time error </div>
172     */
173    ICC_ERR_T1_BWT(17, "T=1 byte wait time error", "T=1字组等待时间错误"),
174    /**
175     * <div class="zh"> T=1字符等待时间错误 </div> <div class="en"> T=1 character wait time error </div>
176     */
177    ICC_ERR_T1_CWT(18, "T=1 character wait time error", "T=1字符等待时间错误"),
178    /**
179     * <div class="zh"> 放弃通信 </div> <div class="en"> Abort communication </div>
180     */
181    ICC_ERR_T1_ABORT(19, "Abort communication", "放弃通信"),
182    /**
183     * <div class="zh"> 校验码错误 </div> <div class="en"> Check code error </div>
184     */
185    ICC_ERR_T1_EDC(20, "Check code error", "校验码错误"),
186    /**
187     * <div class="zh"> 同步错误 </div> <div class="en"> sync error </div>
188     */
189    ICC_ERR_T1_SYNCH(21, "sync error", "同步错误"),
190    /**
191     * <div class="zh"> 字符保护时间错误 </div> <div class="en"> character guard time error </div>
192     */
193    ICC_ERR_T1_EGT(22, "character guard time error", "字符保护时间错误"),
194    /**
195     * <div class="zh"> 字组保护时间错误 </div> <div class="en"> byte guard time error </div>
196     */
197    ICC_ERR_T1_BGT(23, "byte guard time error", "字组保护时间错误"),
198    /**
199     * <div class="zh"> 字组中NAD错误 </div> <div class="en"> NAD error </div>
200     */
201    ICC_ERR_T1_NAD(24, "NAD error", "字组中NAD错误"),
202    /**
203     * <div class="zh"> 字组中PCB错误 </div> <div class="en"> PCB error </div>
204     */
205    ICC_ERR_T1_PCB(25, "PCB error", "字组中PCB错误"),
206    /**
207     * <div class="zh"> 字组LEN错误 </div> <div class="en"> block length error </div>
208     */
209    ICC_ERR_T1_LENGTH(26, "block length error", "字组LEN错误"),
210    /**
211     * <div class="zh"> IFSC错误 </div> <div class="en"> IFSC error </div>
212     */
213    ICC_ERR_T1_IFSC(27, "IFSC error", "IFSC错误"),
214    /**
215     * <div class="zh"> IFSD错误 </div> <div class="en"> IFSD error </div>
216     */
217    ICC_ERR_T1_IFSD(28, "IFSD error", "IFSD错误"),
218    /**
219     * <div class="zh"> 多次传送错误并中止 </div> <div class="en"> Send error multiple times and abort </div>
220     */
221    ICC_ERR_T1_MORE(29, "Send error multiple times and abort", "多次传送错误并中止"),
222    /**
223     * <div class="zh"> T1校验错误 </div> <div class="en">T1 check error </div>
224     */
225    ICC_ERR_T1_PARITY(30, "T1 check error", "T1校验错误"),
226    /**
227     * <div class="zh"> 无效块 </div> <div class="en"> invalid block </div>
228     */
229    ICC_ERR_T1_INVALIDBLOCK(31, "invalid block", "无效块"),
230
231    /**
232     * <div class="zh"> 其它错误 </div> <div class="en"> Other errors </div>
233     */
234    ICC_OTHER_ERRORS(3, "timeout error", "其它错误"),
235    ;
236    private int errCodeFromBasement;
237    private String errMsgCn;
238    private String errMsgEn;
239
240    private EIccDevException(int errCodeFromBasement, String errMsgEn, String errMsnCn) {
241        this.errCodeFromBasement = errCodeFromBasement;
242        this.errMsgCn = errMsnCn;
243        this.errMsgEn = errMsgEn;
244    }
245
246    public int getErrCodeFromBasement() {
247        return errCodeFromBasement;
248    }
249
250    public String getErrMsg() {
251        if (Utils.isZh()) {
252            return errMsgCn;
253        } else {
254            return errMsgEn;
255        }
256
257    }
258
259}