// stdafx.h : include file for standard system include files, // or project specific include files that are used frequently, but // are changed infrequently // #if !defined(AFX_STDAFX_H__F29B1587_92A1_4DB8_A659_2AE865E3FCFE__INCLUDED_) #define AFX_STDAFX_H__F29B1587_92A1_4DB8_A659_2AE865E3FCFE__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #define SOAP_DEBUG //#ifdef DEBUG_CHECK_MEM #ifdef DEBUG_CHECK_MEM #ifdef _DEBUG #define CRTDBG_MAP_ALLOC #include #include #endif #endif #include // MFC core and standard components #include // MFC extensions #include // MFC Automation classes #include // MFC support for Internet Explorer 4 Common Controls #ifndef _AFX_NO_AFXCMN_SUPPORT #include // MFC support for Windows Common Controls #endif // _AFX_NO_AFXCMN_SUPPORT #include // MFC socket extensions #include #include #include #include #include #pragma comment(lib, "wininet.lib") #include "..\..\public\LuTool.h" #include "..\..\public\des\Des.h" #include "..\..\public\ado\ado.h" #include "..\..\public\CorpSms.h" #include "..\..\public\SendPub.h" #include "..\..\public\CMarkup\Markup.h" #include "..\..\public\AutoBuffer\AutoBuffer.h" #include "..\..\public\AutoCoInitializeEx\AutoCoInitializeEx.h" #include "..\..\public\ProxySocket\CBase64Coding.hpp" #include "..\..\public\zip\zip.h" #include "..\..\public\AutoCoInitializeEx\AutoCoInitializeEx.h" #include "..\..\public\LuGBBIG5.h" #include "..\..\public\SqlPool\SqlPool.h" #include "ImApi\ImApi.h" //masapi #include ".\Cmpp\Cmpp.h" #include ".\Cmpp3\Cmpp3.h" #include ".\Sgip\Sgip.h" #include ".\Smgp\Smgp.h" #include ".\QQTX\QQTX.h" #include ".\Cbip\Cbip.h" #define MYSQL_CONNECTION_USE_LOADLIBRARY #include "..\..\public\MySql\MySqlConnection.h" #include "..\..\public\MySql\MySqlRecordSet.h" #include "LuTool.h" #include "gsoap_public\h.nsmap" #include "GDDX_Isag_Mms\ISAGMMS.nsmap" #include "GDDX_Isag_Mms\ISAGMMSMessageNotificationBindingService.h" #include "GDDX_Isag_Sms\ISAGSMS.nsmap" #include "GDDX_Isag_Sms\ISAGSMSSmsNotificationBindingService.h" #include "MobsetApi\MobsetApi.nsmap" #include "MobsetApi\MobsetApiMobsetApiSoapService.h" #include "MMS_mm7\IMm7MMS.nsmap" #include "MMS_mm7\IMm7MMSmm7SoapBindingService.h" #include "BJDX_iagw_Mms\IAGWMMS.nsmap" #include "BJDX_iagw_Mms\IAGWMMScapServiceSoapBindingService.h" #include #define SAFE_RELEASE(pObject) try{if(pObject){pObject->Release();pObject = NULL;}}catch(...){} #define SAFE_DELETE(pObject) try{if(pObject){delete pObject; pObject = NULL;}}catch(...){} //#define SMSCENTER_TWO //二平台特殊处理,2x表示从Mas发送,其它平台是3x . //#define MSG_MAXSENDLEN 70 //#define COM_TIMOUT 20 //最大等返回时间,秒 #define DEFAULT_DBNAME "corpsms" //默认的数据库名称,当数据库类型为Sql Server 时有用 #define DEFAULT_DBNAMET "corpsmst" //默认的数据库名称,当数据库类型为Sql Server 时有用 #define LOG_MAX_CHAR2 620 #define LOG_MAX_CHAR22 620 #define MAX_RESENDCOUNT 2 //最多重发2次,即是每条失败的信息发送了2次 //手机贮存结构 #define MOB_HEAD_FILETYPE _T("MULTMOB1") //存取手机列表的文件头名称 typedef struct _MobileCom_Head { TCHAR szFileType[ 16]; //文件类型,应该为MOB_HEAD_FILETYPE TCHAR szIP[32]; TCHAR szUser[32]; TCHAR szPasswd[32]; TCHAR szCmpp_Server[32]; TCHAR szCmpp_User[32]; TCHAR szCmpp_Passwd[32]; TCHAR szCmpp_CorpID[32]; TCHAR szCmpp_Num[32]; long lSendCount; //发送总量 int lCheckReSend; BOOL bCheckBack; TCHAR szIP2[32]; TCHAR szUser2[32]; TCHAR szPasswd2[32]; long lTopSel; long lNumType; long lTempUse; long lSendFCS; long lReport; long lDelay; TCHAR szWindow[124]; BOOL bVerifySignatureReject; BOOL bVerifySignature; BOOL bMainReSend; BOOL bAllNum; BOOL bCheckCM; BOOL bExCM; BOOL bSubNum; BOOL bCmpp; TCHAR szExchangeNum[32]; long lCmpp_Port; BOOL bShowLog; BOOL bAdc; TCHAR szCmpp_YWID[32]; BOOL bLongSms; BOOL bPushReport; long lCmpp_MaxLen; BOOL bNoRet; BOOL bNoReport; BOOL bExCM2; long lSpeed; long lSelectLock; long lUpdateLock; long lType; long lCmpp_LocalPort; long lThread_Send; long lThread_Ret; long lThread_Report; TCHAR szA1[64]; TCHAR szA2[64]; TCHAR szA3[64]; TCHAR szA4[64]; TCHAR szA5[64]; TCHAR szA6[64]; TCHAR szA7[64]; TCHAR szA8[64]; TCHAR szA9[64]; TCHAR szCmpp_NodeID[32]; BOOL bLog; //记录日志 BOOL bLogEx; //记录请求日志 long lOnePackSmsCount; BOOL bSupLongSms; long lThread_Public_SendSms; TCHAR szSendRet[48]; BOOL bNoRecv; BOOL SD_Disable1; BOOL SD_Disable2; SYSTEMTIME SD_B1; SYSTEMTIME SD_B2; SYSTEMTIME SD_E1; SYSTEMTIME SD_E2; BOOL bExpLongSms; BOOL bMmsAudit; BOOL bShowLog2; TCHAR szA10[64]; TCHAR szProvider[32]; DWORD dwIDCount; //用于杭州豪霆记录已取状态报告的ID BOOL bNo86; BOOL TDError_Enable; //启用通道检测 int TDError_Gap; //检测间隔 int TDError_Interval; //检测时长 int TDError_BeginCount; //起点量 int TDError_Warning_Resend; //重发报警量 int TDError_Warning_Black; //黑名单报警量 int TDError_Warning_SendFailPer; //发送失败报警比例 int TDError_Warning_ReportFailPer; //状态失败报警比例 int TDError_Warning_DelaySec; //延时时间阀值 int TDError_Warning_DelayPer; //延时报警比例 BOOL bLogEx2; //记录详细请求日志 }MobileCom_Head; #define LOG_MAX_CHAR 2048 #define LOG_MAX_LINE 24 typedef struct _SC_Log { long lLogType; long lShowInWin; CString strLog; }SC_Log; typedef CList CSC_Log; //发送返回状态 typedef struct _MT_Resp { ULONG lSendID; //数据库中记录的SendID ULONG lResult; //返回状态 ULONG lReSendCount; //重复发送了多少次 TCHAR szMsgID[64]; //发送成功时有此返回,信息ID TCHAR szErrMsg[64]; //发送成功时有此返回,信息ID }MT_Resp; typedef CList CMT_Resp; //发送返回状态 typedef struct _MT_Report { long lReportOK; long bSubmitError; TCHAR szStatus[32]; TCHAR szMobile[64]; //状态报告号码 TCHAR szSender[64]; //发送号码,宽乐通信的可能用到 SYSTEMTIME tTime; //状态报告时间 TCHAR szMsgID[64]; //发送成功时有此返回,信息ID TCHAR szErrMsg[64]; //发送成功时有此返回,信息ID }MT_Report; typedef CList CMT_Report; #define FZ_MAX_MOBILE 100 //最大可存放的短信号码数量 #define FZ_MAX_MOBILE_MORE 20000 //最大可存放的短信号码数量 #ifdef _DEBUG #define FZ_MAX_SEND 50 #else #define FZ_MAX_SEND 200 #endif typedef struct _RecvSms_MmsAttach { long lSize; BYTE * pData; TCHAR szName[64]; TCHAR szID[64]; TCHAR szLocation[64]; TCHAR szType[64]; }RecvSms_MmsAttach; typedef struct _FZ_Mobile { TCHAR szMobile[24]; TCHAR szRecver[32]; long lSendID; long lSendRet; }FZ_Mobile; typedef CArray CFZ_Mobile; typedef struct _FZ_Send { BOOL bEnable; BOOL bSendOk; TCHAR szSendNum[32]; TCHAR szMsg[1024]; TCHAR szSrcNum[32]; TCHAR szAddNum[32]; TCHAR szMsgID[64]; TCHAR szErrorMsg[64]; TCHAR MmsSendID[64]; long lSendID; long lCorpID; long lUserID; long lMmsFileID; BOOL bMmsFileSend; long lOneSendID; long lmmSize; BOOL bOnlySubmitMmsFile; long lMmsFileAuditID; long lErrorCode; SYSTEMTIME tTime; long lReSendCount; long lMobileCount; FZ_Mobile Mobile[FZ_MAX_MOBILE]; CFZ_Mobile * pMobile; //用于批量大号码 long lMmsAttach; RecvSms_MmsAttach * pMmsAttach; }FZ_Send; typedef CList CFZ_Send; typedef struct _FXSend_MT { long SendID; long lTDMsgType; long CorpID; long UserID; long MmsFileID; long mmSize; CString GroupID; long Status; CString MsgID; long SendRet; long SendFCS; long ReSendCount; long ReSendCountSrc; CString Sender; CString SendNum; CString Recver; CString RecvNum; long RecvNumType; CString Msg; long MsgType; COleDateTime SubTime; COleDateTime Timer; long Priority; long StatusReport; COleDateTime OvrTime; COleDateTime SendTime; COleDateTime RecvTime; CString RecvStatus; long KF; CString IP; CString SM_ID; CString TRANS_CODE; CString ORGAN_CODE; COleDateTime tAddThisTime; BOOL bLongSms; long lLongSmsRand; BOOL bOnlySubmitMmsFile; CString strSignature; }FXSend_MT; typedef CList CFXSend_MT; #define FZ_MAX_LONGSMS 1000 typedef struct _FZ_LongSms { long lMsgType; long lSendID; TCHAR szSendNum[32]; //发送者号码,如果lMsgType==MSGTYPE_REPORT,则是状态报告的目标手机号码 TCHAR szRecvNum[32]; //接收者号码 TCHAR szMsg[256]; //信息内容 long lLongMsgRand; //用于长短信控制 long lLongMsgAll; long lLongMsgIndex; }FZ_LongSms; typedef struct _ZSDX_RegNum { TCHAR szUser[32]; TCHAR szPasswd[32]; TCHAR szConnID[32]; DWORD dwEndTime; }ZSDX_RegNum; typedef CArray CZSDX_RegNum; typedef struct _ZSDX_Users { long lRegNumIndex; CString strRegNum; CString strUser; CString strPasswd; }ZSDX_Users; typedef CArray CZSDX_Users; #define ZSDX_MAX_PROCESS 40 typedef struct _ZSDX_Data_Recv { char szHead[2048]; //http头数据 ULONG lDataLen2; //应收字节数 ULONG lDataLen; //应收字节数 ULONG lRecvLen; //已收字节数 BOOL bRecvFrame; //是否正在收Frame; BYTE * pRecvFrame; //收到的Frame }ZSDX_Data_Recv; //#define SMSCENTER_NX //#define GDYD_TEMP //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_STDAFX_H__F29B1587_92A1_4DB8_A659_2AE865E3FCFE__INCLUDED_)