FXSend/FXSendDlg.h

686 lines
31 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.

// FXSendDlg.h : header file
//
#if !defined(AFX_FXSENDDLG_H__2B44AC49_F0C4_4DD0_BE7D_F08A1AA00FF9__INCLUDED_)
#define AFX_FXSENDDLG_H__2B44AC49_F0C4_4DD0_BE7D_F08A1AA00FF9__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
// CFXSendDlg dialog
struct _SendNextSms
{
CDialog * pDialog;
long lIndex;
SOCKET sock;
char szIP[32];
};
//定义MMS使用的版与结构头
#define MOBSET_MMS_VER MOBSET_MMS_VER_2
#define MMS_Head MMS_Head_2
#define MMS_Z MMS_Z_2
#include "afxwin.h"
//#pragma comment(lib,"psapi.lib")
//使用第1版的psapi,防止非win7无法使用
#ifdef PSAPI_VERSION
#undef PSAPI_VERSION
#endif
#define PSAPI_VERSION 1
#include <Psapi.h>
#pragma comment( lib, "psapi" )
struct _SubmitSms
{
CDialog * pDialog;
CAdoConnection * padoConnection;
long lIndex;
long lSendID;
long * lSendEndCount;
TCHAR szSendExNum[32];
TCHAR szRecvNum[32];
TCHAR szMsg[512];
};
#define TDID_CMCC_CMPP 0 //移动cmpp
#define TDID_UNICOM_SGIP 1 //联通Sgip
#define TDID_TELCOM_SMGP 2 //电信Smgp
#define TDID_GDDX133 3 //定义通道ID
#define TDID_GDDX0769 4 //定义通道ID
#define TDID_SMS_宽乐通信 5 //宽乐通信通道ID
#define TDID_SMS_蔡工0578 6 //蔡工提供的0578通信通道ID
#define TDID_SMS_广州首易 7 //广州首易通道
#define TDID_SDK_广州首易 8 //首易WebService SDK
#define TDID_SMS_广东ISAG 9 //短信广东ISAG
#define TDID_SMS_嘉讯Mas1_2 10 //短信嘉讯Mas1.2
#define TDID_SMS_青岛0532 11 //短信青岛0532
#define TDID_SMS_南京025 12 //短信青岛0532
#define TDID_SMS_北京红树 13 //短信,北京红树
#define TDID_SMS_北京联诚智胜 14 //短信,北京联诚智胜
#define TDID_SMS_北京宇宙之讯 15 //短信,北京宇宙之讯
#define TDID_SMS_12580 16 //短信12580
#define TDID_SMS_中山电信商信通 17 //短信,中山电信商信通
#define TDID_CMCC_CMPP3 18 //短信cmpp3.0
#define TDID_SMS_宽乐通信_服务 19 //宽乐通信服务中转器
#define TDID_SMS_宽乐通信_服务发送 20 //宽乐通信服务发送
#define TDID_SMS_蔡工WebService 21 //蔡工WebService
#define TDID_SMS_CBIP 22 //无线天利CBIP
#define TDID_SMS_德盈无名通道 23 //德盈无名通道
#define TDID_SMS_信易 24 //信易
#define TDID_SMS_北京联诚智胜2014 25 //短信,北京联诚智胜
#define TDID_SMS_深圳嘉盈 26 //短信,深圳嘉盈
#define TDID_SMS_深圳滕硕_广州邓总 27 //短信,深圳滕硕
#define TDID_SMS_蔡工1069 28 //蔡工WebService
#define TDID_SMS_深圳名传无线 29 //深圳名传无线
#define TDID_HTTP_广州首易 30 //首易Http SDK
#define TDID_SMS_深圳壹通道HTTP 31 //深圳壹通道HTTP
#define TDID_SMS_北京合众互创 32 //短信,北京合众互创
#define TDID_SMS_广州首易3 33 //广州首易通道,http3协议
#define TDID_SMS_东莞政府短信平台 34 //TDID_SMS_东莞市政府短信能力平台,http协议
#define TDID_SMS_北京电信开放平台 35 //TDID_SMS_北京电信开放平台,http协议
#define TDID_SMS_北京天天国际短信 36 //TDID_SMS_北京电信开放平台,http协议
#define TDID_SMS_德盈无名通道2 37 //德盈无名通道2
#define TDID_MMS_MM7 1001 //彩信MM7协议
#define TDID_MMS_黄仲键 1002 //彩信,黄仲键
#define TDID_MMS_北京红树 1003 //彩信,北京红树
#define TDID_MMS_广东ISAG 1004 //彩信广东ISAG
#define TDID_MMS_北京卓望 1005 //彩信,北京卓望
#define TDID_MMS_广州首易 1006 //彩信,广州首易
#define TDID_MMS_黄仲键2 1007 //彩信,黄仲键全网
#define TDID_MMS_北京IAGW 1008 //彩信北京IAGW
#define TDID_MMS_北京宇宙之讯 1009 //彩信,北京宇宙之讯
#define TDID_MMS_杭州豪霆 1010 //彩信,杭州豪霆
#define TDID_MMS_广州朗天 1011 //彩信,广州朗天
#define TDID_MMS_北京合众互创 1012 //彩信,北京合众互创
#define TDID_QX_QQ通讯录 2001 //Q信QQ通讯录
typedef struct _TDID_Name
{
long lTDID;
CString strName;
}TDID_Name;
static TDID_Name g_TDID_Name[] =
{
{TDID_CMCC_CMPP,_T("短信-中国移动CMPP2.0")},
{TDID_CMCC_CMPP3,_T("短信-中国移动CMPP3.0")},
{TDID_UNICOM_SGIP,_T("短信-中国联通SGIP1.2")},
{TDID_TELCOM_SMGP,_T("短信-中国电信SMGP3.5")},
{TDID_GDDX133,_T("短信-广东电信133")},
{TDID_GDDX0769,_T("短信-广东电信0769")},
{TDID_SMS_宽乐通信,_T("短信-广东宽乐通信")},
{TDID_SMS_宽乐通信_服务,_T("短信-广东宽乐通信_服务")},
{TDID_SMS_宽乐通信_服务发送,_T("短信-广东宽乐通信_服务发送")},
{TDID_SMS_蔡工0578,_T("短信-蔡工0578")},
{TDID_SMS_蔡工WebService,_T("短信-蔡工Webservice")},
{TDID_SMS_广州首易,_T("短信-广州首易")},
{ TDID_SMS_广州首易3,_T("短信-广州首易3") },
{TDID_SMS_广东ISAG,_T("短信-广东ISAG")},
{TDID_SMS_嘉讯Mas1_2,_T("短信-嘉讯Mas1.2")},
{TDID_SMS_青岛0532,_T("短信-青岛网通0532")},
{TDID_SMS_南京025,_T("短信-南京025")},
{TDID_SMS_北京红树,_T("短信-北京红树")},
{TDID_SMS_北京联诚智胜,_T("短信-北京联诚智胜")},
{TDID_SMS_北京联诚智胜2014,_T("短信-北京联诚智胜2014")},
{TDID_SMS_北京宇宙之讯,_T("短信-北京宇宙之讯")},
{TDID_SMS_12580,_T("短信-12580")},
{TDID_SMS_中山电信商信通,_T("短信-中山电信商信通")},
{TDID_SMS_CBIP,_T("短信-无线天利")},
{TDID_SMS_德盈无名通道,_T("短信-德盈无名通道")},
{TDID_SMS_德盈无名通道2,_T("短信-德盈无名通道2")},
{TDID_SMS_信易,_T("短信-信易")},
{TDID_SMS_深圳嘉盈,_T("短信-深圳嘉盈")},
{TDID_SMS_深圳滕硕_广州邓总,_T("短信-深圳滕硕_广州邓总")},
{TDID_SMS_蔡工1069,_T("短信-蔡工1069")},
{TDID_SMS_深圳名传无线,_T("短信-深圳名传无线")},
{ TDID_SMS_深圳壹通道HTTP,_T("短信-深圳壹通道HTTP") },
{ TDID_SMS_北京合众互创,_T("短信-北京合众互创") },
{ TDID_SMS_东莞政府短信平台,_T("短信-东莞政府短信平台") },
{ TDID_SMS_北京电信开放平台,_T("短信-北京电信开放平台") },
{ TDID_SMS_北京天天国际短信,_T("短信-北京天天国际短信") },
{TDID_MMS_MM7,_T("彩信-标准mm7协议")},
{TDID_MMS_黄仲键,_T("彩信-迅祺省网手机报")},
{TDID_MMS_黄仲键2,_T("彩信-迅祺全网手机报")},
{TDID_MMS_北京红树,_T("彩信-北京红树通道")},
{TDID_MMS_广东ISAG,_T("彩信-广东ISAG")},
{TDID_MMS_北京卓望,_T("彩信-北京卓望")},
{TDID_MMS_广州首易,_T("彩信-广州首易")},
{TDID_MMS_北京IAGW,_T("彩信-北京IAGW")},
{TDID_MMS_北京宇宙之讯,_T("彩信-北京宇宙之讯") },
{TDID_MMS_杭州豪霆,_T("彩信-杭州豪霆") },
{TDID_MMS_广州朗天,_T("彩信-广州朗天") },
{TDID_MMS_北京合众互创,_T("彩信-北京合众互创") },
{TDID_SDK_广州首易,_T("SDK-广州首易")},
{TDID_HTTP_广州首易,_T("HTTP-广州首易") },
{TDID_QX_QQ通讯录,_T("QX-QQ通讯录")},
};
#define WM_ADDLOG WM_USER + 101
#define WM_ADDLOG2 WM_USER + 102
#define FXSEND_MAX_THREAD 10
#include "GDDX_Isag_Mms_Ex\IsagMmsServiceEx.h"
#include "GDDX_Isag_Sms_Ex\IsagSmsServiceEx.h"
#include "MobsetApiEx\MobsetApiServiceEx.h"
#include "MMS_mm7_Ex\IMm7MMSServiceEx.h"
#include "BJDX_iagw_Mms_Ex\IagwMmsServiceEx.h"
#include "MobsetHttp\MobsetHttp.h"
//南京电信025
#import "NJDX\SendControl.dll" named_guids
using namespace FULLTUNNELCONTROLLib;
class CFXSendDlg : public CDialog
{
public:
MobileCom_Head m_MCom_Head; //手机列表头
long m_TDMsgType; //通道内容类型0-短信1-彩信
BOOL m_bStart;
long m_lSendCount;
DWORD m_lSendTime;
CRITICAL_SECTION m_Critical;
CCmpp m_Cmpp;
CCmpp3 m_Cmpp3;
CSgip m_Sgip;
CSmgp m_Smgp;
CCbip m_Cbip;
CQQTX m_QQTX;
CQQTX m_QQTX2;
BOOL m_QQTX2_Enable;
PUSH_TD m_TD;
PUSH_TDError m_TDError;
HWND m_hCenterWnd;
BOOL m_bSendTDMsg;
CCriticalSection m_CmppExchange_Lock;
CmppExchange m_CmppExchange[MAX_CMPPEXCHANGE];
SOCKET m_CmppSocket;
HANDLE m_Thread_CmppServer_Start;
HANDLE m_Thread_CmppServer_CheckResp;
long m_CorpIDCount;
long m_TempSendCount; //临时计数
DWORD m_TempSendTime; //临时计数
//用于控制发送速度
DWORD m_dwEndSocketSendTime; //最后短信发出间隔
long m_lSendInterval; //发送间隔
CCriticalSection m_SendInterval;
CRITICAL_SECTION m_Critical_CmppExchange;
CRITICAL_SECTION m_Critical_XLT;
HANDLE m_hPipe;
long m_lTDADCType; //adc方式其实是用于判断是否移动业务通道是否扣减用户费用的
//用于日志
CSC_Log m_Log;
CCriticalSection m_Log_Lock;
//用于发送队列与已发队列
CFXSend_MT m_MT_FS;
CCriticalSection m_MT_FS_Lock;
CFXSend_MT m_MT_YF;
CCriticalSection m_MT_YF_Lock;
BOOL m_bQuitNotify;
//各种线程句柄
HANDLE m_Main_Thread;
HANDLE m_Thread_Send[FXSEND_MAX_THREAD];
HANDLE m_Thread_Send2[FXSEND_MAX_THREAD];
HANDLE m_Thread_Recv[FXSEND_MAX_THREAD];
HANDLE m_Thread_Recv2[FXSEND_MAX_THREAD];
HANDLE m_Thread_Public_SendSms[FXSEND_MAX_THREAD];
HANDLE m_Thread_Public_Report;
HANDLE m_Thread_Public_RecvSms;
HANDLE m_Thread_Public_Add;
HANDLE m_Thread_Public_Add2;
HANDLE m_Thread_Public_Add3;
BYTE * m_pLogData;
long m_lLogLen;
long m_lLogIndex;
DWORD m_dwLogEndWrite;
CString m_strLogPath;
BOOL m_bQuitForEndService; //结束任务后是否退出程序
FZ_LongSms * m_pFZLongSms;
CCriticalSection m_FZLongSms_Lock;
FZ_Send * m_pFZSend;
CRITICAL_SECTION m_Critical_FZ;
long m_Public_SmsIns;
long m_Public_SmsGet;
CMT_Resp m_MT_Resp;
CCriticalSection m_MT_Resp_Lock;
CMT_Report m_MT_Report;
CCriticalSection m_MT_Report_Lock;
CFZ_Send m_MO_RecvSms;
CCriticalSection m_MO_RecvSms_Lock;
//广东电信133
long m_lGDDXEndUserID; //最后一次发送的userid
DWORD m_dwGDDXEndHour; //最后一次重置每小时发送量的时间
//彩信isag
ISAGMMS::IsagMmsServiceEx * m_pIsagMmsService;
//短信isag
ISAGSMS::IsagSmsServiceEx * m_pIsagSmsService;
//mm7
IMm7MMS::IMm7MMSServiceEx * m_pImm7MmsService;
//彩信iagw
IAGWMMS::IagwMmsServiceEx * m_pIagwMmsService;
//中山电信
CCriticalSection m_ZSDX_Lock;
CZSDX_RegNum m_ZSDX_RegNum;
CZSDX_Users m_ZSDX_Users;
long m_ZSDX_Users_Index;
SOCKET m_ZSDX3Web_sock;
SOCKET m_ZSDX3Web_sock2;
CSqlPool m_SqlPool;
//用于大批量号码
BOOL m_bUseMoreMobile;
//短信易WebServices
MobsetApi::MobsetApiServiceEx * m_pMobsetApi;
//短信易httpServer
MobsetHttp::MobsetHttpEx * m_pMobsetHttp;
//Mas1.2
/*
CCriticalSection m_Mas_Lock;
BOOL m_Mas_Init; // mas是否已初始化
HINSTANCE m_Mas_Lib;
MAS_initWithDB m_Mas_initWithDB;
MAS_release m_Mas_release;
MAS_sendSMAdvTime m_Mas_sendSMAdvTime;
MAS_receiveSM m_Mas_receiveSM;
MAS_receiveRPT m_Mas_receiveRPT;
*/
//南京电信
CCriticalSection m_NJDX3_Lock;
IFullTunnelServiceControlPtr m_NJDX3;
//用于查重
CSendPub m_SendPub;
CSendPub::AllCorpID m_LastCorpPro; //最后一次请求的企业属性
//用于首易SDK中的信易连接
CSqlPool m_XYSqlPool; //用于信易判断号码是否开通
//用于北京电信开放平台的Token
CString m_strBJDXKFPT_Token;
// Construction
public:
static long Public_SendSms_德盈无名通道2(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_RecvReport_Sms_德盈无名通道2(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvSms_德盈无名通道2(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_SendMms_北京合众互创(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon, MMS_Head & mmsHead, MMS_Z * mmsZ, BYTE * pMMSFile, BYTE * pMMSSend);
static long Public_SendSms_北京天天国际短信(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_RecvReport_Sms_北京天天国际短信(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvSms_北京天天国际短信(CFXSendDlg *pDlg, HINTERNET &hCon);
static UINT ZSDX3Web_Process_Req_北京电信开放平台(CFXSendDlg * pDlg, SOCKET sock, CString strT, CString strR, CString & strRet);
static long Public_SendSms_北京电信开放平台_GetToken(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon, CString & strErrMsg);
static long Public_RecvReport_Sms_北京电信开放平台(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_SendSms_北京电信开放平台(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_SendMms_广州朗天(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon, MMS_Head & mmsHead, MMS_Z * mmsZ, BYTE * pMMSFile, BYTE * pMMSSend);
static long Public_SendSms_东莞政府短信平台(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_RecvReport_Sms_东莞政府短信平台(CFXSendDlg *pDlg, HINTERNET &hCon, CAdoRecordSet * pAdoRS);
static long Public_RecvSms_东莞政府短信平台(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvSms_广州首易3(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_SendSms_广州首易3(CFXSendDlg *pDlg, CAdoRecordSet * pAdo, FZ_Send &send, HINTERNET &hCon);
static long Public_RecvReport_Sms_广州首易3(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvReport_Mms_杭州豪霆(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_SendMms_杭州豪霆(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon, MMS_Head & mmsHead, MMS_Z * mmsZ, BYTE * pMMSFile, BYTE * pMMSSend);
static long Public_SendSms_深圳嘉盈(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_RecvReport_Sms_深圳嘉盈(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvSms_深圳嘉盈(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_SendSms_深圳名传无线(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_RecvReport_Sms_深圳名传无线(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvSms_深圳名传无线(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_SendSms_深圳壹通道HTTP(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_RecvReport_Sms_深圳壹通道HTTP(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvSms_深圳壹通道HTTP(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_SendSms_蔡工1069(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_RecvReport_Sms_蔡工1069(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvSms_蔡工1069(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_SendSms_SZTS(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_RecvReport_Sms_SZTS(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvSms_SZTS(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_SendSms_BJLCZS2014(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_RecvReport_Sms_BJLCZS2014(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvSms_BJLCZS2014(CFXSendDlg *pDlg, HINTERNET &hCon);
static long CFXSendDlg::Public_RecvSms_GZHZJ2(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvSms_CGWebService(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_SendSms_CGWebService(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_RecvReport_Sms_CGWebService(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_SendSms_KLTX_Service(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_RecvReport_Sms_KLTX_Service(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvSms_KLTX_Serveice(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_SendSms_ZSDXSXT(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_RecvReport_Sms_ZSDXSXT(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvSms_ZSDXSXT(CFXSendDlg *pDlg, HINTERNET &hCon);
static UINT Sgip_Process(LPVOID sParam);
static UINT Sgip_CheckResp(LPVOID sParam);
static UINT Smgp_CheckResp(LPVOID sParam);
static UINT Smgp_Process(LPVOID sParam);
static UINT CmppServer_Start(LPVOID sParam);
static void public_WordChange(CString & str);
static void public_WordChange2(CString & str);
static CStringA ConvertUnicodeToUtf8(CStringW &strUni);
void Public_SendSleep();
void SetSendSpeed(long lSpeed);
long Public_GetWFSms();
static UINT Public_SendSms_GDDX133_Reg_T(LPVOID pParam);
static long Public_SendSms_GDDX133_Reg(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon, CString strUrl, long lMobileID,CString strMobile, CString strPasswd, CString &strUserName);
BOOL Public_Report_Add(MT_Report report);
BOOL Public_Report_Get(MT_Report &report);
BOOL Public_RecvSms_Add(FZ_Send recv);
BOOL Public_RecvSms_Get(FZ_Send & recv);
static void ConvertUtf8ToGBK(CString &strUtf8);
static void ConvertGBKToUtf8(CString &strGBK);
static void ConvertUtf8ToGBK(CStringA &strUtf8);
static void ConvertGBKToUtf8(CStringA &strGBK);
static long Public_RecvSms_GZSY(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_SendSms_德盈无名通道(CFXSendDlg *pDlg, CAdoRecordSet * pAdo,FZ_Send &send, HINTERNET &hCon);
static long Public_SendSms_信易(CFXSendDlg *pDlg, CAdoRecordSet * pAdo,FZ_Send &send, HINTERNET &hCon);
static long Public_RecvSms_Mas1_2(CFXSendDlg *pDlg, CMySqlConnection * pMySqlConnection);
static long Public_SendWebReq(HINTERNET &hCon, CString strUrl, CString strXml, TCHAR *pRetBuf, DWORD lRetBufSize, CString strSOAPAction);
static long Public_SendSms_KLTX(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_SendSms_GDDX133_Send(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon, CString strUrl,long lMobileID, CString strMobile, CString strPasswd, CString &strUserName);
static long Public_SendSms_GDDX133_GetNum(CFXSendDlg *pDlg,CAdoRecordSet * pAdoRS , CString &strMobile, CString &strPasswd , CString & strUserName , long lSmsCount);
static long Public_RecvReport_GDDX133(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_SendSms_GDDX133(CFXSendDlg *pDlg,CAdoRecordSet * pAdoRS , FZ_Send &send, HINTERNET &hCon);
static long Public_SendSms_CG0578(CFXSendDlg *pDlg,CAdoRecordSet * pAdoRS , FZ_Send &send, HINTERNET &hCon);
static long Public_SendSms_GZSY(CFXSendDlg *pDlg, CAdoRecordSet * pAdo,FZ_Send &send, HINTERNET &hCon);
static long Public_SendSms_BJLCZS(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_SendSms_北京合众互创(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_SendSms_BJYZZX(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_SendSms_BJHS(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_SendSms_QDWT(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_SendSms_12580(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static long Public_SendSms_Mas1_2(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, CMySqlConnection * pMySqlConnection);
static long Public_SendSms_NJDX3(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
BOOL Public_GetSms(FZ_Send *pSend,long lMaxSend,long lMaxWaitTime);
static UINT Public_SendSms_T(LPVOID pParam);
static UINT Public_RecvReport_T(LPVOID pParam);
static UINT Public_RecvSms_T(LPVOID pParam);
BOOL TD_StartThread();
long Public_SendSms(CString strRecver, CString strMobile, CString strSrcNum, CString strAddNum, CString strMsg, long lSendID, long lCorpID,long lUserID, BOOL bMult, long lMaxMobile,long lMmsFileID , long lmmSize, BOOL bOnlySubmitMmsFile = false);
BOOL Public_Resp_Get(MT_Resp & resp);
BOOL Public_Resp_Add(MT_Resp resp);
BOOL SendNextSms_LongSms(FZ_LongSms Sms, TCHAR *pMsg , FZ_LongSms * SplitSms , long & lMaxSplit, long &lSendID);
void ShowTDMsg();
long TD_SendSms(const TCHAR *pRecver, const TCHAR *pMobile, const TCHAR *szSrcNum, const TCHAR *szAddNum, const TCHAR *pMsg, long lStatusReport, long ludhl, long lSendID, long lCorpID, long lUserID, TCHAR *pMsgID, BOOL bHandFree, long lMmsFileID, long lmmSize, BOOL bOnlySubmitMmsFile = false);
long TD_Init();
BOOL TD_Stop();
long TD_Get(FZ_Send & recvSms, TCHAR *Msg_Fmt, TCHAR *Msg_Length ,long & lLongMsgRand ,long & lLongMsgAll, long & lLongMsgIndex);
long TD_GetReport(TCHAR *No, TCHAR *Stat, TCHAR *Done_time, TCHAR *MsgID , long & lReportOK,long & lTDMsgType , long & bSubmitError);
BOOL TD_GetSendResp( MT_Resp & resp );
BOOL TD_isConnectGateWay();
long TD_GetWFSms();
void TD_GetErrMsg(CString & str);
long TD_SetSendSpeed( long lSpeed );
long TD_GetReportSms();
UINT Main_Stop();
BOOL Log_Init();
long Log_Write(CString str);
long YF_CheckTimeoutRet(CAdoRecordSet * pAdoRS,BOOL bAll=false);
BOOL WriteRptToMas(CAdoRecordSet * pAdoRS,FXSend_MT * pMT, long lErrCode , CString strErrMsg);
BOOL YF_In(long lSendID,FXSend_MT & mt);
BOOL YF_GetLongSms(long lSendID,FXSend_MT mtS,FXSend_MT & mt);
BOOL YF_Add(FXSend_MT mt);
BOOL FS_Add(FXSend_MT mt);
BOOL FS_Get(FXSend_MT & mt);
static CString SQLStr(CString & str);
BOOL VerifySignature(CAdoRecordSet* pAdoRS, FXSend_MT* pMT, TCHAR* pSrcNum);
long WriteSendRetToCorpSmsM(CAdoRecordSet * pAdoRS,FXSend_MT * pMT);
long WriteSendRetToCorpSmsM2(CAdoRecordSet * pAdoRS,FXSend_MT * pMT,CString & strValues);
long WriteSendRetToCorpSmsM_XY(CAdoRecordSet * pAdoRS,FXSend_MT * pMT);
void GetCurrentPath(TCHAR * pPath);
BOOL Main_ConnectToGateWay();
long Main_Process_Log();
void CFXSendDlg::AddLog(CString str,long lLogType,long lShowInWin);
static void YD_Process_Sleep( CFXSendDlg * pDlg , long s);
static CString GetIPHead(CString strIP,CString strSplit);
BOOL PushReport(long lSendID,long lCorpID,long lUserID , long lStatus , long lErrorCode , const TCHAR * szErrorCode);
static UINT Cmpp_CheckResp(LPVOID sParam);
static UINT Cmpp_Process(LPVOID sParam);
static UINT ClearMobileInReSendT(LPVOID sParam);
static UINT Cmpp3_CheckResp(LPVOID sParam);
static UINT Cmpp3_Process(LPVOID sParam);
void EnableButton( BOOL b);
static void AdjustToken();
static BOOL Reboot();
static void GetProcessNameAndID(DWORD processID, TCHAR *pProcessName);
static BOOL TerminateProcess2(const TCHAR * pName);
static TCHAR * ExMobileGZM( TCHAR * pMobile );
static long EnCodeUTF8(TCHAR *pSrc,char * pTag , long lSrcLen , BOOL bAddQuot_Print);
static BYTE toHex(const BYTE &x);
static CStringA URLEncode(CStringA sIn);
static BYTE toHex2(const BYTE &x);
static BYTE fromHex(const BYTE &x);
static CStringA URLEncode2(const CStringA &sIn);
static CStringA URLDecode(CStringA &sIn);
static CString URLDecode(CString &sIn);
static void AddLogMsg2(_SendNextSms Send , CString str);
void AddLog2(CString str);
static UINT RecvSmsReportT(LPVOID sParam);
static UINT RecvSmsReportT2(LPVOID sParam);
static UINT QQTX_RecvT(LPVOID sParam);
static BOOL GetSpiltUnicodeMsg(TCHAR *pMsg, TCHAR *pReMsg, long lSplitCount, long lSplitLen, long &lAllSplitLen);
static BOOL GetSpiltAsciiMsg(TCHAR *pMsg, TCHAR *pReMsg, long lSplitCount, long lSplitLen, long &lAllSplitLen);
static BOOL isChinese(TCHAR *pSrc, long lSrcLen);
static void AddLogMsg( _SendNextSms Send , CString str );
void AddLog(CString str);
static UINT SendNextSms_DBT(LPVOID sParam);
static UINT SendNextSmsT(LPVOID sParam);
static UINT Main_Start(LPVOID sParam);
BOOL SaveSetup();
void CreateNewSetup();
void GetMobSetup_Name(TCHAR *pFileName);
BOOL ReadSetup();
static long Mms_GetPro(CFXSendDlg * pDlg , CAdoRecordSet * pAdo ,FZ_Send &send,CString strMmsFilePath , MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile);
static long Public_SendMms_GDDX_ISAG(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend);
static long Public_SendMms_MM7(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend);
static long Public_SendMms_GZHZJ2(CFXSendDlg *pDlg, FZ_Send &send,CAdoRecordSet *pAdoRS, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend);
static long Public_SendMms_GZHZJ(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend);
static long Public_SendMms_BJHS(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend);
static long Public_SendMms_北京宇宙之讯(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon, MMS_Head & mmsHead, MMS_Z * mmsZ, BYTE * pMMSFile, BYTE * pMMSSend);
static long Public_SendMms_BJZW(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend);
static long Public_SendMms_GZSY(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend);
static long Public_SendMms_BJDX_IAGW(CFXSendDlg *pDlg, FZ_Send &send, HINTERNET &hCon,MMS_Head & mmsHead,MMS_Z * mmsZ,BYTE * pMMSFile,BYTE * pMMSSend);
static long Public_RecvReport_Mms_GZHZJ(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvReport_Mms_GZHZJ2(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvReport_Mms_BJHS(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvReport_Sms_CG0578(CFXSendDlg *pDlg, HINTERNET &hCon);
static long Public_RecvReport_Sms_Mas1_2(CFXSendDlg *pDlg, CMySqlConnection * pMySqlConnection);
static long Public_SendSms_GDDX_ISAG(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FZ_Send &send, HINTERNET &hCon);
static CStringA Mms_GetSmil(MMS_Head &mmsHead, MMS_Z *mmsZ,long lFileID=0 );
static long Mms_GetAttach(MMS_Head &mmsHead, MMS_Z *mmsZ, BYTE *pMMSSend,BOOL bSubPart, FZ_Send &send,long lSpecialType=0);
static CString Mms_GetXmlVal(CString str, CString strBegin, CString strEnd);
static long Mms_SendWebReq(HINTERNET &hCon, CString strUrl, BYTE * pSend,long lSendLen, char *pRetBuf, long lRetBufSize , CString strContentType , CString strSOAPAction ,BOOL bSendMms7=false, BOOL bHttps=false);
static long Mms_SendWebReq2(CString strUrl, BYTE * pSend, long lSendLen, char *pRetBuf, long lRetBufSize, CString strContentType, CString strSOAPAction);
static CStringA GetExpFileName(CString strFileName);
static CString GetShortFileName(CString strFileName);
static CStringA AsciiToHex_S(CStringA sIn);
static CStringA AsciiToHex_S(CString sIn);
static bool Main_bInTime(SYSTEMTIME tBegin , SYSTEMTIME tEnd);
static UINT Public_SendSms_KLTX_Reg_T(LPVOID pParam);
static long ZSDX3Web_Register3(HINTERNET & hCon , CString strUC , CString strPasswd ,CString strUrl, CString strUpUrl , CString& strConnID);
static UINT ZSDX3Web_Process_T(LPVOID pParam);
static UINT ZSDX3Web_Process_Socket(LPVOID pParam);
static UINT ZSDX3Web_Process_Socket2(LPVOID pParam);
static UINT ZSDX3Web_Process_Req_KLTX(CFXSendDlg * pDlg ,SOCKET sock,CString strR);
static UINT ZSDX3Web_Process_Req_KLTX_Service(CFXSendDlg * pDlg ,SOCKET sock,CString strIP,CString strT,CString strR);
static UINT ZSDX3Web_Process_Req_BJYZZX(CFXSendDlg * pDlg ,SOCKET sock,CString strR);
static UINT ZSDX3Web_Process_Req_BJLCZS(CFXSendDlg * pDlg ,SOCKET sock,CString strT,CString strR);
static UINT ZSDX3Web_Process_Req_北京合众互创(CFXSendDlg * pDlg, SOCKET sock, CString strT, char * pData,long lDataLen);
static UINT ZSDX3Web_Process_Req_东莞政府短信平台(CFXSendDlg * pDlg, SOCKET sock, CString strT, CString strR, CString & strRet);
static UINT ZSDX3_Web_Process_Service_SendT(LPVOID pParam);
static BOOL ZSDX3_Web_Process_Service_StatusBack(CFXSendDlg * pDlg,CAdoRecordSet & AdoRS,FXSend_MT & mt);
static long ZSDX3_Web_Process_Service_SendSms(CFXSendDlg *pDlg, CAdoRecordSet *pAdoRS, FXSend_MT &mt, HINTERNET &hCon,CString strUser,CString strPasswd,CString strConnID,long lUserID,long lRegIndex);
ZSDX_Users * ZSDX3Web_GetNextUser(CString & strConnID);
BOOL ZSDX3Web_Init(SOCKET & sock,u_short uPort);
static BOOL ZSDX3Web_SocketSend(SOCKET sock, char *pData, long lLen);
static BOOL ZSDX3Web_SendHttpRet(SOCKET s, const char * pRet , long lLen);
static CString ZSDX3Web_GetHttpVal(CString str, CString strBegin);
static BOOL ZSDX3Web_ReadFrame(SOCKET s, ZSDX_Data_Recv *pRecv);
static BOOL isSocketClose(SOCKET s);
static CStringA ZSDX3Web_GetXmlVal(CStringA str , CStringA strBegin, CStringA strEnd);
CFXSendDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CFXSendDlg)
enum { IDD = IDD_FXSEND_DIALOG };
CStatic m_S_ZD_Recv2;
CStatic m_S_Select_DB;
CStatic m_S_ZD_Send2;
CStatic m_S_ZD_Recv;
CStatic m_S_ZD_Send;
CButton m_B_NoRet;
CButton m_B_NoReport;
CButton m_B_ShowLog;
CButton m_S_Send;
CButton m_B_CheckBack;
CEdit m_E_Msg2;
CEdit m_E_Msg;
CButton m_B_Start;
CString m_strIP;
CString m_strPasswd;
CString m_strUser;
CString m_strIP2;
CString m_strPasswd2;
CString m_strUser2;
UINT m_lNumType;
UINT m_lSendFCS;
// UINT m_lSendRet;
UINT m_lTopSel;
CString m_strWindow;
BOOL m_bCheckBack;
UINT m_lDelay;
BOOL m_bMainReSend;
BOOL m_bExCM;
BOOL m_bCheckCM;
BOOL m_bNoRet;
BOOL m_bNoReport;
BOOL m_bExCM2;
BOOL m_bNo86;
int m_lUpdateLock;
int m_lSelectLock;
UINT m_lSpeed;
UINT m_lOnePackSmsCount;
BOOL m_bSupLongSms;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CFXSendDlg)
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CFXSendDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnSave();
afx_msg void OnStart();
#ifdef _M_X64
afx_msg void OnTimer(UINT_PTR nIDEvent);
#else
afx_msg void OnTimer(UINT nIDEvent);
#endif
afx_msg void OnTest();
afx_msg void OnShowlog();
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
afx_msg void OnNoret();
afx_msg void OnNoreport();
afx_msg void OnTest2();
afx_msg void On0();
afx_msg void OnChangeTopsel();
afx_msg void OnChangeDelay();
afx_msg void OnChangeSpeed();
afx_msg void OnSelchangeSelectLock();
afx_msg void OnSelchangeUpdateLock();
virtual void OnCancel();
afx_msg void OnTdsetup();
afx_msg void OnChangeOnepacksmscount();
afx_msg void OnClose();
//}}AFX_MSG
afx_msg LRESULT On_Add_Log( WPARAM wParam , LPARAM lParam );
afx_msg LRESULT On_Add_Log2( WPARAM wParam , LPARAM lParam );
afx_msg LRESULT On_TD_Stop( WPARAM wParam , LPARAM lParam );
afx_msg LRESULT On_TD_Req( WPARAM wParam , LPARAM lParam );
DECLARE_MESSAGE_MAP()
public:
CString m_strSendRet;
afx_msg void OnDestroy();
CButton m_B_NoRecv;
BOOL m_bNoRecv;
afx_msg void OnBnClickedNorecv();
afx_msg void OnBnClickedCheckback();
static BOOL QQTX_CheckReq(CFXSendDlg * pDlg,CAdoRecordSet * pAdoRS,CAdoRecordSet * pAdoRS2);
BOOL m_bExpLongSms;
CButton m_B_ShowLog2;
afx_msg void OnBnClickedShowlog2();
afx_msg void OnBnClickedSCmpp();
CString m_strDBProvider;
afx_msg void OnBnClickedMainresend();
afx_msg void OnCbnSelchangeCheckresend();
int m_lCheckReSend;
static CStringA UnicodeToString(TCHAR * pMsg);
BOOL m_bVerifySignature;
BOOL m_bVerifySignatureReject;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_FXSENDDLG_H__2B44AC49_F0C4_4DD0_BE7D_F08A1AA00FF9__INCLUDED_)