199 lines
5.8 KiB
C
199 lines
5.8 KiB
C
![]() |
#if !defined(AFX_SENDTHREAD_H__25693B28_4ADE_405D_A48D_E71E7850D4FD__INCLUDED_)
|
|||
|
#define AFX_SENDTHREAD_H__25693B28_4ADE_405D_A48D_E71E7850D4FD__INCLUDED_
|
|||
|
|
|||
|
#if _MSC_VER > 1000
|
|||
|
#pragma once
|
|||
|
#endif // _MSC_VER > 1000
|
|||
|
// SendThread.h : header file
|
|||
|
//
|
|||
|
|
|||
|
typedef struct _SmsSendData
|
|||
|
{
|
|||
|
long lStatus; //<2F><><EFBFBD><EFBFBD>״̬,0-<2D>ύ<EFBFBD>ɹ<EFBFBD>,1-<2D>ύʧ<E1BDBB><CAA7>,2-<2D>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EEB2BB>,3-<2D><>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EEB2BB>,4-<2D><>ҵ<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD>
|
|||
|
long lSendID; //<2F><><EFBFBD>ͷ<EFBFBD><CDB7>ص<EFBFBD>ID
|
|||
|
long lCorpID; //<2F><><EFBFBD>͵<EFBFBD><CDB5><EFBFBD>ҵID
|
|||
|
long lUserID; //<2F><><EFBFBD>͵<EFBFBD><CDB5>û<EFBFBD>ID
|
|||
|
TCHAR szGroupID[32];
|
|||
|
long lReSendCount;
|
|||
|
TCHAR szMsgID[32];
|
|||
|
TCHAR szSender[32];
|
|||
|
TCHAR szSendNum[32];
|
|||
|
TCHAR szRecver[32];
|
|||
|
TCHAR szRecvNum[32];
|
|||
|
long lRecvNumType;
|
|||
|
BOOL bStatusReport; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
TCHAR szRecvStatus[32]; //<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
TCHAR szMsg[512]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
long lMsgType;
|
|||
|
long lSendRet; //SubmitAExEx<45>ķ<EFBFBD><C4B7><EFBFBD>ֵ
|
|||
|
long lSendFCS; //SubmitAExEx fcs<63>ķ<EFBFBD><C4B7><EFBFBD>ֵ
|
|||
|
SYSTEMTIME tTimer; //<2F><>ʱʱ<CAB1><CAB1>
|
|||
|
SYSTEMTIME tOvrTime; //<2F><>ʱʱ<CAB1><CAB1>
|
|||
|
SYSTEMTIME tSendTime;
|
|||
|
SYSTEMTIME tSubTime;
|
|||
|
}SmsSendData;
|
|||
|
|
|||
|
typedef struct _SubmitData_Mobile
|
|||
|
{
|
|||
|
TCHAR szName[32];
|
|||
|
TCHAR szMobile[32];
|
|||
|
CString * pMsg;
|
|||
|
}SubmitData_Mobile;
|
|||
|
|
|||
|
#define SubmitData_Mobile_Max 100
|
|||
|
|
|||
|
typedef struct _SubmitData
|
|||
|
{
|
|||
|
long lStatus; //<2F><><EFBFBD><EFBFBD>״̬,0-<2D>ύ<EFBFBD>ɹ<EFBFBD>,1-<2D>ύʧ<E1BDBB><CAA7>,2-<2D>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EEB2BB>,3-<2D><>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EEB2BB>,4-<2D><>ҵ<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD>
|
|||
|
long lItem; //<2F><><EFBFBD><EFBFBD>Item
|
|||
|
long lItemID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>smsitem<65><6D><EFBFBD><EFBFBD>ID
|
|||
|
long lSendID; //<2F><><EFBFBD>ͷ<EFBFBD><CDB7>ص<EFBFBD>ID
|
|||
|
long lCorpID; //<2F><><EFBFBD>͵<EFBFBD><CDB5><EFBFBD>ҵID
|
|||
|
long lUserID; //<2F><><EFBFBD>͵<EFBFBD><CDB5>û<EFBFBD>ID
|
|||
|
TCHAR szSendNum[32];//<2F><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>
|
|||
|
TCHAR szName[32]; //Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
TCHAR szMobile[32]; //Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
TCHAR szMsg[2048]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
long lMobileCount; //Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>=0,<2C><><EFBFBD><EFBFBD>szName,szMobileΪ
|
|||
|
SubmitData_Mobile Mobile[SubmitData_Mobile_Max];//<2F><><EFBFBD><EFBFBD>100<30><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
long lKFCount; //<2F>۷<EFBFBD><DBB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
long lPrority; //<2F><><EFBFBD>ȼ<EFBFBD>
|
|||
|
SYSTEMTIME tTimer; //<2F><>ʱʱ<CAB1><CAB1>
|
|||
|
SYSTEMTIME tOvrTime; //<2F><>ʱʱ<CAB1><CAB1>
|
|||
|
}SubmitData;
|
|||
|
|
|||
|
typedef struct _UpSmsS
|
|||
|
{
|
|||
|
long lCorpID;
|
|||
|
long lUserID;
|
|||
|
long lType;
|
|||
|
LPVOID pDlg; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
TCHAR szSendNum[32];
|
|||
|
TCHAR szRecvNum[32];
|
|||
|
TCHAR szMsg[256]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
TCHAR szUrl[128]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
TCHAR szAddNum[32];
|
|||
|
SYSTEMTIME tSendTime;
|
|||
|
|
|||
|
long lSendID;
|
|||
|
long lStatus;
|
|||
|
TCHAR szAddStatus[32];
|
|||
|
}UpSmsS;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
typedef struct _MmsRecv
|
|||
|
{
|
|||
|
|
|||
|
long lSendID; //<2F><><EFBFBD>ͷ<EFBFBD><CDB7>ص<EFBFBD>ID
|
|||
|
long lCorpID; //<2F><><EFBFBD>͵<EFBFBD><CDB5><EFBFBD>ҵID
|
|||
|
long lUserID; //<2F><><EFBFBD>͵<EFBFBD><CDB5>û<EFBFBD>ID
|
|||
|
long lMmsFileID;
|
|||
|
long lmmSize;
|
|||
|
TCHAR szTitle[256];
|
|||
|
TCHAR szSendNum[32];
|
|||
|
TCHAR szRecvNum[32];
|
|||
|
long lRecvNumType;
|
|||
|
SYSTEMTIME tSendTime;
|
|||
|
}MmsRecv;
|
|||
|
|
|||
|
///////////////////////////////////////////////////
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
// CSendThread thread
|
|||
|
#define TH_SEND WM_USER + 400 //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>Ϣ
|
|||
|
#define TH_RECV WM_USER + 401 //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>Ϣ
|
|||
|
|
|||
|
#define SEND_SMS_MAXRESEND 3 //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>
|
|||
|
|
|||
|
class CSmsCenterDlg;
|
|||
|
class CSendThread : public CWinThread
|
|||
|
{
|
|||
|
public:
|
|||
|
typedef struct _BBS_Insert
|
|||
|
{
|
|||
|
long BBSID;
|
|||
|
long SCorpID;
|
|||
|
long SUserID;
|
|||
|
TCHAR SCorpName[128];
|
|||
|
TCHAR SUserName[128];
|
|||
|
long RCorpID;
|
|||
|
long RUserID;
|
|||
|
long RAgentID;
|
|||
|
long Status;
|
|||
|
TCHAR Type[128];
|
|||
|
TCHAR Name[128];
|
|||
|
TCHAR Tel[128];
|
|||
|
TCHAR Email[128];
|
|||
|
TCHAR BZ[512];
|
|||
|
long BBSType;
|
|||
|
long CorpID;
|
|||
|
long UserID;
|
|||
|
TCHAR CM[128];
|
|||
|
long AgentID;
|
|||
|
long AgentYJ;
|
|||
|
SYSTEMTIME expTime;
|
|||
|
}BBS_Insert;
|
|||
|
|
|||
|
public:
|
|||
|
BOOL m_bSend; //<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>ڷ<EFBFBD><DAB7>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CAdoConnection m_adoConnection;
|
|||
|
CAdoRecordSet m_AdoRS;
|
|||
|
CAdoRecordSet m_AdoRS1;
|
|||
|
CAdoRecordSet m_AdoRS2;
|
|||
|
CSmsCenterDlg * m_pSMSDlg;
|
|||
|
|
|||
|
long m_lSendCount;
|
|||
|
|
|||
|
DECLARE_DYNCREATE(CSendThread)
|
|||
|
public:
|
|||
|
CSendThread(); // protected constructor used by dynamic creation
|
|||
|
|
|||
|
// Attributes
|
|||
|
public:
|
|||
|
|
|||
|
// Operations
|
|||
|
public:
|
|||
|
|
|||
|
// Overrides
|
|||
|
// ClassWizard generated virtual function overrides
|
|||
|
//{{AFX_VIRTUAL(CSendThread)
|
|||
|
public:
|
|||
|
virtual BOOL InitInstance();
|
|||
|
virtual int ExitInstance();
|
|||
|
//}}AFX_VIRTUAL
|
|||
|
|
|||
|
// Implementation
|
|||
|
public:
|
|||
|
static BOOL Recv_QQT(long lCorpID,long lUserID,long lRtx_GroupTaskID, CAdoRecordSet *pAdoRS, CAdoRecordSet *pAdoRS2, CSmsCenterDlg *pSMSDlg);
|
|||
|
static BOOL PushRecvSmsToOtherCenter(HANDLE & hPipe,SmsSendData data, CString strProv,CString strCity);
|
|||
|
static BOOL PushRecvSmsToOtherCenter(long lType,CAdoRecordSet *pAdoRS, SmsSendData data, CString strProv, CString strCity);
|
|||
|
static BOOL Bbs_Insert_Sys(CAdoRecordSet *pAdoRS,CString strBZ, COleDateTime * pExpTime=NULL);
|
|||
|
static BOOL Bbs_Insert(CAdoRecordSet *pAdoRS,BBS_Insert & bbs);
|
|||
|
static BOOL ProcessUp(CSmsCenterDlg * pSMSDlg,DWORD dwType,long lMobileType,SmsSendData sms , CAdoRecordSet * pAdoRS, CAdoRecordSet * pAdoRS2,CAdoRecordSet * pAdoRS3,BOOL bReportNumber,long lCorpID,long lUserID,long lTDMode,CString strSName);
|
|||
|
static BOOL Recv_Mms(MmsRecv mms,CAdoRecordSet * pAdoRS,CAdoRecordSet * pAdoRS2,CSmsCenterDlg * pSMSDlg);
|
|||
|
//static BOOL SetSmsAddOne(CAdoRecordSet *pAdoRS,long lSendID,long lType=0);
|
|||
|
//static BOOL SetSmsAddOne(CAdoRecordSet * pAdoRS , long lCorpID , long lUserID , long lKF , const TCHAR * pRecvStatus,long lSendRet,BOOL bAdc );
|
|||
|
static DWORD WINAPI Recv_Sms_UpSms(LPVOID pParam);
|
|||
|
static BOOL SplitNum( TCHAR * pCorp , TCHAR * pMan );
|
|||
|
static long SubmitSms(SubmitData & SendData,CAdoRecordSet * pAdoRS,CAdoRecordSet * pAdoRS2,CSmsCenterDlg * pSMSDlg,long lMobileType,long lSmsType,long lSmsKF=0);
|
|||
|
static BOOL Recv_Sms(HANDLE & hPipe,SmsSendData sms,CAdoRecordSet * pAdoRS,CAdoRecordSet * pAdoRS2,CAdoRecordSet * pAdoRS3,CSmsCenterDlg * pSMSDlg);
|
|||
|
virtual ~CSendThread();
|
|||
|
protected:
|
|||
|
// Generated message map functions
|
|||
|
//{{AFX_MSG(CSendThread)
|
|||
|
// NOTE - the ClassWizard will add and remove member functions here.
|
|||
|
//}}AFX_MSG
|
|||
|
|
|||
|
|
|||
|
DECLARE_MESSAGE_MAP()
|
|||
|
};
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|||
|
//{{AFX_INSERT_LOCATION}}
|
|||
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|||
|
|
|||
|
#endif // !defined(AFX_SENDTHREAD_H__25693B28_4ADE_405D_A48D_E71E7850D4FD__INCLUDED_)
|