浏览代码

!10882 调整大机卡机的xml文件描述
Merge pull request !10882 from 80174847/oilyang_fixed_everything

杨诗友80174847 1 月之前
父节点
当前提交
3ae7e97181

+ 27 - 30
Module/mod_CardIssuerStand/CardIssuerStand.xml

@@ -222,8 +222,8 @@
 			</res>			
 		</twoway>
 		<!--查询卡机设备状态接口 -->
-		<!--1、卡库打开失败, errorCode为Error_DevNotAvailable(2050),rtaCode为RTA2311-->
-		<!--2、卡库正在打开中, errorCode为Error_NotInit(769),rtaCode为RTA2311-->		
+		<!--1、卡机未成功打开, rtaCode为RTA2311-->
+		<!--2、卡库正在打开中, rtaCode为RTA2311-->		
 		<twoway name="GetDevInfo" overlap="true" method_id="65535" jsflag="true">
 			<req>
 			</req>
@@ -231,14 +231,14 @@
 				<param name="type" type="string" />
 				<param name="model" type="string" />
 				<param name="version" type="string" />
-				<!--卡机状态 0设备未打开 1 正常运行 2卡箱未准备好需要维护 3卡机异常不可工作-->
+				<!--卡机状态, JS之后只需要关注:2 卡箱未准备好需要维护-->
 				<param name="state" type="int" />
 			</res>			
 		</twoway>							
 	
 		
 		<!--读卡接口 -->
-		<!--卡机打开失败, rtaCode为RTA2311-->
+		<!--卡机未成功打开, rtaCode为RTA2311-->
     <!--为了把读卡情况完整的反馈,返回规则如下:-->
     <!--1、对于单路(只读磁或只读芯)的请求,失败则返回报错-->
     <!--2、对于双路的请求,一律返回成功,增加magMsg、icMsg字段,分别在对应通路异常时填充“[RTAxxxx]描述信息”-->
@@ -279,7 +279,7 @@
 		</twoway>
 		
 		<!--联机后处理接口-->
-		<!--1、卡机打开失败, errorCode为Error_Unexpect(2147483646),rtaCode为RTA2311-->
+		<!--1、卡机未成功打开, rtaCode为RTA2311-->
 		<twoway name="PostOnlineJS" overlap="true" method_id="41" jsflag="true">
 			<req>
 				<!--联机后处理数据-->
@@ -292,11 +292,10 @@
 		</twoway>
 		
 		<!--吐卡接口-->
-		<!--1、卡机打开失败, errorCode为Error_DevNotAvailable(2050),rtaCode为RTA2311-->
-		<!--2、卡机吐卡失败 errorCode为Error_Unexpect(2147483646),rtaCode为RTA2308-->
-		<!--3、超时未取卡,已吞卡 errorCode为Error_Unexpect(2147483646),rtaCode为RTA23CU-->
-		<!--4、超时未取卡,吞卡失败 errorCode为Error_Unexpect(2147483646),rtaCode为RTA23CV-->
-		<!--5、查询卡机状态失败 errorCode为Error_Unexpect(2147483646),rtaCode为RTA2W22-->
+		<!--1、卡机未成功打开, rtaCode为RTA2311-->
+		<!--2、卡机吐卡失败, rtaCode为RTA2308-->
+		<!--3、超时未取卡,已吞卡, rtaCode为RTA23CU-->
+		<!--4、超时未取卡,吞卡失败, rtaCode为RTA23CV-->
 		<twoway name="EjectJS" overlap="true" method_id="42" jsflag="true">
 			<req>
 			</req>
@@ -305,9 +304,8 @@
 		</twoway>
 		
 		<!--吞卡接口-->
-		<!--1、卡机打开失败, errorCode为Error_DevNotAvailable(2050),rtaCode为RTA2311-->
-		<!--2、吞卡失败, errorCode为Error_Unexpect(2147483646),rtaCode为RTA2307-->
-		<!--3、吞卡时卡机无卡, errorCode为Error_Unexpect(2147483646),rtaCode为RTA23CS-->
+		<!--1、卡机未成功打开, rtaCode为RTA2311-->
+		<!--2、吞卡失败, rtaCode为RTA2307-->
 		<twoway name="CaptureJS" overlap="true" method_id="43" jsflag="true">
 			<req>
 				<!--吞卡原因码-->
@@ -318,8 +316,8 @@
 		</twoway>
 		
 		<!--查询卡机是否有卡接口-->
-		<!--1、卡机打开失败, errorCode为Error_DevNotAvailable(2050),rtaCode为RTA2311-->
-		<!--2、查询卡机状态失败 errorCode为Error_Unexpect(2147483646),rtaCode为RTA2322-->
+		<!--1、卡机未成功打开, rtaCode为RTA2311-->
+		<!--2、查询卡机状态失败, rtaCode为RTA2322-->
 		<twoway name="QueryHasCardJS" overlap="true" method_id="44" jsflag="true">
 			<req>
 			</req>
@@ -332,15 +330,15 @@
 		</twoway>		
 		
 		<!--卡箱发卡接口-->
-		<!--1、卡机打开失败, errorCode为Error_DevNotAvailable(2050),rtaCode为RTA2311-->
-		<!--2、卡箱1未检测到 errorCode为Error_DevMedia(2054),rtaCode为RTA230B-->
-		<!--3、卡箱2未检测到 errorCode为Error_DevMedia(2054),rtaCode为RTA230C-->
-		<!--4、卡箱3未检测到 errorCode为Error_DevMedia(2054),rtaCode为RTA230D-->
-		<!--5、卡箱1未检测到卡片 errorCode为Error_DevNotAvailable(2050),rtaCode为RTA230E-->
-		<!--6、卡箱2未检测到卡片 errorCode为Error_DevNotAvailable(2050),rtaCode为RTA230F-->
-		<!--7、卡箱3未检测到卡片 errorCode为Error_DevNotAvailable(2050),rtaCode为RTA230G-->
-		<!--8、从卡箱移动卡片到读卡器失败 errorCode为Error_Unexpect(2147483646),rtaCode为RTA2306-->
-		<!--9、发卡箱号参数错误 errorCode为Error_Param(102),rtaCode为RTA23CW-->
+		<!--1、卡机未成功打开, rtaCode为RTA2311-->
+		<!--2、卡箱1未检测到, rtaCode为RTA230B-->
+		<!--3、卡箱2未检测到, rtaCode为RTA230C-->
+		<!--4、卡箱3未检测到, rtaCode为RTA230D-->
+		<!--5、卡箱1未检测到卡片, rtaCode为RTA230E-->
+		<!--6、卡箱2未检测到卡片, rtaCode为RTA230F-->
+		<!--7、卡箱3未检测到卡片, rtaCode为RTA230G-->
+		<!--8、从卡箱移动卡片到读卡器失败, rtaCode为RTA2306-->
+		<!--9、卡箱号不是1-3, rtaCode为RTA23CW-->
 		<twoway name="IssueFromBoxJS" overlap="true" method_id="45" jsflag="true">
 			<req>
 				<!--卡箱号-->
@@ -355,12 +353,11 @@
 		</twoway>	
 		
 		<!--前端插卡接口-->
-		<!--1、卡机打开失败, errorCode为Error_DevNotAvailable(2050),rtaCode为RTA2311-->
-		<!--2、查询卡机状态失败 errorCode为Error_Unexpect(2147483646),rtaCode为RTA2322-->
-		<!--3、卡机未插卡时,内部已存在卡片 errorCode为Error_Unexpect(2147483646),rtaCode为RTA23CN-->
-		<!--4、卡机插卡超时 errorCode为Error_TimeOut(1792),rtaCode为RTA23CP-->
-		<!--5、卡机插卡取消 errorCode为Error_Cancel(1026),rtaCode为RTA23CQ-->
-		
+		<!--1、卡机未成功打开, rtaCode为RTA2311-->
+		<!--2、调用卡机API失败, rtaCode为RTA2322/RTA23B5-->
+		<!--3、卡机插卡超时, rtaCode为RTA23CP-->
+		<!--4、卡机插卡取消, rtaCode为RTA23CQ-->
+    <!--5、卡机实体无法处理此命令, rtaCode由实体当前状态决定-->
 		<twoway name="InsertJS" overlap="true" method_id="47" jsflag="true">
 			<req>
 				<param name="reserved1" type="array_int"/>

+ 4 - 31
Module/mod_CardIssuerStand/CardIssuerStandFSM.cpp

@@ -1565,7 +1565,7 @@ int CCardIssuerFSM::IssueCard(SpReqAnsContext<CardIssuerStandService_IssueEx_Req
 		ctxEx->Ans.reserved1.Init(2);
 		
 		//param Req.hopper is wrong
-		if (ctxEx->Req.hopper < 1 || ctxEx->Req.hopper > 6){
+		if (ctxEx->Req.hopper < 1 || ctxEx->Req.hopper > 3){
 			errMsg = CSimpleStringA::Format("Issuer Card, the hopperNo(%d) is wrong!!!", ctxEx->Req.hopper);
 			LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_Invalid_Hopper, errMsg.GetData());
 			return Error_Param;
@@ -4301,35 +4301,8 @@ int CCardIssuerFSM::CaptureJS(SpReqAnsContext<CardIssuerStandService_CaptureJS_R
 	}
 	m_pCardProcess->DataInit();
 
-	//判断是否无卡
 	l_beginTime = GetTickCountRVC();
-	ErrorCodeEnum eErr = m_hDevHelper->GetDevStatus(m_devStatus);
-	l_endTime = GetTickCountRVC();
-
-	if (eErr == Error_Succeed) {
-
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::GetDevStatus").setCostTime(l_endTime - l_beginTime)("CaptureJS::GetDevStatus succ,m_devStatus.eMedia=%d", (int)m_devStatus.eMedia);
-		if (m_devStatus.eMedia == CI_MEDIA_NOTPRESENT) {
-			if (ctx != NULL) {
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode("QLR040220343").setResultCode("RTA23CS")
-					("CaptureJS::GetDevStatus succ, No card found in cardReader");
-				LogWarn(Severity_Low, Error_Unexpect, CardIssuer_UserErrorCode_Capture_NoCard_Failed, "Capture card, No card found in cardReader");
-				ctx->Answer(Error_Unexpect, CardIssuer_UserErrorCode_Capture_NoCard_Failed);//读卡器无卡
-			}
-			else {
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode("QLR040220343").setResultCode("RTA23CS")("CaptureJS::GetDevStatus succ, No card found in cardReader");
-			}
-			return 0;//回到无卡状态
-		}
-	}
-	else {
-		dwTmpUserErrCode = SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_GetDevStatus, "DevAdapter::GetDevStatus", __FUNCTION__, IsInBusiness(), l_endTime - l_beginTime, "QLR040220343", "");
-		ctx->Answer(Error_Unexpect, dwTmpUserErrCode);
-		return 1;
-	}
-
-	l_beginTime = GetTickCountRVC();
-	eErr = m_hDevHelper->MoveCard(CI_MOVECARD_BACK_NOT_HOLD);
+	ErrorCodeEnum eErr = m_hDevHelper->MoveCard(CI_MOVECARD_BACK_NOT_HOLD);
 	l_endTime = GetTickCountRVC();
 
 	if (eErr == Error_Succeed) {
@@ -5446,12 +5419,12 @@ int CCardIssuerFSM::InsertJS(SpReqAnsContext<CardIssuerStandService_InsertJS_Req
 		break;
 	case 2:
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("AcceptCard, insert timeout");
-		ctx->Answer(Error_TimeOut);
+		ctx->Answer(Error_TimeOut, CardIssuer_UserErrorCode_Insert_Card_TimeOut);
 		break;
 	case 3:
 	case 4:
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("AcceptCard, insert cancel");
-		ctx->Answer(Error_Cancel);
+		ctx->Answer(Error_Cancel, CardIssuer_UserErrorCode_Insert_Card_Cancel);
 		break;
 	default:
 		break;

+ 4 - 4
Module/mod_CardIssuerStand/mod_cardissuerStand.h

@@ -269,20 +269,20 @@ public:
 		
 
 		if (m_fsm.GetDevInitingFlag()) {
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetDevInfo device is opening,state return 0");
+			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("GetDevInfo device is opening,state return 0");
 			ctx->Ans.state = DEVICE_STATUS_NOT_READY;
-			ctx->Answer(Error_NotInit, CardIssuer_UserErrorCode_DevOpen_Failed);
+			ctx->Answer(Error_NotInit, CardIssuer_UserErrorCode_DeviceOpening);
 		}
 		else {
 			//设备未正常打开时,直接报state=0;
 			if (!m_fsm.GetDevInitFlag()) {
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetDevInfo device is not open,state return 0");
+				DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("GetDevInfo device is not open,state return 0");
 				ctx->Ans.state = DEVICE_STATUS_NOT_READY;
 				ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_DevOpen_Failed);
 			}
 			else {
 				if (ctx->Ans.state != DEVICE_STATUS_NORMAL) {
-					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetDevInfo state=%d", ctx->Ans.state);
+					DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("GetDevInfo state=%d", ctx->Ans.state);
 				}
 				ctx->Answer(Error_Succeed);
 			}