|
@@ -673,20 +673,6 @@ unsigned int CCardIssuerFSM::s4_on_event(FSMEvent* pEvt)
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
- case USER_EVT_ISSUE_EX:
|
|
|
- {
|
|
|
- IssueTask* task = new IssueTask(this);
|
|
|
- CardIssueExEvent *ciee = NULL;
|
|
|
- ciee = dynamic_cast<CardIssueExEvent*>(pEvt);
|
|
|
- task->ctxEx = ciee->ctx;
|
|
|
- GetEntityBase()->GetFunction()->PostThreadPoolTask(task);
|
|
|
- pEvt->SetHandled();
|
|
|
- return pEvt->param1;
|
|
|
- }
|
|
|
- break;
|
|
|
- case USER_EVT_ISSUE_EX_FINISHED:
|
|
|
- pEvt->SetHandled();
|
|
|
- return pEvt->param1;
|
|
|
case USER_EVT_CHECK_CARD_FINISHED:
|
|
|
return pEvt->param1;
|
|
|
default:
|
|
@@ -1861,12 +1847,16 @@ int CCardIssuerFSM::WaitFetchingCard()
|
|
|
LogEvent(Severity_Middle, LOG_EVT_CARDISSUER_GREEN_OFF,"CardReader(fetch) warning off");
|
|
|
return 2;
|
|
|
}
|
|
|
-int CCardIssuerFSM::InternalAcceptCard(SpReqAnsContext<CardIssuerStandService_Insert_Req, CardIssuerStandService_Insert_Ans>::Pointer ctx)
|
|
|
+int CCardIssuerFSM::AcceptCard(SpReqAnsContext<CardIssuerStandService_Insert_Req, CardIssuerStandService_Insert_Ans>::Pointer ctx)
|
|
|
{
|
|
|
LOG_FUNCTION();
|
|
|
+ m_pCardProcess->DataInit();
|
|
|
+ m_bCancelByRFIC = false;
|
|
|
+ LogEvent(Severity_Middle, LOG_EVT_CARDISSUER_GREEN_ON,"CardReader warning on");
|
|
|
+ m_bWaitAccepteMore = false;
|
|
|
DWORD dwTmpCode;
|
|
|
ErrorCodeEnum eErr = Error_Unexpect;
|
|
|
- int acceptTries = 0, err = 0;
|
|
|
+ int acceptTries = 0, acceptRet = 2;//2 for timeout
|
|
|
DWORD64 dwStart = GetTickCountRVC();
|
|
|
DWORD64 dwEnd = dwStart;
|
|
|
m_bWaitingAccept = true;
|
|
@@ -1881,7 +1871,7 @@ int CCardIssuerFSM::InternalAcceptCard(SpReqAnsContext<CardIssuerStandService_In
|
|
|
}
|
|
|
if (m_bCancelAccept)
|
|
|
{
|
|
|
- err = 3;
|
|
|
+ acceptRet = 3;
|
|
|
goto Err;
|
|
|
}
|
|
|
if (m_bWaitAccepteMore)
|
|
@@ -1898,7 +1888,11 @@ int CCardIssuerFSM::InternalAcceptCard(SpReqAnsContext<CardIssuerStandService_In
|
|
|
if (m_devStatus.eMedia == CI_MEDIA_PRESENT)
|
|
|
{
|
|
|
LogEvent(Severity_Middle, LOG_EVT_CARDISSUER_OP, "CardIssuerStand op.");
|
|
|
+ acceptRet = 0;
|
|
|
acceptTries = 0;
|
|
|
+ FSMSetIssueFlag(0);
|
|
|
+ m_bCardFromHopper = false;
|
|
|
+ m_bUseRFTillNext = false;
|
|
|
goto Err;
|
|
|
}
|
|
|
if (m_devStatus.eMedia == CI_MEDIA_NOTPRESENT)
|
|
@@ -1909,7 +1903,7 @@ int CCardIssuerFSM::InternalAcceptCard(SpReqAnsContext<CardIssuerStandService_In
|
|
|
if (m_bCancelAccept)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("have been canceled in sleeping time");
|
|
|
- err = 3;
|
|
|
+ acceptRet = 3;
|
|
|
goto Err;
|
|
|
}
|
|
|
if (!m_bCancelAccept && !bHasSetCardInType) {
|
|
@@ -1918,8 +1912,7 @@ int CCardIssuerFSM::InternalAcceptCard(SpReqAnsContext<CardIssuerStandService_In
|
|
|
m_ullEndTime = GetTickCountRVC();
|
|
|
if (Error_Succeed != eErr) {
|
|
|
dwTmpCode = SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_SetCardInType, "DevAdapter::SetCardInType", __FUNCTION__, IsInBusiness(), m_ullEndTime - m_ullBeginTime, "", "InternalAcceptCard::SetCardInType CI_CARD_IN_TYPE_ALL err");
|
|
|
- ctx->Answer(Error_Unexpect, dwTmpCode);
|
|
|
- err = 1;
|
|
|
+ acceptRet = 1;
|
|
|
goto Err;
|
|
|
|
|
|
}
|
|
@@ -1931,33 +1924,19 @@ int CCardIssuerFSM::InternalAcceptCard(SpReqAnsContext<CardIssuerStandService_In
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- err = 1;
|
|
|
+ acceptRet = 5;
|
|
|
if (ctx != NULL) {
|
|
|
dwTmpCode = SetErrorAndLog(Error_Unexpect, MEC_DEVAPI_CARDISSUER_GetDevStatus, "DevAdapter::GetDevStatus", __FUNCTION__, IsInBusiness(), m_ullEndTime - m_ullBeginTime, "QLR040220303");
|
|
|
- ctx->Answer(Error_Unexpect, dwTmpCode);
|
|
|
}
|
|
|
goto Err;
|
|
|
}
|
|
|
dwEnd = GetTickCountRVC();
|
|
|
} while ((dwEnd - dwStart) < 58 * 1000);
|
|
|
- err = 2;
|
|
|
Err:
|
|
|
m_bExit = false;
|
|
|
m_bWaitingAccept = false;
|
|
|
- m_ullBeginTime = GetTickCountRVC();
|
|
|
- eErr = m_hDevHelper->SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN);
|
|
|
- m_ullEndTime = GetTickCountRVC();
|
|
|
|
|
|
-
|
|
|
- if (Error_Succeed != eErr)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("InternalAcceptCard::SetCardInType CI_CARD_IN_TYPE_FORBIDDEN err");
|
|
|
- SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_SetCardInType, "DevAdapter::SetCardInType", __FUNCTION__, false, m_ullEndTime - m_ullBeginTime, "", "InternalAcceptCard::SetCardInType CI_CARD_IN_TYPE_FORBIDDEN err");
|
|
|
- }
|
|
|
- else {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::SetCardInType").setCostTime(m_ullEndTime - m_ullBeginTime)("InternalAcceptCard::SetCardInType CI_CARD_IN_TYPE_FORBIDDEN");
|
|
|
- }
|
|
|
- if (m_bCancelAccept && err != 1)
|
|
|
+ if (m_bCancelAccept && acceptRet != 1)
|
|
|
{
|
|
|
//oilyang@20181210 add "if (!m_bCancelByRFIC)"
|
|
|
//oilyang@20170612
|
|
@@ -1970,7 +1949,7 @@ Err:
|
|
|
{
|
|
|
if (m_devStatus.eMedia == CI_MEDIA_PRESENT)
|
|
|
{
|
|
|
- err = 4;
|
|
|
+ acceptRet = 4;
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<InternalAcceptCard>, Cancel InterAccept, eject card.");
|
|
|
eErr = MachineMoveCardFrontGate(IsInBusiness());
|
|
|
|
|
@@ -1978,54 +1957,56 @@ Err:
|
|
|
{
|
|
|
//吐卡失败,前面已有告警,这里不再告警
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("InternalAcceptCard::MachineMoveCardFrontGate failed(0x%x)", eErr);
|
|
|
- err = 2;
|
|
|
+ acceptRet = 5;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
SetErrorAndLog(Error_Unexpect, MEC_DEVAPI_CARDISSUER_GetDevStatus, "DevAdapter::GetDevStatus", __FUNCTION__, false, m_ullEndTime - m_ullBeginTime, "QLR040220303");
|
|
|
- err = 2;
|
|
|
+ acceptRet = 5;
|
|
|
}
|
|
|
}
|
|
|
- return err;
|
|
|
-}
|
|
|
-int CCardIssuerFSM::AcceptCard(SpReqAnsContext<CardIssuerStandService_Insert_Req, CardIssuerStandService_Insert_Ans>::Pointer ctx)
|
|
|
-{
|
|
|
- LOG_FUNCTION();
|
|
|
- m_pCardProcess->DataInit();
|
|
|
- m_bCancelByRFIC = false;
|
|
|
- LogEvent(Severity_Middle, LOG_EVT_CARDISSUER_GREEN_ON,"CardReader warning on");
|
|
|
- m_bWaitAccepteMore = false;
|
|
|
- int rc = InternalAcceptCard(ctx);
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("AcceptCard::InternalAcceptCard, result:%d", rc));
|
|
|
- LogEvent(Severity_Middle, LOG_EVT_CARDISSUER_GREEN_OFF,"CardReader warning off");
|
|
|
- if (rc == 0) {
|
|
|
- FSMSetIssueFlag(0);
|
|
|
- m_bCardFromHopper = false;
|
|
|
- if (ctx != NULL)
|
|
|
+ if (acceptRet != 1)
|
|
|
+ {
|
|
|
+ m_ullBeginTime = GetTickCountRVC();
|
|
|
+ eErr = m_hDevHelper->SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN);
|
|
|
+ m_ullEndTime = GetTickCountRVC();
|
|
|
+ if (Error_Succeed != eErr)
|
|
|
{
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("AcceptCard, insert succeed");
|
|
|
- m_bUseRFTillNext = false;
|
|
|
- ctx->Answer(Error_Succeed);
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("InternalAcceptCard::SetCardInType CI_CARD_IN_TYPE_FORBIDDEN err");
|
|
|
+ SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_SetCardInType, "DevAdapter::SetCardInType", __FUNCTION__, false, m_ullEndTime - m_ullBeginTime, "", "InternalAcceptCard::SetCardInType CI_CARD_IN_TYPE_FORBIDDEN err");
|
|
|
}
|
|
|
- }
|
|
|
- else if(rc == 2)
|
|
|
- {
|
|
|
- if (ctx != NULL) {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("AcceptCard, insert timeout");
|
|
|
- ctx->Answer(Error_TimeOut);
|
|
|
+ else {
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::SetCardInType").setCostTime(m_ullEndTime - m_ullBeginTime)("InternalAcceptCard::SetCardInType CI_CARD_IN_TYPE_FORBIDDEN");
|
|
|
}
|
|
|
}
|
|
|
- else if(rc == 3 || rc == 4)
|
|
|
+ LogEvent(Severity_Middle, LOG_EVT_CARDISSUER_GREEN_OFF,"CardReader warning off");
|
|
|
+
|
|
|
+ switch (acceptRet)
|
|
|
{
|
|
|
- if (ctx != NULL)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("AcceptCard, insert cancel");
|
|
|
- ctx->Answer(Error_Cancel);
|
|
|
- }
|
|
|
+ case 0:
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("AcceptCard, insert succeed");
|
|
|
+ ctx->Answer(Error_Succeed);
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ case 5:
|
|
|
+ ctx->Answer(Error_Unexpect, dwTmpCode);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("AcceptCard, insert timeout");
|
|
|
+ ctx->Answer(Error_TimeOut);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ case 4:
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("AcceptCard, insert cancel");
|
|
|
+ ctx->Answer(Error_Cancel);
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ break;
|
|
|
}
|
|
|
- return rc;
|
|
|
+ return acceptRet;
|
|
|
}
|
|
|
static CSimpleStringA GetStrData(TrackInfo trackInfo)
|
|
|
{
|
|
@@ -5343,46 +5324,17 @@ int CCardIssuerFSM::InsertJS(SpReqAnsContext<CardIssuerStandService_InsertJS_Req
|
|
|
//m_bCancelByRFIC = false;//??无用变量
|
|
|
LogEvent(Severity_Middle, LOG_EVT_CARDISSUER_GREEN_ON, "CardReader warning on");
|
|
|
//等待插卡
|
|
|
- int rc = InternalInsert();
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("InsertJS::InternalInsert, result:%d", rc));
|
|
|
- LogEvent(Severity_Middle, LOG_EVT_CARDISSUER_GREEN_OFF, "CardReader warning off");
|
|
|
- if (rc == 0) {
|
|
|
- FSMSetIssueFlag(0);
|
|
|
- m_bCardFromHopper = false;
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("InsertJS, insert succeed");
|
|
|
- m_bUseRFTillNext = false;
|
|
|
- ctx->Answer(Error_Succeed);
|
|
|
- }
|
|
|
- else if (rc == 2)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("InsertJS, insert timeout");
|
|
|
- ctx->Answer(Error_TimeOut,CardIssuer_UserErrorCode_Insert_Card_TimeOut);
|
|
|
- }
|
|
|
- else if (rc == 3 || rc == 4)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("InsertJS, insert cancel");
|
|
|
- ctx->Answer(Error_Cancel, CardIssuer_UserErrorCode_Insert_Card_Cancel);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- DWORD dwTmpUserErrCode = SetErrorAndLog(Error_Unexpect, MEC_DEVAPI_CARDISSUER_GetDevStatus, "DevAdapter::GetDevStatus", __FUNCTION__, false, 10, "QLR040220303", "");
|
|
|
- ctx->Answer(Error_Unexpect, dwTmpUserErrCode);
|
|
|
- }
|
|
|
- return rc;
|
|
|
-}
|
|
|
-
|
|
|
-int CCardIssuerFSM::InternalInsert()
|
|
|
-{
|
|
|
- LOG_FUNCTION();
|
|
|
long l_beginTime, l_endTime;
|
|
|
ErrorCodeEnum eErr = Error_Unexpect;
|
|
|
int acceptTries = 0, errRet = 0;//0成功,1查询状态失败 2超时 3取消 4取消有卡
|
|
|
//m_bWaitingAccept = true;
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("InternalInsert, m_bExit:%d, m_bCancelInsert:%d, m_bWaitAccepteMore:%d",m_bExit, m_bCancelInsert, m_bWaitAccepteMore));
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("InternalInsert, m_bExit:%d, m_bCancelInsert:%d, m_bWaitAccepteMore:%d", m_bExit, m_bCancelInsert, m_bWaitAccepteMore));
|
|
|
bool bHasSetCardInType = false;
|
|
|
DWORD64 dwStart = GetTickCountRVC();
|
|
|
DWORD64 dwEnd = dwStart;
|
|
|
|
|
|
+ DWORD dwTmpCode;
|
|
|
+
|
|
|
errRet = 2;//默认是超时
|
|
|
do {
|
|
|
if (m_bExit)
|
|
@@ -5406,8 +5358,11 @@ int CCardIssuerFSM::InternalInsert()
|
|
|
//成功
|
|
|
if (m_devStatus.eMedia == CI_MEDIA_PRESENT)
|
|
|
{
|
|
|
- LogEvent(Severity_Middle, LOG_EVT_CARDISSUER_OP, "CardIssuerStand op.");
|
|
|
+ LogEvent(Severity_Middle, LOG_EVT_CARDISSUER_OP, "CardIssuerStand op.insert succeed");
|
|
|
errRet = 0;
|
|
|
+ FSMSetIssueFlag(0);
|
|
|
+ m_bCardFromHopper = false;
|
|
|
+ m_bUseRFTillNext = false;
|
|
|
break;//插卡成功
|
|
|
}
|
|
|
else if (m_devStatus.eMedia == CI_MEDIA_NOTPRESENT)
|
|
@@ -5424,68 +5379,85 @@ int CCardIssuerFSM::InternalInsert()
|
|
|
bHasSetCardInType = true;
|
|
|
}
|
|
|
else {
|
|
|
- SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_SetCardInType, "DevAdapter::SetCardInType", __FUNCTION__, IsInBusiness(), l_endTime - l_beginTime, "", "InternalInsert::SetCardInType CI_CARD_IN_TYPE_ALL err");
|
|
|
+ dwTmpCode = SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_SetCardInType, "DevAdapter::SetCardInType", __FUNCTION__, IsInBusiness(), l_endTime - l_beginTime, "", "InternalInsert::SetCardInType CI_CARD_IN_TYPE_ALL err");
|
|
|
errRet = 1;
|
|
|
break;
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- //失败
|
|
|
- Sleep(ACCEPT_TRY_INTERVAL*3);
|
|
|
- errRet = 1;
|
|
|
+ dwTmpCode = SetErrorAndLog(Error_Unexpect, MEC_DEVAPI_CARDISSUER_GetDevStatus, "DevAdapter::GetDevStatus", __FUNCTION__, IsInBusiness(), m_ullEndTime - m_ullBeginTime, "QLR040220303");
|
|
|
+ errRet = 6;
|
|
|
break;//查询硬件状态失败。???要退吗
|
|
|
}
|
|
|
-
|
|
|
dwEnd = GetTickCountRVC();
|
|
|
} while ((dwEnd - dwStart) < 58 * 1000);
|
|
|
|
|
|
m_bExit = false;
|
|
|
|
|
|
- //oiltmp need to check the logic
|
|
|
- if (errRet == 0 || errRet ==1) {
|
|
|
- }
|
|
|
- else {
|
|
|
- //2和3情况
|
|
|
- if (m_bCancelInsert) {
|
|
|
- //判定是否有卡,有卡则走吐卡流程
|
|
|
- l_beginTime = GetTickCountRVC();
|
|
|
- eErr = m_hDevHelper->GetDevStatus(m_devStatus);
|
|
|
- l_endTime = GetTickCountRVC();
|
|
|
- if (Error_Succeed == eErr) {
|
|
|
- if (m_devStatus.eMedia == CI_MEDIA_PRESENT) {
|
|
|
- errRet = 4;//取消时有卡
|
|
|
- }
|
|
|
- else {
|
|
|
- errRet = 3;//取消无卡
|
|
|
- }
|
|
|
+ if (errRet == 3)
|
|
|
+ {
|
|
|
+ //判定是否有卡,有卡则走吐卡流程
|
|
|
+ l_beginTime = GetTickCountRVC();
|
|
|
+ eErr = m_hDevHelper->GetDevStatus(m_devStatus);
|
|
|
+ l_endTime = GetTickCountRVC();
|
|
|
+ if (Error_Succeed == eErr) {
|
|
|
+ if (m_devStatus.eMedia == CI_MEDIA_PRESENT) {
|
|
|
+ errRet = 4;//取消时有卡
|
|
|
}
|
|
|
else {
|
|
|
- errRet = 1;//查询硬件状态失败。???要退吗
|
|
|
+ errRet = 3;//取消无卡
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
|
- errRet = 2;//正常超时
|
|
|
+ dwTmpCode = SetErrorAndLog(Error_Unexpect, MEC_DEVAPI_CARDISSUER_GetDevStatus, "DevAdapter::GetDevStatus", __FUNCTION__, IsInBusiness(), m_ullEndTime - m_ullBeginTime, "QLR040220303");
|
|
|
+ errRet = 6;//查询硬件状态失败
|
|
|
}
|
|
|
}
|
|
|
- //关闭进口
|
|
|
- l_beginTime = GetTickCountRVC();
|
|
|
- eErr = m_hDevHelper->SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN);
|
|
|
- l_endTime = GetTickCountRVC();
|
|
|
- if (Error_Succeed != eErr)
|
|
|
+ if (errRet != 1)
|
|
|
{
|
|
|
- SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_SetCardInType, "DevAdapter::SetCardInType", __FUNCTION__, false, l_endTime - l_beginTime);
|
|
|
+ //关闭进口
|
|
|
+ l_beginTime = GetTickCountRVC();
|
|
|
+ eErr = m_hDevHelper->SetCardInType(CI_CARD_IN_TYPE_FORBIDDEN);
|
|
|
+ l_endTime = GetTickCountRVC();
|
|
|
+ if (Error_Succeed != eErr)
|
|
|
+ {
|
|
|
+ SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_SetCardInType, "DevAdapter::SetCardInType", __FUNCTION__, false, l_endTime - l_beginTime);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::SetCardInType").setCostTime(l_endTime - l_beginTime)("%s", __FUNCTION__);
|
|
|
+ }
|
|
|
}
|
|
|
- else {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::SetCardInType").setCostTime(l_endTime - l_beginTime)("%s", __FUNCTION__);
|
|
|
+ LogEvent(Severity_Middle, LOG_EVT_CARDISSUER_GREEN_OFF, "CardReader warning off");
|
|
|
+
|
|
|
+ switch (errRet)
|
|
|
+ {
|
|
|
+ case 0:
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("AcceptCard, insert succeed");
|
|
|
+ ctx->Answer(Error_Succeed);
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ case 5:
|
|
|
+ ctx->Answer(Error_Unexpect, dwTmpCode);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("AcceptCard, insert timeout");
|
|
|
+ ctx->Answer(Error_TimeOut);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ case 4:
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("AcceptCard, insert cancel");
|
|
|
+ ctx->Answer(Error_Cancel);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
}
|
|
|
return errRet;
|
|
|
}
|
|
|
-
|
|
|
CSimpleStringA CCardIssuerFSM::MaskCardno(const char* cardno)
|
|
|
{
|
|
|
CSimpleStringA maskCardno = "";
|