|
@@ -307,17 +307,37 @@ public:
|
|
|
void CaptureJS(SpReqAnsContext<CardIssuerStoreService_CaptureJS_Req, CardIssuerStoreService_CaptureJS_Ans>::Pointer ctx)
|
|
|
{
|
|
|
LOG_FUNCTION();
|
|
|
- CaptureJSEvent* e = new CaptureJSEvent();
|
|
|
- e->ctx = ctx;
|
|
|
- m_fsm.PostEventFIFO(e);
|
|
|
+ if (!m_fsm.GetDevInitFlag()) {
|
|
|
+ ctx->Answer(Error_DevNotAvailable, CardIssuerStore_UserErrorCode_DevOpen_Failed);
|
|
|
+ }
|
|
|
+ else if(_stricmp(m_fsm.GetCurrStateName(), "Hold") != 0){
|
|
|
+ //不符合请求调用,告知具体错误流程
|
|
|
+ DWORD errCode = m_fsm.GetFsmStateErrCode();
|
|
|
+ ctx->Answer(Error_Unexpect, errCode);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ CaptureJSEvent* e = new CaptureJSEvent();
|
|
|
+ e->ctx = ctx;
|
|
|
+ m_fsm.PostEventFIFO(e);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void ReadBatchCardInfoInRangeJS(SpReqAnsContext<CardIssuerStoreService_ReadBatchCardInfoInRangeJS_Req, CardIssuerStoreService_ReadBatchCardInfoInRangeJS_Ans>::Pointer ctx)
|
|
|
{
|
|
|
LOG_FUNCTION();
|
|
|
- ReadBatchCardInfoInRangeJSEvent* pEvt = new ReadBatchCardInfoInRangeJSEvent();
|
|
|
- pEvt->ctx = ctx;
|
|
|
- m_fsm.PostEventFIFO(pEvt);
|
|
|
+ if (!m_fsm.GetDevInitFlag()) {
|
|
|
+ ctx->Answer(Error_DevNotAvailable, CardIssuerStore_UserErrorCode_DevOpen_Failed);
|
|
|
+ }
|
|
|
+ else if (_stricmp(m_fsm.GetCurrStateName(), "Idle") != 0) {
|
|
|
+ //不符合请求调用,告知具体错误流程
|
|
|
+ DWORD errCode = m_fsm.GetFsmStateErrCode();
|
|
|
+ ctx->Answer(Error_Unexpect, errCode);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ ReadBatchCardInfoInRangeJSEvent* pEvt = new ReadBatchCardInfoInRangeJSEvent();
|
|
|
+ pEvt->ctx = ctx;
|
|
|
+ m_fsm.PostEventFIFO(pEvt);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void GetCardInStoreJS(SpReqAnsContext<CardIssuerStoreService_GetCardInStoreJS_Req, CardIssuerStoreService_GetCardInStoreJS_Ans>::Pointer ctx)
|
|
@@ -329,26 +349,58 @@ public:
|
|
|
void AddAndReadCardFromBoxJS(SpReqAnsContext<CardIssuerStoreService_AddAndReadCardFromBoxJS_Req, CardIssuerStoreService_AddAndReadCardFromBoxJS_Ans>::Pointer ctx)
|
|
|
{
|
|
|
LOG_FUNCTION();
|
|
|
- AddAndReadCardFromBoxJSEvent* pEvt = new AddAndReadCardFromBoxJSEvent();
|
|
|
- pEvt->ctx = ctx;
|
|
|
- m_fsm.PostEventFIFO(pEvt);
|
|
|
+ if (!m_fsm.GetDevInitFlag()) {
|
|
|
+ ctx->Answer(Error_DevNotAvailable, CardIssuerStore_UserErrorCode_DevOpen_Failed);
|
|
|
+ }
|
|
|
+ else if (_stricmp(m_fsm.GetCurrStateName(), "Idle") != 0) {
|
|
|
+ //不符合请求调用,告知具体错误流程
|
|
|
+ DWORD errCode = m_fsm.GetFsmStateErrCode();
|
|
|
+ ctx->Answer(Error_Unexpect, errCode);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ AddAndReadCardFromBoxJSEvent* pEvt = new AddAndReadCardFromBoxJSEvent();
|
|
|
+ pEvt->ctx = ctx;
|
|
|
+ m_fsm.PostEventFIFO(pEvt);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void MoveAndReadCardFromSlotJS(SpReqAnsContext<CardIssuerStoreService_MoveAndReadCardFromSlotJS_Req, CardIssuerStoreService_MoveAndReadCardFromSlotJS_Ans>::Pointer ctx)
|
|
|
{
|
|
|
LOG_FUNCTION();
|
|
|
- MoveAndReadCardFromSlotJSEvent* pEvt = new MoveAndReadCardFromSlotJSEvent();
|
|
|
- pEvt->ctx = ctx;
|
|
|
- m_fsm.PostEventFIFO(pEvt);
|
|
|
+ if (!m_fsm.GetDevInitFlag()) {
|
|
|
+ ctx->Answer(Error_DevNotAvailable, CardIssuerStore_UserErrorCode_DevOpen_Failed);
|
|
|
+ }
|
|
|
+ else if (_stricmp(m_fsm.GetCurrStateName(), "Idle") != 0) {
|
|
|
+ //不符合请求调用,告知具体错误流程
|
|
|
+ DWORD errCode = m_fsm.GetFsmStateErrCode();
|
|
|
+ ctx->Answer(Error_Unexpect, errCode);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ MoveAndReadCardFromSlotJSEvent* pEvt = new MoveAndReadCardFromSlotJSEvent();
|
|
|
+ pEvt->ctx = ctx;
|
|
|
+ m_fsm.PostEventFIFO(pEvt);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void MoveBacktoSlotJS(SpReqAnsContext<CardIssuerStoreService_MoveBacktoSlotJS_Req, CardIssuerStoreService_MoveBacktoSlotJS_Ans>::Pointer ctx)
|
|
|
{
|
|
|
LOG_FUNCTION();
|
|
|
- MoveBacktoSlotJSEvent* pEvt = new MoveBacktoSlotJSEvent();
|
|
|
- pEvt->ctx = ctx;
|
|
|
- m_fsm.PostEventFIFO(pEvt);
|
|
|
+ if (!m_fsm.GetDevInitFlag()) {
|
|
|
+ ctx->Answer(Error_DevNotAvailable, CardIssuerStore_UserErrorCode_DevOpen_Failed);
|
|
|
+ }
|
|
|
+ else if (_stricmp(m_fsm.GetCurrStateName(), "Hold") != 0) {
|
|
|
+ //不符合请求调用,告知具体错误流程
|
|
|
+ DWORD errCode = m_fsm.GetFsmStateErrCode();
|
|
|
+ ctx->Answer(Error_Unexpect, errCode);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ MoveBacktoSlotJSEvent* pEvt = new MoveBacktoSlotJSEvent();
|
|
|
+ pEvt->ctx = ctx;
|
|
|
+ m_fsm.PostEventFIFO(pEvt);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
virtual void OnSysVarEvent(const char* pszKey, const char* pszValue, const char* pszOldValue, const char* pszEntityName);
|
|
|
virtual bool IsService()const{return true;}
|
|
|
virtual bool IsMultiThread()const{return true;}
|