FXSend/StdAfx.h

414 lines
9.7 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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 <stdlib.h>
#include <crtdbg.h>
#endif
#endif
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#include <afxdisp.h> // MFC Automation classes
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
#include <afxsock.h> // MFC socket extensions
#include <Atlbase.h>
#include <comdef.h>
#include <AfxTempl.h>
#include <afxmt.h>
#include <afxinet.h>
#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 <afxcontrolbars.h>
#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 //<2F><>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><E2B4A6><EFBFBD><EFBFBD>2x<32><78>ʾ<EFBFBD><CABE>Mas<61><73><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD><CCA8>3x .
//#define MSG_MAXSENDLEN 70
//#define COM_TIMOUT 20 //<2F><><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><>
#define DEFAULT_DBNAME "corpsms" //Ĭ<>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>ΪSql Server ʱ<><CAB1><EFBFBD><EFBFBD>
#define DEFAULT_DBNAMET "corpsmst" //Ĭ<>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>ΪSql Server ʱ<><CAB1><EFBFBD><EFBFBD>
#define LOG_MAX_CHAR2 620
#define LOG_MAX_CHAR22 620
#define MAX_RESENDCOUNT 2 //<2F><><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD>2<EFBFBD>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF>ʧ<EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32>
//<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MOB_HEAD_FILETYPE _T("MULTMOB1") //<2F><>ȡ<EFBFBD>ֻ<EFBFBD><D6BB>б<EFBFBD><D0B1><EFBFBD><EFBFBD>ļ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>
typedef struct _MobileCom_Head
{
TCHAR szFileType[ 16]; //<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><><D3A6>Ϊ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; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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; //<2F><>¼<EFBFBD><C2BC>־
BOOL bLogEx; //<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
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; //<2F><><EFBFBD>ں<EFBFBD><DABA>ݺ<EFBFBD><DDBA><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>ȡ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
BOOL bNo86;
BOOL TDError_Enable; //<2F><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int TDError_Gap; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int TDError_Interval; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
int TDError_BeginCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int TDError_Warning_Resend; //<2F>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int TDError_Warning_Black; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int TDError_Warning_SendFailPer; //<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int TDError_Warning_ReportFailPer; //״̬ʧ<CCAC>ܱ<EFBFBD><DCB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int TDError_Warning_DelaySec; //<2F><>ʱʱ<CAB1>䷧ֵ
int TDError_Warning_DelayPer; //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL bLogEx2; //<2F><>¼<EFBFBD><C2BC>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
}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<SC_Log , SC_Log&> CSC_Log;
//<2F><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>״̬
typedef struct _MT_Resp
{
ULONG lSendID; //<2F><><EFBFBD>ݿ<EFBFBD><DDBF>м<EFBFBD>¼<EFBFBD><C2BC>SendID
ULONG lResult; //<2F><><EFBFBD><EFBFBD>״̬
ULONG lReSendCount; //<2F>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6>ٴ<EFBFBD>
TCHAR szMsgID[64]; //<2F><><EFBFBD>ͳɹ<CDB3>ʱ<EFBFBD>д˷<D0B4><CBB7>أ<EFBFBD><D8A3><EFBFBD>ϢID
TCHAR szErrMsg[64]; //<2F><><EFBFBD>ͳɹ<CDB3>ʱ<EFBFBD>д˷<D0B4><CBB7>أ<EFBFBD><D8A3><EFBFBD>ϢID
}MT_Resp;
typedef CList<MT_Resp , MT_Resp&> CMT_Resp;
//<2F><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>״̬
typedef struct _MT_Report
{
long lReportOK;
long bSubmitError;
TCHAR szStatus[32];
TCHAR szMobile[64]; //״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TCHAR szSender[64]; //<2F><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EBA3AC><EFBFBD><EFBFBD>ͨ<EFBFBD>ŵĿ<C5B5><C4BF><EFBFBD><EFBFBD>õ<EFBFBD>
SYSTEMTIME tTime; //״̬<D7B4><CCAC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
TCHAR szMsgID[64]; //<2F><><EFBFBD>ͳɹ<CDB3>ʱ<EFBFBD>д˷<D0B4><CBB7>أ<EFBFBD><D8A3><EFBFBD>ϢID
TCHAR szErrMsg[64]; //<2F><><EFBFBD>ͳɹ<CDB3>ʱ<EFBFBD>д˷<D0B4><CBB7>أ<EFBFBD><D8A3><EFBFBD>ϢID
}MT_Report;
typedef CList<MT_Report , MT_Report&> CMT_Report;
#define FZ_MAX_MOBILE 100 //<2F><><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD><C9B4>ŵĶ<C5B5><C4B6>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define FZ_MAX_MOBILE_MORE 20000 //<2F><><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD><C9B4>ŵĶ<C5B5><C4B6>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#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<FZ_Mobile , FZ_Mobile&> 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; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
long lMmsAttach;
RecvSms_MmsAttach * pMmsAttach;
}FZ_Send;
typedef CList<FZ_Send , FZ_Send&> 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<FXSend_MT , FXSend_MT&> CFXSend_MT;
#define FZ_MAX_LONGSMS 1000
typedef struct _FZ_LongSms
{
long lMsgType;
long lSendID;
TCHAR szSendNum[32]; //<2F><><EFBFBD><EFBFBD><EFBFBD>ߺ<EFBFBD><DFBA><EFBFBD><EBA3AC><EFBFBD><EFBFBD>lMsgType==MSGTYPE_REPORT,<2C><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
TCHAR szRecvNum[32]; //<2F><><EFBFBD><EFBFBD><EFBFBD>ߺ<EFBFBD><DFBA><EFBFBD>
TCHAR szMsg[256]; //<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
long lLongMsgRand; //<2F><><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD>ſ<EFBFBD><C5BF><EFBFBD>
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<ZSDX_RegNum , ZSDX_RegNum&> CZSDX_RegNum;
typedef struct _ZSDX_Users
{
long lRegNumIndex;
CString strRegNum;
CString strUser;
CString strPasswd;
}ZSDX_Users;
typedef CArray<ZSDX_Users , ZSDX_Users&> CZSDX_Users;
#define ZSDX_MAX_PROCESS 40
typedef struct _ZSDX_Data_Recv
{
char szHead[2048]; //httpͷ<70><CDB7><EFBFBD><EFBFBD>
ULONG lDataLen2; //Ӧ<><D3A6><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
ULONG lDataLen; //Ӧ<><D3A6><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
ULONG lRecvLen; //<2F><><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
BOOL bRecvFrame; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Frame;
BYTE * pRecvFrame; //<2F>յ<EFBFBD><D5B5><EFBFBD>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_)