Преглед изворни кода

!10865 合并最新ST2
Merge pull request !10865 from 80374374/ST2

Gifur пре 1 месец
родитељ
комит
718a362da0
31 измењених фајлова са 332 додато и 2588 уклоњено
  1. 12 13
      Framework/spbase/sp_logwithlink.cpp
  2. 7 80
      Module/mod_CardIssuerStand/CardIssuerStand.xml
  3. 133 569
      Module/mod_CardIssuerStand/CardIssuerStandFSM.cpp
  4. 67 282
      Module/mod_CardIssuerStand/CardIssuerStandFSM.h
  5. 1 0
      Module/mod_CardIssuerStand/CardIssuerStand_UserErrorCode.h
  6. 1 245
      Module/mod_CardIssuerStand/CardIssuerStand_client_g.h
  7. 2 153
      Module/mod_CardIssuerStand/CardIssuerStand_def_g.h
  8. 0 15
      Module/mod_CardIssuerStand/CardIssuerStand_msg_g.h
  9. 0 135
      Module/mod_CardIssuerStand/CardIssuerStand_server_g.h
  10. 3 8
      Module/mod_CardIssuerStand/mod_cardissuerStand.cpp
  11. 32 85
      Module/mod_CardIssuerStand/mod_cardissuerStand.h
  12. 2 114
      Module/mod_CardReadAdapter/CardReadAdapterFSM.cpp
  13. 1 13
      Module/mod_CardReadAdapter/CardReadAdapterFSM.h
  14. 1 70
      Module/mod_chromium/CModTools.cpp
  15. 1 1
      Module/mod_chromium/CModTools.h
  16. 3 1
      Module/mod_chromium/CWSCodec.cpp
  17. 14 14
      Module/mod_chromium/CWebsocketServer.cpp
  18. 0 31
      Module/mod_upload/Upload.xml
  19. 15 15
      Module/mod_upload/UploadFSM.cpp
  20. 0 196
      Module/mod_upload/Upload_client_g.h
  21. 0 96
      Module/mod_upload/Upload_def_g.h
  22. 0 108
      Module/mod_upload/Upload_server_g.h
  23. 0 33
      Module/mod_upload/mod_upload.cpp
  24. 0 75
      Module/mod_upload/mod_upload.h
  25. 5 183
      Module/mod_upload/upload.cpp
  26. 0 34
      Module/mod_upload/upload.h
  27. 0 8
      Module/mod_vtmloader/VtmLoaderFSM.cpp
  28. 29 9
      Other/libvideorecord/libvideorecord_impl.cpp
  29. 1 1
      Other/libvideorecord/libvideorecord_impl.h
  30. 1 1
      addin/cmake/DependencyConanFiles.cmake
  31. 1 0
      addin/res/RunScript/stopBrowser.sh

+ 12 - 13
Framework/spbase/sp_logwithlink.cpp

@@ -444,10 +444,8 @@ void DbgWithLink::operator () (const char* str, ...)  const  {
         }
     }
 #endif //GBK_COMPACT
-
+    log_item log;
     if (m_priPtr->IsAllowToRecord()) {
-
-        log_item log;
         log_producer_result rst;
         log.Level = m_priPtr->Level;
         log.Type = m_priPtr->Type;
@@ -484,21 +482,22 @@ void DbgWithLink::operator () (const char* str, ...)  const  {
         return;
     }
 
+
     switch (m_priPtr->Level) {
     case LOG_LEVEL_DEBUG:
-        sp_dbg_debugNoOut("%s", &buf[0]);
+        sp_dbg_debugNoOut("[API:%s][ResultCode:%s]%s", log.API, log.ResultCode, &buf[0]);
         break;
     case LOG_LEVEL_INFO:
-        sp_dbg_infoNoOut("%s", &buf[0]);
+        sp_dbg_infoNoOut("[API:%s][ResultCode:%s]%s", log.API, log.ResultCode, &buf[0]);
         break;
     case LOG_LEVEL_WARN:
-        sp_dbg_warnNoOut("%s", &buf[0]);
+        sp_dbg_warnNoOut("[API:%s][ResultCode:%s]%s", log.API, log.ResultCode, &buf[0]);
         break;
     case LOG_LEVEL_ERROR:
-        sp_dbg_errorNoOut("%s", &buf[0]);
+        sp_dbg_errorNoOut("[API:%s][ResultCode:%s]%s", log.API, log.ResultCode, &buf[0]);
         break;
     case LOG_LEVEL_FATAL:
-        sp_dbg_fatalNoOut("%s", &buf[0]);
+        sp_dbg_fatalNoOut("[API:%s][ResultCode:%s]%s", log.API, log.ResultCode, &buf[0]);
         break;
     default:
         break;
@@ -546,19 +545,19 @@ void DbgWithLink::operator () ()  const  {
 
     switch (log.Level) {
     case LOG_LEVEL_DEBUG:
-        sp_dbg_debugNoOut("%s", log.ResultMsg);
+        sp_dbg_debugNoOut("[API:%s][ResultCode:%s]%s", log.API, log.ResultCode, log.ResultMsg);
         break;
     case LOG_LEVEL_INFO:
-        sp_dbg_infoNoOut("%s", log.ResultMsg);
+        sp_dbg_infoNoOut("[API:%s][ResultCode:%s]%s", log.API, log.ResultCode, log.ResultMsg);
         break;
     case LOG_LEVEL_WARN:
-        sp_dbg_warnNoOut("%s", log.ResultMsg);
+        sp_dbg_warnNoOut("[API:%s][ResultCode:%s]%s", log.API, log.ResultCode, log.ResultMsg);
         break;
     case LOG_LEVEL_ERROR:
-        sp_dbg_errorNoOut("%s", log.ResultMsg);
+        sp_dbg_errorNoOut("[API:%s][ResultCode:%s]%s", log.API, log.ResultCode, log.ResultMsg);
         break;
     case LOG_LEVEL_FATAL:
-        sp_dbg_fatalNoOut("%s", log.ResultMsg);
+        sp_dbg_fatalNoOut("[API:%s][ResultCode:%s]%s", log.API, log.ResultCode, log.ResultMsg);
         break;
     default:
         break;

+ 7 - 80
Module/mod_CardIssuerStand/CardIssuerStand.xml

@@ -76,30 +76,6 @@
 			<res>
 			</res>			
 		</twoway>				
-		<twoway name="GetMaterialCount" overlap="true" method_id="10">
-			<req>
-			</req>
-			<res>
-				<param name="remains" type="int"/>
-				<param name="captured" type="int"/>
-				<param name="issued" type="int"/>
-				<param name="mixed" type="int"/>
-			</res>			
-		</twoway>
-		<twoway name="SetMaterialCount" overlap="true" method_id="11">
-			<req>
-				<param name="remains" type="int"/>
-				<param name="captured" type="int"/>
-				<param name="issued" type="int"/>
-				<param name="bRemains" type="bool"/>
-				<param name="bCaptured" type="bool"/>				
-				<param name="bIssued" type="bool"/>
-				<param name="mixed" type="int"/>
-				<param name="bMixed" type="bool"/>
-			</req>
-			<res>
-			</res>			
-		</twoway>
 		<oneway name="SetIssueFlag" overlap="true" method_id="12">			
 		</oneway>
 		<twoway name="QueryCardInfo" overlap="true" method_id="14">
@@ -183,16 +159,6 @@
 				<param name="reserved2" type="array_string"/>
 			</res>				
 		</twoway>
-		<twoway name="GetSCIInfo" overlap="true" method_id="19">
-			<req>
-			</req>
-			<res>
-				<param name="connected" type="int"/>
-				<param name="DevSN" type="string"/>
-				<param name="reserved1" type="array_int"/>
-				<param name="reserved2" type="array_string"/>
-			</res>			
-		</twoway>
 		<twoway name="IssueEx" overlap="true" method_id="20">
 			<req>
 				<param name="hopper" type="int"/>
@@ -276,42 +242,6 @@
 				<param name="reserved4" type="array_string"/>				
 			</res>			
 		</twoway>
-		<twoway name="GetAddCardInfo" overlap="true" method_id="30">
-			<req>
-				<param name="isSync" type="int"/>
-				<param name="reserved1" type="array_int"/>
-				<param name="reserved2" type="array_int"/>
-				<param name="reserved3" type="array_string"/>
-				<param name="reserved4" type="array_string"/>
-			</req>
-			<res>
-				<param name="count" type="int"/>
-				<param name="slot" type="array_int"/>
-				<param name="account" type="array_string"/>							
-				<param name="cardSerial" type="array_string"/>
-				<param name="reserved1" type="array_int"/>
-				<param name="reserved2" type="array_int"/>
-				<param name="reserved3" type="array_string"/>
-				<param name="reserved4" type="array_string"/>				
-			</res>			
-		</twoway>		
-		<twoway name="PrintCardImmediately" overlap="true" method_id="31">
-			<req>
-				<param name="formFile" type="string"/>
-				<param name="printData" type="string"/>
-				<param name="reserved1" type="array_int"/>
-				<param name="reserved2" type="array_int"/>
-				<param name="reserved3" type="array_string"/>
-				<param name="reserved4" type="array_string"/>
-			</req>
-			<res>
-				<param name="ret" type="int"/>
-				<param name="reserved1" type="array_int"/>
-				<param name="reserved2" type="array_int"/>
-				<param name="reserved3" type="array_string"/>
-				<param name="reserved4" type="array_string"/>				
-			</res>			
-		</twoway>
 		<twoway name="QueryCIStatus" overlap="true" method_id="32">
 			<req>
 				<param name="reserved1" type="array_int"/>
@@ -357,7 +287,9 @@
 		<!--9、读卡失败,读取IC数据失败(非接) errorCode为Error_Unexpect(2147483646),rtaCode为RTA23C9-->
 		<twoway name="ReadJS" overlap="true" method_id="40" jsflag="true">
 			<req>
-				<!--Aid列表-->
+        <!--读取模式:1 读磁、2 接触IC优先、3 非接IC优先、4 非接IC、5 读磁+接触IC优先、6 读磁+非接IC优先、7 读磁+非接IC-->
+        <param name="mode" type="int" />
+        <!--Aid列表-->
 				<param name="aid" type="string"/>
 				<!--业务数据-->
 				<param name="businessData" type="string"/>
@@ -365,7 +297,7 @@
 				<param name="reserved2" type="array_string"/>
 			</req>
 			<res>
-				<!--读磁条结果 0失败 1成功-->
+				<!--读磁条结果 0成功 1失败 2未执行-->
 				<param name="magStatus" type="int" />
 				<!--磁道1数据-->
 				<param name="track1" type="string"/>
@@ -385,9 +317,9 @@
 				<param name="track2Status" type="int"/>
 				<!--磁道3数据状态 0成功 1无效-->
 				<param name="track3Status" type="int"/>
-				<!--读IC结果 0失败 1成功-->
+				<!--读IC结果 0成功 1失败-->
 				<param name="icState" type="int"/>
-				<!--读IC成功下接触方式 -1未知 0接触 1非接-->
+				<!--读IC成功下接触方式 0接触 1非接 2未执行-->
 				<param name="icMode" type="int"/>
 				<!--IC读取的数据<json格式>
 					ACTION:行为代码
@@ -398,8 +330,6 @@
 					ARQC_DATA:授权请求数据
 					T2TRACK2_DATA:磁道2数据
 					EXPIRE_DATE:卡片失效日期
-					T2CARD_SERIAL:卡序号
-					CARD_CAT:卡类型
 					IC_TAGS:基础IC数据
 				-->
 				<param name="result" type="string"/>
@@ -509,8 +439,5 @@
 	</class>
 	<message name="FetchCard">
 			<param name="status" type="int"/>
-	</message>
-	<message name="SCIConnect">
-			<param name="status" type="int"/>
-	</message>			
+	</message>	
 </entity>

Разлика између датотеке није приказан због своје велике величине
+ 133 - 569
Module/mod_CardIssuerStand/CardIssuerStandFSM.cpp


+ 67 - 282
Module/mod_CardIssuerStand/CardIssuerStandFSM.h

@@ -9,6 +9,7 @@
 #include "AccessAuthorization_client_g.h"
 #include "HealthManager_client_g.h"
 #include "DevFSMCommBase.hpp"
+#include "CommEntityUtil.hpp"
 #include "CardIssuerClass.h"
 #include "CardAssist.h"
 #include "ICDataElement.h"
@@ -46,17 +47,13 @@ enum EvtType
 	USER_EVT_EXIT,
 	USER_EVT_READ,
 	USER_EVT_READ_FINISHED,
-	USER_EVT_WRITE,
-	USER_EVT_WRITE_FINISHED,
 	USER_EVT_GET_MATERIAL_EX,
 	USER_EVT_SET_MATERIAL_EX,
 	USER_EVT_ISSUE_EX,
 	USER_EVT_ISSUE_EX_FINISHED,
-	USER_EVT_SAM_IC,
-	USER_EVT_SAM_IC_FINISHED,
 	USER_EVT_BACK_TO_INIT,
 	//新定义JS状态机事件枚举
-	USER_EVT_JS_CAPTURE = EVT_USER + 38,
+	USER_EVT_JS_CAPTURE,
 	USER_EVT_JS_CAPTURE_FINISHED,
 	USER_EVT_JS_EJECT,
 	USER_EVT_JS_EJECT_FINISHED,
@@ -64,14 +61,13 @@ enum EvtType
 	USER_EVT_JS_POSTONLINE_FINISHED,
 	USER_EVT_JS_ISSUE_FROM_BOX,
 	USER_EVT_JS_ISSUE_FROM_BOX_FINISHED,
-	USER_EVT_QUICK_SELF_CHECK,
-	USER_EVT_QUICK_SELF_CHECK_FINISHED,
 	USER_EVT_JS_READ,
 	USER_EVT_JS_READ_FINISHED,
 	USER_EVT_JS_INSERT,
 	USER_EVT_JS_INSERT_FINISHED,
 	USER_EVT_JS_INSERT_CANCEL,
-	USER_EVT_JS_EXIT_MIAN_PAGE
+	USER_EVT_JS_EXIT_MIAN_PAGE,
+	USER_EVT_QUERY_CARD_POS_FINISHED
 };
 enum SAMICCommandType
 {
@@ -91,6 +87,17 @@ enum SAMICCommandType
 	SAMICCommand_RFIC_Deactivate,
 	SAMICCommand_RFIC_Command,
 };
+enum ReadMode
+{ 
+	//<!--读取模式:1 读磁、2 接触IC优先、3 非接IC优先、4 非接IC、5 读磁+接触IC优先、6 读磁+非接IC优先、7 读磁+非接IC-->
+	ReadMode_MagOnly = 1,
+	ReadMode_ContactICFirst = 2,
+	ReadMode_ContactlessICFirst = 3,
+	ReadMode_ContactlessICOnly = 4,
+	ReadMode_Mag_ContactICFirst = 5,
+	ReadMode_Mag_ContactlessICFirst = 6,
+	ReadMode_Mag_ContactlessICOnly = 7,
+};
 
 typedef int(*lpCMBdecodeMag2)(char* Mag2Data, char * data);
 typedef int(*lpCMBdecodeEx)( char* MagData, char * type, char * data);
@@ -139,14 +146,6 @@ public:
 	CardAcceptEvent() : FSMEvent(USER_EVT_ACCEPT) {}
 	~CardAcceptEvent() {}
 	SpReqAnsContext<CardIssuerStandService_Insert_Req, CardIssuerStandService_Insert_Ans>::Pointer ctx;
-	virtual void OnUnhandled()
-	{
-		if (ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA23CL")("card accept unhandled");
-			ctx->Answer(Error_InvalidState);
-		}
-	}
 };
 class CardIssueEvent : public FSMEvent
 {
@@ -154,14 +153,6 @@ public:
 	CardIssueEvent() : FSMEvent(USER_EVT_ISSUE) {}
 	~CardIssueEvent() {}
 	SpReqAnsContext<CardIssuerStandService_Issue_Req, CardIssuerStandService_Issue_Ans>::Pointer ctx;
-	virtual void OnUnhandled()
-	{
-		if (ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA23CL")("card issue unhandled");
-			ctx->Answer(Error_InvalidState);
-		}
-	}
 };
 
 class CancelAcceptEvent : public FSMEvent
@@ -169,10 +160,6 @@ class CancelAcceptEvent : public FSMEvent
 public:
 	CancelAcceptEvent() : FSMEvent(USER_EVT_ACCEPT_CANCEL) {}
 	~CancelAcceptEvent() {}
-	virtual void OnUnhandled()
-	{
-		//DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA23CL")("card cancel accept unhandled");
-	}
 };
 
 class CardReadEvent : public FSMEvent
@@ -181,14 +168,6 @@ public:
 	CardReadEvent() : FSMEvent(USER_EVT_READ) {}
 	~CardReadEvent() {}
 	SpReqAnsContext<CardIssuerStandService_Read_Req, CardIssuerStandService_Read_Ans>::Pointer ctx;
-	virtual void OnUnhandled()
-	{
-		if (ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA23CL")("card read unhandled");
-			ctx->Answer(Error_InvalidState);
-		}
-	}
 protected:
 private:
 };
@@ -198,13 +177,6 @@ public:
 	CardReadFinishedEvent() : FSMEvent(USER_EVT_READ_FINISHED) {}
 	~CardReadFinishedEvent() {}
 	SpReqAnsContext<CardIssuerStandService_Read_Req, CardIssuerStandService_Read_Ans>::Pointer ctx;
-	virtual void OnUnhandled()
-	{
-		if (ctx != NULL)
-		{
-			//DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA23CL")("card read unhandled(new)");
-		}
-	}
 protected:
 private:
 };
@@ -230,11 +202,6 @@ public:
 	PreOnlineEvent() : FSMEvent(USER_EVT_PREONLINE){}
 	~PreOnlineEvent(){}
 	SpReqAnsContext<CardIssuerStandService_PreOnline_Req,CardIssuerStandService_PreOnline_Ans>::Pointer ctx;
-	virtual void OnUnhandled() 
-	{
-		if (ctx != NULL)
-			ctx->Answer(Error_InvalidState);
-	}
 protected:
 private:
 };
@@ -244,11 +211,6 @@ public:
 	PostOnlineEvent() : FSMEvent(USER_EVT_POSTONLINE){}
 	~PostOnlineEvent(){}
 	SpReqAnsContext<CardIssuerStandService_PostOnline_Req,CardIssuerStandService_PostOnline_Ans>::Pointer ctx;
-	virtual void OnUnhandled() 
-	{
-		if (ctx != NULL)
-			ctx->Answer(Error_InvalidState);
-	}
 protected:
 private:
 };
@@ -258,11 +220,6 @@ public:
 	CardCaptureEvent() : FSMEvent(USER_EVT_CAPTURE){}
 	~CardCaptureEvent(){}
 	SpReqAnsContext<CardIssuerStandService_Capture_Req,CardIssuerStandService_Capture_Ans>::Pointer ctx;
-	virtual void OnUnhandled() 
-	{
-		if (ctx != NULL)
-			ctx->Answer(Error_InvalidState);
-	}
 
 protected:
 private:
@@ -273,57 +230,16 @@ public:
 	CardEjectEvent() : FSMEvent(USER_EVT_EJECT){}
 	~CardEjectEvent(){}
 	SpReqAnsContext<CardIssuerStandService_Eject_Req,CardIssuerStandService_Eject_Ans>::Pointer ctx;
-	virtual void OnUnhandled() 
-	{
-		if (ctx != NULL)
-			ctx->Answer(Error_InvalidState);
-	}
-protected:
-private:
-};
-class CardWriteEvent : public FSMEvent
-{
-public:
-	CardWriteEvent() : FSMEvent(USER_EVT_WRITE){}
-	~CardWriteEvent(){}
-	SpReqAnsContext<CardIssuerStandService_WriteTrack_Req,CardIssuerStandService_WriteTrack_Ans>::Pointer ctx;
-	virtual void OnUnhandled() 
-	{
-		if (ctx != NULL)
-		{
-			ctx->Answer(Error_InvalidState);
-		}
-	}
-protected:
-private:
-};
-class CardWriteFinishedEvent : public FSMEvent
-{
-public:
-	CardWriteFinishedEvent() : FSMEvent(USER_EVT_WRITE_FINISHED){}
-	~CardWriteFinishedEvent(){}
-	SpReqAnsContext<CardIssuerStandService_WriteTrack_Req,CardIssuerStandService_WriteTrack_Ans>::Pointer ctx;
-	virtual void OnUnhandled() 
-	{
-		if (ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("card read unhandled(new)");
-		}
-	}
 protected:
 private:
 };
+
 class GetMaterialExEvent : public FSMEvent
 {
 public:
 	GetMaterialExEvent() : FSMEvent(USER_EVT_GET_MATERIAL_EX) {}
 	~GetMaterialExEvent() {}
 	SpReqAnsContext<CardIssuerStandService_GetMaterialCountEx_Req, CardIssuerStandService_GetMaterialCountEx_Ans>::Pointer ctx;
-	virtual void OnUnhandled()
-	{
-		if (ctx != NULL)
-			ctx->Answer(Error_InvalidState);
-	}
 protected:
 private:
 };
@@ -333,11 +249,6 @@ public:
 	SetMaterialExEvent() : FSMEvent(USER_EVT_SET_MATERIAL_EX){}
 	~SetMaterialExEvent(){}
 	SpReqAnsContext<CardIssuerStandService_SetMaterialCountEx_Req, CardIssuerStandService_SetMaterialCountEx_Ans>::Pointer ctx;
-	virtual void OnUnhandled()
-	{
-		if (ctx != NULL)
-			ctx->Answer(Error_InvalidState);
-	}
 protected:
 private:
 };
@@ -347,30 +258,8 @@ public:
 	CardIssueExEvent() : FSMEvent(USER_EVT_ISSUE_EX){}
 	~CardIssueExEvent(){}
 	SpReqAnsContext<CardIssuerStandService_IssueEx_Req, CardIssuerStandService_IssueEx_Ans>::Pointer ctx;
-	virtual void OnUnhandled()
-	{
-		if (ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA23CL")("card issue ex unhandled");
-			ctx->Answer(Error_InvalidState);
-		}
-	}
-};
-class SAMICCommandEvent : public FSMEvent
-{
-public:
-	SAMICCommandEvent() : FSMEvent(USER_EVT_SAM_IC){}
-	~SAMICCommandEvent(){}
-	SpReqAnsContext<CardIssuerStandService_SAMICCommand_Req, CardIssuerStandService_SAMICCommand_Ans>::Pointer ctx;
-	virtual void OnUnhandled()
-	{
-		if (ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("sam/ic unhandled");
-			ctx->Answer(Error_InvalidState);
-		}
-	}
 };
+
 #pragma region JS接口 event
 //JS接口
 class EjectJSEvent : public FSMEvent
@@ -379,13 +268,6 @@ public:
 	EjectJSEvent() : FSMEvent(USER_EVT_JS_EJECT) {}
 	~EjectJSEvent() {}
 	SpReqAnsContext<CardIssuerStandService_EjectJS_Req, CardIssuerStandService_EjectJS_Ans>::Pointer ctx;
-	virtual void OnUnhandled()
-	{
-		if (ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA23CL")("EjectJS Operate unhandled");
-		}
-	}
 };
 
 class CaptureJSEvent : public FSMEvent
@@ -394,13 +276,6 @@ public:
 	CaptureJSEvent() : FSMEvent(USER_EVT_JS_CAPTURE) {}
 	~CaptureJSEvent() {}
 	SpReqAnsContext<CardIssuerStandService_CaptureJS_Req, CardIssuerStandService_CaptureJS_Ans>::Pointer ctx;
-	virtual void OnUnhandled()
-	{
-		if (ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA23CL")("CaptureJS Operate unhandled");
-		}
-	}
 };
 
 class PostOnlineJSEvent : public FSMEvent
@@ -409,13 +284,6 @@ public:
 	PostOnlineJSEvent() : FSMEvent(USER_EVT_JS_POSTONLINE) {}
 	~PostOnlineJSEvent() {}
 	SpReqAnsContext<CardIssuerStandService_PostOnlineJS_Req, CardIssuerStandService_PostOnlineJS_Ans>::Pointer ctx;
-	virtual void OnUnhandled()
-	{
-		if (ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA23CL")("PostOnlineJS Operate unhandled");
-		}
-	}
 };
 
 class IssueFromBoxJSEvent : public FSMEvent
@@ -424,38 +292,10 @@ public:
 	IssueFromBoxJSEvent() : FSMEvent(USER_EVT_JS_ISSUE_FROM_BOX) {}
 	~IssueFromBoxJSEvent() {}
 	SpReqAnsContext<CardIssuerStandService_IssueFromBoxJS_Req, CardIssuerStandService_IssueFromBoxJS_Ans>::Pointer ctx;
-	virtual void OnUnhandled()
-	{
-		if (ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA23CL")("IssueFromBoxJS Operate unhandled");
-		}
-	}
 };
 
-class QuickSelfcheckFinishEvent : public FSMEvent
-{
-public:
-	QuickSelfcheckFinishEvent() : FSMEvent(USER_EVT_QUICK_SELF_CHECK_FINISHED) {}
-	~QuickSelfcheckFinishEvent() {}
-protected:
-private:
-};
 
-class ReadJSEvent : public FSMEvent
-{
-public:
-	ReadJSEvent() : FSMEvent(USER_EVT_JS_READ) {}
-	~ReadJSEvent() {}
-	SpReqAnsContext<CardIssuerStandService_ReadJS_Req, CardIssuerStandService_ReadJS_Ans>::Pointer ctx;
-	virtual void OnUnhandled()
-	{
-		if (ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA23CL")("ReadJS Operate unhandled");
-		}
-	}
-};
+
 
 class InsertJSEvent : public FSMEvent
 {
@@ -463,13 +303,6 @@ public:
 	InsertJSEvent() : FSMEvent(USER_EVT_JS_INSERT) {}
 	~InsertJSEvent() {}
 	SpReqAnsContext<CardIssuerStandService_InsertJS_Req, CardIssuerStandService_InsertJS_Ans>::Pointer ctx;
-	virtual void OnUnhandled()
-	{
-		if (ctx != NULL)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA23CL")("InsertJS Operate unhandled");
-		}
-	}
 };
 
 class CancelInsertJSEvent : public FSMEvent
@@ -477,10 +310,6 @@ class CancelInsertJSEvent : public FSMEvent
 public:
 	CancelInsertJSEvent() : FSMEvent(USER_EVT_JS_INSERT_CANCEL) {}
 	~CancelInsertJSEvent() {}
-	virtual void OnUnhandled()
-	{
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA23CL")("CancelInsertJS Operate unhandled");
-	}
 };
 
 #pragma endregion JS接口 event
@@ -814,7 +643,7 @@ struct SyncMaterialCountHTTPRet : CHTTPRet {
 class CCardIssuerFSM : public CCommDevFSM<CCardIssuerFSM, CardIssuerClass>, public IFSMStateHooker
 {
 public:
-	enum {s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s14,s15,s16};
+	enum {s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12};
 	BEGIN_FSM_STATE(CCardIssuerFSM)
 		FSM_STATE_ENTRY(s0,"Init",s0_on_entry,s0_on_exit,s0_on_event)
 		FSM_STATE_ENTRY(s1,"Initializing",s1_on_entry,s1_on_exit,s1_on_event)
@@ -827,10 +656,8 @@ public:
 		FSM_STATE_ENTRY(s8,"Capturing",s8_on_entry,s8_on_exit,s8_on_event)
 		FSM_STATE_ENTRY(s9,"Failed",s9_on_entry,s9_on_exit,s9_on_event)
 		FSM_STATE_ENTRY(s10,"Issuing",s10_on_entry,s10_on_exit,s10_on_event)
-		FSM_STATE_ENTRY(s11,"Writing",s11_on_entry,s11_on_exit,s11_on_event)
-		FSM_STATE_ENTRY(s14, "SAMIC", s14_on_entry, s14_on_exit, s14_on_event)
-		FSM_STATE_ENTRY(s15, "ReadJSing", s15_on_entry, s15_on_exit, s15_on_event)
-		FSM_STATE_ENTRY(s16, "IssueJSing", s16_on_entry, s16_on_exit, s16_on_event)
+		FSM_STATE_ENTRY(s11, "ReadJSing", s11_on_entry, s11_on_exit, s11_on_event)
+		FSM_STATE_ENTRY(s12, "IssueJSing", s12_on_entry, s12_on_exit, s12_on_event)
 		END_FSM_STATE()
 
 	BEGIN_FSM_RULE(CCardIssuerFSM,s0)
@@ -847,7 +674,7 @@ public:
 		FSM_RULE_ENTRY(s2,s10,USER_EVT_ISSUE,0)
 		FSM_RULE_ENTRY(s2, s10, USER_EVT_ISSUE_EX, 0)
 		FSM_RULE_ENTRY(s2, s3, USER_EVT_JS_INSERT, 0)//JS 插卡
-		FSM_RULE_ENTRY(s2, s16, USER_EVT_JS_ISSUE_FROM_BOX, 0)//JS 卡箱发卡
+		FSM_RULE_ENTRY(s2, s12, USER_EVT_JS_ISSUE_FROM_BOX, 0)//JS 卡箱发卡
 		FSM_RULE_ENTRY(s2, s8, USER_EVT_JS_CAPTURE, 0)//JS 吞卡
 		FSM_RULE_ENTRY(s3,s4,USER_EVT_ACCEPTFINISHED,0)
 		FSM_RULE_ENTRY(s3,s9,USER_EVT_ACCEPTFINISHED,1)
@@ -867,15 +694,13 @@ public:
 		FSM_RULE_ENTRY(s4,s8,USER_EVT_ACCEPT,0)
 		FSM_RULE_ENTRY(s4,s8,USER_EVT_EXIT,1)
 		FSM_RULE_ENTRY(s4,s8,USER_EVT_CAPTURE,0)
-		FSM_RULE_ENTRY(s4,s11,USER_EVT_WRITE,0)
-		FSM_RULE_ENTRY(s4, s14, USER_EVT_SAM_IC, 0)
 		FSM_RULE_ENTRY(s4, FSM_STATE_EXIT, USER_EVT_QUIT, 0)
 		FSM_RULE_ENTRY(s4, s2, USER_EVT_ISSUE_EX_FINISHED, 2)
 		FSM_RULE_ENTRY(s4, s6, USER_EVT_ISSUE_EX_FINISHED, 6)
 		FSM_RULE_ENTRY(s4, s5, USER_EVT_PREONLINE, 0)
 		FSM_RULE_ENTRY(s4, s5, USER_EVT_POSTONLINE, 0)
-		FSM_RULE_ENTRY(s4, s15, USER_EVT_JS_READ, 0)//JS 读卡
-		FSM_RULE_ENTRY(s4, s15, USER_EVT_JS_POSTONLINE, 0)//JS 联机后
+		FSM_RULE_ENTRY(s4, s11, USER_EVT_JS_READ, 0)//JS 读卡
+		FSM_RULE_ENTRY(s4, s11, USER_EVT_JS_POSTONLINE, 0)//JS 联机后
 		FSM_RULE_ENTRY(s4, s6, USER_EVT_JS_EJECT, 0)//JS 吐卡
 		FSM_RULE_ENTRY(s4, s8, USER_EVT_JS_CAPTURE, 0)//JS 吞卡
 		FSM_RULE_ENTRY(s4, s6, USER_EVT_JS_EXIT_MIAN_PAGE, 0)//JS 退回首页吐卡
@@ -887,8 +712,8 @@ public:
 		FSM_RULE_ENTRY(s5, s4, USER_EVT_EXIT, 0)
 		FSM_RULE_ENTRY(s5, s4, USER_EVT_PREONLINEFINISHED, 0)
 		FSM_RULE_ENTRY(s5, s4, USER_EVT_POSTONLINEFINISHED, 0)
-		FSM_RULE_ENTRY(s6,s7,USER_EVT_EJECTFINISHED,0)
-		FSM_RULE_ENTRY(s6,s9,USER_EVT_EJECTFINISHED,1)
+		FSM_RULE_ENTRY(s6,	s7,USER_EVT_EJECTFINISHED,0)
+		FSM_RULE_ENTRY(s6,	s9,USER_EVT_EJECTFINISHED,1)
 		FSM_RULE_ENTRY(s6, FSM_STATE_EXIT, USER_EVT_QUIT, 0)
 		FSM_RULE_ENTRY(s6, s2, USER_EVT_JS_EJECT_FINISHED, 0)//JS 吐卡取卡成功,取卡超时吞卡成功
 		FSM_RULE_ENTRY(s6, s9, USER_EVT_JS_EJECT_FINISHED, 1)//JS 吐卡失败,取卡超时吞卡失败
@@ -901,9 +726,8 @@ public:
 		FSM_RULE_ENTRY(s8, FSM_STATE_EXIT, USER_EVT_QUIT, 0)
 		FSM_RULE_ENTRY(s8, s2, USER_EVT_JS_CAPTURE_FINISHED, 0)//JS 吞卡成功
 		FSM_RULE_ENTRY(s8, s9, USER_EVT_JS_CAPTURE_FINISHED, 1)//JS 吞卡失败
-		FSM_RULE_ENTRY(s9, s2, USER_EVT_RESETFINISHED, 0)
-		FSM_RULE_ENTRY(s9, s0, USER_EVT_RESETFINISHED, 2)
-		FSM_RULE_ENTRY(s9, FSM_STATE_EXIT, USER_EVT_QUIT, 0)
+		FSM_RULE_ENTRY(s9, s2, USER_EVT_QUERY_CARD_POS_FINISHED, 0)
+		FSM_RULE_ENTRY(s9, s4, USER_EVT_QUERY_CARD_POS_FINISHED, 2)
 		FSM_RULE_ENTRY(s10,s4,USER_EVT_ISSUE_FINISHED,0)
 		FSM_RULE_ENTRY(s10,s9,USER_EVT_ISSUE_FINISHED,1)
 		FSM_RULE_ENTRY(s10,s2,USER_EVT_ISSUE_FINISHED,2)
@@ -914,18 +738,15 @@ public:
 		FSM_RULE_ENTRY(s10, s6, USER_EVT_ISSUE_EX_FINISHED, 6)
 		FSM_RULE_ENTRY(s10, s2, USER_EVT_ISSUE_EX_FINISHED, 8)
 		FSM_RULE_ENTRY(s10, s2, USER_EVT_EXIT, 0)
-		FSM_RULE_ENTRY(s11,s4,USER_EVT_WRITE_FINISHED,0)
-		FSM_RULE_ENTRY(s11,s4,USER_EVT_WRITE_FINISHED,1)
-		FSM_RULE_ENTRY(s14, s4, USER_EVT_SAM_IC_FINISHED, 0)
-
-		FSM_RULE_ENTRY(s15, s4, USER_EVT_JS_READ_FINISHED, 0)//JS 读卡结果返回
-		FSM_RULE_ENTRY(s15, s2, USER_EVT_JS_READ_FINISHED, 1)//JS 无卡
-		FSM_RULE_ENTRY(s15, s4, USER_EVT_JS_POSTONLINE_FINISHED, 0)//JS
-		FSM_RULE_ENTRY(s15, s4, USER_EVT_JS_EXIT_MIAN_PAGE, 0)//退出事件
-		FSM_RULE_ENTRY(s16, s4, USER_EVT_JS_ISSUE_FROM_BOX_FINISHED, 0)//JS 发卡成功
-		FSM_RULE_ENTRY(s16, s2, USER_EVT_JS_ISSUE_FROM_BOX_FINISHED, 1)//JS 发卡失败
-		FSM_RULE_ENTRY(s16, s9, USER_EVT_JS_ISSUE_FROM_BOX_FINISHED, 2)//JS 发卡故障
-		FSM_RULE_ENTRY(s16, s8, USER_EVT_JS_ISSUE_FROM_BOX_FINISHED, 3)//JS 退回首页进行吞卡
+
+		FSM_RULE_ENTRY(s11, s4, USER_EVT_JS_READ_FINISHED, 0)//JS 读卡结果返回
+		FSM_RULE_ENTRY(s11, s2, USER_EVT_JS_READ_FINISHED, 1)//JS 无卡
+		FSM_RULE_ENTRY(s11, s4, USER_EVT_JS_POSTONLINE_FINISHED, 0)//JS
+		FSM_RULE_ENTRY(s11, s4, USER_EVT_JS_EXIT_MIAN_PAGE, 0)//退出事件
+		FSM_RULE_ENTRY(s12, s4, USER_EVT_JS_ISSUE_FROM_BOX_FINISHED, 0)//JS 发卡成功
+		FSM_RULE_ENTRY(s12, s2, USER_EVT_JS_ISSUE_FROM_BOX_FINISHED, 1)//JS 发卡失败
+		FSM_RULE_ENTRY(s12, s9, USER_EVT_JS_ISSUE_FROM_BOX_FINISHED, 2)//JS 发卡故障
+		FSM_RULE_ENTRY(s12, s8, USER_EVT_JS_ISSUE_FROM_BOX_FINISHED, 3)//JS 退回首页进行吞卡
 	END_FSM_RULE()
 
 	CCardIssuerFSM() : m_bCancelAccept(false),m_bWaitingAccept(false),
@@ -938,7 +759,7 @@ public:
 	,  m_bCancelByRFIC(false), m_devOpenFailedCount(0)
 			, m_EacQueryHost(""),m_eacQueryFlag(0), m_bUseCardnoMismatch(false), m_ICRetryTimes(1)
 			, m_bCardFromHopper(true), m_bStopUseRF(false),m_rfVendorList(""), m_bUseRFTillNext(false), m_csSwallowCardUrl(""), m_csSyncMaterialUrl("")
-			, m_quickSelfcheck(false), m_SelfcheckSleepTime(10000), m_bCancelInsert(false), m_bReturnMainPage(false)
+			, m_bCancelInsert(false), m_bReturnMainPage(false)
 		{
 			HARDWARE_ENTITY_RESET_ENTITYID(m_entCode, 0x203);
 			cmdDecodeMag2 = NULL;
@@ -986,20 +807,14 @@ public:
 	void s10_on_entry();
 	void s10_on_exit();
 	unsigned int s10_on_event(FSMEvent* event);
+
 	void s11_on_entry();
 	void s11_on_exit();
 	unsigned int s11_on_event(FSMEvent* event);
-	void s14_on_entry();
-	void s14_on_exit();
-	unsigned int s14_on_event(FSMEvent* event);
 
-	void s15_on_entry();
-	void s15_on_exit();
-	unsigned int s15_on_event(FSMEvent* event);
-
-	void s16_on_entry();
-	void s16_on_exit();
-	unsigned int s16_on_event(FSMEvent* event);
+	void s12_on_entry();
+	void s12_on_exit();
+	unsigned int s12_on_event(FSMEvent* event);
 	
 	ErrorCodeEnum OpenDevice(BYTE btOpenType, const char *pDevSN);
 	int Initial();
@@ -1047,7 +862,7 @@ public:
 		else
 			return m_eDevState;
 	}
-	int QueryCardInfo();
+	int QueryCardPos();
 
 	int UpdateLocalRunCfg(CAutoArray<int> hopperArr);
 	int SyncDataToDB(bool bMaintain[12],bool bSetCaptured=true);//同步物料计数
@@ -1094,7 +909,7 @@ private:
 		, m_bCDA, m_bIssuingExit, m_bCardIssued, m_bHasHopper[HOPPER_NUM]
 		, m_bSettingMaterial, m_hasCardWhileDevOpen, m_bCancelByRFIC
 		, m_bCardActiveNotify, m_bCardFromHopper, m_bUseCardnoMismatch, m_bStopUseRF;
-	bool m_bUseRFTillNext;//if ReadCard by RF,the following PreOnline & PostOnline always use RF till the next card(insert/issue)
+	bool m_bSupportRF, m_bUseRFTillNext;//if ReadCard by RF,the following PreOnline & PostOnline always use RF till the next card(insert/issue)
 	ErrorCodeEnum m_testResult;
 
 	int m_CardCaptured;
@@ -1125,7 +940,7 @@ private:
 	bool LoadCMBPrint(CSimpleStringA csBinPath);
 	DevCategoryInfo m_devCat;
 	bool ToRegistCaptureCardInfo();
-	bool IfUseRf();
+	void CheckSupportRf();
 	CSimpleStringA m_EacQueryHost, m_csSwallowCardUrl, m_csSyncMaterialUrl;
 	MagTracks m_magTracks;
 public:
@@ -1147,19 +962,15 @@ public:
 	int PostOnlineJS_Contact(SpReqAnsContext<CardIssuerStandService_PostOnlineJS_Req, CardIssuerStandService_PostOnlineJS_Ans>::Pointer ctx, bool& bICOK);
 	int PostOnlineJS_RF(SpReqAnsContext<CardIssuerStandService_PostOnlineJS_Req, CardIssuerStandService_PostOnlineJS_Ans>::Pointer ctx);
 
-	int ReadMag(SpReqAnsContext<CardIssuerStandService_ReadJS_Req, CardIssuerStandService_ReadJS_Ans>::Pointer ctx, bool& bReadCardInfo, bool& bReadMag, CSimpleStringA& t2Account);
+	void ReadMag(SpReqAnsContext<CardIssuerStandService_ReadJS_Req, CardIssuerStandService_ReadJS_Ans>::Pointer ctx);
 	int CheckCardType(CSimpleStringA cardNo, bool bReadMag, int& ICtype);
-	int PreOnlineJS_Contact(SpReqAnsContext<CardIssuerStandService_ReadJS_Req, CardIssuerStandService_ReadJS_Ans>::Pointer ctx, bool& bICOK, bool& bContinue);
-	int PreOnlineJS_RF(SpReqAnsContext<CardIssuerStandService_ReadJS_Req, CardIssuerStandService_ReadJS_Ans>::Pointer ctx);
+	int PreOnlineJS_ReadViaContact(SpReqAnsContext<CardIssuerStandService_ReadJS_Req, CardIssuerStandService_ReadJS_Ans>::Pointer ctx, bool bContinue);
+	int PreOnlineJS_ReadViaRF(SpReqAnsContext<CardIssuerStandService_ReadJS_Req, CardIssuerStandService_ReadJS_Ans>::Pointer ctx, bool bContinue);
+	int PreOnlineJS_ICDataProcess(SpReqAnsContext<CardIssuerStandService_ReadJS_Req, CardIssuerStandService_ReadJS_Ans>::Pointer ctx);
 
-	DWORD GetFsmStateErrCode();
 	CSimpleStringA MaskCardno(const char* cardno);
 	void GetCardProcessLastErr(ErrorCodeEnum& eErrCode, CSimpleStringA& lastApiName, CSimpleStringA& alarmMsg, CSimpleStringA& csErrMsgWithReturnCode);
 	
-	int QuickSelfCheckImpl();
-	void setQuickSelfCheck() {
-		m_quickSelfcheck = true;
-	}
 	void SetDoExitFlag(bool bFlag) { m_bDoExit = bFlag; }
 	int PowerOffIC(int type);//0:接触IC 1:非接
 	virtual void OnStateTrans(int iSrcState, int iDstState);
@@ -1169,14 +980,25 @@ public:
 		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("rtaMsg=%s", rtaMsg.GetData());
 		return rtaMsg;
 	}
+	
 private:
 	bool m_bCancelInsert;
-	bool m_quickSelfcheck;
 	bool m_bDoExit;
 	bool m_bReturnMainPage;//正在处理过程中是否退到首页变量
+	ULLINT m_ullBeginTime, m_ullEndTime;
+	BYTE m_btCID/*9f27*/;
+	void FSMEventDefaultProcess(FSMEvent* pEvt, DWORD dwUserCode);
+};
+
+class ReadJSEvent : public FSMEvent
+{
 public:
-	int  m_SelfcheckSleepTime;
+	ReadJSEvent() : FSMEvent(USER_EVT_JS_READ){}
+	~ReadJSEvent() {}
+	SpReqAnsContext<CardIssuerStandService_ReadJS_Req, CardIssuerStandService_ReadJS_Ans>::Pointer ctx;
 };
+
+
 struct InitTask : public ITaskSp
 {
 	CCardIssuerFSM* fsm;
@@ -1297,27 +1119,15 @@ struct WaitFetchingTask : public ITaskSp
 		fsm->PostEventFIFO(e);
 	}
 };
-struct ResetTask : public ITaskSp
-{
-	CCardIssuerFSM* fsm;
-	ResetTask(CCardIssuerFSM* f) : fsm(f) {}
-	void Process()
-	{
-		ResetFinishedEvent *e = new ResetFinishedEvent();
-		e->param1 = fsm->Reset();
-		fsm->PostEventFIFO(e);
-	}
-};
-struct WriteTask : public ITaskSp
+
+struct QueryCardPosTask : public ITaskSp
 {
-	SpReqAnsContext<CardIssuerStandService_WriteTrack_Req,CardIssuerStandService_WriteTrack_Ans>::Pointer ctx;
 	CCardIssuerFSM* fsm;
-	WriteTask(CCardIssuerFSM* f) : fsm(f) {}
+	QueryCardPosTask(CCardIssuerFSM* f) : fsm(f) {}
 	void Process()
 	{
-		CardWriteFinishedEvent *e = new CardWriteFinishedEvent();
-		e->ctx = ctx;
-		e->param1 = fsm->WriteCard(ctx);
+		FSMEvent* e = new FSMEvent(USER_EVT_QUERY_CARD_POS_FINISHED);
+		e->param1 = fsm->QueryCardPos();
 		fsm->PostEventFIFO(e);
 	}
 };
@@ -1332,18 +1142,6 @@ struct DoExitWhenIdleTask : public ITaskSp
 		fsm->SetDoExitFlag(false);
 	}
 };
-struct SAMICCommandTask : public ITaskSp
-{
-	CCardIssuerFSM* fsm;
-	SpReqAnsContext<CardIssuerStandService_SAMICCommand_Req, CardIssuerStandService_SAMICCommand_Ans>::Pointer ctx;
-	SAMICCommandTask(CCardIssuerFSM* f) : fsm(f) {}
-	void Process()
-	{
-		FSMEvent* e = new FSMEvent(USER_EVT_SAM_IC_FINISHED);
-		e->param1 = fsm->SAMICCommand(ctx);
-		fsm->PostEventFIFO(e);
-	}
-};
 
 
 struct RegistCaptureCardInfoTask : public ITaskSp
@@ -1460,18 +1258,5 @@ struct InsertJSTask : public ITaskSp
 	}
 };
 
-//故障自检task
-struct QuickSelfcheckTask : public ITaskSp
-{
-	CCardIssuerFSM* fsm;
-	QuickSelfcheckTask(CCardIssuerFSM* f) : fsm(f) {}
-	void Process()
-	{
-		QuickSelfcheckFinishEvent* e = new QuickSelfcheckFinishEvent();
-		Sleep(fsm->m_SelfcheckSleepTime);
-		e->param1 = fsm->QuickSelfCheckImpl();
-		fsm->PostEventFIFO(e);
-	}
-};
 #pragma endregion JS接口 工作线程
 #endif //__CARD_ISSUER_FSM_H

+ 1 - 0
Module/mod_CardIssuerStand/CardIssuerStand_UserErrorCode.h

@@ -229,6 +229,7 @@
 #define CardIssuer_UserErrorCode_ParseIC_Data_Fail								0x2030030C //ic数据解析异常
 #define CardIssuer_UserErrorCode_SplitTrack2_Fail								0x2030030D //拆解磁条2信息失败
 #define CardIssuer_UserErrorCode_ParseTrack_Data_Fail							0x2030030E //磁条信息解析异常
+#define CardIssuer_UserErrorCode_NotSupportRF									0x2030030F //卡机不支持非接
 
 //卡机流程状态报错
 #define CardIssuer_UserErrorCode_PROCESS_IDLE				0x20300402		//当前处于卡机无卡空闲状态,无法处理此请求

+ 1 - 245
Module/mod_CardIssuerStand/CardIssuerStand_client_g.h

@@ -32,6 +32,7 @@ public:
 	}
 	void OnClose(ErrorCodeEnum)
 	{
+		Dbg("session closed.");
 		bSessionClosed = true;
 	}
 	bool QuerySessionClosed()
@@ -443,104 +444,6 @@ public:
 		return Error;
 	}
 
-	ErrorCodeEnum GetMaterialCount(CardIssuerStandService_GetMaterialCount_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(CardIssuerStandService_Method_GetMaterialCount, CardIssuerStandService_MethodSignature_GetMaterialCount, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum GetMaterialCount(CardIssuerStandService_GetMaterialCount_Req &Req, CardIssuerStandService_GetMaterialCount_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetMaterialCount(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum GetMaterialCount(CardIssuerStandService_GetMaterialCount_Req &Req, CardIssuerStandService_GetMaterialCount_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetMaterialCount(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum GetMaterialCount(CardIssuerStandService_GetMaterialCount_Req &Req, CardIssuerStandService_GetMaterialCount_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetMaterialCount(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
-	ErrorCodeEnum SetMaterialCount(CardIssuerStandService_SetMaterialCount_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(CardIssuerStandService_Method_SetMaterialCount, CardIssuerStandService_MethodSignature_SetMaterialCount, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum SetMaterialCount(CardIssuerStandService_SetMaterialCount_Req &Req, CardIssuerStandService_SetMaterialCount_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = SetMaterialCount(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum SetMaterialCount(CardIssuerStandService_SetMaterialCount_Req &Req, CardIssuerStandService_SetMaterialCount_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = SetMaterialCount(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum SetMaterialCount(CardIssuerStandService_SetMaterialCount_Req &Req, CardIssuerStandService_SetMaterialCount_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = SetMaterialCount(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
 	ErrorCodeEnum SetIssueFlag()
 	{
 		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
@@ -800,55 +703,6 @@ public:
 		return Error;
 	}
 
-	ErrorCodeEnum GetSCIInfo(CardIssuerStandService_GetSCIInfo_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(CardIssuerStandService_Method_GetSCIInfo, CardIssuerStandService_MethodSignature_GetSCIInfo, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum GetSCIInfo(CardIssuerStandService_GetSCIInfo_Req &Req, CardIssuerStandService_GetSCIInfo_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetSCIInfo(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum GetSCIInfo(CardIssuerStandService_GetSCIInfo_Req &Req, CardIssuerStandService_GetSCIInfo_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetSCIInfo(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum GetSCIInfo(CardIssuerStandService_GetSCIInfo_Req &Req, CardIssuerStandService_GetSCIInfo_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetSCIInfo(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
 	ErrorCodeEnum IssueEx(CardIssuerStandService_IssueEx_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
 	{
 		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
@@ -1094,104 +948,6 @@ public:
 		return Error;
 	}
 
-	ErrorCodeEnum GetAddCardInfo(CardIssuerStandService_GetAddCardInfo_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(CardIssuerStandService_Method_GetAddCardInfo, CardIssuerStandService_MethodSignature_GetAddCardInfo, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum GetAddCardInfo(CardIssuerStandService_GetAddCardInfo_Req &Req, CardIssuerStandService_GetAddCardInfo_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetAddCardInfo(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum GetAddCardInfo(CardIssuerStandService_GetAddCardInfo_Req &Req, CardIssuerStandService_GetAddCardInfo_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetAddCardInfo(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum GetAddCardInfo(CardIssuerStandService_GetAddCardInfo_Req &Req, CardIssuerStandService_GetAddCardInfo_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetAddCardInfo(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
-	ErrorCodeEnum PrintCardImmediately(CardIssuerStandService_PrintCardImmediately_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(CardIssuerStandService_Method_PrintCardImmediately, CardIssuerStandService_MethodSignature_PrintCardImmediately, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum PrintCardImmediately(CardIssuerStandService_PrintCardImmediately_Req &Req, CardIssuerStandService_PrintCardImmediately_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = PrintCardImmediately(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum PrintCardImmediately(CardIssuerStandService_PrintCardImmediately_Req &Req, CardIssuerStandService_PrintCardImmediately_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = PrintCardImmediately(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum PrintCardImmediately(CardIssuerStandService_PrintCardImmediately_Req &Req, CardIssuerStandService_PrintCardImmediately_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = PrintCardImmediately(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
 	ErrorCodeEnum QueryCIStatus(CardIssuerStandService_QueryCIStatus_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
 	{
 		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();

+ 2 - 153
Module/mod_CardIssuerStand/CardIssuerStand_def_g.h

@@ -22,22 +22,17 @@ namespace CardIssuerStand {
 #define CardIssuerStandService_Method_PostOnline 7
 #define CardIssuerStandService_Method_Exit 8
 #define CardIssuerStandService_Method_Issue 9
-#define CardIssuerStandService_Method_GetMaterialCount 10
-#define CardIssuerStandService_Method_SetMaterialCount 11
 #define CardIssuerStandService_Method_SetIssueFlag 12
 #define CardIssuerStandService_Method_QueryCardInfo 14
 #define CardIssuerStandService_Method_WriteTrack 15
 #define CardIssuerStandService_Method_GetMaterialCountEx 16
 #define CardIssuerStandService_Method_SetMaterialCountEx 17
 #define CardIssuerStandService_Method_SetSomeFlag 18
-#define CardIssuerStandService_Method_GetSCIInfo 19
 #define CardIssuerStandService_Method_IssueEx 20
 #define CardIssuerStandService_Method_SAMICCommand 22
 #define CardIssuerStandService_Method_PreOnlineOnStore 27
 #define CardIssuerStandService_Method_NotifyPreonline 28
 #define CardIssuerStandService_Method_QueryCardInfoOnStore 29
-#define CardIssuerStandService_Method_GetAddCardInfo 30
-#define CardIssuerStandService_Method_PrintCardImmediately 31
 #define CardIssuerStandService_Method_QueryCIStatus 32
 #define CardIssuerStandService_Method_GetDevInfo 65535
 #define CardIssuerStandService_Method_ReadJS 40
@@ -59,22 +54,17 @@ namespace CardIssuerStand {
 #define CardIssuerStandService_MethodSignature_PostOnline 923284555
 #define CardIssuerStandService_MethodSignature_Exit -1158854104
 #define CardIssuerStandService_MethodSignature_Issue 438783077
-#define CardIssuerStandService_MethodSignature_GetMaterialCount -605917749
-#define CardIssuerStandService_MethodSignature_SetMaterialCount 870103115
 #define CardIssuerStandService_MethodSignature_SetIssueFlag 187641303
 #define CardIssuerStandService_MethodSignature_QueryCardInfo 154962579
 #define CardIssuerStandService_MethodSignature_WriteTrack -1424799012
 #define CardIssuerStandService_MethodSignature_GetMaterialCountEx 1356148904
 #define CardIssuerStandService_MethodSignature_SetMaterialCountEx -1512312761
 #define CardIssuerStandService_MethodSignature_SetSomeFlag -2033418025
-#define CardIssuerStandService_MethodSignature_GetSCIInfo 1097494981
 #define CardIssuerStandService_MethodSignature_IssueEx 1390328640
 #define CardIssuerStandService_MethodSignature_SAMICCommand 406988293
 #define CardIssuerStandService_MethodSignature_PreOnlineOnStore 158325869
 #define CardIssuerStandService_MethodSignature_NotifyPreonline -808637659
 #define CardIssuerStandService_MethodSignature_QueryCardInfoOnStore 1217447214
-#define CardIssuerStandService_MethodSignature_GetAddCardInfo 684031940
-#define CardIssuerStandService_MethodSignature_PrintCardImmediately -1976184201
 #define CardIssuerStandService_MethodSignature_QueryCIStatus -1907000703
 #define CardIssuerStandService_MethodSignature_GetDevInfo 296205965
 #define CardIssuerStandService_MethodSignature_ReadJS 1204749665
@@ -96,22 +86,17 @@ namespace CardIssuerStand {
 #define CardIssuerStandService_LogCode_PostOnline "QLR040220307"
 #define CardIssuerStandService_LogCode_Exit "QLR040220308"
 #define CardIssuerStandService_LogCode_Issue "QLR040220309"
-#define CardIssuerStandService_LogCode_GetMaterialCount "QLR040220310"
-#define CardIssuerStandService_LogCode_SetMaterialCount "QLR040220311"
 #define CardIssuerStandService_LogCode_SetIssueFlag "QLR040220312"
 #define CardIssuerStandService_LogCode_QueryCardInfo "QLR040220314"
 #define CardIssuerStandService_LogCode_WriteTrack "QLR040220315"
 #define CardIssuerStandService_LogCode_GetMaterialCountEx "QLR040220316"
 #define CardIssuerStandService_LogCode_SetMaterialCountEx "QLR040220317"
 #define CardIssuerStandService_LogCode_SetSomeFlag "QLR040220318"
-#define CardIssuerStandService_LogCode_GetSCIInfo "QLR040220319"
 #define CardIssuerStandService_LogCode_IssueEx "QLR040220320"
 #define CardIssuerStandService_LogCode_SAMICCommand "QLR040220322"
 #define CardIssuerStandService_LogCode_PreOnlineOnStore "QLR040220327"
 #define CardIssuerStandService_LogCode_NotifyPreonline "QLR040220328"
 #define CardIssuerStandService_LogCode_QueryCardInfoOnStore "QLR040220329"
-#define CardIssuerStandService_LogCode_GetAddCardInfo "QLR040220330"
-#define CardIssuerStandService_LogCode_PrintCardImmediately "QLR040220331"
 #define CardIssuerStandService_LogCode_QueryCIStatus "QLR040220332"
 #define CardIssuerStandService_LogCode_GetDevInfo "QLR040220399"
 #define CardIssuerStandService_LogCode_ReadJS "QLR040220340"
@@ -310,56 +295,6 @@ struct CardIssuerStandService_Issue_Ans
 
 };
 
-struct CardIssuerStandService_GetMaterialCount_Req
-{
-
-	void Serialize(SpBuffer &Buf)
-	{
-	}
-
-};
-
-struct CardIssuerStandService_GetMaterialCount_Ans
-{
-	int remains;
-	int captured;
-	int issued;
-	int mixed;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & remains & captured & issued & mixed;
-	}
-
-};
-
-struct CardIssuerStandService_SetMaterialCount_Req
-{
-	int remains;
-	int captured;
-	int issued;
-	bool bRemains;
-	bool bCaptured;
-	bool bIssued;
-	int mixed;
-	bool bMixed;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & remains & captured & issued & bRemains & bCaptured & bIssued & mixed & bMixed;
-	}
-
-};
-
-struct CardIssuerStandService_SetMaterialCount_Ans
-{
-
-	void Serialize(SpBuffer &Buf)
-	{
-	}
-
-};
-
 struct CardIssuerStandService_SetIssueFlag_Info
 {
 
@@ -519,29 +454,6 @@ struct CardIssuerStandService_SetSomeFlag_Ans
 
 };
 
-struct CardIssuerStandService_GetSCIInfo_Req
-{
-
-	void Serialize(SpBuffer &Buf)
-	{
-	}
-
-};
-
-struct CardIssuerStandService_GetSCIInfo_Ans
-{
-	int connected;
-	CSimpleStringA DevSN;
-	CAutoArray<int> reserved1;
-	CAutoArray<CSimpleStringA> reserved2;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & connected & DevSN & reserved1 & reserved2;
-	}
-
-};
-
 struct CardIssuerStandService_IssueEx_Req
 {
 	int hopper;
@@ -695,70 +607,6 @@ struct CardIssuerStandService_QueryCardInfoOnStore_Ans
 
 };
 
-struct CardIssuerStandService_GetAddCardInfo_Req
-{
-	int isSync;
-	CAutoArray<int> reserved1;
-	CAutoArray<int> reserved2;
-	CAutoArray<CSimpleStringA> reserved3;
-	CAutoArray<CSimpleStringA> reserved4;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & isSync & reserved1 & reserved2 & reserved3 & reserved4;
-	}
-
-};
-
-struct CardIssuerStandService_GetAddCardInfo_Ans
-{
-	int count;
-	CAutoArray<int> slot;
-	CAutoArray<CSimpleStringA> account;
-	CAutoArray<CSimpleStringA> cardSerial;
-	CAutoArray<int> reserved1;
-	CAutoArray<int> reserved2;
-	CAutoArray<CSimpleStringA> reserved3;
-	CAutoArray<CSimpleStringA> reserved4;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & count & slot & account & cardSerial & reserved1 & reserved2 & reserved3 & reserved4;
-	}
-
-};
-
-struct CardIssuerStandService_PrintCardImmediately_Req
-{
-	CSimpleStringA formFile;
-	CSimpleStringA printData;
-	CAutoArray<int> reserved1;
-	CAutoArray<int> reserved2;
-	CAutoArray<CSimpleStringA> reserved3;
-	CAutoArray<CSimpleStringA> reserved4;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & formFile & printData & reserved1 & reserved2 & reserved3 & reserved4;
-	}
-
-};
-
-struct CardIssuerStandService_PrintCardImmediately_Ans
-{
-	int ret;
-	CAutoArray<int> reserved1;
-	CAutoArray<int> reserved2;
-	CAutoArray<CSimpleStringA> reserved3;
-	CAutoArray<CSimpleStringA> reserved4;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & ret & reserved1 & reserved2 & reserved3 & reserved4;
-	}
-
-};
-
 struct CardIssuerStandService_QueryCIStatus_Req
 {
 	CAutoArray<int> reserved1;
@@ -815,6 +663,7 @@ struct CardIssuerStandService_GetDevInfo_Ans
 
 struct CardIssuerStandService_ReadJS_Req
 {
+	int mode;
 	CSimpleStringA aid;
 	CSimpleStringA businessData;
 	CAutoArray<int> reserved1;
@@ -822,7 +671,7 @@ struct CardIssuerStandService_ReadJS_Req
 
 	void Serialize(SpBuffer &Buf)
 	{
-		auto & buf = Buf & aid & businessData & reserved1 & reserved2;
+		auto & buf = Buf & mode & aid & businessData & reserved1 & reserved2;
 	}
 
 };

+ 0 - 15
Module/mod_CardIssuerStand/CardIssuerStand_msg_g.h

@@ -10,10 +10,8 @@
 
 namespace CardIssuerStand {
 #define eMsg_FetchCard 0
-#define eMsg_SCIConnect 1
 
 #define eMsgSig_FetchCard 1110804794
-#define eMsgSig_SCIConnect 721962700
 
 struct FetchCard
 {
@@ -28,18 +26,5 @@ struct FetchCard
 
 ///////////////////////////
 
-struct SCIConnect
-{
-	int status;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & status;
-	}
-
-};
-
-///////////////////////////
-
 } // namespace CardIssuerStand
 #endif // __CARDISSUERSTAND_MSG_G_H

+ 0 - 135
Module/mod_CardIssuerStand/CardIssuerStand_server_g.h

@@ -100,20 +100,6 @@ public:
 				Error = Error_MethodSignatureFailed;
 			}
 			break;
-		case CardIssuerStandService_Method_GetMaterialCount:
-			if (dwSignature == CardIssuerStandService_MethodSignature_GetMaterialCount) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case CardIssuerStandService_Method_SetMaterialCount:
-			if (dwSignature == CardIssuerStandService_MethodSignature_SetMaterialCount) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
 		case CardIssuerStandService_Method_SetIssueFlag:
 			if (dwSignature == CardIssuerStandService_MethodSignature_SetIssueFlag) {
 				bOverlap = true;
@@ -156,13 +142,6 @@ public:
 				Error = Error_MethodSignatureFailed;
 			}
 			break;
-		case CardIssuerStandService_Method_GetSCIInfo:
-			if (dwSignature == CardIssuerStandService_MethodSignature_GetSCIInfo) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
 		case CardIssuerStandService_Method_IssueEx:
 			if (dwSignature == CardIssuerStandService_MethodSignature_IssueEx) {
 				bOverlap = true;
@@ -198,20 +177,6 @@ public:
 				Error = Error_MethodSignatureFailed;
 			}
 			break;
-		case CardIssuerStandService_Method_GetAddCardInfo:
-			if (dwSignature == CardIssuerStandService_MethodSignature_GetAddCardInfo) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case CardIssuerStandService_Method_PrintCardImmediately:
-			if (dwSignature == CardIssuerStandService_MethodSignature_PrintCardImmediately) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
 		case CardIssuerStandService_Method_QueryCIStatus:
 			if (dwSignature == CardIssuerStandService_MethodSignature_QueryCIStatus) {
 				bOverlap = true;
@@ -343,16 +308,6 @@ public:
 				Error = Error_MethodSignatureFailed;
 			}
 			break;
-		case CardIssuerStandService_Method_GetMaterialCount:
-			if (dwSignature != CardIssuerStandService_MethodSignature_GetMaterialCount) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case CardIssuerStandService_Method_SetMaterialCount:
-			if (dwSignature != CardIssuerStandService_MethodSignature_SetMaterialCount) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
 		case CardIssuerStandService_Method_SetIssueFlag:
 			if (dwSignature != CardIssuerStandService_MethodSignature_SetIssueFlag) {
 				Error = Error_MethodSignatureFailed;
@@ -383,11 +338,6 @@ public:
 				Error = Error_MethodSignatureFailed;
 			}
 			break;
-		case CardIssuerStandService_Method_GetSCIInfo:
-			if (dwSignature != CardIssuerStandService_MethodSignature_GetSCIInfo) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
 		case CardIssuerStandService_Method_IssueEx:
 			if (dwSignature != CardIssuerStandService_MethodSignature_IssueEx) {
 				Error = Error_MethodSignatureFailed;
@@ -413,16 +363,6 @@ public:
 				Error = Error_MethodSignatureFailed;
 			}
 			break;
-		case CardIssuerStandService_Method_GetAddCardInfo:
-			if (dwSignature != CardIssuerStandService_MethodSignature_GetAddCardInfo) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case CardIssuerStandService_Method_PrintCardImmediately:
-			if (dwSignature != CardIssuerStandService_MethodSignature_PrintCardImmediately) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
 		case CardIssuerStandService_Method_QueryCIStatus:
 			if (dwSignature != CardIssuerStandService_MethodSignature_QueryCIStatus) {
 				Error = Error_MethodSignatureFailed;
@@ -530,16 +470,6 @@ public:
 	/// override by user
 	}
 
-	virtual void Handle_GetMaterialCount(SpReqAnsContext<CardIssuerStandService_GetMaterialCount_Req, CardIssuerStandService_GetMaterialCount_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
-	virtual void Handle_SetMaterialCount(SpReqAnsContext<CardIssuerStandService_SetMaterialCount_Req, CardIssuerStandService_SetMaterialCount_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
 	virtual void Handle_SetIssueFlag(SpOnewayCallContext<CardIssuerStandService_SetIssueFlag_Info>::Pointer ctx)
 	{
 	/// override by user
@@ -570,11 +500,6 @@ public:
 	/// override by user
 	}
 
-	virtual void Handle_GetSCIInfo(SpReqAnsContext<CardIssuerStandService_GetSCIInfo_Req, CardIssuerStandService_GetSCIInfo_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
 	virtual void Handle_IssueEx(SpReqAnsContext<CardIssuerStandService_IssueEx_Req, CardIssuerStandService_IssueEx_Ans>::Pointer ctx)
 	{
 	/// override by user
@@ -600,16 +525,6 @@ public:
 	/// override by user
 	}
 
-	virtual void Handle_GetAddCardInfo(SpReqAnsContext<CardIssuerStandService_GetAddCardInfo_Req, CardIssuerStandService_GetAddCardInfo_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
-	virtual void Handle_PrintCardImmediately(SpReqAnsContext<CardIssuerStandService_PrintCardImmediately_Req, CardIssuerStandService_PrintCardImmediately_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
 	virtual void Handle_QueryCIStatus(SpReqAnsContext<CardIssuerStandService_QueryCIStatus_Req, CardIssuerStandService_QueryCIStatus_Ans>::Pointer ctx)
 	{
 	/// override by user
@@ -776,26 +691,6 @@ public:
 						Handle_Issue(ctx);
 					}
 					break;
-				case CardIssuerStandService_Method_GetMaterialCount:
-					{
-						SpReqAnsContext<CardIssuerStandService_GetMaterialCount_Req,CardIssuerStandService_GetMaterialCount_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<CardIssuerStandService_GetMaterialCount_Req,CardIssuerStandService_GetMaterialCount_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_GetMaterialCount(ctx);
-					}
-					break;
-				case CardIssuerStandService_Method_SetMaterialCount:
-					{
-						SpReqAnsContext<CardIssuerStandService_SetMaterialCount_Req,CardIssuerStandService_SetMaterialCount_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<CardIssuerStandService_SetMaterialCount_Req,CardIssuerStandService_SetMaterialCount_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_SetMaterialCount(ctx);
-					}
-					break;
 				case CardIssuerStandService_Method_SetIssueFlag:
 					{
 						SpOnewayCallContext<CardIssuerStandService_SetIssueFlag_Info>::Pointer ctx;
@@ -856,16 +751,6 @@ public:
 						Handle_SetSomeFlag(ctx);
 					}
 					break;
-				case CardIssuerStandService_Method_GetSCIInfo:
-					{
-						SpReqAnsContext<CardIssuerStandService_GetSCIInfo_Req,CardIssuerStandService_GetSCIInfo_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<CardIssuerStandService_GetSCIInfo_Req,CardIssuerStandService_GetSCIInfo_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_GetSCIInfo(ctx);
-					}
-					break;
 				case CardIssuerStandService_Method_IssueEx:
 					{
 						SpReqAnsContext<CardIssuerStandService_IssueEx_Req,CardIssuerStandService_IssueEx_Ans>::Pointer ctx;
@@ -916,26 +801,6 @@ public:
 						Handle_QueryCardInfoOnStore(ctx);
 					}
 					break;
-				case CardIssuerStandService_Method_GetAddCardInfo:
-					{
-						SpReqAnsContext<CardIssuerStandService_GetAddCardInfo_Req,CardIssuerStandService_GetAddCardInfo_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<CardIssuerStandService_GetAddCardInfo_Req,CardIssuerStandService_GetAddCardInfo_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_GetAddCardInfo(ctx);
-					}
-					break;
-				case CardIssuerStandService_Method_PrintCardImmediately:
-					{
-						SpReqAnsContext<CardIssuerStandService_PrintCardImmediately_Req,CardIssuerStandService_PrintCardImmediately_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<CardIssuerStandService_PrintCardImmediately_Req,CardIssuerStandService_PrintCardImmediately_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_PrintCardImmediately(ctx);
-					}
-					break;
 				case CardIssuerStandService_Method_QueryCIStatus:
 					{
 						SpReqAnsContext<CardIssuerStandService_QueryCIStatus_Req,CardIssuerStandService_QueryCIStatus_Ans>::Pointer ctx;

+ 3 - 8
Module/mod_CardIssuerStand/mod_cardissuerStand.cpp

@@ -92,10 +92,7 @@ void CardIssuerServerSession::Handle_QueryCardInfo(SpReqAnsContext<CardIssuerSta
 }
 void CardIssuerServerSession::Handle_WriteTrack(SpReqAnsContext<CardIssuerStandService_WriteTrack_Req, CardIssuerStandService_WriteTrack_Ans>::Pointer ctx)
 {
-	LOG_FUNCTION();
-	DbgToBeidou(ctx->link, __FUNCTION__)();
-	DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER).setAPI(__FUNCTION__)("WriteTrack");
-	m_pEntity->WriteTrack(ctx);
+	ctx->Answer(Error_NotImpl);
 }
 void CardIssuerServerSession::Handle_GetMaterialCountEx(SpReqAnsContext<CardIssuerStandService_GetMaterialCountEx_Req, CardIssuerStandService_GetMaterialCountEx_Ans>::Pointer ctx)
 {
@@ -127,9 +124,7 @@ void CardIssuerServerSession::Handle_IssueEx(SpReqAnsContext<CardIssuerStandServ
 }
 void CardIssuerServerSession::Handle_SAMICCommand(SpReqAnsContext<CardIssuerStandService_SAMICCommand_Req, CardIssuerStandService_SAMICCommand_Ans>::Pointer ctx)
 {
-	DbgToBeidou(ctx->link, __FUNCTION__)();
-	DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER).setAPI(__FUNCTION__)("SAMICCommand");
-	m_pEntity->SAMICCommand(ctx);
+	ctx->Answer(Error_NotImpl);
 }
 void CardIssuerServerSession::Handle_QueryCIStatus(SpReqAnsContext<CardIssuerStandService_QueryCIStatus_Req, CardIssuerStandService_QueryCIStatus_Ans>::Pointer ctx)
 {
@@ -151,7 +146,7 @@ void CardIssuerServerSession::Handle_ReadJS(SpReqAnsContext<CardIssuerStandServi
 {
 	LOG_FUNCTION();
 	DbgToBeidou(ctx->link, __FUNCTION__)();
-	DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER).setAPI(__FUNCTION__)("Invoke ReadJS req.aid=%s, req.business=%s", ctx->Req.aid.GetData(), ctx->Req.businessData.GetData());
+	DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER).setAPI(__FUNCTION__)("Invoke ReadJS req.aid=%s, req.mode=%d, req.business=%s", ctx->Req.aid.GetData(), ctx->Req.mode, ctx->Req.businessData.GetData());
 	m_pEntity->ReadJS(ctx);
 }
 void CardIssuerServerSession::Handle_PostOnlineJS(SpReqAnsContext<CardIssuerStandService_PostOnlineJS_Req, CardIssuerStandService_PostOnlineJS_Ans>::Pointer ctx)

+ 32 - 85
Module/mod_CardIssuerStand/mod_cardissuerStand.h

@@ -207,16 +207,19 @@ public:
 		}
 		else
 		{
-			ctx->Ans.position = m_fsm.QueryCardInfo();
+			int ret = m_fsm.QueryCardPos();
+			if (ret != 1)//query hardware ok
+				ctx->Ans.position = ret;
+			else
+			{
+				if (_stricmp(m_fsm.GetCurrStateName(), "Hold") == 0)
+					ctx->Ans.position = 2;
+				else
+					ctx->Ans.position = 0;
+			}
 			ctx->Answer(Error_Succeed);
 		}
 	}
-	void WriteTrack(SpReqAnsContext<CardIssuerStandService_WriteTrack_Req, CardIssuerStandService_WriteTrack_Ans>::Pointer ctx)
-	{
-		CardWriteEvent *pEvt = new CardWriteEvent();
-		pEvt->ctx = ctx;
-		m_fsm.PostEventFIFO(pEvt);
-	}
 	void SetIssueFlag(SpOnewayCallContext<CardIssuerStandService_SetIssueFlag_Info>::Pointer ctx){ m_fsm.FrontSetIssueFlag(true); }
 	void GetMaterialCountEx(SpReqAnsContext<CardIssuerStandService_GetMaterialCountEx_Req, CardIssuerStandService_GetMaterialCountEx_Ans>::Pointer ctx)
 	{
@@ -284,13 +287,6 @@ public:
 			m_fsm.PostEventFIFO(pEvt);
 		}
 	}
-	void SAMICCommand(SpReqAnsContext<CardIssuerStandService_SAMICCommand_Req, CardIssuerStandService_SAMICCommand_Ans>::Pointer ctx)
-	{
-		LOG_FUNCTION();
-		SAMICCommandEvent *pEvt = new SAMICCommandEvent();
-		pEvt->ctx = ctx;
-		m_fsm.PostEventFIFO(pEvt);
-	}
 	void GetDevInfo(SpReqAnsContext<CardIssuerStandService_GetDevInfo_Req, CardIssuerStandService_GetDevInfo_Ans>::Pointer ctx)
 	{
 		LOG_FUNCTION();
@@ -329,103 +325,66 @@ public:
 	void ReadJS(SpReqAnsContext<CardIssuerStandService_ReadJS_Req, CardIssuerStandService_ReadJS_Ans>::Pointer ctx)
 	{
 		LOG_FUNCTION();
-		if (!m_fsm.GetDevInitFlag()) {
+		if (!m_fsm.GetDevInitFlag())
 			ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_DevOpen_Failed);
-		}
-		else if (_stricmp(m_fsm.GetCurrStateName(), "Hold") != 0) {
-			DWORD errCode = m_fsm.GetFsmStateErrCode();
-			int state = m_fsm.GetFSMState();
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode(m_fsm.getRTACode(errCode))("ReadJS req is unhandled ,CurrState=%d", state);
-			ctx->Answer(Error_Unexpect, errCode);
-		}
-		else {
+		else
+		{
 			ReadJSEvent* pEvt = new ReadJSEvent();
 			pEvt->ctx = ctx;
 			m_fsm.PostEventFIFO(pEvt);
 		}
-
 	}
 	void PostOnlineJS(SpReqAnsContext<CardIssuerStandService_PostOnlineJS_Req, CardIssuerStandService_PostOnlineJS_Ans>::Pointer ctx)
 	{
 		LOG_FUNCTION();
-		if (!m_fsm.GetDevInitFlag()) {
+		if (!m_fsm.GetDevInitFlag())
 			ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_DevOpen_Failed);
-		}
-		else if (_stricmp(m_fsm.GetCurrStateName(), "Hold") != 0) {
-			DWORD errCode = m_fsm.GetFsmStateErrCode();
-			int state = m_fsm.GetFSMState();
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode(m_fsm.getRTACode(errCode))("PostOnlineJS req is unhandled ,CurrState=%d", state);
-			ctx->Answer(Error_Unexpect, errCode);
-		}
-		else {
+		else
+		{
 			PostOnlineJSEvent* pEvt = new PostOnlineJSEvent();
 			pEvt->ctx = ctx;
 			m_fsm.PostEventFIFO(pEvt);
 		}
-
 	}
 	void EjectJS(SpReqAnsContext<CardIssuerStandService_EjectJS_Req, CardIssuerStandService_EjectJS_Ans>::Pointer ctx)
 	{
 		LOG_FUNCTION();
-		if (!m_fsm.GetDevInitFlag()) {
+		if (!m_fsm.GetDevInitFlag()) 
 			ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_DevOpen_Failed);
-		}
-		else if (_stricmp(m_fsm.GetCurrStateName(), "Hold") != 0) {
-			DWORD errCode = m_fsm.GetFsmStateErrCode();
-			int state = m_fsm.GetFSMState();
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode(m_fsm.getRTACode(errCode))("EjectJS req is unhandled ,CurrState=%d", state);
-			ctx->Answer(Error_Unexpect, errCode);
-		}
-		else {
+		else
+		{
 			EjectJSEvent* e = new EjectJSEvent();
 			e->ctx = ctx;
 			m_fsm.PostEventFIFO(e);
 		}
-
 	}
 	void CaptureJS(SpReqAnsContext<CardIssuerStandService_CaptureJS_Req, CardIssuerStandService_CaptureJS_Ans>::Pointer ctx)
 	{
 		LOG_FUNCTION();
-		if (!m_fsm.GetDevInitFlag()) {
+		if (!m_fsm.GetDevInitFlag()) 
 			ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_DevOpen_Failed);
-		}
-		else if (_stricmp(m_fsm.GetCurrStateName(), "Hold") == 0 || _stricmp(m_fsm.GetCurrStateName(), "Idle") == 0) {
+		else
+		{
 			CaptureJSEvent* e = new CaptureJSEvent();
 			e->ctx = ctx;
 			m_fsm.PostEventFIFO(e);
 		}
-		else {
-			DWORD errCode = m_fsm.GetFsmStateErrCode();
-			int state = m_fsm.GetFSMState();
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode(m_fsm.getRTACode(errCode))("CaptureJS req is unhandled ,CurrState=%d", state);
-			ctx->Answer(Error_Unexpect, errCode);
-		}
-
 	}
 	void QueryHasCardJS(SpReqAnsContext<CardIssuerStandService_QueryHasCardJS_Req, CardIssuerStandService_QueryHasCardJS_Ans>::Pointer ctx)
 	{
 		LOG_FUNCTION();
-		if (!m_fsm.GetDevInitFlag()) {
+		if (!m_fsm.GetDevInitFlag())
 			ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_DevOpen_Failed);
-		}
-		else {
+		else
 			m_fsm.QueryHasCardJS(ctx);
-		}
-
 	}
 	void IssueFromBoxJS(SpReqAnsContext<CardIssuerStandService_IssueFromBoxJS_Req, CardIssuerStandService_IssueFromBoxJS_Ans>::Pointer ctx)
 	{
 		LOG_FUNCTION();
-		if (!m_fsm.GetDevInitFlag()) {
+		if (!m_fsm.GetDevInitFlag()) 
 			ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_DevOpen_Failed);
-		}
-		else if (_stricmp(m_fsm.GetCurrStateName(), "Idle") != 0) {
-			DWORD errCode = m_fsm.GetFsmStateErrCode();
-			int state = m_fsm.GetFSMState();
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode(m_fsm.getRTACode(errCode))("IssueFromBoxJS req is unhandled ,CurrState=%d", state);
-			ctx->Answer(Error_Unexpect, errCode);
-		}
-		else {
+		else
+		{
 			IssueFromBoxJSEvent* pEvt = new IssueFromBoxJSEvent();
 			pEvt->ctx = ctx;
 			m_fsm.PostEventFIFO(pEvt);
@@ -434,32 +393,20 @@ public:
 	void InsertJS(SpReqAnsContext<CardIssuerStandService_InsertJS_Req, CardIssuerStandService_InsertJS_Ans>::Pointer ctx)
 	{
 		LOG_FUNCTION();
-		if (!m_fsm.GetDevInitFlag()) {
+		if (!m_fsm.GetDevInitFlag())
 			ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_DevOpen_Failed);
-		}
-		else if (_stricmp(m_fsm.GetCurrStateName(), "Idle") != 0) {
-			DWORD errCode = m_fsm.GetFsmStateErrCode();
-			int state = m_fsm.GetFSMState();
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode(m_fsm.getRTACode(errCode))("InsertJS req is unhandled ,CurrState=%d", state);
-			ctx->Answer(Error_Unexpect, errCode);
-		}
-		else {
+		else
+		{
 			InsertJSEvent* pEvt = new InsertJSEvent();
 			pEvt->ctx = ctx;
 			m_fsm.PostEventFIFO(pEvt);
 		}
-
 	}
 	void CancelInsertJS(SpOnewayCallContext<CardIssuerStandService_CancelInsertJS_Info>::Pointer ctx)
 	{
 		LOG_FUNCTION();
-		if (!m_fsm.GetDevInitFlag()) {
-			LogWarn(Severity_Middle, Error_DevNotAvailable, CardIssuer_UserErrorCode_DevOpen_Failed, "CancelInsertJS but DevOpen failed.");
-		}
-		else {
-			CancelInsertJSEvent* evt = new CancelInsertJSEvent();
-			m_fsm.PostEventFIFO(evt);
-		}
+		CancelInsertJSEvent* evt = new CancelInsertJSEvent();
+		m_fsm.PostEventFIFO(evt);
 	}
 
 protected:

+ 2 - 114
Module/mod_CardReadAdapter/CardReadAdapterFSM.cpp

@@ -271,15 +271,6 @@ unsigned int CCardReadAdapterFSM::s2_on_event(FSMEvent* pEvt)
 		GetEntityBase()->GetFunction()->PostThreadPoolTask(task);
 		break;
 	}
-	case USER_EVT_GET_SCI_INFO:
-	{
-		pEvt->SetHandled();
-		GetSCIInfoEvent* gsie = dynamic_cast<GetSCIInfoEvent*>(pEvt);
-		GetSCIInfoTask* task = new GetSCIInfoTask(this);
-		task->ctx = gsie->ctx;
-		GetEntityBase()->GetFunction()->PostThreadPoolTask(task);
-	}
-		break;
 	case USER_EVT_OPEN_SAFELOCK:
 	{
 		pEvt->SetHandled();
@@ -2143,53 +2134,7 @@ int CCardReadAdapterFSM::SetMaterialCount(SpReqAnsContext<CardReadAdapterService
 	}
 	return 0;
 }
-int CCardReadAdapterFSM::GetSCIInfo(SpReqAnsContext<CardReadAdapterService_GetSCIInfo_Req, CardReadAdapterService_GetSCIInfo_Ans>::Pointer ctx)
-{
-	if (IsCardIssuerSessionOK())
-	{
-		if (!IsCardIssuerStore()) {
-			ErrorCodeEnum eErr = Error_Unexpect;
-			CardIssuerStandService_GetSCIInfo_Req req;
-			CardIssuerStandService_GetSCIInfo_Ans ans;
-			eErr = (*m_pCardIssuer)(EntityResource::getLink().upgradeLink())->GetSCIInfo(req, ans, 15000);
-			if (eErr == Error_Succeed)
-			{
-				ctx->Ans.connected = ans.connected;
-				ctx->Ans.DevSN = ans.DevSN;
-				ctx->Ans.reserved1.Copy(ans.reserved1);
-				ctx->Ans.reserved2.Copy(ans.reserved2);
-			}
-			else {
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("GetSCIInfo, CardIssuerStand GetSCIInfo failed return:%d", eErr);
-			}
-			ctx->Answer(eErr);
-		}
-		else {
-			ErrorCodeEnum eErr = Error_Unexpect;
-			CardIssuerStoreService_GetSCIInfo_Req req;
-			CardIssuerStoreService_GetSCIInfo_Ans ans;
-			eErr = (*m_pCardIssuerStore)(EntityResource::getLink().upgradeLink())->GetSCIInfo(req, ans, 15000);
-			if (eErr == Error_Succeed)
-			{
-				ctx->Ans.connected = ans.connected;
-				ctx->Ans.DevSN = ans.DevSN;
-				ctx->Ans.reserved1.Copy(ans.reserved1);
-				ctx->Ans.reserved2.Copy(ans.reserved2);
-			}
-			else {
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("GetSCIInfo, CardIssuerStore GetSCIInfo failed return:%d", eErr);
-			}
-			ctx->Answer(eErr);
-		}
 
-	}
-	else
-	{
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("GetSCIInfo is err, session is not ok");
-		ctx->Answer(Error_Unexpect);
-	}
-	return 0;
-}
 int CCardReadAdapterFSM::OpenSafeLock(SpReqAnsContext<CardReadAdapterService_OpenSafeLock_Req, CardReadAdapterService_OpenSafeLock_Ans>::Pointer ctx)
 {
 	LOG_FUNCTION();
@@ -2512,35 +2457,7 @@ int CCardReadAdapterFSM::GetAddCardInfo(SpReqAnsContext<CardReadAdapterService_G
 	LOG_FUNCTION();
 	if (IsCardIssuerSessionOK())
 	{
-		if (!IsCardIssuerStore()) {
-			DWORD dwUserErrorCode = 0;
-			ErrorCodeEnum eErr = Error_Unexpect;
-			CardIssuerStandService_GetAddCardInfo_Req req;
-			CardIssuerStandService_GetAddCardInfo_Ans ans;
-			req.isSync = ctx->Req.isSync;
-			req.reserved1.Copy(ctx->Req.reserved1);
-			req.reserved2.Copy(ctx->Req.reserved2);
-			req.reserved3.Copy(ctx->Req.reserved3);
-			req.reserved4.Copy(ctx->Req.reserved4);
-			eErr = (*m_pCardIssuer)(EntityResource::getLink().upgradeLink())->GetAddCardInfo(req, ans, 10000, dwUserErrorCode);
-			if (eErr == Error_Succeed)
-			{
-				ctx->Ans.account = ans.account;
-				ctx->Ans.cardSerial = ans.cardSerial;
-				ctx->Ans.count = ans.count;
-				ctx->Ans.slot = ans.slot;
-				ctx->Ans.reserved1.Copy(ans.reserved1);
-				ctx->Ans.reserved2.Copy(ans.reserved2);
-				ctx->Ans.reserved3.Copy(ans.reserved3);
-				ctx->Ans.reserved4.Copy(ans.reserved4);
-				ctx->Answer(Error_Succeed);
-			}
-			else {
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("GetAddCardInfo, CardIssuerStand GetAddCardInfo failed return:%d,%x", eErr, dwUserErrorCode);
-				ctx->Answer(eErr, dwUserErrorCode);
-			}
-		}
-		else {
+		if (IsCardIssuerStore()) {
 			DWORD dwUserErrorCode = 0;
 			ErrorCodeEnum eErr = Error_Unexpect;
 			CardIssuerStoreService_GetAddCardInfo_Req req;
@@ -2675,36 +2592,7 @@ int CCardReadAdapterFSM::PrintCardIm(SpReqAnsContext<CardReadAdapterService_Prin
 	LOG_FUNCTION();
 	if (IsCardIssuerSessionOK())
 	{
-		if (!IsCardIssuerStore()) {
-			ErrorCodeEnum eErr = Error_Unexpect;
-			CardIssuerStandService_PrintCardImmediately_Req req;
-			CardIssuerStandService_PrintCardImmediately_Ans ans;
-			req.formFile = ctx->Req.formFile;
-			req.printData = ctx->Req.printData;
-			req.reserved1.Copy(ctx->Req.reserved1);
-			req.reserved2.Copy(ctx->Req.reserved2);
-			req.reserved3.Copy(ctx->Req.reserved3);
-			req.reserved4.Copy(ctx->Req.reserved4);
-			int timeout = 60000;
-			if (ctx->Req.reserved1.GetCount() > 0 && ctx->Req.reserved1[0] > 50000 && ctx->Req.reserved1[0] < 200000)
-				timeout = ctx->Req.reserved1[0];
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("PrintCardIm, timeout:%d", timeout);
-			eErr = (*m_pCardIssuer)(EntityResource::getLink().upgradeLink())->PrintCardImmediately(req, ans, timeout);
-			if (eErr == Error_Succeed)
-			{
-				ctx->Ans.ret = ans.ret;
-				ctx->Ans.reserved1.Copy(ans.reserved1);
-				ctx->Ans.reserved2.Copy(ans.reserved2);
-				ctx->Ans.reserved3.Copy(ans.reserved3);
-				ctx->Ans.reserved4.Copy(ans.reserved4);
-			}
-			else {
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("PrintCardImmediately, CardIssuerStand PrintCardImmediately failed return:%d", eErr);
-			}
-			ctx->Answer(eErr);
-			return 0;
-		}
-		else {
+		if (IsCardIssuerStore()){
 			ErrorCodeEnum eErr = Error_Unexpect;
 			CardIssuerStoreService_PrintCardImmediately_Req req;
 			CardIssuerStoreService_PrintCardImmediately_Ans ans;

+ 1 - 13
Module/mod_CardReadAdapter/CardReadAdapterFSM.h

@@ -789,7 +789,6 @@ public:
 	void DoExit();
 	int GetMaterialCount(SpReqAnsContext<CardReadAdapterService_GetMaterialCount_Req, CardReadAdapterService_GetMaterialCount_Ans>::Pointer ctx);
 	int SetMaterialCount(SpReqAnsContext<CardReadAdapterService_SetMaterialCount_Req, CardReadAdapterService_SetMaterialCount_Ans>::Pointer ctx);
-	int GetSCIInfo(SpReqAnsContext<CardReadAdapterService_GetSCIInfo_Req, CardReadAdapterService_GetSCIInfo_Ans>::Pointer ctx);
 	int OpenSafeLock(SpReqAnsContext<CardReadAdapterService_OpenSafeLock_Req, CardReadAdapterService_OpenSafeLock_Ans>::Pointer ctx);
 	int MagTransferInit(SpReqAnsContext<CardReadAdapterService_MagTransferInit_Req, CardReadAdapterService_MagTransferInit_Ans>::Pointer ctx);
 	int QueryConnInfo(SpReqAnsContext<CardReadAdapterService_QueryConnInfo_Req, CardReadAdapterService_QueryConnInfo_Ans>::Pointer ctx);
@@ -1117,18 +1116,7 @@ struct SetMaterialCountTask : public ITaskSp
 		fsm->PostEventFIFO(e);
 	}
 };
-struct GetSCIInfoTask : public ITaskSp
-{
-	CCardReadAdapterFSM* fsm;
-	SpReqAnsContext<CardReadAdapterService_GetSCIInfo_Req, CardReadAdapterService_GetSCIInfo_Ans>::Pointer ctx;
-	GetSCIInfoTask(CCardReadAdapterFSM* f) : fsm(f) {}
-	void Process()
-	{
-		FSMEvent *e = new FSMEvent(USER_EVT_GET_SCI_INFO_FINISHED);
-		e->param1 = fsm->GetSCIInfo(ctx);
-		fsm->PostEventFIFO(e);
-	}
-};
+
 struct OpenSafeLockTask : public ITaskSp
 {
 	CCardReadAdapterFSM* fsm;

+ 1 - 70
Module/mod_chromium/CModTools.cpp

@@ -409,7 +409,7 @@ namespace Chromium {
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("StopChromiumBrowser cmdline:%s", stopBrowser_path.c_str());
 			do {
 				boost::process::child child_process(stopBrowser_path);
-				child_process.wait();
+				child_process.wait_for(std::chrono::seconds(5));
 			} while (false);
 		}
 #endif //_MSC_VER
@@ -1205,9 +1205,7 @@ namespace Chromium {
 				LogManager::getInstance().logEntityOpenPage(reason._to_string(), errPageRet.second, 0, "none", errPageRet.first, "");
 
 			return std::make_pair(errPageRet.first, 0);
-
 		}
-
 		return std::make_pair(Error_Unexpect, 0);
 	}
 
@@ -1358,73 +1356,6 @@ namespace Chromium {
 		return usercode;
 	}
 
-	bool CModTools::CheckTradeRecord() {
-		std::list<int> timeList;
-
-		using namespace Upload;
-		UploadService_ClientBase* pClient = new UploadService_ClientBase(m_pEntity);
-		auto rc = pClient->Connect();
-		if (rc != Error_Succeed)
-		{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("connect to Upload entity fail: %d", rc);
-			pClient->SafeDelete();
-			pClient = NULL;
-		}
-		else
-		{
-			UploadService_UploadDateList_Req req = {};
-			UploadService_UploadDateList_Ans ans = {};
-
-			rc = (*pClient)(EntityResource::getLink().upgradeLink())->UploadDateList(req, ans, 10000);
-
-			if (rc != Error_Succeed)
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("get CreateProcessRunAs fail from FreeRDPWrap: %d", rc);
-			else
-			{
-				DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("UploadDateList succeed from Upload");
-				for (int i = 0; i < ans.uploadDateStr.GetCount(); ++i)
-				{
-					CSimpleStringA str = (CSimpleStringA)ans.uploadDateStr[i];
-					int t = StandardToStamp(ans.uploadDateStr[i], true);
-					timeList.emplace_back(t);
-				}
-			}
-			pClient->GetFunction()->CloseSession();
-			pClient = NULL;
-
-		}
-
-		// 比较时间戳 登记时间 <= 列表时间 < 今天 返回true
-		time_t now = time(0);
-		localtime(&now);
-		now -= now % (3600 * 24);
-		now -= 3600 * 8; //处理东八区问题
-		CSmartPointer<IConfigInfo> spConfig;
-		m_pEntity->GetFunction()->OpenConfig(Config_Run, spConfig);
-		CSimpleStringA strLastRecordTime = "";
-		ErrorCodeEnum errorRead = Error_Succeed;
-		errorRead = spConfig->ReadConfigValue("Record", "LastRecordTime", strLastRecordTime);
-		if (errorRead != Error_Succeed)
-		{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("Read Record LastRecordTime -> Failed! Maybe LastRecordTime not exist!");
-			strLastRecordTime = "";
-		}
-
-		int timestamp_lastRecordTime = now;
-		if (!strLastRecordTime.IsNullOrEmpty())
-		{
-			timestamp_lastRecordTime = StandardToStamp(strLastRecordTime, false);
-		}
-		for (std::list<int>::iterator it = timeList.begin(); it != timeList.end(); ++it)
-		{
-			if (timestamp_lastRecordTime <= *it && *it < now)
-			{
-				DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("CheckTradeRecord lastRecordTime=%d, time_list=%d, now=%d", timestamp_lastRecordTime, *it, now);
-				return true;
-			}
-		}
-		return false;
-	}
 
     void CModTools::InitBrowserUseMode()
     {

+ 1 - 1
Module/mod_chromium/CModTools.h

@@ -114,7 +114,7 @@ namespace Chromium {
 		std::string GetSpShellNextRebootTime();
 		void setLimitReason(const char* reason);
 		int StandardToStamp(const char* str_time, bool dateOnly);
-		bool CheckTradeRecord();
+		
 		void InitBrowserUseMode();
 		//0: 检测失败;1:使用旧版UOS浏览器uos-browser-stable ;2:使用新版UOS浏览器org.deepin.browser
 		int ToGetUOSBrowserType();

+ 3 - 1
Module/mod_chromium/CWSCodec.cpp

@@ -716,7 +716,9 @@ namespace Chromium {
 			GetCJsonIntergerValue(pJson, "methodID", st.methodID, errmsg);
 			mi = mInterpreter->getFunctionInterface(st.entity_name, st.class_name, st.methodID);		//get the mothod of the json
 			if (NULL == mi) {
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("JsonToBuffer : Entity or class not found in structure interpreter! entityName:%s, class_name:%s, methodId:%d", st.entity_name, st.class_name, st.methodID);
+				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)
+					("JsonToBuffer : Entity or class not found in structure interpreter! entityName:%s, class_name:%s, methodId:%d, json:%s",
+				 	st.entity_name, st.class_name, st.methodID, strJson.c_str());
 				return std::make_pair(messageType, nullptr);
 			}
 			else

+ 14 - 14
Module/mod_chromium/CWebsocketServer.cpp

@@ -478,20 +478,14 @@ namespace Chromium {
 
 		std::string sessionId = std::to_string((LONGLONG)-1);
 		std::string transid = std::to_string((LONGLONG)transidNum.second);
-		/*
-		std::string js = "{\"messageType\":5,\"errorCode\":\"1537\",\"errorMsg\":\"session break\",\"sessionID\":";
-		js.append(sessionId.c_str());
-		js.append(",\"transID\":");
-		js.append(transid.c_str());
-		js.append("}");
-		*/
 
-		std::string js = CSimpleString::Format("{\"messageType\":5,\"errorCode\":\"%d\",\"errorMsg\":\"1537 session break\",\"sessionID\":-1,\"transID\":125}", Error_DevNotAvailable).GetData();
+		std::string js = CSimpleString::Format("{\"messageType\":5,\"errorCode\":\"%d\",\"errorMsg\":\"1537 session break\",\"sessionID\":-1,\"transID\":%s}", Error_DevNotAvailable, transid.c_str()).GetData();
 
 		auto dst_js = restroreTransId(js);
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("deal_sessionBreakMsg, len:%d, srcPayLoad:%s, ret:%s", payload.length()
-			, payload.length() > 800 ? payload.substr(0, 800).append("...").c_str() : payload.c_str(), dst_js.second.c_str());
-		do_send_msg(hdl, js);
+		auto dst_payload = restroreTransId(payload);
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("deal_sessionBreakMsg, len:%d, srcPayLoad:%s, ret:%s", dst_payload.second.length()
+			, dst_payload.second.length() > 800 ? dst_payload.second.substr(0, 800).append("...").c_str() : dst_payload.second.c_str(), dst_js.second.c_str());
+		do_send_msg(hdl, dst_js.second);
 	}
 
 
@@ -523,13 +517,18 @@ namespace Chromium {
 				auto transIdJson = json_deal::getIntergerFromCjsonObj(pJson.get(), "transId");
 				if (transIdJson.first)
 				{
-					std::string errRetJs = "{\"messageType\":4,\"transID\":" + std::to_string((LONGLONG)transIdJson.second) + ",\"errorCode\":103,\"errorMsg\":\"can not find entity or class!\"}";
+					std::string errRetJs;
+					if (ConfigManager::getInstance().m_connection_hdls.find(cur.hdlId) != ConfigManager::getInstance().m_connection_hdls.end())
+						errRetJs = "{\"messageType\":4,\"transID\":" + std::to_string((LONGLONG)transIdJson.second) + ",\"errorCode\":103,\"errorMsg\":\"can not find entity or class!\"}";
+					else
+					    errRetJs = "{\"messageType\":4,\"transID\":" + std::to_string((LONGLONG)transIdJson.second) + ",\"errorCode\":\"RTA42F1\",\"errorMsg\":\"can not find entity or class!\"}";
 					auto dst_js = restroreTransId(errRetJs);
 					DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("deal_msg %s get null msg, ret:%s", ret.first == Request ? "Request" : "Info", errRetJs.c_str());
 					do_send_msg(hdl, dst_js.second);
 				}
 				else
-					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("CWebsocketServer::deal_msg get transIdJson failed");
+					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)
+						("CWebsocketServer::deal_msg get transIdJson failed, detailMsg:%s", payload.c_str());
 
 				return;
 			}
@@ -556,7 +555,8 @@ namespace Chromium {
 				}
 			}
 			else
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("CWebsocketServer::deal_msg get transIdJson failed");
+				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)
+					("CWebsocketServer::deal_msg get transIdJson failed, detailMsg:%s", payload.c_str());
 			return;
 		}
 		else if (ret.first == MessageType::WEB_GET_HTTP_HEADER)

+ 0 - 31
Module/mod_upload/Upload.xml

@@ -1,36 +1,5 @@
 <?xml version="1.0" encoding="gb2312" ?>
 <entity name="Upload">
 	<class name="UploadService" overlap="true" exclusive="false">
-	<!--上传进度-->
-    <twoway name="UploadProgess" overlap="true">
-		<res>
-			<!--0:初始 1:不可用 2:可用 3 建立连接 4上传中 5 上传结束-->
-			<param name="uploadState" type="int"/>
-			<param name="uploadNumber" type="int"/>
-			<param name="elapseTime" type="wstring"/>
-		</res> 
-	</twoway>
-	<!--剩余要上传的文件数目-->
-	<twoway name="UploadNumber" overlap="true">
-		<req>
-			<param name="silentTime" type="int"/>
-		</req>
-		<res>
-			<param name="uploadNumber" type="int"/>
-		</res>
-	</twoway>
-	<!--上传日期列表-->
-    <twoway name="UploadDateList" overlap="true">
-		<res>
-			<!--以逗号为分隔符的日期字符串-->
-			<param name="uploadDateStr" type="array_string"/>
-		</res> 
-	</twoway>
-	<!--清空上传日期列表-->
-	<twoway name="ClearUploadDate" overlap="true">
-		<res>
-			<param name="isOK" type="bool"/>
-		</res>
-	</twoway>
 	</class>
 </entity>

+ 15 - 15
Module/mod_upload/UploadFSM.cpp

@@ -762,12 +762,12 @@ void UploadFSM::OnSysVarEvent( const char *pszKey, const char *pszValue,const ch
 {
 	//DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("rx sysvar %s from %s, %s to %s", pszKey, pszEntityName, pszOldValue, pszValue);
 	if (pszValue[0] == 'O') {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("rx sysvar %s from %s, %s to %s", pszKey, pszEntityName, pszOldValue, pszValue);
+		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("rx sysvar %s from %s, %s to %s", pszKey, pszEntityName, pszOldValue, pszValue);
 		m_isOffLine = true;
 		PostEventFIFO(new FSMEvent(USER_EVT_JMP_ENABLE));
 	} else {
 		if (m_isOffLine) {
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("rx sysvar %s from %s, %s to %s", pszKey, pszEntityName, pszOldValue, pszValue);
+			//DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("rx sysvar %s from %s, %s to %s", pszKey, pszEntityName, pszOldValue, pszValue);
 		}
 		m_isOffLine = false;
 		PostEventFIFO(new FSMEvent(USER_EVT_JMP_DISABLE));
@@ -787,19 +787,19 @@ ErrorCodeEnum UploadFSM::OnInit()
 	if(Error==Error_Succeed){
 		//获取模式控制参数
 		m_centerModel = (int)centerModel;//强制总行模式
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("model is centerModel, CenterModel = %d", m_centerModel);
+		//DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("model is centerModel, CenterModel = %d", m_centerModel);
 
 		m_centerUrl.queryPlanUrl = QUERY_PLAN_URL;
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("init read queryPlanUrl=%s", m_centerUrl.queryPlanUrl.c_str());
+		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("init read queryPlanUrl=%s", m_centerUrl.queryPlanUrl.c_str());
 
 		m_centerUrl.queryTempFileUrl = QUERY_TEMP_FILE_URL;
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("init read queryTempFileUrl=%s", m_centerUrl.queryTempFileUrl.c_str());
+		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("init read queryTempFileUrl=%s", m_centerUrl.queryTempFileUrl.c_str());
 
 		m_centerUrl.updateStateUrl = UPDATE_STATE_URL;
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("init read updateStateUrl=%s", m_centerUrl.updateStateUrl.c_str());
+		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("init read updateStateUrl=%s", m_centerUrl.updateStateUrl.c_str());
 
 		m_centerUrl.addUploadFailUrl = ADD_UPLOAD_FAIL_URL;
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("init read addUploadFailUrl=%s", m_centerUrl.addUploadFailUrl.c_str());
+		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("init read addUploadFailUrl=%s", m_centerUrl.addUploadFailUrl.c_str());
 
 		//增加总行接口Url参数
 		CSimpleStringA str="";
@@ -850,7 +850,7 @@ ErrorCodeEnum UploadFSM::OnInit()
 		Error = spConfig->ReadConfigValue("upload", "EachUploadLen", str);
 		if (Error == Error_Succeed) 
 		{    
-			DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("[CenterUrl] EachUploadLen =%s",str.GetData());
+			DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM)("[CenterUrl] EachUploadLen =%s",str.GetData());
 			if(str.IsNullOrEmpty()){
 				m_eachUploadLen = UPLOAD_CONTENT_EACH_LEN;
 			}else{
@@ -867,7 +867,7 @@ ErrorCodeEnum UploadFSM::OnInit()
 		Error = spConfig->ReadConfigValueInt("upload", "UploadMaxNum", uploadMaxNum);
 		if (Error == Error_Succeed) 
 		{    
-			DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("[CenterUrl] UploadMaxNum =%d",uploadMaxNum);
+			DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM)("[CenterUrl] UploadMaxNum =%d",uploadMaxNum);
 			if(uploadMaxNum<=10){
 				m_uploadMaxNum = 200;
 			}else{
@@ -893,7 +893,7 @@ ErrorCodeEnum UploadFSM::OnInit()
 #endif			
 				
 				m_rootPath = runPathStr.substr(0,pos);
-				DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("get rvc path is %s",m_rootPath.c_str());
+				//DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("get rvc path is %s",m_rootPath.c_str());
 			}else{
 				DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("get rvc path is null");
 				return Error_Unexpect;
@@ -1417,8 +1417,9 @@ bool UploadFSM::queryPlan()
 					m_uploadPlanList->push_back(p);
 				}
 				if(m_branchIpList.size()==0){
-					LogWarn(Severity_Middle, Error_Unexpect, LOG_WARN_UPLOAD_QUERY_PLAN_DATA_ERROR, CSimpleStringA::Format("queryPlan http req fail, return upload_url count is 0, url is %s",m_centerUrl.queryPlanUrl.c_str()).GetData());
-					return false;//上传服务ip为空,走旧模式
+					//LogWarn(Severity_Middle, Error_Unexpect, LOG_WARN_UPLOAD_QUERY_PLAN_DATA_ERROR, CSimpleStringA::Format("queryPlan http req fail, return upload_url count is 0, url is %s",m_centerUrl.queryPlanUrl.c_str()).GetData());
+					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("queryPlan http req fail, return upload_url count is 0, url is %s", m_centerUrl.queryPlanUrl.c_str());
+					return false;//上传服务ip为空
 				}
 				
 				if(m_uploadPlanList->size()==0){
@@ -1462,7 +1463,7 @@ void UploadFSM::scanFile()
 			continue;
 		}
 		if(m_printPlan){
-			DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("planID=[%s], scanDir=[%s], filter=[%s], file_limit=[%d], max_silent=[%d]",up->plan_id.c_str(),path.c_str(),up->file_name.c_str(),up->file_limit,up->max_silent);
+			DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("planID=[%s], scanDir=[%s], filter=[%s], file_limit=[%d], max_silent=[%d]",up->plan_id.c_str(),path.c_str(),up->file_name.c_str(),up->file_limit,up->max_silent);
 		}
 		scanDirfresh(up,path.c_str());
 	}
@@ -1881,14 +1882,13 @@ void UploadFSM::reportBatchMsg()
 			m_uploadReport.isBreak, m_uploadReport.sum, m_uploadReport.succ, m_uploadReport.fail, m_uploadReport.uploadFail, m_uploadReport.updateState,
 			m_uploadReport.operateFileFail, m_uploadReport.decodeFail, m_uploadReport.queryTempFail);
 		//LogWarn(Severity_Low, Error_Unexpect, LOG_WARN_UPLOAD_FILE_REPORT, strReport.GetData());
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)(strReport.GetData());
+		//DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)(strReport.GetData());
 	}else{
 		strReport =CSimpleStringA::Format("batch=fail isbreak=%d sum=%d succ=%d fail=%d detail fail: uploadFail=%d updateState=%d operateFileFail=%d (decodeFail=%d queryTempFail=%d)",
 			m_uploadReport.isBreak, m_uploadReport.sum, m_uploadReport.succ, m_uploadReport.fail, m_uploadReport.uploadFail, m_uploadReport.updateState,
 			m_uploadReport.operateFileFail, m_uploadReport.decodeFail, m_uploadReport.queryTempFail);
 		LogWarn(Severity_Middle, Error_Unexpect, LOG_WARN_UPLOAD_FILE_REPORT, strReport.GetData());
 	}
-	//LogWarn(Severity_Middle, Error_Unexpect, LOG_WARN_UPLOAD_FILE_REPORT, strReport.GetData());
 }
 
 bool UploadFSM::findOverLenWarn(const char* fileName) {

+ 0 - 196
Module/mod_upload/Upload_client_g.h

@@ -58,202 +58,6 @@ public:
 		return Error;
 	}
 
-	ErrorCodeEnum UploadProgess(UploadService_UploadProgess_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(UploadService_Method_UploadProgess, UploadService_MethodSignature_UploadProgess, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum UploadProgess(UploadService_UploadProgess_Req &Req, UploadService_UploadProgess_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = UploadProgess(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum UploadProgess(UploadService_UploadProgess_Req &Req, UploadService_UploadProgess_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = UploadProgess(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum UploadProgess(UploadService_UploadProgess_Req &Req, UploadService_UploadProgess_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = UploadProgess(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
-	ErrorCodeEnum UploadNumber(UploadService_UploadNumber_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(UploadService_Method_UploadNumber, UploadService_MethodSignature_UploadNumber, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum UploadNumber(UploadService_UploadNumber_Req &Req, UploadService_UploadNumber_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = UploadNumber(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum UploadNumber(UploadService_UploadNumber_Req &Req, UploadService_UploadNumber_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = UploadNumber(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum UploadNumber(UploadService_UploadNumber_Req &Req, UploadService_UploadNumber_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = UploadNumber(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
-	ErrorCodeEnum UploadDateList(UploadService_UploadDateList_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(UploadService_Method_UploadDateList, UploadService_MethodSignature_UploadDateList, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum UploadDateList(UploadService_UploadDateList_Req &Req, UploadService_UploadDateList_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = UploadDateList(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum UploadDateList(UploadService_UploadDateList_Req &Req, UploadService_UploadDateList_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = UploadDateList(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum UploadDateList(UploadService_UploadDateList_Req &Req, UploadService_UploadDateList_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = UploadDateList(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
-	ErrorCodeEnum ClearUploadDate(UploadService_ClearUploadDate_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(UploadService_Method_ClearUploadDate, UploadService_MethodSignature_ClearUploadDate, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum ClearUploadDate(UploadService_ClearUploadDate_Req &Req, UploadService_ClearUploadDate_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = ClearUploadDate(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum ClearUploadDate(UploadService_ClearUploadDate_Req &Req, UploadService_ClearUploadDate_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = ClearUploadDate(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum ClearUploadDate(UploadService_ClearUploadDate_Req &Req, UploadService_ClearUploadDate_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = ClearUploadDate(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
 
 	bool SafeDelete()
 	{

+ 0 - 96
Module/mod_upload/Upload_def_g.h

@@ -12,104 +12,8 @@ namespace Upload {
 // const goes here
 //
 
-#define UploadService_Method_UploadProgess 0
-#define UploadService_Method_UploadNumber 1
-#define UploadService_Method_UploadDateList 2
-#define UploadService_Method_ClearUploadDate 3
 
-#define UploadService_MethodSignature_UploadProgess 1590024449
-#define UploadService_MethodSignature_UploadNumber 894683613
-#define UploadService_MethodSignature_UploadDateList -863824008
-#define UploadService_MethodSignature_ClearUploadDate -951120710
 
-#define UploadService_LogCode_UploadProgess "QLR040210400"
-#define UploadService_LogCode_UploadNumber "QLR040210401"
-#define UploadService_LogCode_UploadDateList "QLR040210402"
-#define UploadService_LogCode_ClearUploadDate "QLR040210403"
-
-struct UploadService_UploadProgess_Req
-{
-
-	void Serialize(SpBuffer &Buf)
-	{
-	}
-
-};
-
-struct UploadService_UploadProgess_Ans
-{
-	int uploadState;
-	int uploadNumber;
-	CSimpleStringW elapseTime;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & uploadState & uploadNumber & elapseTime;
-	}
-
-};
-
-struct UploadService_UploadNumber_Req
-{
-	int silentTime;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & silentTime;
-	}
-
-};
-
-struct UploadService_UploadNumber_Ans
-{
-	int uploadNumber;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & uploadNumber;
-	}
-
-};
-
-struct UploadService_UploadDateList_Req
-{
-
-	void Serialize(SpBuffer &Buf)
-	{
-	}
-
-};
-
-struct UploadService_UploadDateList_Ans
-{
-	CAutoArray<CSimpleStringA> uploadDateStr;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & uploadDateStr;
-	}
-
-};
-
-struct UploadService_ClearUploadDate_Req
-{
-
-	void Serialize(SpBuffer &Buf)
-	{
-	}
-
-};
-
-struct UploadService_ClearUploadDate_Ans
-{
-	bool isOK;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & isOK;
-	}
-
-};
 
 
 ///////////////////////////

+ 0 - 108
Module/mod_upload/Upload_server_g.h

@@ -30,34 +30,6 @@ public:
 	{
 		ErrorCodeEnum Error = Error_Succeed;
 		switch (dwMessageID) {
-		case UploadService_Method_UploadProgess:
-			if (dwSignature == UploadService_MethodSignature_UploadProgess) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case UploadService_Method_UploadNumber:
-			if (dwSignature == UploadService_MethodSignature_UploadNumber) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case UploadService_Method_UploadDateList:
-			if (dwSignature == UploadService_MethodSignature_UploadDateList) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case UploadService_Method_ClearUploadDate:
-			if (dwSignature == UploadService_MethodSignature_ClearUploadDate) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
 		default:
 			Error = Error_MethodNotFound;
 			break;
@@ -69,26 +41,6 @@ public:
 	{
 		ErrorCodeEnum Error = Error_Succeed;
 		switch (dwMessageID) {
-		case UploadService_Method_UploadProgess:
-			if (dwSignature != UploadService_MethodSignature_UploadProgess) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case UploadService_Method_UploadNumber:
-			if (dwSignature != UploadService_MethodSignature_UploadNumber) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case UploadService_Method_UploadDateList:
-			if (dwSignature != UploadService_MethodSignature_UploadDateList) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case UploadService_Method_ClearUploadDate:
-			if (dwSignature != UploadService_MethodSignature_ClearUploadDate) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
 		default:
 			Error = Error_MethodNotFound;
 			break;
@@ -96,26 +48,6 @@ public:
 		return Error;
 	}
 
-	virtual void Handle_UploadProgess(SpReqAnsContext<UploadService_UploadProgess_Req, UploadService_UploadProgess_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
-	virtual void Handle_UploadNumber(SpReqAnsContext<UploadService_UploadNumber_Req, UploadService_UploadNumber_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
-	virtual void Handle_UploadDateList(SpReqAnsContext<UploadService_UploadDateList_Req, UploadService_UploadDateList_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
-	virtual void Handle_ClearUploadDate(SpReqAnsContext<UploadService_ClearUploadDate_Req, UploadService_ClearUploadDate_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
 	virtual void OnRequest(CSmartPointer<ITransactionContext> pTransactionContext)
 	{
 		CAutoBuffer Buf;
@@ -132,46 +64,6 @@ public:
 			}
 #endif
 			switch (dwMessageID) {
-				case UploadService_Method_UploadProgess:
-					{
-						SpReqAnsContext<UploadService_UploadProgess_Req,UploadService_UploadProgess_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<UploadService_UploadProgess_Req,UploadService_UploadProgess_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_UploadProgess(ctx);
-					}
-					break;
-				case UploadService_Method_UploadNumber:
-					{
-						SpReqAnsContext<UploadService_UploadNumber_Req,UploadService_UploadNumber_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<UploadService_UploadNumber_Req,UploadService_UploadNumber_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_UploadNumber(ctx);
-					}
-					break;
-				case UploadService_Method_UploadDateList:
-					{
-						SpReqAnsContext<UploadService_UploadDateList_Req,UploadService_UploadDateList_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<UploadService_UploadDateList_Req,UploadService_UploadDateList_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_UploadDateList(ctx);
-					}
-					break;
-				case UploadService_Method_ClearUploadDate:
-					{
-						SpReqAnsContext<UploadService_ClearUploadDate_Req,UploadService_ClearUploadDate_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<UploadService_ClearUploadDate_Req,UploadService_ClearUploadDate_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_ClearUploadDate(ctx);
-					}
-					break;
 				default:
 					assert(0);
 					break;

+ 0 - 33
Module/mod_upload/mod_upload.cpp

@@ -1,39 +1,6 @@
 #include "stdafx.h"
 #include "mod_upload.h"
 
-
-
-void UploadSession::Handle_UploadProgess(SpReqAnsContext<UploadService_UploadProgess_Req, UploadService_UploadProgess_Ans>::Pointer ctx)
-{
-	DbgToBeidou(ctx->link, __FUNCTION__)();
-	DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER).setAPI(__FUNCTION__)("UploadProgessReq received!");
-	ErrorCodeEnum returnCode = ((CUploadEntity*)m_pEntity)->UploadProgess(ctx);
-	ctx->Answer(returnCode);
-}
-void UploadSession::Handle_UploadNumber(SpReqAnsContext<UploadService_UploadNumber_Req, UploadService_UploadNumber_Ans>::Pointer ctx)
-{
-	DbgToBeidou(ctx->link, __FUNCTION__)();
-	DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER).setAPI(__FUNCTION__)("UploadNumberReq received!");
-	ErrorCodeEnum returnCode = ((CUploadEntity*)m_pEntity)->UploadNumber(ctx);
-	ctx->Answer(returnCode);
-}
-void UploadSession::Handle_UploadDateList(SpReqAnsContext<UploadService_UploadDateList_Req, UploadService_UploadDateList_Ans>::Pointer ctx)
-{
-	DbgToBeidou(ctx->link, __FUNCTION__)();
-	DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER).setAPI(__FUNCTION__)("UploadDateList received!");
-	ErrorCodeEnum returnCode = ((CUploadEntity*)m_pEntity)->UploadDateList(ctx);
-	ctx->Answer(returnCode);
-}
-void UploadSession::Handle_ClearUploadDate(SpReqAnsContext<UploadService_ClearUploadDate_Req, UploadService_ClearUploadDate_Ans>::Pointer ctx)
-{
-	DbgToBeidou(ctx->link, __FUNCTION__)();
-	DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER).setAPI(__FUNCTION__)("ClearUploadDate received!");
-	ErrorCodeEnum returnCode = ((CUploadEntity*)m_pEntity)->ClearUploadDate(ctx);
-	ctx->Answer(returnCode);
-}
-
-
-
 SP_BEGIN_ENTITY_MAP()
 	SP_ENTITY(CUploadEntity)
 SP_END_ENTITY_MAP()

+ 0 - 75
Module/mod_upload/mod_upload.h

@@ -23,11 +23,6 @@ public:
 	UploadSession(CUploadEntity* pEntity) : m_pEntity(pEntity) {}
 	virtual ~UploadSession() {}
 
-	virtual void Handle_UploadProgess(SpReqAnsContext<UploadService_UploadProgess_Req, UploadService_UploadProgess_Ans>::Pointer ctx);
-	virtual void Handle_UploadNumber(SpReqAnsContext<UploadService_UploadNumber_Req, UploadService_UploadNumber_Ans>::Pointer ctx);
-	virtual void Handle_UploadDateList(SpReqAnsContext<UploadService_UploadDateList_Req, UploadService_UploadDateList_Ans>::Pointer ctx);
-	virtual void Handle_ClearUploadDate(SpReqAnsContext<UploadService_ClearUploadDate_Req, UploadService_ClearUploadDate_Ans>::Pointer ctx);
-
 private:
 	CUploadEntity* m_pEntity;
 };
@@ -74,76 +69,6 @@ public:
 		return new UploadSession(this);
 	}
 
-	//查询当前上传进度
-	ErrorCodeEnum UploadProgess(SpReqAnsContext<UploadService_UploadProgess_Req, UploadService_UploadProgess_Ans>::Pointer ctx)
-	{
-		ErrorCodeEnum  ret = Error_Succeed;
-		//UploadProgress progress;
-
-		//m_fsm.getUploadProgress(progress);
-		//ctx->Ans.uploadState=progress.uploadState;
-		//ctx->Ans.uploadNumber=progress.uploadNumber;
-		//ctx->Ans.elapseTime=CSimpleStringA2W(progress.elapseTime);
-		//Dbg("UploadProgess: state %d uploadNumber %d elapseTime %s",progress.uploadState,progress.uploadNumber,progress.elapseTime.GetData());
-		ctx->Ans.uploadState = 2;
-		ctx->Ans.uploadNumber = 0;
-		ctx->Ans.elapseTime = CSimpleStringA2W("");
-		//Dbg("UploadProgess is disable");
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("UploadProgess is disable");
-		return ret;
-	}
-	//查询剩余待上传的文件个数
-	ErrorCodeEnum UploadNumber(SpReqAnsContext<UploadService_UploadNumber_Req, UploadService_UploadNumber_Ans>::Pointer ctx)
-	{
-		ErrorCodeEnum  ret = Error_Succeed;
-		//Dbg("UploadNumber req silentTime is %d",ctx->Req.silentTime);
-		//废弃接口
-		//int fileNum = m_fsm.getCheckDirFile(ctx->Req.silentTime);
-		//Dbg("UploadNumber is %d",fileNum);
-		//ctx->Ans.uploadNumber=fileNum;
-		ctx->Ans.uploadNumber = 0;
-		//Dbg("UploadNumber is disable");
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("UploadNumber is disable");
-		return ret;
-	}
-
-	//查询上传日期列表
-	ErrorCodeEnum UploadDateList(SpReqAnsContext<UploadService_UploadDateList_Req, UploadService_UploadDateList_Ans>::Pointer ctx)
-	{
-		ErrorCodeEnum  ret = Error_Succeed;
-
-		CAutoArray<CSimpleStringA> str;
-		//废弃接口
-		//ret = m_fsm.getUploadDate(str);
-		//if(ret==Error_Succeed){
-		//	ctx->Ans.uploadDateStr=str;
-		//}
-		ctx->Ans.uploadDateStr = str;
-		//Dbg("UploadDateList is disable");
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("UploadDateList is disable");
-		return ret;
-	}
-
-	//清空上传日期列表
-	ErrorCodeEnum ClearUploadDate(SpReqAnsContext<UploadService_ClearUploadDate_Req, UploadService_ClearUploadDate_Ans>::Pointer ctx)
-	{
-		ErrorCodeEnum  ret = Error_Succeed;
-		//废弃接口
-		//bool bret = m_fsm.clearUploadDate();
-		//if(bret){
-		//	ctx->Ans.isOK=true;
-		//}else{
-		//	ctx->Ans.isOK=false;
-		//}
-		//Dbg("ClearUploadDate is disable");
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("ClearUploadDate is disable");
-		ctx->Ans.isOK = true;
-		return ret;
-	}
-
-
-
-
 private:
 	UploadFSM m_fsm;
 };

+ 5 - 183
Module/mod_upload/upload.cpp

@@ -1,12 +1,12 @@
 #include "stdafx.h"
 #include "SpBase.h"
-#include "SpIni.h"
+//#include "SpIni.h"
 #include "upload.h"
-#include <memutil.h>
+//#include <memutil.h>
 #include <fileutil.h>
-#include <array.h>
-#include <string>
-#include "sstream"
+//#include <array.h>
+//#include <string>
+//#include "sstream"
 #ifdef RVC_OS_WIN
 
 #include "XZip.h"
@@ -22,144 +22,6 @@
 
 
 using namespace std;
-//获取文件夹实际路径
-//static ErrorCodeEnum expand_dir(IEntityFunction *pEntityFunc, const char *str, CSimpleStringA &out)
-//{
-//	ErrorCodeEnum Error = Error_Unexpect;
-//	if (str) {
-//		const char *p = str;
-//		const char *sfirst;
-//		int first = 0;
-//		char tmp[1024];
-//		int k = 0;
-//		while (*p) {
-//			if (first) {
-//				if (*p == ')') {
-//					char key[MAX_PATH];
-//					key[0] = 0;
-//					CSimpleStringA strKeyPath;;
-//					memcpy(key, sfirst, p - sfirst);
-//					key[p-sfirst] = 0;
-//					Error = pEntityFunc->GetPath(key, strKeyPath);
-//					if (Error != Error_Succeed) {
-//						//Dbg("sys path $(%s)$ cannot evaluate!", key);
-//						DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI("expand_dir")("sys path $(%s)$ cannot evaluate!", key);
-//						return Error;
-//					}
-//					strcpy(&tmp[k], (LPCSTR)strKeyPath); 
-//					k += strKeyPath.GetLength();
-//					first = 0;
-//				}
-//			} else {
-//				if (*p == '$' && *(p+1) == '(') {
-//					p++;
-//					first = 1;
-//					sfirst = p+1;
-//				} else {
-//					tmp[k++] = *p;
-//				}
-//			}
-//			p++;
-//		}
-//		if (k != 0) {
-//			tmp[k] = 0;
-//			out = tmp;
-//			return Error_Succeed;
-//		}
-//	} else {
-//		return Error_Param;
-//	}
-//	return Error;
-//}
-
-//static upload_dir_t *upload_dir_load(IEntityFunction *pEntityFunc, const char *dir, int default_silent_time, int default_limitation)
-//{
-//	upload_dir_t *updir = ZALLOC_T(upload_dir_t);
-//	if (updir) 
-//	{
-//		CSimpleStringA str;
-//
-//		std::map<std::string, std::string> macroPath;
-//		macroPath["SysLog"] = "$(SysLog)"; //TODO
-//		macroPath["InterLog"] = "$(InterLog)"; //TODO
-//		macroPath["Photo"] = "$(UploadPhoto)";
-//		macroPath["Video"] = "$(UploadVideo)";
-//		macroPath["SilverlightDebug"] = "$(slv)"; //TODO
-//		macroPath["Debug"] = "$(dbg)";
-//
-//		std::map<std::string, bool> macroZip;
-//		macroZip["SysLog"] = true;
-//		macroZip["InterLog"] = true;
-//		macroZip["Photo"] = false;
-//		macroZip["Video"] = false;
-//		macroZip["SilverlightDebug"] = true;
-//		macroZip["Debug"] = true;
-//
-//		ErrorCodeEnum Error = Error_Succeed;
-//		if (macroPath.find(dir) == macroPath.end()) {
-//			return updir;
-//		}
-//		str = macroPath[dir].c_str();
-//
-//		INIT_LIST_HEAD(&updir->candidate_list);
-//		CSimpleStringA strRealPath;
-//		Error = expand_dir(pEntityFunc, (LPCSTR)str, strRealPath);
-//		if (Error == Error_Succeed) {
-//			INIT_LIST_HEAD(&updir->candidate_list);
-//			updir->name = _strdup(dir);
-//			updir->path = _strdup(strRealPath);
-//
-//			if (strcmp(dir, "Video") == 0) {
-//				str = "$(LocalVideo)";
-//				updir->flags |= UPLOAD_FLAG_MOVEPATH;
-//				Error = expand_dir(pEntityFunc, str, strRealPath);
-//				if (Error != Error_Succeed) {
-//					return NULL;
-//				}
-//				updir->movepath = _strdup(strRealPath);
-//			} else {
-//				updir->flags |= UPLOAD_FLAG_AUTODELETE;
-//			}
-//			if (macroZip.find(dir) != macroZip.end() && macroZip[dir]) {
-//				updir->flags |= UPLOAD_FLAG_ZIP;
-//			}
-//			if (strcmp("SilverlightDebug", dir) == 0 || strcmp("Debug", dir) == 0) {
-//				updir->silent_time = 86400;
-//			} else {
-//				updir->silent_time = 900;
-//			}
-//			updir->child_count_limitation = default_limitation;
-//			updir->fileCount = 0;//初始化设置为0
-//			updir->fileLenSum = 0;//初始化设置为0
-//		}
-//	}
-//	return updir;
-//}
-
-//初始化要上传的文件夹配置
-//int upload_create(struct list_head *list, IEntityFunction *pEntityFunc, CSimpleStringA &checkDir)
-//{
-//	assert(list_empty(list));
-//	char type_str[1024];
-//	char *p, *c;
-//	int default_silent_time = 3600;
-//	int default_limitation = 256;
-//	strcpy(type_str, "SysLog,InterLog,Photo,Video,SilverlightDebug,Debug");
-//	p = strtok_s(type_str, ", ", &c);
-//	while (p) {
-//		upload_dir_t *dir = upload_dir_load(pEntityFunc, p, default_silent_time, default_limitation);
-//		if (!dir) 
-//		{
-//			return Error_Unexpect;
-//		}
-//		DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI("upload_create")("load %s ok", p);
-//		list_add_tail(&dir->entry, list);
-//		p = strtok_s(NULL, ", ", &c);
-//	}
-//	return 0;
-//}
-
-
 
 #ifdef RVC_OS_WIN
 #define FT_2000_1_1_0_0_0	125911584000000000UL
@@ -169,46 +31,6 @@ using namespace std;
 
 #endif // RVC_OS_WIN
 
-static int check_zero_ref(const char *path)
-{
-#ifdef RVC_OS_WIN
-	HANDLE hFile = CreateFileA(path,
-		GENERIC_READ, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); // try open
-	if (hFile != INVALID_HANDLE_VALUE) {
-		CloseHandle(hFile);
-		return TRUE;
-	}
-	else {
-        //LogWarn(Severity_Low, Error_Unexpect, LOG_WARN_UPLOAD_SCANFILE_LOCK_ERROR, CSimpleStringA::Format("check_zero_ref is fail:%s",path).GetData());
-		DWORD dwRet = GetLastError();
-		return FALSE;
-	}
-#else
-	//后期改为linux真正的文件锁,现在来看,暂时用不着
-	FILE* fp = fopen(path, "rb");
-	if (fp != NULL) {
-		fclose(fp);
-		return true;
-	}
-	else
-	{
-	    //Dbg("try open file fail :%s",path);
-		//LogWarn(Severity_Low, Error_Unexpect, LOG_WARN_UPLOAD_SCANFILE_LOCK_ERROR, CSimpleStringA::Format("check_zero_ref is fail:%s",path).GetData());
-		return false;
-	}
-#endif // RVC_OS_WIN
-}
-
-
-
-
-
-
-	
-
-
-
-
 
 #ifdef RVC_OS_WIN
 

+ 0 - 34
Module/mod_upload/upload.h

@@ -13,40 +13,6 @@
 #include <iostream>
 #endif
 
-typedef struct file_t file_t;
-typedef struct upload_dir_t upload_dir_t;
-
-struct file_t 
-{
-	struct list_head entry;
-	char *path;
-	char *name;
-	unsigned int create_time;//距离2000年1月1日的流逝的秒数
-	unsigned int length;
-	upload_dir_t *owner;
-};
-
-#define UPLOAD_FLAG_AUTODELETE	0x01
-#define UPLOAD_FLAG_MOVEPATH	0x02
-#define UPLOAD_FLAG_ZIP			0x04
-
-// from ini config
-struct upload_dir_t {
-	struct list_head entry;
-	char *name;
-	char *path;
-	int flags;//自动删除|移动|压缩
-	char *movepath;	
-	struct list_head candidate_list;//需要上传文件的集合
-	int silent_time; // sec
-	int child_count_limitation;
-	int fileCount;//增加lwt 当前文件的个数
-	int fileLenSum;//文件总长度 单位是k
-};
-
-
-
-
 #ifdef RVC_OS_WIN
 
 #else

+ 0 - 8
Module/mod_vtmloader/VtmLoaderFSM.cpp

@@ -2158,14 +2158,6 @@ void CVtmLoaderFSM::CheckDeviceBaseEntity(SpReqAnsContext<VtmLoaderService_Check
 	CEntityRunInfo runInfo;
 
 	CSimpleStringA csEntityName = ctx->Req.entityName;
-	//oiltmp@20240415 to be delete after x months
-	if (ctx->Req.entityName.Compare("CardIssuer") == 0)
-	{
-		if (m_sysInfo.strMachineType.Compare("RVC.CardStore") == 0 || m_sysInfo.strMachineType.Compare("RVC.CardPrinter") == 0)
-			csEntityName = "CardIssuerStore";
-		else
-			csEntityName = "CardIssuerStand";
-	}
 	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("csEntityName:[%s]", csEntityName.GetData());
 	//to check entity state
 	ErrorCodeEnum eErrCode = m_pEntity->GetFunction()->GetEntityRunInfo(csEntityName.GetData(), runInfo);

+ 29 - 9
Other/libvideorecord/libvideorecord_impl.cpp

@@ -686,7 +686,9 @@ int libvideorecord_impl::VideoRecord()
 				}
 				bInitRecordParam = true;
 				//当第一次记录时删除当前音频只剩下1帧,使音视频数据能够同步
-				m_audioqueue->ClearAudioQueue();
+				if (m_audioqueue) {
+					m_audioqueue->ClearAudioQueue();
+				}
 				nRecordStartTime = timeGetTime();//本段录像开始时间
 			}
 
@@ -735,6 +737,11 @@ int libvideorecord_impl::VideoRecord()
 					ReNameVideo();
 				}
 			}
+
+			if (m_bPauseRecord) {
+				m_pHostApi->Debug(RECORD_LOG_DEBUG, "reset media queue.");
+				ResetMediaQueue();
+			}
 		}
 		else{
 			if (eStand2Agent == m_eRecordType) {
@@ -1746,6 +1753,7 @@ void libvideorecord_impl::vDebug(const char* str, va_list list)
 
 bool libvideorecord_impl::ContinueRecord()			//继续录像
 {
+	m_pHostApi->Debug(RECORD_LOG_DEBUG, "continue record");
 #ifdef _WIN32
 #else
 	InitAudioQueue();
@@ -1793,13 +1801,9 @@ bool libvideorecord_impl::StopVideoRecord()				//退出
 
 bool libvideorecord_impl::PauseRecord()				//暂停录像
 {
+	m_pHostApi->Debug(RECORD_LOG_DEBUG, "pause record");
 	m_bPauseRecord = true;
-#ifdef _WIN32
-#else
-	RECORD_SAFE_DELETE(m_local_audioqueue);
-	RECORD_SAFE_DELETE(m_env_videoqueue);
-	RECORD_SAFE_DELETE(m_opt_videoqueue);
-#endif
+
 	return true;
 }
 
@@ -2093,7 +2097,7 @@ bool libvideorecord_impl::GetLocalAudioFrame(int iAudioLens)
 	//取出音频
 	m_audioframe->data = m_pRecordAudioBuffer + m_iAudioBufferLen;
 	bool bGetAudio = false;
-	if (iAudioLens <= MAX_AUDIOQUEUE_LENS) {
+	if (m_audioqueue && (iAudioLens <= MAX_AUDIOQUEUE_LENS)) {
 		bGetAudio = m_audioqueue->GetAudioAndDel(m_audioframe);
 	}
 	else {
@@ -2134,7 +2138,11 @@ bool libvideorecord_impl::GetSingleSideAudioFrame()
 {
 	bool bRet = false;
 	//取音频数据,合并成1s的音频
-	int nAudioLens = m_audioqueue->GetAudioLens();
+	int nAudioLens = 0;
+	if (m_audioqueue) {
+		nAudioLens = m_audioqueue->GetAudioLens();
+	}
+
 	if (nAudioLens > 0) {
 		if (m_iAudioBufferLen < m_iAudioPerSecBufLen) {
 			bRet = GetLocalAudioFrame(nAudioLens);
@@ -2359,4 +2367,16 @@ bool libvideorecord_impl::InitVideoRecordParams()
 	bRet = true;
 
 	return bRet;
+}
+
+
+bool libvideorecord_impl::ResetMediaQueue()
+{
+#ifdef _WIN32
+#else
+	RECORD_SAFE_DELETE(m_local_audioqueue);
+	RECORD_SAFE_DELETE(m_env_videoqueue);
+	RECORD_SAFE_DELETE(m_opt_videoqueue);
+#endif
+	return true;
 }

+ 1 - 1
Other/libvideorecord/libvideorecord_impl.h

@@ -127,7 +127,7 @@ private:
 	int HandleLeftAudioData();
 	bool AddMuteAudioFrame(bool bLocal, int iAudioFrameSize);
 	bool InitDefaultAudioParams(audio_frame* paudio);
-
+	bool ResetMediaQueue();
 
 private:
 	bool m_bStopRecord;

+ 1 - 1
addin/cmake/DependencyConanFiles.cmake

@@ -69,7 +69,7 @@ if(MSVC)
 			#mod_chromium
 			CEFControl/1.0@LR04.02_ThirdParty/testing
 			#mod_chromium
-			cefclient_mutable/2.0.55@LR04.02_ThirdParty/testing
+			cefclient_mutable/2.0.59@LR04.02_ThirdParty/testing
 			#libaudiorender
 			speex/1.2.1@LR04.02_ThirdParty/testing
 			#libvideoframework

+ 1 - 0
addin/res/RunScript/stopBrowser.sh

@@ -39,3 +39,4 @@ if command -v cgdelete &> /dev/null; then
 fi
 
 echo "UOS Browser 已终止"
+exit $?

Неке датотеке нису приказане због велике количине промена