|
@@ -65,9 +65,10 @@ ErrorCodeEnum CPinPadFSM::OnExit()
|
|
|
if (m_hDevHelper != nullptr)
|
|
|
{
|
|
|
m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- eErr = m_hDevHelper->StopInput();
|
|
|
+ ErrorCodeEnum errClosePinPad = m_hDevHelper->StopInput();
|
|
|
m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::StopInput").setCostTime(m_ullEndTime - m_ullBeginTime)("%s", SpStrError(eErr));
|
|
|
+ if (errClosePinPad != Error_Succeed)
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::StopInput").setResultCode("RTA2614").setCostTime(m_ullEndTime - m_ullBeginTime)("OnExit:close pinpad(%d).", SpStrError(errClosePinPad));
|
|
|
m_hDevHelper.TearDown();
|
|
|
}
|
|
|
return eErr;
|
|
@@ -804,12 +805,6 @@ Err:
|
|
|
if (m_bExit)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("exit");
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- ErrorCodeEnum errClosePinPad = m_hDevHelper->StopInput();
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- if (errClosePinPad != Error_Succeed)
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::StopInput").setResultCode("RTA2614")("close pinpad(%d).", errClosePinPad);
|
|
|
-
|
|
|
ctxSM->Answer(Error_Unexpect, PinPad_UserErrorCode_Unexpected_Exit);
|
|
|
return Error_Unexpect;
|
|
|
}
|
|
@@ -819,23 +814,11 @@ Err:
|
|
|
if (bCancelInput)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040220602")("input cancel(pin)");
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- ErrorCodeEnum errClosePinPad = m_hDevHelper->StopInput();
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- if (errClosePinPad != Error_Succeed)
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::StopInput").setResultCode("RTA2614")("close pinpad(%d).", errClosePinPad);
|
|
|
-
|
|
|
ctxSM->Answer(Error_Cancel);
|
|
|
return Error_Cancel;
|
|
|
}
|
|
|
if (readed < len) {
|
|
|
if (elapsed >= MAX_PINPAD_INPUT_TIMEOUT) {
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- ErrorCodeEnum errClosePinPad = m_hDevHelper->StopInput();
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- if (errClosePinPad != Error_Succeed)
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::StopInput").setResultCode("RTA2614")("close pinpad(%d).", errClosePinPad);
|
|
|
-
|
|
|
ctxSM->Answer(Error_TimeOut);
|
|
|
return Error_TimeOut;
|
|
|
}
|
|
@@ -977,11 +960,6 @@ Err:
|
|
|
}
|
|
|
DbgWithLink(LOG_LEVEL_INFO, ctxSM->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER).setLogCode(PinPadService_LogCode_GetInputSM)
|
|
|
.setAPI("DevAdapter::GetPinBlock").setCostTime(m_ullEndTime - m_ullBeginTime)("获取密文成功");
|
|
|
- m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
- ErrorCodeEnum errClosePinPad = m_hDevHelper->StopInput();
|
|
|
- if (errClosePinPad != Error_Succeed)
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("close pinpad(%d).", errClosePinPad);
|
|
|
- m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
Sleep(100);
|
|
|
ctxSM->Answer(Error_Succeed);
|
|
|
return Error_Succeed;
|
|
@@ -1013,6 +991,12 @@ int CPinPadFSM::GetInput(SpReqAnsContext<PinPadService_GetInputSM_Req, PinPadSer
|
|
|
ErrorCodeEnum err;
|
|
|
err = GetEncryptText(m_inputSMCtx);
|
|
|
|
|
|
+ m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
+ ErrorCodeEnum errClosePinPad = m_hDevHelper->StopInput();
|
|
|
+ m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
|
|
|
+ if (errClosePinPad != Error_Succeed)
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::StopInput").setResultCode("RTA2614").setCostTime(m_ullEndTime - m_ullBeginTime)("close pinpad(%d).", SpStrError(errClosePinPad));
|
|
|
+
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)
|
|
|
("req acc.len:%d,confirm:%d,len:%d. ans:ck.len:%d", m_inputSMCtx->Req.account.GetLength(), m_inputSMCtx->Req.confirm
|
|
|
, m_inputSMCtx->Req.length, m_inputSMCtx->Ans.checkcode.IsNullOrEmpty() ? 0 : m_inputSMCtx->Ans.checkcode.GetLength());
|