2747 lines
86 KiB
C++
2747 lines
86 KiB
C++
![]() |
// SendThread.cpp : implementation file
|
|||
|
//
|
|||
|
|
|||
|
#include "stdafx.h"
|
|||
|
#include "SmsCenter.h"
|
|||
|
#include "SendThread.h"
|
|||
|
|
|||
|
#ifdef _DEBUG
|
|||
|
#define new DEBUG_NEW
|
|||
|
#undef THIS_FILE
|
|||
|
static char THIS_FILE[] = __FILE__;
|
|||
|
#endif
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
// CSendThread
|
|||
|
|
|||
|
#include "SmsCenterDlg.h"
|
|||
|
extern CSmsCenterApp theApp;
|
|||
|
|
|||
|
BOOL g_bInit2=false;
|
|||
|
CSmsCenterDlg * g_pSMSDlg2=NULL;
|
|||
|
|
|||
|
#include <afxinet.h>
|
|||
|
#pragma comment(lib, "wininet.lib")
|
|||
|
|
|||
|
IMPLEMENT_DYNCREATE(CSendThread, CWinThread)
|
|||
|
|
|||
|
CSendThread::CSendThread()
|
|||
|
{
|
|||
|
m_lSendCount = 0;
|
|||
|
m_bSend = false;
|
|||
|
}
|
|||
|
|
|||
|
CSendThread::~CSendThread()
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
BOOL CSendThread::InitInstance()
|
|||
|
{
|
|||
|
// TODO: perform and per-thread initialization here
|
|||
|
return TRUE;
|
|||
|
}
|
|||
|
|
|||
|
int CSendThread::ExitInstance()
|
|||
|
{
|
|||
|
return CWinThread::ExitInstance();
|
|||
|
}
|
|||
|
|
|||
|
BEGIN_MESSAGE_MAP(CSendThread, CWinThread)
|
|||
|
//{{AFX_MSG_MAP(CSendThread)
|
|||
|
// NOTE - the ClassWizard will add and remove mapping macros here.
|
|||
|
//}}AFX_MSG_MAP
|
|||
|
|
|||
|
END_MESSAGE_MAP()
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
// CSendThread message handlers
|
|||
|
BOOL CSendThread::Recv_Sms(HANDLE & hPipe,SmsSendData sms,CAdoRecordSet * pAdoRS,CAdoRecordSet * pAdoRS2,CAdoRecordSet * pAdoRS3,CSmsCenterDlg * pSMSDlg)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
CString str;
|
|||
|
CString strSelect;
|
|||
|
CString strAllNum = sms.szRecvNum;
|
|||
|
CString strExTFH;
|
|||
|
CString strExCorpNum;
|
|||
|
CString strCorpNum;
|
|||
|
CString strUserNum;
|
|||
|
CString strExNum;
|
|||
|
CString strGroupID;
|
|||
|
CString strSender;
|
|||
|
CString strRecver;
|
|||
|
CString strProv;
|
|||
|
CString strCity;
|
|||
|
CString strSName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
TCHAR szUpSms[256]={0};
|
|||
|
|
|||
|
long lCorpID=0;
|
|||
|
long lUserID=0;
|
|||
|
DWORD lPurview=0;
|
|||
|
BOOL bSWT=false;
|
|||
|
|
|||
|
long lTFHBegin=0;
|
|||
|
long lTDMode = 0;
|
|||
|
//<2F><>ͨ<EFBFBD><CDA8>ID
|
|||
|
CString strTDNum;
|
|||
|
long lLen = strAllNum.GetLength();
|
|||
|
for ( int i=lLen; i>=0 ; i-- )
|
|||
|
{
|
|||
|
strTDNum = strAllNum.Left(i); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>λ<EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊ<EFBFBD>ط<EFBFBD><D8B7><EFBFBD>
|
|||
|
str.Format(_T("select * from TD2 with(nolock) where Ability=0 and AccessPort='%s'") , strTDNum );
|
|||
|
if (strTDNum.GetLength()>0 && pAdoRS->Open(str) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
lTFHBegin = i;
|
|||
|
pAdoRS->GetCollect(_T("Mode") , lTDMode);
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
if ( lTFHBegin>0 )
|
|||
|
{
|
|||
|
strExTFH = strAllNum.Right(strAllNum.GetLength()-lTFHBegin); //<2F>ų<EFBFBD><C5B3><EFBFBD><EFBFBD>ط<EFBFBD><D8B7>ź<EFBFBD>ʣ<EFBFBD>µĺ<C2B5><C4BA><EFBFBD>
|
|||
|
//<2F><>ѯ<EFBFBD><D1AF>ҵID
|
|||
|
long lLen = strExTFH.GetLength();
|
|||
|
for ( int i=lLen; i>=0 ; i-- )
|
|||
|
{
|
|||
|
strCorpNum = strExTFH.Left(i); //<2F><><EFBFBD>ҿ<EFBFBD>ʼ<EFBFBD><CABC>λ<EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD>ҵ<EFBFBD>ط<EFBFBD><D8B7><EFBFBD>
|
|||
|
if ( lTDMode == 1 || lTDMode == 2 ) //Ѹ<><D1B8><EFBFBD>ڰ<EFBFBD><DAB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD>2<EFBFBD><32>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9>
|
|||
|
{
|
|||
|
str.Format(_T("select * from Corp with(nolock) where SMSNum2='%s'") , strCorpNum );
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
str.Format(_T("select * from Corp with(nolock) where SMSNum='%s'") , strCorpNum );
|
|||
|
}
|
|||
|
if (strCorpNum.GetLength()>0 && pAdoRS->Open(str) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS->GetCollect(_T("CorpID") , lCorpID );
|
|||
|
pAdoRS->GetCollect( _T("SName") , strSName );
|
|||
|
pAdoRS->GetCollect( _T("UpSms") , szUpSms );
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮ͨ<CDA8><D6AE><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룬<EFBFBD><EBA3AC>QXT_SmsNum<75>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD>ҵID
|
|||
|
long lLen = strAllNum.GetLength();
|
|||
|
for ( int i=lLen; i>=0 ; i-- )
|
|||
|
{
|
|||
|
strTDNum = strAllNum.Left(i); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>λ<EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊ<EFBFBD>ط<EFBFBD><D8B7><EFBFBD>
|
|||
|
str.Format(_T("select * from corp with(nolock) where QXT_SmsNum='%s'") , strTDNum );
|
|||
|
if (strTDNum.GetLength()>0 && pAdoRS->Open(str) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
lTFHBegin = i;
|
|||
|
pAdoRS->GetCollect(_T("CorpID") , lCorpID );
|
|||
|
pAdoRS->GetCollect( _T("SName") , strSName );
|
|||
|
pAdoRS->GetCollect( _T("UpSms") , szUpSms );
|
|||
|
|
|||
|
strExTFH = strAllNum.Right(strAllNum.GetLength()-lTFHBegin); //<2F>ų<EFBFBD><C5B3><EFBFBD><EFBFBD>ط<EFBFBD><D8B7>ź<EFBFBD>ʣ<EFBFBD>µĺ<C2B5><C4BA><EFBFBD>
|
|||
|
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ID
|
|||
|
if (lCorpID>0 )
|
|||
|
{
|
|||
|
strExCorpNum = strExTFH.Right(strExTFH.GetLength()-strCorpNum.GetLength()); //<2F>ų<EFBFBD><C5B3><EFBFBD>ҵ<EFBFBD>ط<EFBFBD><D8B7>ź<EFBFBD>ʣ<EFBFBD>µĺ<C2B5><C4BA><EFBFBD>
|
|||
|
long lLen = strExCorpNum.GetLength();
|
|||
|
for ( int i=lLen; i>=0 ; i-- )
|
|||
|
{
|
|||
|
strUserNum = strExCorpNum.Left(i); //<2F><><EFBFBD>ҿ<EFBFBD>ʼ<EFBFBD><CABC>λ<EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD>ҵ<EFBFBD>ط<EFBFBD><D8B7><EFBFBD>
|
|||
|
str.Format(_T("select * from Users with(nolock) where CorpID=%d and SMSNum='%s'") , lCorpID , strUserNum );
|
|||
|
if (strUserNum.GetLength()>0 && pAdoRS->Open(str) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS->GetCollect(_T("UserID") , lUserID );
|
|||
|
pAdoRS->GetCollect(_T("Name") , strRecver );
|
|||
|
pAdoRS->GetCollect( _T("purview"), lPurview );
|
|||
|
pAdoRS->GetCollect(_T("GroupID") , strGroupID );
|
|||
|
|
|||
|
if ( lPurview&PURVIEW_LOGIN && lPurview&PURVIEW_RECVP ) //<2F>е<EFBFBD>¼Ȩ<C2BC>ޣ<EFBFBD><DEA3><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
{
|
|||
|
pAdoRS->GetCollect( _T("UserID") , lUserID );
|
|||
|
long lSDK;
|
|||
|
pAdoRS->GetCollect( _T("SDK") , lSDK );
|
|||
|
bSWT = lSDK & SDK_SWT ? true:false;
|
|||
|
}
|
|||
|
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
strExNum = strExTFH.Right(strExTFH.GetLength()-strCorpNum.GetLength()-strUserNum.GetLength());
|
|||
|
|
|||
|
|
|||
|
/*
|
|||
|
//<2F><><EFBFBD>յ<EFBFBD><D5B5>Ķ<EFBFBD><C4B6><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>
|
|||
|
if ( lCorpID2>0 && _tcslen(szUpSms) >0 && bSubmitSms )
|
|||
|
{
|
|||
|
UpSmsS * pUpSms = new UpSmsS;
|
|||
|
_tcscpy(pUpSms->szSendNum , data.szSendNum );
|
|||
|
_tcscpy(pUpSms->szRecvNum , data.szRecvNum );
|
|||
|
_tcscpy(pUpSms->szMsg , data.szMsg );
|
|||
|
_tcscpy(pUpSms->szUrl , szUpSms );
|
|||
|
pUpSms->tSendTime = data.tSendTime;
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>߳̽<DFB3><CCBD>д<EFBFBD><D0B4><EFBFBD>
|
|||
|
::AfxBeginThread((AFX_THREADPROC)UpSms,(LPVOID)pUpSms,THREAD_PRIORITY_BELOW_NORMAL);
|
|||
|
}
|
|||
|
*/
|
|||
|
//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
long lMobileType=MOBILE_TYPE_UNKNOW;
|
|||
|
strSender = CSendPub::GetMobileProvCity(pAdoRS2,sms.szSendNum,lMobileType,strProv,strCity);
|
|||
|
|
|||
|
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
BOOL bReportNumber = false;
|
|||
|
DWORD dwType = 0;
|
|||
|
str.Format( _T("select * from reportnum with(nolock) where (Mobile='%s' or WxWorkName='%s') and Status=1") , sms.szSendNum, sms.szSendNum);
|
|||
|
if ( pAdoRS->Open(str) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
bReportNumber = true;
|
|||
|
pAdoRS->GetCollect( _T("Type") , dwType );
|
|||
|
pAdoRS->Close();
|
|||
|
}
|
|||
|
if (pSMSDlg->m_WxWork.bSend && (CString(sms.szSendNum).MakeUpper() == CString(pSMSDlg->m_WxWork.szWxName).MakeUpper())) //<><CEA2>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6>š<EFBFBD>
|
|||
|
{
|
|||
|
bReportNumber = true;
|
|||
|
dwType = dwType | REPORT_CHECKUP;
|
|||
|
}
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|||
|
ProcessUp(pSMSDlg,dwType,lMobileType,sms , pAdoRS,pAdoRS2,pAdoRS3,bReportNumber,lCorpID,lUserID,lTDMode,strSName);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//<2F><><EFBFBD>յ<EFBFBD><D5B5>Ķ<EFBFBD><C4B6>ŷ<EFBFBD><C5B7>뷢<EFBFBD><EBB7A2><EFBFBD>б<EFBFBD>
|
|||
|
SmsSendData data={0};
|
|||
|
data.lCorpID = lCorpID;
|
|||
|
data.lUserID = lUserID;
|
|||
|
data.lSendID = 0; //<2F><>Ϊ<EFBFBD>ǽ<EFBFBD><C7BD>գ<EFBFBD>SendID=0
|
|||
|
data.lStatus = SEND_STATUS_RECV_OK; //<2F><><EFBFBD>ճɹ<D5B3>
|
|||
|
data.lMsgType= SMSTYPE_RECV;
|
|||
|
_tcscpy( data.szGroupID , strGroupID );
|
|||
|
_tcscpy( data.szSendNum , sms.szSendNum );
|
|||
|
_tcscpy( data.szRecvNum , sms.szRecvNum );
|
|||
|
_tcscpy( data.szRecver , strRecver );
|
|||
|
_tcscpy( data.szSender , strSender );
|
|||
|
_tcscpy( data.szMsg , sms.szMsg );
|
|||
|
_tcscpy( data.szRecvStatus , strExNum ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>
|
|||
|
data.tSendTime = sms.tSendTime;
|
|||
|
|
|||
|
//<2F><><EFBFBD>յ<EFBFBD><D5B5>Ķ<EFBFBD><C4B6><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>
|
|||
|
if ( lCorpID>0 && _tcslen(szUpSms)>0 )
|
|||
|
{
|
|||
|
UpSmsS * pUpSms = new UpSmsS;
|
|||
|
memset(pUpSms , 0 , sizeof(UpSmsS));
|
|||
|
pUpSms->lCorpID = lCorpID;
|
|||
|
pUpSms->lUserID = lUserID;
|
|||
|
pUpSms->lType = 0; //<2F><><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>
|
|||
|
pUpSms->pDlg = pSMSDlg;
|
|||
|
_tcscpy(pUpSms->szSendNum , data.szSendNum );
|
|||
|
_tcscpy(pUpSms->szRecvNum , data.szRecvNum );
|
|||
|
_tcscpy(pUpSms->szAddNum , data.szRecvStatus ); //<2F><>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>
|
|||
|
_tcscpy(pUpSms->szMsg , data.szMsg );
|
|||
|
if ( szUpSms[0] == 'A' ) //<2F>и<EFBFBD>A<EFBFBD><41>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
_tcscpy(pUpSms->szUrl , szUpSms+1 );
|
|||
|
else
|
|||
|
_tcscpy(pUpSms->szUrl , szUpSms );
|
|||
|
pUpSms->tSendTime = data.tSendTime;
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>߳̽<DFB3><CCBD>д<EFBFBD><D0B4><EFBFBD>
|
|||
|
//::AfxBeginThread((AFX_THREADPROC)Recv_Sms_UpSms,(LPVOID)pUpSms,THREAD_PRIORITY_BELOW_NORMAL);
|
|||
|
QueueUserWorkItem(Recv_Sms_UpSms,(LPVOID)pUpSms , WT_EXECUTELONGFUNCTION );
|
|||
|
}
|
|||
|
|
|||
|
//<2F><>ֹ'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CString strTempMsg = data.szMsg;
|
|||
|
strTempMsg.Replace(_T("'"),_T("''"));
|
|||
|
|
|||
|
CString strSubTime;
|
|||
|
strSubTime.Format( _T("'%04d%02d%02d %02d:%02d:%02d'") , sms.tSendTime.wYear,sms.tSendTime.wMonth,sms.tSendTime.wDay,sms.tSendTime.wHour,sms.tSendTime.wMinute,sms.tSendTime.wSecond );
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>ݵ<EFBFBD>smsrecvlog<6F><67><EFBFBD><EFBFBD>
|
|||
|
strSelect.Format( _T("insert into smsrecvlog(corpid,userid,groupid,Sender,sendnum,recver,recvnum,AddNum,recvnumtype,msg,subtime,LongMsg) values (%d,%d,'%s','%s','%s','%s','%s','%s',%d,'%s',%s,'%s') ") ,
|
|||
|
data.lCorpID,
|
|||
|
data.lUserID,
|
|||
|
data.szGroupID,
|
|||
|
data.szSender,
|
|||
|
data.szSendNum,
|
|||
|
data.szRecver,
|
|||
|
data.szRecvNum,
|
|||
|
strExNum,
|
|||
|
lMobileType,
|
|||
|
strTempMsg,
|
|||
|
strSubTime,
|
|||
|
sms.szRecver
|
|||
|
);
|
|||
|
BOOL b = pAdoRS->Open(strSelect);
|
|||
|
|
|||
|
//ȡID
|
|||
|
strSelect = _T("SELECT SCOPE_IDENTITY()") ;
|
|||
|
if ( pAdoRS->Open( strSelect ) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS->GetCollect((long)0 , data.lSendID );
|
|||
|
|
|||
|
//<2F>ٲ<EFBFBD><D9B2>뵽corpsmsm.dbo.smssend <20><>
|
|||
|
|
|||
|
strSelect.Format( _T("insert into corpsmsm.dbo.smssend (SendID , CorpID,UserID,GroupID,Status,Sender,SendNum,RecvNum,RecvNumType,Recver,Msg,MsgType,SubTime,SendTime,RecvTime,RecvStatus,KF,MsgID) values (%d,%d,%d,'%s',%d,'%s','%s','%s',%d,'%s','%s',%d,%s,%s,%s,'%s',0,'%s') ") ,
|
|||
|
data.lSendID,
|
|||
|
data.lCorpID,
|
|||
|
data.lUserID,
|
|||
|
data.szGroupID,
|
|||
|
data.lStatus,
|
|||
|
data.szSender,
|
|||
|
data.szSendNum,
|
|||
|
data.szRecvNum,
|
|||
|
lMobileType,
|
|||
|
data.szRecver,
|
|||
|
strTempMsg,
|
|||
|
data.lMsgType,
|
|||
|
strSubTime,
|
|||
|
strSubTime,
|
|||
|
strSubTime,
|
|||
|
strExNum,
|
|||
|
sms.szRecver);
|
|||
|
|
|||
|
BOOL b = pAdoRS->Open( strSelect );
|
|||
|
|
|||
|
if ( lCorpID>0 )
|
|||
|
{
|
|||
|
_tcscpy( data.szMsg , sms.szMsg );
|
|||
|
_tcscpy( data.szMsgID , sms.szRecver); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
if (!pSMSDlg->SocketPushMsg(pAdoRS, data, strProv, strCity)) //û<><C3BB><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5>ͻ<EFBFBD><CDBB>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ˵ģ<CBB5>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
#if (defined(SMSCENTER_ONE)||defined(SMSCENTER_TWO)) && defined(_UNICODE) && !defined(SMSCENTER_DEMO) //<2F><><EFBFBD>͵<EFBFBD><CDB5><EFBFBD>UNICODE<44>Ŀͻ<C4BF><CDBB><EFBFBD>
|
|||
|
////PushRecvSmsToOtherCenter(hPipe, data, strProv, strCity);
|
|||
|
//PushRecvSmsToOtherCenter(pAdoRS, data, strProv, strCity);
|
|||
|
#endif
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/*
|
|||
|
strSelect.Format( _T("insert into smssend (CorpID,UserID,GroupID,Status,Sender,SendNum,RecvNum,RecvNumType,Recver,Msg,MsgType,SubTime,SendTime,RecvTime,RecvStatus,KF,MsgID) values (%d,%d,'%s',%d,'%s','%s','%s',%d,'%s','%s',%d,%s,%s,%s,'%s',0,'%s') ") ,
|
|||
|
data.lCorpID,
|
|||
|
data.lUserID,
|
|||
|
data.szGroupID,
|
|||
|
data.lStatus,
|
|||
|
data.szSender,
|
|||
|
data.szSendNum,
|
|||
|
data.szRecvNum,
|
|||
|
lMobileType,
|
|||
|
data.szRecver,
|
|||
|
strTempMsg,
|
|||
|
data.lMsgType,
|
|||
|
strSubTime,
|
|||
|
strSubTime,
|
|||
|
strSubTime,
|
|||
|
szExNumb2,
|
|||
|
sms.szRecver);
|
|||
|
|
|||
|
BOOL b = pAdoRS->Open( strSelect );
|
|||
|
|
|||
|
if ( b && lCorpID>0 )
|
|||
|
{
|
|||
|
//ȡSendID
|
|||
|
//strSelect.Format( _T("select * from smssend where UserID=%d AND SubTime=%s AND MsgType=%d order by SubTime desc") , data.lUserID,strSubTime,data.lMsgType);
|
|||
|
//strSelect.Format( "select SendID from smssend where UserID=%d and RecvTime=%s",data.lUserID,strSubTime);
|
|||
|
//if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF())
|
|||
|
strSelect = _T("SELECT SCOPE_IDENTITY();") ;
|
|||
|
if ( pAdoRS->Open( strSelect ) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS->GetCollect((long)0 , data.lSendID );
|
|||
|
//pAdoRS->GetCollect( _T("SendID") , data.lSendID );
|
|||
|
//<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ţ<EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5>û<EFBFBD>
|
|||
|
//SmsSendData * psms = new SmsSendData;
|
|||
|
//*psms = data;
|
|||
|
//_tcscpy( psms->szMsg , sms.szMsg );
|
|||
|
//pSMSDlg->On_User_PushMsg( SMS_PUSH , (WPARAM)psms , 0 );
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>ݵ<EFBFBD>smsrecvlog<6F><67><EFBFBD><EFBFBD>
|
|||
|
strSelect.Format( _T("insert into smsrecvlog(sendid,corpid,userid,groupid,Sender,sendnum,recver,recvnum,AddNum,recvnumtype,msg,subtime,LongMsg) values (%d,%d,%d,'%s','%s','%s','%s','%s','%s',%d,'%s',%s,'%s') ") ,
|
|||
|
data.lSendID,
|
|||
|
data.lCorpID,
|
|||
|
data.lUserID,
|
|||
|
data.szGroupID,
|
|||
|
data.szSender,
|
|||
|
data.szSendNum,
|
|||
|
data.szRecver,
|
|||
|
data.szRecvNum,
|
|||
|
szExNumb2,
|
|||
|
lMobileType,
|
|||
|
strTempMsg,
|
|||
|
strSubTime,
|
|||
|
sms.szRecver
|
|||
|
);
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
|
|||
|
_tcscpy( data.szMsg , sms.szMsg );
|
|||
|
_tcscpy( data.szMsgID , sms.szRecver); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
if ( bSubmitSms )
|
|||
|
{
|
|||
|
pSMSDlg->SocketPushMsg(pAdoRS, data,strProv,strCity );
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endif
|
|||
|
if ( lCorpID <= 0 ) //û<>ҵ<EFBFBD><D2B5><EFBFBD>Ӧ<EFBFBD><D3A6>ҵID,<2C>˳<EFBFBD>
|
|||
|
return false;
|
|||
|
|
|||
|
*/
|
|||
|
|
|||
|
//<2F>Ȳ<EFBFBD>ѯ<EFBFBD>Ƿ<EFBFBD>Ҫת<D2AA><D7AA>
|
|||
|
if ( lUserID != 0 ) //<2F><><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
strSelect.Format( _T("select * from smszf where UserID=%d AND ((BZF='1' or BZF='5') or (BZF='3' or BZF='7') and '%s' in (select mobile from smszf where UserID=%d)) ") , lUserID,sms.szSendNum,lUserID );
|
|||
|
else
|
|||
|
strSelect.Format( _T("select * from smszf where CorpID=%d AND UserID=0 AND ((BZF='1' or BZF='5') or (BZF='3' or BZF='7') and '%s' in (select mobile from smszf where CorpID=%d and UserID=0)) ") , lCorpID,sms.szSendNum,lCorpID );
|
|||
|
|
|||
|
if ( pAdoRS->Open( strSelect ) && !pAdoRS->IsEOF() ) //<2F><>Ҫת<D2AA><D7AA><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
TCHAR szTemp[32]={0};
|
|||
|
pAdoRS->GetCollect( _T("BZF") , szTemp );
|
|||
|
long lZF = szTemp[0]-'0';
|
|||
|
|
|||
|
//<2F><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
CString strSender;
|
|||
|
strSelect.Format( _T("select * from smszf with(nolock) where CorpID=%d and Mobile='%s'"),lCorpID,sms.szSendNum );
|
|||
|
if ( pAdoRS2->Open( strSelect ) && !pAdoRS2->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS2->GetCollect(_T("Name"),strSender);
|
|||
|
pAdoRS2->Close();
|
|||
|
}
|
|||
|
//<2F>ڹ<EFBFBD><DAB9><EFBFBD>ͨѶ¼<D1B6>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
strSelect.Format( _T("select * from corpsmsa.dbo.gaddress with(nolock) where CorpID=%d and Mobile='%s'"),lCorpID,sms.szSendNum );
|
|||
|
if ( strSender.GetLength()<=0 && pAdoRS2->Open( strSelect ) && !pAdoRS2->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS2->GetCollect(_T("Name"),strSender);
|
|||
|
pAdoRS2->Close();
|
|||
|
}
|
|||
|
//<2F><><EFBFBD>ʺŹ<CABA><C5B9><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
strSelect.Format( _T("select * from users with(nolock) where CorpID=%d and Mobile='%s'"),lCorpID,sms.szSendNum );
|
|||
|
if ( strSender.GetLength()<=0 && pAdoRS2->Open( strSelect ) && !pAdoRS2->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS2->GetCollect(_T("Name"),strSender);
|
|||
|
pAdoRS2->Close();
|
|||
|
}
|
|||
|
|
|||
|
//pAdoRS->MoveFirst();
|
|||
|
SYSTEMTIME t;::GetLocalTime(&t);
|
|||
|
|
|||
|
while( !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
SubmitData data = { 0 };
|
|||
|
data.lCorpID = lCorpID;
|
|||
|
data.lUserID = lUserID;
|
|||
|
|
|||
|
pAdoRS->GetCollect( _T("Name") , data.szName );
|
|||
|
pAdoRS->GetCollect( _T("Mobile") , data.szMobile );
|
|||
|
/*
|
|||
|
//<2F>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
_stprintf( data.szMsg , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>֪ͨ:\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s<><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%02d.%02d %02d:%02dʱ<64>յ<EFBFBD>%s<>Ķ<EFBFBD><C4B6>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD>") , sms.szRecvNum ,t.wMonth,t.wDay,t.wHour,t.wMinute,sms.szSendNum );
|
|||
|
SubmitSms( data,pAdoRS2,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
//<2F>ٷ<EFBFBD><D9B7><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_tcscpy( data.szMsg , sms.szMsg );
|
|||
|
SubmitSms( data,pAdoRS2,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
*/
|
|||
|
//<2F>ϳ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
memset(data.szSendNum,0,sizeof(data.szSendNum));
|
|||
|
if ( strSender.GetLength()<=0 )
|
|||
|
_stprintf( data.szMsg , _T("ת<EFBFBD><EFBFBD>%s:%s") , sms.szSendNum,sms.szMsg );
|
|||
|
else
|
|||
|
_stprintf( data.szMsg , _T("%s:%s") , strSender,sms.szMsg );
|
|||
|
|
|||
|
data.lItem = 100; //<2F>д˱<D0B4>־<EFBFBD><D6BE><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (lZF&SMSZF_LONGSMS) //<2F>Ƿ<EFBFBD>ǿ<EFBFBD><C7BF>ʹ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
|
|||
|
{
|
|||
|
data.lItemID = 100;
|
|||
|
}
|
|||
|
SubmitSms( data,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
|
|||
|
pAdoRS->MoveNext();
|
|||
|
}
|
|||
|
}
|
|||
|
/*
|
|||
|
//<2F><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><E2B4A6>
|
|||
|
if ( bSWT )
|
|||
|
{
|
|||
|
long lAddNum = 0;
|
|||
|
TCHAR szAddNum[32]={0};
|
|||
|
_tcscpy(szAddNum , szExNumb+_tcslen(szExNum)+_tcslen(szExNum2) );
|
|||
|
szAddNum[2]=0;
|
|||
|
lAddNum = _ttol(szAddNum);
|
|||
|
memset(data.szSendNum,0,sizeof(data.szSendNum));
|
|||
|
if ( lAddNum>0 )
|
|||
|
{
|
|||
|
strSelect.Format( _T("select top 1 * from SWT_Log where UserID=%d and AddNum=%d order by SubTime Desc") , lUserID , lAddNum );
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
CString strMobile1;
|
|||
|
CString strMobile2;
|
|||
|
CString strRecvName;
|
|||
|
long lSWTID=0;
|
|||
|
long lWYID=0;
|
|||
|
pAdoRS->MoveFirst();
|
|||
|
pAdoRS->GetCollect( _T("SendMobile") , strMobile1 );
|
|||
|
pAdoRS->GetCollect( _T("RecvMobile") , strMobile2 );
|
|||
|
pAdoRS->GetCollect( _T("RecvName") , strRecvName );
|
|||
|
|
|||
|
pAdoRS->GetCollect( _T("SWTID") , lSWTID );
|
|||
|
pAdoRS->GetCollect( _T("WYID") , lWYID );
|
|||
|
|
|||
|
if ( strMobile1 == CString(sms.szSendNum) ) //Ϊ<>ͻ<EFBFBD><CDBB>ظ<EFBFBD><D8B8>Ķ<EFBFBD><C4B6><EFBFBD>
|
|||
|
{
|
|||
|
if (isMobileNum(strMobile2)) //ͨ<><CDA8><EFBFBD>ֻ<EFBFBD>ת<EFBFBD><D7AA>
|
|||
|
{
|
|||
|
SubmitData data={0};
|
|||
|
data.lCorpID = lCorpID;
|
|||
|
data.lUserID = lUserID;
|
|||
|
_tcscpy(data.szSendNum,szAddNum);
|
|||
|
_tcscpy(data.szMobile , strMobile2 );
|
|||
|
_tcscpy(data.szMsg , sms.szMsg );
|
|||
|
data.lItem = 100; //<2F>д˱<D0B4>־<EFBFBD><D6BE><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
SubmitSms( data,pAdoRS2,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
strSelect.Format( _T("insert into SWT_Log (CorpID,UserID,SWTID,WYID,SendMobile,RecvName,RecvMobile,Type,Msg,SubTime) values (%d,%d,%d,%d,'%s','%s','%s',0,'%s',GETDATE())"),
|
|||
|
lCorpID,lUserID,lSWTID,lWYID,strMobile1,strRecvName,strMobile2,strTempMsg);
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
}
|
|||
|
if ( strMobile2 == CString(sms.szSendNum) ) //Ϊ<>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>Ķ<EFBFBD><C4B6><EFBFBD>
|
|||
|
{
|
|||
|
if (isMobileNum(strMobile1)) //ͨ<><CDA8><EFBFBD>ֻ<EFBFBD>ת<EFBFBD><D7AA>
|
|||
|
{
|
|||
|
SubmitData data={0};
|
|||
|
data.lCorpID = lCorpID;
|
|||
|
data.lUserID = lUserID;
|
|||
|
_tcscpy(data.szSendNum,szAddNum);
|
|||
|
_tcscpy(data.szMobile , strMobile1 );
|
|||
|
_tcscpy(data.szMsg , sms.szMsg );
|
|||
|
data.lItem = 100; //<2F>д˱<D0B4>־<EFBFBD><D6BE><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
SubmitSms( data,pAdoRS2,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
strSelect.Format( _T("insert into SWT_Log (CorpID,UserID,SWTID,WYID,SendMobile,RecvName,RecvMobile,Type,Msg,SubTime) values (%d,%d,%d,%d,'%s','%s','%s',4,'%s',GETDATE())"),
|
|||
|
lCorpID,lUserID,lSWTID,lWYID,strMobile1,strRecvName,strMobile2,strTempMsg);
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
*/
|
|||
|
if ( data.lUserID==DEFAULT_SEND_USERID ) //<2F>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD><E2B4A6>
|
|||
|
{
|
|||
|
COleDateTime t=COleDateTime::GetCurrentTime()-COleDateTimeSpan(1,0,0,0);
|
|||
|
strSelect.Format(_T("select * from corp_bz where LXRMobile='%s' and NRType=1 and SendSms=1 and SmsRetType=0 and CreateTime>'%04d%02d%02d %02d:%02d' order by CreateTime desc") , sms.szSendNum , t.GetYear(),t.GetMonth(),t.GetDay(),t.GetHour(),t.GetMinute() );
|
|||
|
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
long lBZID=0;
|
|||
|
pAdoRS->GetCollect( _T("BZID") , lBZID );
|
|||
|
|
|||
|
long lRetType=_ttol(data.szMsg);
|
|||
|
if (lRetType>9 )
|
|||
|
{
|
|||
|
strSelect.Format(_T("%d") , lRetType );
|
|||
|
lRetType = _ttol(strSelect.Left(1));
|
|||
|
}
|
|||
|
if ( lRetType<1 || lRetType>3 )
|
|||
|
lRetType=0;
|
|||
|
strSelect.Format( _T("update corp_bz set SmsRetType='%d' , SmsRetMsg='%s' where BZID=%d") , lRetType,strTempMsg,lBZID);
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
}
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch(...)
|
|||
|
{
|
|||
|
LOG_APPERROR(_T("T"));
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
long CSendThread::SubmitSms(SubmitData &SendData,CAdoRecordSet * pAdoRS,CAdoRecordSet * pAdoRS2,CSmsCenterDlg * pSMSDlg,long lMobileType,long lSmsType,long lSmsKF)
|
|||
|
{
|
|||
|
#ifdef SMSCENTER_ADC_TEMP //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
return false;
|
|||
|
#endif
|
|||
|
try
|
|||
|
{
|
|||
|
if (SendData.lPrority == 876534 && CString(SendData.szName).MakeLower() == CString(_T("WxWork")).MakeLower()) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<D2B5>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
CString strPT = _T("ƽ̨1");
|
|||
|
#ifdef SMSCENTER_TWO //<2F>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>ƽ̨
|
|||
|
strPT = _T("ƽ̨2");
|
|||
|
#endif
|
|||
|
#ifdef SMSCENTER_THREE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨
|
|||
|
strPT = _T("ƽ̨3");
|
|||
|
#endif
|
|||
|
CString strSelect;
|
|||
|
SYSTEMTIME t; GetLocalTime(&t);
|
|||
|
strSelect.Format(_T("%s %04d.%02d.%02d %02d:%02d:%02d<br>%s"), strPT, t.wYear, t.wMonth, t.wDay, t.wHour, t.wMinute, t.wSecond, SendData.szMsg);
|
|||
|
REQ_WxWork_Send send;
|
|||
|
send.strSender = _T("ƽ̨֪ͨ");
|
|||
|
send.strRecver = SendData.szMobile;
|
|||
|
send.strMsg = strSelect;
|
|||
|
pSMSDlg->m_WxWorkSend.AddTail(send);
|
|||
|
|
|||
|
return 0;
|
|||
|
}
|
|||
|
TCHAR szSmsTD[32]={0};
|
|||
|
TCHAR szCM[64]={0};
|
|||
|
//ȡ<><C8A1>ҵǩ<D2B5><C7A9>
|
|||
|
CString strSelect;
|
|||
|
if ( SendData.lUserID != 0 ) //<2F><><EFBFBD><EFBFBD>UserID==0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵת<D2B5><D7AA>
|
|||
|
{
|
|||
|
strSelect.Format( _T("select * from users with(nolock) where UserID=%d") , SendData.lUserID );
|
|||
|
BOOL b = pAdoRS->Open( strSelect );
|
|||
|
if ( b && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS->GetCollect(_T("CM2") , szCM );
|
|||
|
}
|
|||
|
}
|
|||
|
strSelect.Format( _T("select * from corp with(nolock) where CorpID=%d") , SendData.lCorpID );
|
|||
|
BOOL b = pAdoRS->Open( strSelect );
|
|||
|
if ( b && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS->GetCollect( _T("SMSTD") , szSmsTD ); _tcscat(szSmsTD,_T("000000")); //ȡ<>ö<EFBFBD><C3B6><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
if ( _tcslen(szCM)<=0 )
|
|||
|
pAdoRS->GetCollect(_T("CM") , szCM );
|
|||
|
}
|
|||
|
|
|||
|
long lMaxSendLenB = MSG_MAXSENDLEN;
|
|||
|
|
|||
|
long lZDCMLen = 0;
|
|||
|
#if defined(SMSCENTER_NX) && defined(SMSCENTER_GDDX) //ũ<><C5A9><EFBFBD>Դ<EFBFBD>ǩ<EFBFBD><C7A9>6<EFBFBD><36><EFBFBD><EFBFBD>
|
|||
|
lZDCMLen = 6;
|
|||
|
#endif
|
|||
|
#if defined(SMSCENTER_NX) && defined(SMSCENTER_DGSB) //<2F>籣<EFBFBD>ֵ<EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>7<EFBFBD><37><EFBFBD><EFBFBD>
|
|||
|
lZDCMLen = 8;
|
|||
|
#endif
|
|||
|
#ifdef SMSCENTER_DGSB_SGYD
|
|||
|
lZDCMLen = 0;
|
|||
|
#endif
|
|||
|
ANS_GetTD2Data td={0};
|
|||
|
if ( CSendPub::GetTDPro(pAdoRS,szSmsTD,td,MOBILE_TYPE_CMCC)) //ȡ<><C8A1><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD>Ƿ<EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if ( td.lContentLen>10 && td.lContentLen<70 )
|
|||
|
lZDCMLen = MSG_MAXSENDLEN-td.lContentLen;
|
|||
|
}
|
|||
|
lMaxSendLenB = lMaxSendLenB-lZDCMLen;
|
|||
|
|
|||
|
long lSignLen = 0;
|
|||
|
if ( SendData.lItem != 101 && _tcslen(szCM)>0) //<2F><>ϢԴ<CFA2><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>
|
|||
|
{
|
|||
|
#ifdef UNICODE
|
|||
|
lSignLen = _tcslen(szCM);
|
|||
|
#else
|
|||
|
lSignLen = MultiByteToWideChar( CP_ACP,NULL,szCM,_tcslen(szCM), NULL,0);
|
|||
|
#endif
|
|||
|
if ( lSignLen>0 )
|
|||
|
lSignLen = lSignLen+2; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
long lMobileCount=0;
|
|||
|
if ( SendData.lMobileCount<=0 || SendData.lMobileCount>SubmitData_Mobile_Max) //<2F><><EFBFBD><EFBFBD>MobileCount<0,Ϊ<>ɰ<EFBFBD><C9B0>Ķ<EFBFBD><C4B6>ŷ<EFBFBD><C5B7>ͣ<EFBFBD><CDA3><EFBFBD>Ϊ<EFBFBD>°<EFBFBD>
|
|||
|
{
|
|||
|
SendData.lMobileCount=1;
|
|||
|
_tcscpy(SendData.Mobile[0].szName , SendData.szName);
|
|||
|
_tcscpy(SendData.Mobile[0].szMobile , SendData.szMobile);
|
|||
|
}
|
|||
|
lMobileCount = SendData.lMobileCount * 16; //ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>16<31><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ANS_SendData2 * pSmsData = new ANS_SendData2[lMobileCount];
|
|||
|
memset(pSmsData , 0 , sizeof(ANS_SendData2)*lMobileCount);
|
|||
|
|
|||
|
srand(::GetTickCount());
|
|||
|
long lMobileIndex = 0;
|
|||
|
for (int j=0 ; j< SendData.lMobileCount ; j++ )
|
|||
|
{
|
|||
|
pSmsData[lMobileIndex].lCorpID = SendData.lCorpID;
|
|||
|
pSmsData[lMobileIndex].lUserID = SendData.lUserID;
|
|||
|
_tcscpy( pSmsData[lMobileIndex].szMobile , SendData.Mobile[j].szMobile );
|
|||
|
_tcscpy( pSmsData[lMobileIndex].szName , SendData.Mobile[j].szName );
|
|||
|
|
|||
|
CString strNewMsg = SendData.szMsg; //ȡ<>µĶ<C2B5><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>Ϣ<EFBFBD><CFA2>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD>ݾ<EFBFBD><DDBE>п<EFBFBD><D0BF>ܲ<EFBFBD>ͬ
|
|||
|
try
|
|||
|
{
|
|||
|
if ( SendData.Mobile[j].pMsg && SendData.Mobile[j].pMsg->GetLength()>0 )
|
|||
|
{
|
|||
|
strNewMsg = *SendData.Mobile[j].pMsg;
|
|||
|
}
|
|||
|
}
|
|||
|
catch(...)
|
|||
|
{
|
|||
|
LOG_APPERROR(_T("T"));
|
|||
|
}
|
|||
|
|
|||
|
//<2F>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD>ݷֶ<DDB7>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>
|
|||
|
CStringArray saMsg;
|
|||
|
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD>ֶη<D6B6><CEB7><EFBFBD>
|
|||
|
TCHAR szSrcMsg[2048]={0};
|
|||
|
_tcscpy(szSrcMsg , strNewMsg);
|
|||
|
|
|||
|
long lMsgAll=0;
|
|||
|
long lMsgIndex = 1;
|
|||
|
BOOL bGetMsg2;
|
|||
|
TCHAR szSendMsg1[512]={0};
|
|||
|
TCHAR szSendMsg2[512]={0};
|
|||
|
long lMsgLen =0;
|
|||
|
#ifdef UNICODE
|
|||
|
lMsgLen = _tcslen(szSrcMsg);
|
|||
|
#else
|
|||
|
lMsgLen = MultiByteToWideChar( CP_ACP,NULL,szSrcMsg,_tcslen(szSrcMsg), NULL,0);
|
|||
|
#endif
|
|||
|
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>Գ<EFBFBD><D4B3><EFBFBD><EFBFBD>ŷ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|||
|
BOOL bLongSms=false;
|
|||
|
long lRand=0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
long lMaxSendLen = lMaxSendLenB;
|
|||
|
if ( lMsgLen+lSignLen>lMaxSendLen && SendData.lItemID!=102) //102,ǿ<>Ʒdz<C6B7><C7B3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if (SendData.lItem != 101 && _tcslen(szCM)>0) //<2F><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>ǩ<EFBFBD><C7A9>
|
|||
|
{
|
|||
|
/*
|
|||
|
_tcscat(szSrcMsg , _T("<EFBFBD><EFBFBD>"));
|
|||
|
_tcscat(szSrcMsg , szCM );
|
|||
|
_tcscat(szSrcMsg , _T("<EFBFBD><EFBFBD>"));
|
|||
|
*/
|
|||
|
//<2F><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>ǰ<EFBFBD><C7B0>
|
|||
|
CString strSrcMsg22;
|
|||
|
strSrcMsg22.Format(_T("<EFBFBD><EFBFBD>%s<><73>%s"), szCM, szSrcMsg);
|
|||
|
_tcscpy(szSrcMsg, strSrcMsg22);
|
|||
|
}
|
|||
|
bLongSms = true;
|
|||
|
}
|
|||
|
if ( bLongSms ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><C7B3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
lMaxSendLen = MSG_MAXSENDLEN-3; //<2F><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>Ĭ<EFBFBD>϶<EFBFBD><CFB6><EFBFBD>67<36><37><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lMaxSendLen = lMaxSendLen-lSignLen;
|
|||
|
}
|
|||
|
|
|||
|
while ( true )
|
|||
|
{
|
|||
|
memset( szSendMsg2 , 0 , sizeof(szSendMsg2) );
|
|||
|
//if ( isChinese( szSrcMsg,_tcslen(szSrcMsg) ) )
|
|||
|
//{
|
|||
|
bGetMsg2 = GetSpiltUnicodeMsg( szSrcMsg , szSendMsg1 , lMsgIndex , lMaxSendLen ,lMsgAll);
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
// bGetMsg2 = GetSpiltAsciiMsg( szSrcMsg , szSendMsg2 , lMsgIndex , MSG_MAXSENDLEN*2+MSG_MAXSENDLEN*2/7 ,lMsgAll);
|
|||
|
//}
|
|||
|
if ( bGetMsg2 )
|
|||
|
{
|
|||
|
if ( bLongSms )
|
|||
|
{
|
|||
|
saMsg.Add(szSendMsg1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (SendData.lItem != 101 && _tcslen(szCM)>0) //<2F><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>ǩ<EFBFBD><C7A9>
|
|||
|
{
|
|||
|
/*
|
|||
|
_tcscat(szSendMsg1 , _T("["));
|
|||
|
_tcscat(szSendMsg1 , szCM );
|
|||
|
_tcscat(szSendMsg1 , _T("]"));
|
|||
|
*/
|
|||
|
//<2F><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>ǰ<EFBFBD><C7B0>
|
|||
|
CString strSrcMsg22;
|
|||
|
strSrcMsg22.Format(_T("<EFBFBD><EFBFBD>%s<><73>%s"), szCM, szSendMsg1);
|
|||
|
_tcscpy(szSendMsg1, strSrcMsg22);
|
|||
|
}
|
|||
|
|
|||
|
saMsg.Add(szSendMsg1);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
break;
|
|||
|
}
|
|||
|
lMsgIndex ++;
|
|||
|
}
|
|||
|
|
|||
|
if ( lZDCMLen >0 ) //<2F><><EFBFBD>Դ<EFBFBD>ǩ<EFBFBD><C7A9>
|
|||
|
{
|
|||
|
if ( bLongSms && saMsg.GetSize()>0)
|
|||
|
{
|
|||
|
strSelect = saMsg.GetAt(saMsg.GetSize()-1); //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#ifdef UNICODE
|
|||
|
lMsgLen = _tcslen(strSelect);
|
|||
|
#else
|
|||
|
lMsgLen = MultiByteToWideChar( CP_ACP,NULL,strSelect,_tcslen(strSelect), NULL,0);
|
|||
|
#endif
|
|||
|
|
|||
|
if ( lMsgLen>lMaxSendLen-lZDCMLen )
|
|||
|
{
|
|||
|
saMsg.Add(CString(_T(""))); //<2F>Ӷ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
long lZDSmsCount=saMsg.GetSize() * SendData.lMobileCount; //<2F><><EFBFBD><EFBFBD>Ӧ<EFBFBD>ÿ۷<C3BF><DBB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
long lKF=1;
|
|||
|
/*
|
|||
|
//<2F>ճ<EFBFBD><D5B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>֪ͨ<CDA8><D6AA>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>
|
|||
|
if ( lSmsType == SMSTYPE_ALARM ||
|
|||
|
lSmsType == SMSTYPE_EMAIL )
|
|||
|
{
|
|||
|
lZDSmsCount = lZDSmsCount*2;
|
|||
|
lKF = 2;
|
|||
|
}
|
|||
|
if ( lSmsType == SMSTYPE_SP ) //<2F><>ֵҵ<D6B5><D2B5><EFBFBD>Ŀ۷<C4BF>
|
|||
|
{
|
|||
|
lZDSmsCount = lZDSmsCount*lSmsKF;
|
|||
|
lKF = lSmsKF;
|
|||
|
}
|
|||
|
*/
|
|||
|
if ( lMsgAll<0 || lMsgAll>15 )
|
|||
|
{
|
|||
|
continue;
|
|||
|
}
|
|||
|
lMsgAll = saMsg.GetSize();
|
|||
|
|
|||
|
|
|||
|
lRand = rand()%254;
|
|||
|
if ( lRand<0 )
|
|||
|
lRand=-lRand;
|
|||
|
for ( int h=1 ; h<=lMsgAll ; h++ )
|
|||
|
{
|
|||
|
if ( h>1 )
|
|||
|
{
|
|||
|
pSmsData[lMobileIndex] = pSmsData[lMobileIndex-1]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⸴<EFBFBD><E2B8B4>ǰһ<C7B0><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
if ( bLongSms )
|
|||
|
{
|
|||
|
_stprintf( pSmsData[lMobileIndex].szMsg , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>%02X%X%X:%s") , lRand,lMsgAll,h,saMsg.GetAt(h-1));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_tcscpy(pSmsData[lMobileIndex].szMsg , saMsg.GetAt(h-1) );
|
|||
|
}
|
|||
|
pSmsData[lMobileIndex].tOvrTime.wSecond = lRand;
|
|||
|
pSmsData[lMobileIndex].tOvrTime.wDayOfWeek =(WORD)(h*100+lMsgAll);
|
|||
|
|
|||
|
lMobileIndex ++;
|
|||
|
if ( lMobileIndex >= lMobileCount )
|
|||
|
break;
|
|||
|
}
|
|||
|
if ( lMobileIndex >= lMobileCount )
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
CSendPub::SendPub_Mms Sms={0};
|
|||
|
|
|||
|
Sms.lCorpID = SendData.lCorpID;
|
|||
|
Sms.lUserID = SendData.lUserID;
|
|||
|
//_tcscpy(Sms.szIP , m_szIP);
|
|||
|
Sms.lPriority = SendData.lPrority;
|
|||
|
//Sms.lPriority = 0; //<2F><>SubmitMms<6D><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
|
|||
|
//Sms.lSendCount = m_dwSendCount; //<2F>ܶ<EFBFBD><DCB6>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><DABC>㷢<EFBFBD><E3B7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Sms.tTimer = SendData.tTimer;
|
|||
|
Sms.bFirstCheckYE = true; //Ԥ<>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EEB2BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
CString strErrMsg;
|
|||
|
long lRet = CSendPub::SubmitSms(Sms, pSmsData,lMobileIndex,strErrMsg,pAdoRS,pAdoRS2);
|
|||
|
delete pSmsData;
|
|||
|
|
|||
|
return lRet;
|
|||
|
}
|
|||
|
catch (...)
|
|||
|
{
|
|||
|
LOG_APPERROR(_T("T"));
|
|||
|
}
|
|||
|
return -1;
|
|||
|
}
|
|||
|
|
|||
|
BOOL CSendThread::SplitNum(TCHAR *pCorp, TCHAR *pMan)
|
|||
|
{
|
|||
|
TCHAR szBuf[32]={0};
|
|||
|
_tcscpy( szBuf , pCorp );
|
|||
|
|
|||
|
#ifdef SMSCENTER_ADC
|
|||
|
memcpy(pCorp , szBuf , 4); //adc<64><63><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD>Ϊ4λ
|
|||
|
_tcscpy(pMan , szBuf+4 );
|
|||
|
pCorp[4]=0;
|
|||
|
pMan[3]=0;
|
|||
|
return true;
|
|||
|
#endif
|
|||
|
|
|||
|
#ifdef SMSCENTER_TWO
|
|||
|
if ( szBuf[0] >= '0' && szBuf[0] <= '3' )
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 2 ); //2λ
|
|||
|
_tcscpy( pMan , szBuf+2 ); //3λ
|
|||
|
pCorp[2]=0;
|
|||
|
pMan[3]=0;
|
|||
|
return true; //<2F><>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
|
|||
|
if ( szBuf[0] >= '4' && szBuf[0] <='5')
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 4 ); //3λ
|
|||
|
_tcscpy( pMan , szBuf+4 );
|
|||
|
pCorp[4]=0;
|
|||
|
pMan[2]=0;
|
|||
|
return true; //<2F><>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
if ( szBuf[0] >= '6' && szBuf[0] <='8')
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 1 ); //3λ
|
|||
|
_tcscpy( pMan , szBuf+1 );
|
|||
|
pCorp[1]=0;
|
|||
|
pMan[3]=0;
|
|||
|
return true; //<2F><>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
if ( szBuf[0] == '9' )
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 5 ); //3λ
|
|||
|
_tcscpy( pMan , szBuf+5 );
|
|||
|
pCorp[5]=0;
|
|||
|
pMan[1]=0;
|
|||
|
return true; //<2F><>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
return false;
|
|||
|
#else
|
|||
|
if ( szBuf[0] >= '0' && szBuf[0] <='3' )
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 3 ); //3λ
|
|||
|
_tcscpy( pMan , szBuf+3 );
|
|||
|
pCorp[3]=0;
|
|||
|
pMan[3]=0;
|
|||
|
return true; //<2F><>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
#endif
|
|||
|
if ( szBuf[0] == '5' ) //<2F><><EFBFBD><EFBFBD><EFBFBD>ٴ<EFBFBD><D9B4>û<EFBFBD>
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 6 ); //3λ
|
|||
|
_tcscpy( pMan , szBuf+6 );
|
|||
|
pCorp[6]=0;
|
|||
|
pMan[2]=0;
|
|||
|
return true; //<2F><>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
if ( szBuf[0] >= '4' && szBuf[0] <='8')
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 4 ); //3λ
|
|||
|
_tcscpy( pMan , szBuf+4 );
|
|||
|
pCorp[4]=0;
|
|||
|
pMan[2]=0;
|
|||
|
return true; //<2F><>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
if ( szBuf[0] == '9' )
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 5 ); //3λ
|
|||
|
_tcscpy( pMan , szBuf+5 );
|
|||
|
pCorp[5]=0;
|
|||
|
pMan[1]=0;
|
|||
|
return true; //<2F><>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
/*
|
|||
|
//<2F><><EFBFBD><EFBFBD>ͨר<CDA8><D7A8>
|
|||
|
if ( szBuf[0] == '*' && szBuf[1] == '*' && szBuf[2] == '8' && szBuf[3] <='2' )
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 4 ); //1λ
|
|||
|
_tcscpy( pMan , szBuf+4 );
|
|||
|
pCorp[4]=0;
|
|||
|
pMan[1]=0;
|
|||
|
return true; //<2F><>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
if ( szBuf[0] == '*' && szBuf[1] == '2' )
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 2 ); //1λ
|
|||
|
_tcscpy( pMan , szBuf+2 );
|
|||
|
pCorp[2]=0;
|
|||
|
pMan[1]=0;
|
|||
|
return true; //<2F><>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
if ( szBuf[0] == '*' && szBuf[1] == '*' && szBuf[2] >= '0' && szBuf[2] <='3' )
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 3 ); //1λ
|
|||
|
_tcscpy( pMan , szBuf+3 );
|
|||
|
pCorp[3]=0;
|
|||
|
pMan[3]=0;
|
|||
|
return true; //<2F><>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
if ( szBuf[0] == '*' && szBuf[1] == '*' && ( (szBuf[2] >= '4' && szBuf[2] <='6') || szBuf[2] =='8') )
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 4 ); //1λ
|
|||
|
_tcscpy( pMan , szBuf+4 );
|
|||
|
pCorp[4]=0;
|
|||
|
pMan[3]=0;
|
|||
|
return true;
|
|||
|
}
|
|||
|
if ( szBuf[0] == '*' && szBuf[1] == '*' && (szBuf[2] == '7' || szBuf[2] =='9') )
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 5 ); //1λ
|
|||
|
_tcscpy( pMan , szBuf+5 );
|
|||
|
pCorp[5]=0;
|
|||
|
pMan[3]=0;
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
if ( szBuf[0] == '*' && szBuf[1] >= '0' && szBuf[1] <='3' )
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 2 ); //1λ
|
|||
|
_tcscpy( pMan , szBuf+2 );
|
|||
|
pCorp[2]=0;
|
|||
|
pMan[3]=0;
|
|||
|
return true; //<2F><>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
if ( szBuf[0] == '*' && szBuf[1] =='6' )
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 2 ); //1λ
|
|||
|
_tcscpy( pMan , szBuf+2 );
|
|||
|
pCorp[2]=0;
|
|||
|
pMan[3]=0;
|
|||
|
return true; //<2F><>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
|
|||
|
if ( szBuf[0] == '*' && szBuf[1] >= '4' && szBuf[1] <='6' )
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 3 ); //1λ
|
|||
|
_tcscpy( pMan , szBuf+3 );
|
|||
|
pCorp[3]=0;
|
|||
|
pMan[3]=0;
|
|||
|
return true;
|
|||
|
}
|
|||
|
if ( szBuf[0] == '*' && szBuf[1] >= '7' && szBuf[1] <='9' )
|
|||
|
{
|
|||
|
memcpy( pCorp , szBuf , 4 ); //1λ
|
|||
|
_tcscpy( pMan , szBuf+4 );
|
|||
|
pCorp[4]=0;
|
|||
|
pMan[3]=0;
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
DWORD CSendThread::Recv_Sms_UpSms(LPVOID pParam)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
UpSmsS sms={0};
|
|||
|
UpSmsS * pSms = (UpSmsS *)(pParam);
|
|||
|
sms = *pSms;
|
|||
|
delete pSms;
|
|||
|
|
|||
|
CString strURL;
|
|||
|
CString strTemp;
|
|||
|
HINTERNET hNet = NULL;
|
|||
|
strTemp.Format(_T("UPSMS%d"),rand());
|
|||
|
hNet = InternetOpen(strTemp,INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
|
|||
|
if ( !hNet )
|
|||
|
{
|
|||
|
return -1;
|
|||
|
}
|
|||
|
DWORD dwTimeOut=20*1000;
|
|||
|
InternetSetOption(hNet,INTERNET_OPTION_CONNECT_TIMEOUT,&dwTimeOut,sizeof(dwTimeOut));
|
|||
|
InternetSetOption(hNet,INTERNET_OPTION_SEND_TIMEOUT,&dwTimeOut,sizeof(dwTimeOut));
|
|||
|
InternetSetOption(hNet,INTERNET_OPTION_RECEIVE_TIMEOUT,&dwTimeOut,sizeof(dwTimeOut));
|
|||
|
|
|||
|
strURL.Format( _T("%s?Type=MO&CorpID=%d&SendNum=%s&RecvNum=%s&AddNum=%s&Msg=%s"),sms.szUrl,sms.lCorpID,sms.szSendNum,sms.szRecvNum,sms.szAddNum,sms.szMsg);
|
|||
|
HINTERNET hUrl = InternetOpenUrl(hNet,strURL,NULL,0,INTERNET_FLAG_RELOAD,0);
|
|||
|
if ( hUrl )
|
|||
|
{
|
|||
|
/*
|
|||
|
char buffer[1024]={0} ;
|
|||
|
DWORD dwBytesRead = 0;
|
|||
|
BOOL bRead = ::InternetReadFile(hUrl,
|
|||
|
buffer,
|
|||
|
sizeof(buffer),
|
|||
|
&dwBytesRead);
|
|||
|
*/
|
|||
|
::InternetCloseHandle(hUrl);
|
|||
|
}
|
|||
|
::InternetCloseHandle(hNet);
|
|||
|
|
|||
|
}
|
|||
|
catch(...)
|
|||
|
{
|
|||
|
LOG_APPERROR(_T("T"));
|
|||
|
}
|
|||
|
return 0;
|
|||
|
}
|
|||
|
|
|||
|
/*
|
|||
|
BOOL CSendThread::SetSmsAddOne(CAdoRecordSet *pAdoRS, long lCorpID, long lUserID, long lKF, const TCHAR *pRecvStatus,long lSendRet,BOOL bAdc)
|
|||
|
{
|
|||
|
BOOL b;
|
|||
|
CString strSelect;
|
|||
|
if ( lKF<=0 || lKF>50 )
|
|||
|
lKF = 1;
|
|||
|
|
|||
|
|
|||
|
//<2F><>Ϊ״̬<D7B4><CCAC><EFBFBD>淵<EFBFBD><E6B7B5>ʧ<EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>Կ۷Ѳ<DBB7><D1B2>ɹ<EFBFBD>
|
|||
|
//<2F><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>Ӧ<EFBFBD><D3A6>1,<2C>ѷ<EFBFBD><D1B7><EFBFBD><EFBFBD>ż<EFBFBD>1
|
|||
|
if ( lSendRet>=100000 ) //SendRetΪ<74><CEAA>ҵID<49><44><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>ҵ<EFBFBD><EFBFBD><F1A3ACB2>۷<EFBFBD>
|
|||
|
{
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if ( bAdc )
|
|||
|
strSelect.Format( _T("update corp set MQ_SmsUsed=MQ_SmsUsed+%d,MQ_SmsSendAll=MQ_SmsSendAll-%d where CorpID=%d ") ,1,1,lCorpID ); //adcֻ<63>۷<EFBFBD>1<EFBFBD><31>
|
|||
|
else
|
|||
|
#ifdef SMSCENTER_NX
|
|||
|
strSelect.Format( _T("update corp set SmsUsed=SmsUsed+%d,SmsSendAll=SmsSendAll-%d,Day_ReportFail=Day_ReportFail+%d where CorpID=%d ") ,lKF,lKF,lKF,lCorpID );
|
|||
|
#else
|
|||
|
strSelect.Format( _T("update corp set SmsUsed=SmsUsed+%d,SmsSendAll=SmsSendAll-%d where CorpID=%d ") ,lKF,lKF,lCorpID );
|
|||
|
#endif
|
|||
|
b = pAdoRS->Open( strSelect );
|
|||
|
}
|
|||
|
|
|||
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ż<EFBFBD>1
|
|||
|
strSelect.Format( _T("update users set SMSUsed=SMSUsed+%d where UserID=%d AND SMSUsed != -100 ") , lKF,lUserID );
|
|||
|
b = pAdoRS->Open( strSelect );
|
|||
|
//<2F>ѷ<EFBFBD><D1B7><EFBFBD><EFBFBD>ż<EFBFBD>1
|
|||
|
strSelect.Format( _T("update users set SmsSendAll=SmsSendAll-%d where UserID=%d ") ,lKF,lUserID );
|
|||
|
b = pAdoRS->Open( strSelect );
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B4A6>
|
|||
|
if ( pRecvStatus[0] == 'A' )
|
|||
|
{
|
|||
|
long lAgentID=0;
|
|||
|
long lAgentType=0;
|
|||
|
//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
|
|||
|
strSelect.Format( _T("select * from corp with (nolock) where corpid=%d") , lCorpID );
|
|||
|
if ( pAdoRS->Open( strSelect ) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
//pAdoRS->MoveFirst();
|
|||
|
pAdoRS->GetCollect( _T("AgentID") , lAgentID );
|
|||
|
pAdoRS->Close();
|
|||
|
if ( lAgentID > 0 )
|
|||
|
{
|
|||
|
//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
strSelect.Format( _T("select * from agent with (nolock) where agentID=%d") , lAgentID );
|
|||
|
if ( pAdoRS->Open( strSelect ) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
//pAdoRS->MoveFirst();
|
|||
|
pAdoRS->GetCollect( _T("Type") , lAgentType );
|
|||
|
pAdoRS->Close();
|
|||
|
if ( lAgentType ==2 ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
strSelect.Format( _T("Update agent set used=used+%.2f where agentid=%d"),lKF*0.10f,lAgentID);
|
|||
|
pAdoRS->Open( strSelect );
|
|||
|
pAdoRS->Close();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
BOOL CSendThread::SetSmsAddOne(CAdoRecordSet *pAdoRS, long lSendID,long lType)
|
|||
|
{
|
|||
|
CString strSelect;
|
|||
|
|
|||
|
if ( lType ==2 )
|
|||
|
strSelect.Format( _T("select * from corpsmsm.dbo.smssendt with (nolock) where SendID=%d") , lSendID);
|
|||
|
else
|
|||
|
strSelect.Format( _T("select * from smssend with (nolock) where SendID=%d") , lSendID);
|
|||
|
BOOL b =pAdoRS->Open( strSelect );
|
|||
|
if ( b && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
long lCorpID=0;
|
|||
|
long lUserID=0;
|
|||
|
long lKF=0;
|
|||
|
BOOL bAdc=false;
|
|||
|
long lSendRet=0;
|
|||
|
#ifdef SMSCENTER_ADC
|
|||
|
long lRecvNumType=0;
|
|||
|
long lStatus=0;
|
|||
|
long lSendFCS=0;
|
|||
|
#endif
|
|||
|
TCHAR szRecvStatus[32]={0};
|
|||
|
//pAdoRS->MoveFirst();
|
|||
|
pAdoRS->GetCollect( _T("CorpID") , lCorpID ); //ȡ<>÷<EFBFBD><C3B7><EFBFBD>ID
|
|||
|
pAdoRS->GetCollect( _T("UserID") , lUserID ); //ȡ<>÷<EFBFBD><C3B7><EFBFBD>ID
|
|||
|
pAdoRS->GetCollect( _T("KF") , lKF ); //ȡ<>÷<EFBFBD><C3B7><EFBFBD>ID
|
|||
|
pAdoRS->GetCollect( _T("RecvStatus") , szRecvStatus );
|
|||
|
pAdoRS->GetCollect( _T("SendRet") , lSendRet );
|
|||
|
#ifdef SMSCENTER_ADC
|
|||
|
pAdoRS->GetCollect( _T("Status") , lStatus ); //ȡ<>÷<EFBFBD><C3B7><EFBFBD>ID
|
|||
|
pAdoRS->GetCollect( _T("RecvNumType") , lRecvNumType ); //ȡ<>÷<EFBFBD><C3B7><EFBFBD>ID
|
|||
|
pAdoRS->GetCollect( _T("SendFCS") , lSendFCS );
|
|||
|
if ( lStatus>=10 )
|
|||
|
{
|
|||
|
if ( lRecvNumType==0 && lSendFCS==0 )
|
|||
|
bAdc=true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if ( lRecvNumType==0 && lSendRet==0 )
|
|||
|
bAdc=true;
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
if ( lKF<=0 || lKF>50 )
|
|||
|
lKF = 1;
|
|||
|
|
|||
|
return SetSmsAddOne(pAdoRS,lCorpID,lUserID,lKF,szRecvStatus,lSendRet,bAdc);
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
*/
|
|||
|
|
|||
|
BOOL CSendThread::Recv_Mms(MmsRecv mms, CAdoRecordSet *pAdoRS, CAdoRecordSet *pAdoRS2, CSmsCenterDlg *pSMSDlg)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
CString str;
|
|||
|
CString strAllNum = mms.szRecvNum;
|
|||
|
CString strExTFH;
|
|||
|
CString strExCorpNum;
|
|||
|
CString strCorpNum;
|
|||
|
CString strUserNum;
|
|||
|
CString strExNum;
|
|||
|
CString strGroupID;
|
|||
|
CString strSender;
|
|||
|
CString strRecver;
|
|||
|
CString strProv,strCity;
|
|||
|
|
|||
|
long lCorpID=0;
|
|||
|
long lUserID=0;
|
|||
|
|
|||
|
long lTFHBegin=0;
|
|||
|
|
|||
|
//<2F><>ͨ<EFBFBD><CDA8>ID
|
|||
|
CString strTDNum;
|
|||
|
long lLen = strAllNum.GetLength();
|
|||
|
for ( int i=lLen; i>=0 ; i-- )
|
|||
|
{
|
|||
|
strTDNum = strAllNum.Left(i); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>λ<EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊ<EFBFBD>ط<EFBFBD><D8B7><EFBFBD>
|
|||
|
str.Format(_T("select * from TD2 where Ability=1 and AccessPort='%s'") , strTDNum );
|
|||
|
if (strTDNum.GetLength()>0 && pAdoRS->Open(str) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
lTFHBegin = i;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
if ( lTFHBegin>0 )
|
|||
|
{
|
|||
|
strExTFH = strAllNum.Right(strAllNum.GetLength()-lTFHBegin); //<2F>ų<EFBFBD><C5B3><EFBFBD><EFBFBD>ط<EFBFBD><D8B7>ź<EFBFBD>ʣ<EFBFBD>µĺ<C2B5><C4BA><EFBFBD>
|
|||
|
//<2F><>ѯ<EFBFBD><D1AF>ҵID
|
|||
|
long lLen = strExTFH.GetLength();
|
|||
|
for ( int i=lLen; i>=0 ; i-- )
|
|||
|
{
|
|||
|
strCorpNum = strExTFH.Left(i); //<2F><><EFBFBD>ҿ<EFBFBD>ʼ<EFBFBD><CABC>λ<EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD>ҵ<EFBFBD>ط<EFBFBD><D8B7><EFBFBD>
|
|||
|
str.Format(_T("select * from Corp with(nolock) where SMSNum='%s'") , strCorpNum );
|
|||
|
if (strCorpNum.GetLength()>0 && pAdoRS->Open(str) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS->GetCollect(_T("CorpID") , lCorpID );
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ID
|
|||
|
if (lCorpID>0 )
|
|||
|
{
|
|||
|
strExCorpNum = strExTFH.Right(strExTFH.GetLength()-strCorpNum.GetLength()); //<2F>ų<EFBFBD><C5B3><EFBFBD>ҵ<EFBFBD>ط<EFBFBD><D8B7>ź<EFBFBD>ʣ<EFBFBD>µĺ<C2B5><C4BA><EFBFBD>
|
|||
|
long lLen = strExCorpNum.GetLength();
|
|||
|
for ( int i=lLen; i>=0 ; i-- )
|
|||
|
{
|
|||
|
strUserNum = strExCorpNum.Left(i); //<2F><><EFBFBD>ҿ<EFBFBD>ʼ<EFBFBD><CABC>λ<EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD>ҵ<EFBFBD>ط<EFBFBD><D8B7><EFBFBD>
|
|||
|
str.Format(_T("select * from Users with(nolock) where CorpID=%d and SMSNum='%s'") , lCorpID , strUserNum );
|
|||
|
if (strUserNum.GetLength()>0 && pAdoRS->Open(str) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS->GetCollect(_T("UserID") , lUserID );
|
|||
|
pAdoRS->GetCollect(_T("Name") , strRecver );
|
|||
|
pAdoRS->GetCollect(_T("GroupID") , strGroupID );
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
strExNum = strExTFH.Right(strExTFH.GetLength()-strCorpNum.GetLength()-strUserNum.GetLength());
|
|||
|
}
|
|||
|
/*
|
|||
|
//<2F><><EFBFBD>յ<EFBFBD><D5B5>Ķ<EFBFBD><C4B6><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>
|
|||
|
if ( lCorpID2>0 && _tcslen(szUpSms) >0 && bSubmitSms )
|
|||
|
{
|
|||
|
UpSmsS * pUpSms = new UpSmsS;
|
|||
|
_tcscpy(pUpSms->szSendNum , data.szSendNum );
|
|||
|
_tcscpy(pUpSms->szRecvNum , data.szRecvNum );
|
|||
|
_tcscpy(pUpSms->szMsg , data.szMsg );
|
|||
|
_tcscpy(pUpSms->szUrl , szUpSms );
|
|||
|
pUpSms->tSendTime = data.tSendTime;
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>߳̽<DFB3><CCBD>д<EFBFBD><D0B4><EFBFBD>
|
|||
|
::AfxBeginThread((AFX_THREADPROC)UpSms,(LPVOID)pUpSms,THREAD_PRIORITY_BELOW_NORMAL);
|
|||
|
}
|
|||
|
*/
|
|||
|
//<2F><>ѯ<EFBFBD><D1AF><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
long lMobileType=MOBILE_TYPE_UNKNOW;
|
|||
|
strSender = CSendPub::GetMobileProvCity(pAdoRS2,mms.szSendNum,lMobileType,strProv,strCity);
|
|||
|
|
|||
|
|
|||
|
//<2F><>ֹ'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CString strTempTitle = mms.szTitle;
|
|||
|
strTempTitle.Replace(_T("'"),_T("''"));
|
|||
|
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>ݵ<EFBFBD>smsrecvlog<6F><67><EFBFBD><EFBFBD>
|
|||
|
str.Format( _T("insert into MmsRecvLog(corpid,userid,MmsFileID,groupid,Sender,sendnum,recver,recvnum,AddNum,recvnumtype,Title,mmSize,subtime) values (%d,%d,%d,'%s','%s','%s','%s','%s','%s',%d,'%s',%d,GetDate()) ") ,
|
|||
|
lCorpID,
|
|||
|
lUserID,
|
|||
|
mms.lMmsFileID,
|
|||
|
strGroupID,
|
|||
|
strSender,
|
|||
|
mms.szSendNum,
|
|||
|
strRecver,
|
|||
|
mms.szRecvNum,
|
|||
|
strExNum,
|
|||
|
lMobileType,
|
|||
|
strTempTitle,
|
|||
|
mms.lmmSize
|
|||
|
);
|
|||
|
BOOL b = pAdoRS->Open(str);
|
|||
|
pAdoRS->Close();
|
|||
|
if ( b )
|
|||
|
{
|
|||
|
//ȡSendID
|
|||
|
long lSendID=0;
|
|||
|
str = _T("SELECT SCOPE_IDENTITY()") ;
|
|||
|
if ( pAdoRS->Open(str) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS->GetCollect( (long)0 , lSendID );
|
|||
|
|
|||
|
str.Format( _T("insert into corpsmsm.dbo.MmsSend (SendID,CorpID,UserID,MmsFileID,GroupID,Status,Sender,SendNum,RecvNum,RecvNumType,Recver,Title,mmSize,MsgType,SubTime,SendTime,RecvTime,RecvStatus,KF) values (%d,%d,%d,%d,'%s',%d,'%s','%s','%s',%d,'%s','%s',%d,%d,GetDate(),GetDate(),GetDate(),'%s',0) ") ,
|
|||
|
lSendID,
|
|||
|
lCorpID,
|
|||
|
lUserID,
|
|||
|
mms.lMmsFileID,
|
|||
|
strGroupID,
|
|||
|
SEND_STATUS_RECV_OK,
|
|||
|
strSender,
|
|||
|
mms.szSendNum,
|
|||
|
mms.szRecvNum,
|
|||
|
lMobileType,
|
|||
|
strRecver,
|
|||
|
strTempTitle,
|
|||
|
mms.lmmSize,
|
|||
|
SMSTYPE_RECV,
|
|||
|
strExNum);
|
|||
|
|
|||
|
pAdoRS->Open( str );
|
|||
|
pAdoRS->Close();
|
|||
|
|
|||
|
//<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ţ<EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5>û<EFBFBD>
|
|||
|
//SmsSendData * psms = new SmsSendData;
|
|||
|
//*psms = data;
|
|||
|
//_tcscpy( psms->szMsg , sms.szMsg );
|
|||
|
//pSMSDlg->On_User_PushMsg( SMS_PUSH , (WPARAM)psms , 0 );
|
|||
|
|
|||
|
/*
|
|||
|
if ( bSubmitSms )
|
|||
|
{
|
|||
|
pSMSDlg->SocketPushMsg(pAdoRS, data,strProv,strCity );
|
|||
|
}
|
|||
|
*/
|
|||
|
}
|
|||
|
}
|
|||
|
return TRUE;
|
|||
|
}
|
|||
|
catch(...)
|
|||
|
{
|
|||
|
LOG_APPERROR(_T("T"));
|
|||
|
}
|
|||
|
return false;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
BOOL CSendThread:: 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)
|
|||
|
{
|
|||
|
CString strSelect;
|
|||
|
CString strTemp;
|
|||
|
SubmitData Quitdata={0};
|
|||
|
Quitdata.lCorpID = DEFAULT_SEND_CORPID;
|
|||
|
Quitdata.lUserID = DEFAULT_SEND_USERID;
|
|||
|
_tcscpy( Quitdata.szName , _T("ZF") );
|
|||
|
//_tcscpy( Quitdata.szSendNum , sms.szRecvNum );
|
|||
|
_tcscpy( Quitdata.szMobile , sms.szSendNum );
|
|||
|
TCHAR szMsg[512]={0};
|
|||
|
_tcscpy(szMsg , sms.szMsg );
|
|||
|
ExChar(szMsg,_T("\r"));
|
|||
|
ExChar(szMsg,_T("\n"));
|
|||
|
ExChar(szMsg,_T(" "));
|
|||
|
ExChar(szMsg,_T("<EFBFBD><EFBFBD>"));
|
|||
|
ExChar(szMsg,_T(":"));
|
|||
|
_tcsupr(szMsg); //ת<><D7AA>д
|
|||
|
|
|||
|
|
|||
|
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>
|
|||
|
long lCorpID2 = lCorpID;
|
|||
|
long lCorpID3 = lCorpID;
|
|||
|
long lUserID2 = lUserID;
|
|||
|
long lUserID3 = lUserID;
|
|||
|
if ( lUserID2 <= 10000000 ) lUserID2 = -1;
|
|||
|
|
|||
|
if ( lCorpID3 <100000 )
|
|||
|
{
|
|||
|
lCorpID3 = DEFAULT_SEND_CORPID; //Ĭ<><C4AC>ʹ<EFBFBD>ù<EFBFBD>˾<EFBFBD><CBBE><EFBFBD>ʺŷ<CABA><C5B7><EFBFBD>
|
|||
|
lUserID3 = DEFAULT_SEND_USERID;
|
|||
|
lCorpID2 = -1;
|
|||
|
lUserID2 = -1;
|
|||
|
}
|
|||
|
if ( (!_tcsncmp(szMsg , _T("TD"),_tcslen(_T("TD")) )) || //5<><35>0Ϊȡ<CEAA><C8A1>ҵ<EFBFBD><D2B5>
|
|||
|
(!_tcsncmp(szMsg , _T("0000"),_tcslen(_T("0000")) ) ) ||
|
|||
|
(!_tcscmp(szMsg , _T("N") ) ) ||
|
|||
|
(!_tcscmp(szMsg, _T("R"))) || //2023
|
|||
|
(!_tcscmp(szMsg, _T("T")))) //5<><35>0Ϊȡ<CEAA><C8A1>ҵ<EFBFBD><D2B5>
|
|||
|
{
|
|||
|
if (lCorpID2 < 100000) //<2F><>ȡ<EFBFBD><C8A1>ҵ<EFBFBD><D2B5><EFBFBD>ͼ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1<>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
strSelect.Format(_T("select top 1 * from corpsmsm.dbo.smssend with(nolock) where recvnum='%s' and SendNum like '%s%%' order by sendtime desc"), sms.szSendNum, sms.szRecvNum);
|
|||
|
if (pAdoRS->Open(strSelect) && !pAdoRS->IsEOF())
|
|||
|
{
|
|||
|
pAdoRS->GetCollect(_T("CorpID"), lCorpID2);
|
|||
|
pAdoRS->GetCollect(_T("UserID"), lUserID2);
|
|||
|
}
|
|||
|
}
|
|||
|
//strSelect.Format( _T("insert into back (CorpID,UserID,Mobile,AddTime,BZ) values(%d,%d,'%s',GETDATE(),'<27>Է<EFBFBD>00000ȡ<30><C8A1>ҵ<EFBFBD><D2B5>!')"),lCorpID2,lUserID2,sms.szSendNum );
|
|||
|
strSelect.Format( _T("insert into back (CorpID,UserID,Mobile,AddTime,BZ) values(%d,-1,'%s',GETDATE(),'<27>Է<EFBFBD>00000ȡ<30><C8A1>ҵ<EFBFBD><D2B5>!')"),lCorpID2,sms.szSendNum ); //<2F><>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>ҵ
|
|||
|
//strSelect.Format( _T("insert into back (CorpID,UserID,Mobile,AddTime,BZ) values(-1,-1,'%s',GETDATE(),'<27>Է<EFBFBD>00000ȡ<30><C8A1>ҵ<EFBFBD><D2B5>!')"),sms.szSendNum ); //ȫ<><C8AB>
|
|||
|
pAdoRS->Open( strSelect );
|
|||
|
pAdoRS->Close();
|
|||
|
if (lCorpID2 >= 100000) lCorpID3 = lCorpID2;
|
|||
|
if (lUserID2 >= 10000000) lUserID3 = lUserID2;
|
|||
|
/*
|
|||
|
if (lCorpID2>0 ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>,<2C><>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
strSelect.Format( _T("delete from white2 where Mobile='%s' and CorpID=%d") , sms.szSendNum , lCorpID2 );
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
pAdoRS->Close();
|
|||
|
}
|
|||
|
*/
|
|||
|
if ( lCorpID3>0 && lCorpID3>0 )
|
|||
|
{
|
|||
|
Sleep(2000); //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֹ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD>ղ<EFBFBD><D5B2><EFBFBD>
|
|||
|
//<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
SubmitData data={0};
|
|||
|
data.lCorpID = lCorpID3;
|
|||
|
data.lUserID = lUserID3;
|
|||
|
//data.lItem = 101;
|
|||
|
_tcscpy(data.szMobile,sms.szSendNum);
|
|||
|
//_stprintf( data.szMsg , _T("<22>ѳɹ<D1B3><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s<><73><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>") , sms.szRecvNum);
|
|||
|
_stprintf( data.szMsg , _T("<EFBFBD><EFBFBD><EFBFBD>ѳɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s<>Ķ<EFBFBD><C4B6>ţ<EFBFBD><C5A3>ٴο<D9B4>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>%s<>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>뷢<EFBFBD><EBB7A2>11111<31><31>%s<><73>") ,strSName,strSName,sms.szRecvNum);
|
|||
|
//_stprintf( data.szMsg , _T("<22><EFBFBD><F0BEB4B5>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>02033242290ȡ<30><C8A1><EFBFBD><EFBFBD>[%s]") ,szSName);
|
|||
|
SubmitSms( data,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
#ifdef SMSCENTER_GDDX
|
|||
|
if ( !_tcsncmp(szMsg , _T("DG"),_tcslen(_T("DG")) ) ) //5<><35>0Ϊȡ<CEAA><C8A1>ҵ<EFBFBD><D2B5>
|
|||
|
#else
|
|||
|
if ( !_tcsncmp(szMsg , _T("1111"),_tcslen(_T("1111")) ) ) //5<><35>0Ϊȡ<CEAA><C8A1>ҵ<EFBFBD><D2B5>
|
|||
|
#endif
|
|||
|
{
|
|||
|
//if ( lCorpID2>0 )
|
|||
|
// strSelect.Format( _T("delete from back where Mobile='%s' and CorpID=%d"),sms.szSendNum,lCorpID2);
|
|||
|
//else
|
|||
|
strSelect.Format( _T("delete from back where Mobile='%s' "),sms.szSendNum);
|
|||
|
pAdoRS->Open( strSelect );
|
|||
|
pAdoRS->Close();
|
|||
|
if (lTDMode==1 && lCorpID2>0 ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>,<2C><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
strSelect.Format( _T("select * from white2 with (index(White2_Mobile),nolock ) where Mobile='%s' and CorpID=%d") , sms.szSendNum , lCorpID2 );
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
//<2F>Ѵ<EFBFBD><D1B4>ڼ<EFBFBD>¼
|
|||
|
long lWhiteID=0;
|
|||
|
pAdoRS->GetCollect(_T("WhiteID") , lWhiteID );
|
|||
|
strSelect.Format( _T("update white2 set Status=%d where WhiteID=%d") ,1, lWhiteID );
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
pAdoRS->Close();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>µİ<C2B5><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
|
|||
|
strSelect.Format(_T("insert into White2 (CorpID,Mobile,AddTime,Status) values (%d,'%s',GetDate(),%d)") ,lCorpID2, sms.szSendNum ,1);
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
pAdoRS->Close();
|
|||
|
}
|
|||
|
}
|
|||
|
if ( lCorpID3>0 && lCorpID3>0 )
|
|||
|
{
|
|||
|
Sleep(2000); //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֹ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD>ղ<EFBFBD><D5B2><EFBFBD>
|
|||
|
//<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
SubmitData data={0};
|
|||
|
data.lCorpID = lCorpID3;
|
|||
|
data.lUserID = lUserID3;
|
|||
|
//data.lItem = 101;
|
|||
|
_tcscpy(data.szMobile,sms.szSendNum);
|
|||
|
//_stprintf( data.szMsg , _T("<22>ѳɹ<D1B3><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s<><73><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>") , sms.szRecvNum);
|
|||
|
_stprintf(data.szMsg, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٴο<EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>뷢<EFBFBD><EFBFBD>00000<EFBFBD><EFBFBD>%s<><73>"), sms.szRecvNum);
|
|||
|
//_stprintf( data.szMsg , _T("<22><><EFBFBD><EFBFBD><EFBFBD>ٴο<D9B4>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>չ<EFBFBD><D5B9>ܣ<EFBFBD><DCA3><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD>ո<EFBFBD><D5B8><EFBFBD>Ϣ<EFBFBD>뷢<EFBFBD><EBB7A2>00000<30><30>%s<><73>[%s]") , sms.szRecvNum,strSName);
|
|||
|
SubmitSms( data,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6>Ų<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD>û<EFBFBD>
|
|||
|
if ( lCorpID2 >0 ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD>ѯ
|
|||
|
{
|
|||
|
BOOL bQueryData=false;
|
|||
|
CString strCmd2=szMsg;
|
|||
|
strCmd2.Replace( _T("'") , _T("''"));
|
|||
|
if ( lUserID2 >0 )
|
|||
|
strSelect.Format( _T("select * from Query where CorpID=%d and UserID=%d and Cmd='%s' and Status=1"),lCorpID2,lUserID2,strCmd2 );
|
|||
|
else
|
|||
|
strSelect.Format( _T("select * from Query where CorpID=%d and Cmd='%s' and Status=1"),lCorpID2,strCmd2 );
|
|||
|
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF())
|
|||
|
bQueryData = true;
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD>е<EFBFBD>Ĭ<EFBFBD><C4AC>ָ<EFBFBD><D6B8>
|
|||
|
if (!bQueryData)
|
|||
|
{
|
|||
|
if ( lUserID2 >0 )
|
|||
|
strSelect.Format( _T("select * from Query where CorpID=%d and UserID=%d and Cmd='*' and Status=1"),lCorpID2,lUserID2 );
|
|||
|
else
|
|||
|
strSelect.Format( _T("select * from Query where CorpID=%d and Cmd='*' and Status=1"),lCorpID2 );
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF())
|
|||
|
bQueryData = true;
|
|||
|
}
|
|||
|
if ( bQueryData )
|
|||
|
{
|
|||
|
CString strRet;
|
|||
|
long lQueryID=0;
|
|||
|
pAdoRS->MoveFirst();
|
|||
|
pAdoRS->GetCollect( _T("QueryID"), lQueryID );
|
|||
|
pAdoRS->GetCollect( _T("UserID") , lUserID2 );
|
|||
|
pAdoRS->GetCollect( _T("Ret") , strRet );
|
|||
|
pAdoRS->Close();
|
|||
|
|
|||
|
//<2F><>ѯ<EFBFBD><D1AF><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ͨ<EFBFBD>˲<EFBFBD>ѯȨ<D1AF><C8A8>
|
|||
|
strSelect.Format( _T("select * from users where userid=%d ") , lUserID2 );
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS->MoveFirst();
|
|||
|
long lSDK = 0;
|
|||
|
pAdoRS->GetCollect( _T("SDK") , lSDK );
|
|||
|
BOOL bQuery = lSDK & SDK_AUTOQUERY ? true:false;
|
|||
|
if ( bQuery )
|
|||
|
{
|
|||
|
BOOL bAllowQuery=true;
|
|||
|
//<2F>жϼ<D0B6>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD>
|
|||
|
strSelect.Format( _T("select * from QueryFilt where UserID=%d and mobile='<27><><EFBFBD><EFBFBD>' and Status=1 and Type=0"),lUserID2); //<2F><>ѯ<EFBFBD>Ƿ<EFBFBD><C7B7>н<EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>
|
|||
|
if ( bAllowQuery && pAdoRS->Open(strSelect) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
bAllowQuery = false; //<2F><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
strSelect.Format( _T("select * from QueryFilt where UserID=%d and mobile='%s' and Status=1"),lUserID2 , sms.szSendNum );
|
|||
|
if (pAdoRS->Open(strSelect) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
//pAdoRS->MoveFirst();
|
|||
|
pAdoRS->GetCollect(_T("Type"), bAllowQuery );
|
|||
|
}
|
|||
|
|
|||
|
if ( bAllowQuery )
|
|||
|
{
|
|||
|
Sleep(2000); //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֹ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD>ղ<EFBFBD><D5B2><EFBFBD>
|
|||
|
//<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
SubmitData data={0};
|
|||
|
data.lCorpID = lCorpID2;
|
|||
|
data.lUserID = lUserID2;
|
|||
|
data.lSendID = -100; //<2F><>Ҫ<EFBFBD><D2AA>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>ID
|
|||
|
_tcscpy(data.szMobile,sms.szSendNum);
|
|||
|
_stprintf( data.szMsg , strRet);
|
|||
|
SubmitSms( data,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
|
|||
|
//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1
|
|||
|
strSelect.Format( _T("update Query set QueryCount=QueryCount+1 where QueryID=%d"),lQueryID);
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
pAdoRS->Close();
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>ѯ<EFBFBD>ļ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>QueryLog<6F><67><EFBFBD>С<EFBFBD>
|
|||
|
CString strmsg=sms.szMsg;
|
|||
|
strmsg.Replace( _T("'") , _T("''") );
|
|||
|
strSelect.Format( _T("insert into QueryLog(QueryID,CorpID,UserID,SendID,Mobile,RecvMsg,RetMsg,Reader,SendTime) values(%d,%d,%d,%d,'%s','%s','%s',0,GETDATE())"),
|
|||
|
lQueryID,lCorpID2,lUserID2,data.lSendID,
|
|||
|
sms.szSendNum,strmsg,strRet);
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
pAdoRS->Close();
|
|||
|
|
|||
|
strSelect.Format( _T("select top 1 * from QueryLog where UserID=%d order by SendTime desc") , lUserID2 );
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF())
|
|||
|
{
|
|||
|
//pAdoRS->MoveFirst();
|
|||
|
ANS_QueryLog_Data QueryLog={0};
|
|||
|
pAdoRS->GetCollect( _T("QueryLogID") , QueryLog.lQueryLogID );
|
|||
|
pAdoRS->Close();
|
|||
|
|
|||
|
//<2F>յ<EFBFBD><D5B5><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD>ţ<EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5>û<EFBFBD>
|
|||
|
//SmsSendData * psms = new SmsSendData;
|
|||
|
//*psms = data;
|
|||
|
//_tcscpy( psms->szMsg , sms.szMsg );
|
|||
|
//pSMSDlg->On_User_PushMsg( SMS_PUSH , (WPARAM)psms , 0 );
|
|||
|
|
|||
|
QueryLog.lQueryID = lQueryID;
|
|||
|
QueryLog.lSendID = data.lSendID;
|
|||
|
QueryLog.lCorpID = lCorpID2;
|
|||
|
QueryLog.lUserID = lUserID2;
|
|||
|
_tcscpy(QueryLog.szMobile,sms.szSendNum);
|
|||
|
_tcscpy(QueryLog.szRecvMsg,sms.szMsg);
|
|||
|
_tcscpy(QueryLog.szRetMsg,strRet);
|
|||
|
::GetLocalTime(&QueryLog.tSendTime);
|
|||
|
pSMSDlg->SocketPushQueryLog(pAdoRS, QueryLog );
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if ( !bReportNumber ) //<2F><><EFBFBD>ǹ<EFBFBD><C7B9><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
return false;
|
|||
|
|
|||
|
if (CString(sms.szRecvNum).MakeUpper() == CString(_T("WxWork")).MakeUpper()) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<D2B5>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
_tcscpy(Quitdata.szName, sms.szRecvNum);
|
|||
|
Quitdata.lPrority = 876534;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
if ( dwType&REPORT_MANAGER && !_tcsncmp( szMsg , _T("RESTART"),_tcslen(_T("RESTART")) ) )
|
|||
|
{
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD>ɹ<EFBFBD><EFBFBD>յ<EFBFBD>%s<><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ%s!") , sms.szSendNum , szMsg );
|
|||
|
Sleep(2000);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
pSMSDlg->PostMessage( SMS_RESTART , 1 , 0 ); //<2F><><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
if (dwType&REPORT_MANAGER && !_tcsncmp( szMsg , _T("REBOOT"),_tcslen(_T("REBOOT")) ) )
|
|||
|
{
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD>ɹ<EFBFBD><EFBFBD>յ<EFBFBD>%s<><73>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ%s!") , sms.szSendNum , szMsg );
|
|||
|
Sleep(2000);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
pSMSDlg->PostMessage( SMS_RESTART , 1 , 0 ); //<2F><><EFBFBD><EFBFBD>
|
|||
|
CProcessSocket::Reboot(); //ǿ<><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
if (dwType&REPORT_MANAGER && !_tcsncmp( szMsg , _T("QUIT") , _tcslen(_T("QUIT"))) )
|
|||
|
{
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD>ɹ<EFBFBD><EFBFBD>յ<EFBFBD>%s<><73><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>Ϣ%s!") , sms.szSendNum , szMsg );
|
|||
|
Sleep(2000);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
pSMSDlg->PostMessage( SMS_RESTART , 2 , 0 ); //<2F>˳<EFBFBD>
|
|||
|
}
|
|||
|
if ((dwType&REPORT_MANAGER || dwType&REPORT_CHECKUP ) && !_tcsncmp( szMsg , _T("OFF") , _tcslen(_T("OFF"))) )
|
|||
|
{
|
|||
|
TCHAR szCorpID[512]={0};
|
|||
|
_tcscpy( szCorpID,szMsg+3 );
|
|||
|
if ( _tcslen(szCorpID)>=8 )
|
|||
|
{
|
|||
|
szCorpID[8]=0;
|
|||
|
strSelect.Format( _T("select * from users where userid=%d"),_ttol(szCorpID));
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
//pAdoRS->MoveFirst();
|
|||
|
//<2F><><EFBFBD><EFBFBD>Ϊ֪ͨsocket,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵Ķ<CDB5><C4B6><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
Checkup up={0};
|
|||
|
pAdoRS->GetCollect( _T("CorpID") , up.lCorpID );
|
|||
|
pAdoRS->GetCollect( _T("UserID") , up.lUserID );
|
|||
|
up.bCheckup= true;
|
|||
|
pSMSDlg->SocketPushCheck(up);
|
|||
|
//ǿ<><C7BF><EFBFBD>߳<EFBFBD><DFB3>û<EFBFBD>
|
|||
|
REQ_CloseClient close={0};
|
|||
|
close.lUserID = up.lUserID;
|
|||
|
close.ucUserType = LOGINTYPE_ALL;
|
|||
|
pSMSDlg->SocketPushClose(pAdoRS2,&close);
|
|||
|
Sleep(200);
|
|||
|
|
|||
|
long lPurview=0;
|
|||
|
pAdoRS->GetCollect( _T("Purview"),lPurview );
|
|||
|
pAdoRS->Close();
|
|||
|
lPurview &= ~(PURVIEW_LOGIN);
|
|||
|
strSelect.Format( _T("update users set Purview=%d where userid=%d") ,lPurview,_ttol(szCorpID) );
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
//<2F><><EFBFBD>ѷ<EFBFBD><D1B7>͵Ķ<CDB5><C4B6><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|||
|
strSelect.Format( _T("update smssend set Status=1 where userid=%d and status=0") , _ttol(szCorpID) );
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|||
|
strSelect.Format(_T("update corpsmsm.dbo.smssendT set Status=1 where userid=%d and status=0"), _ttol(szCorpID));
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>IDΪ%s<>Ķ<EFBFBD><C4B6>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>!") , szCorpID );
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
strTemp.Format( _T("(%s)<29>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>IDΪ%s<>Ķ<EFBFBD><C4B6>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>!"),Quitdata.szMobile,szCorpID);
|
|||
|
Bbs_Insert_Sys(pAdoRS,strTemp);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD>û<EFBFBD>ID:%s<><73><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , szCorpID );
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
szCorpID[6]=0;
|
|||
|
strSelect.Format( _T("select * from corp where corpid=%d"),_ttol(szCorpID));
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
//pAdoRS->MoveFirst();
|
|||
|
//<2F><><EFBFBD><EFBFBD>Ϊ֪ͨsocket,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵Ķ<CDB5><C4B6><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
Checkup up={0};
|
|||
|
pAdoRS->GetCollect( _T("CorpID") , up.lCorpID );
|
|||
|
|
|||
|
pAdoRS->Close();
|
|||
|
up.bCheckup= true;
|
|||
|
pSMSDlg->SocketPushCheck(up);
|
|||
|
//ǿ<><C7BF><EFBFBD>߳<EFBFBD><DFB3>û<EFBFBD>
|
|||
|
REQ_CloseClient close={0};
|
|||
|
close.lUserID = up.lCorpID;
|
|||
|
close.ucUserType = LOGINTYPE_ALL;
|
|||
|
pSMSDlg->SocketPushClose(pAdoRS2,&close);
|
|||
|
Sleep(200);
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ
|
|||
|
strSelect.Format( _T("update corp set Status=1 where corpid=%d") , _ttol(szCorpID) );
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
//<2F><><EFBFBD>ѷ<EFBFBD><D1B7>͵Ķ<CDB5><C4B6><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|||
|
strSelect.Format( _T("update smssend set Status=1 where corpid=%d and status=0") , _ttol(szCorpID) );
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|||
|
strSelect.Format(_T("update corpsmsm.dbo.smssendT set Status=1 where corpid=%d and status=0"), _ttol(szCorpID));
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵIDΪ%s<>Ķ<EFBFBD><C4B6>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>!") , szCorpID );
|
|||
|
|
|||
|
strTemp.Format( _T("(%s)<29>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵIDΪ%s<>Ķ<EFBFBD><C4B6>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>!"),Quitdata.szMobile,szCorpID);
|
|||
|
Bbs_Insert_Sys(pAdoRS,strTemp); //<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2>־
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD>¼
|
|||
|
CString str;
|
|||
|
str.Format( _T("insert into Corp_Oper ( CorpID,UserType,OperType,OperMsg,BZ,CreateUser,CreateTime ) values( %d,%d,%d,'%s','%s','%s',GetDate())") , //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
|
|||
|
up.lCorpID,
|
|||
|
0, //<2F>û<EFBFBD>
|
|||
|
1, //<2F>رղ<D8B1><D5B2><EFBFBD>
|
|||
|
_T(""),
|
|||
|
strTemp,
|
|||
|
Quitdata.szMobile);
|
|||
|
pAdoRS->Open(str);
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ҵID:%s<><73><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , szCorpID );
|
|||
|
}
|
|||
|
}
|
|||
|
Sleep(2000);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
if ((dwType&REPORT_MANAGER || dwType&REPORT_CHECKUP ) && !_tcsncmp( szMsg , _T("ON") , _tcslen(_T("ON"))) )
|
|||
|
{
|
|||
|
TCHAR szCorpID[512]={0};
|
|||
|
_tcscpy( szCorpID,szMsg+2 );
|
|||
|
if ( _tcslen(szCorpID)>=8 )
|
|||
|
{
|
|||
|
szCorpID[8]=0;
|
|||
|
strSelect.Format( _T("select * from users where userid=%d"),_ttol(szCorpID));
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF())
|
|||
|
{
|
|||
|
long lPurview=0;
|
|||
|
//pAdoRS->MoveFirst();
|
|||
|
pAdoRS->GetCollect( _T("Purview"),lPurview );
|
|||
|
pAdoRS->Close();
|
|||
|
lPurview |= PURVIEW_LOGIN;
|
|||
|
strSelect.Format( _T("update users set Purview=%d where userid=%d") ,lPurview,_ttol(szCorpID) );
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>IDΪ%s<>Ķ<EFBFBD><C4B6><EFBFBD>!") , szCorpID );
|
|||
|
|
|||
|
strTemp.Format( _T("(%s)<29>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>IDΪ%s<>Ķ<EFBFBD><C4B6><EFBFBD>!"),Quitdata.szMobile,szCorpID);
|
|||
|
Bbs_Insert_Sys(pAdoRS,strTemp); //<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2>־
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD>û<EFBFBD>ID:%s<><73><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , szCorpID );
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
szCorpID[6]=0;
|
|||
|
strSelect.Format( _T("select * from corp where corpid=%d"),_ttol(szCorpID));
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
strSelect.Format( _T("update corp set Status=0 where corpid=%d and status=1") , _ttol(szCorpID) );
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵIDΪ%s<>Ķ<EFBFBD><C4B6><EFBFBD>!") , szCorpID );
|
|||
|
|
|||
|
strTemp.Format( _T("(%s)<29>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵIDΪ%s<>Ķ<EFBFBD><C4B6><EFBFBD>!"),Quitdata.szMobile,szCorpID);
|
|||
|
Bbs_Insert_Sys(pAdoRS,strTemp); //<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2>־
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD>¼
|
|||
|
CString str;
|
|||
|
str.Format( _T("insert into Corp_Oper ( CorpID,UserType,OperType,OperMsg,BZ,CreateUser,CreateTime ) values( %d,%d,%d,'%s','%s','%s',GetDate())") , //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
|
|||
|
_ttol(szCorpID),
|
|||
|
0, //<2F>û<EFBFBD>
|
|||
|
0, //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
_T(""),
|
|||
|
strTemp,
|
|||
|
Quitdata.szMobile);
|
|||
|
pAdoRS->Open(str);
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ҵID:%s<><73><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , szCorpID );
|
|||
|
}
|
|||
|
}
|
|||
|
Sleep(2000);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
if ((dwType&REPORT_MANAGER || dwType&REPORT_CHECKUP ) && !_tcsncmp( szMsg , _T("TG") , _tcslen(_T("TG"))) )
|
|||
|
{
|
|||
|
TCHAR szCorpID[512]={0};
|
|||
|
_tcscpy( szCorpID,szMsg+2 );
|
|||
|
if ( _tcslen(szCorpID)>=8 )
|
|||
|
{
|
|||
|
szCorpID[8]=0;
|
|||
|
strSelect.Format( _T("select * from users where userid=%d"),_ttol(szCorpID));
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD>Ϊ֪ͨsocket,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵Ķ<CDB5><C4B6><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
Checkup up={0};
|
|||
|
pAdoRS->GetCollect( _T("CorpID") , up.lCorpID );
|
|||
|
pAdoRS->GetCollect( _T("UserID") , up.lUserID );
|
|||
|
pAdoRS->Close();
|
|||
|
up.bCheckup= false;
|
|||
|
pSMSDlg->SocketPushCheck(up);
|
|||
|
Sleep(200);
|
|||
|
|
|||
|
strSelect.Format( _T("update smssend set Status=0 where userid=%d and Status=%d") , _ttol(szCorpID),SEND_STATUS_SUB_FILT );
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>IDΪ%s<>Ķ<EFBFBD><C4B6><EFBFBD>!") , szCorpID );
|
|||
|
|
|||
|
strTemp.Format( _T("(%s)<29><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>IDΪ%s<>Ķ<EFBFBD><C4B6><EFBFBD>!"),Quitdata.szMobile,szCorpID);
|
|||
|
Bbs_Insert_Sys(pAdoRS,strTemp); //<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2>־
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD>û<EFBFBD>ID:%s<><73><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , szCorpID );
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
szCorpID[6]=0;
|
|||
|
strSelect.Format( _T("select * from corp where corpid=%d"),_ttol(szCorpID));
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF())
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD>Ϊ֪ͨsocket,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵Ķ<CDB5><C4B6><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
Checkup up={0};
|
|||
|
pAdoRS->GetCollect( _T("CorpID") , up.lCorpID );
|
|||
|
pAdoRS->Close();
|
|||
|
up.bCheckup= false;
|
|||
|
pSMSDlg->SocketPushCheck(up);
|
|||
|
Sleep(200);
|
|||
|
|
|||
|
strSelect.Format( _T("update smssend set Status=0 where corpid=%d and Status=%d") , _ttol(szCorpID),SEND_STATUS_SUB_FILT );
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵIDΪ%s<>Ķ<EFBFBD><C4B6><EFBFBD>!") , szCorpID );
|
|||
|
|
|||
|
strTemp.Format( _T("(%s)<29><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵIDΪ%s<>Ķ<EFBFBD><C4B6><EFBFBD>!"),Quitdata.szMobile,szCorpID);
|
|||
|
Bbs_Insert_Sys(pAdoRS,strTemp); //<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2>־
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ҵID:%s<><73><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"), szCorpID );
|
|||
|
}
|
|||
|
}
|
|||
|
Sleep(2000);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
if ((dwType&REPORT_MANAGER || dwType&REPORT_CHECKUP ) && !_tcsncmp( szMsg , _T("SG") , _tcslen(_T("SG"))) )
|
|||
|
{
|
|||
|
TCHAR szTaskID[512]={0};
|
|||
|
_tcscpy( szTaskID,szMsg+2 );
|
|||
|
long lTaskID = _ttol(szTaskID);
|
|||
|
if ( lTaskID>1 )
|
|||
|
{
|
|||
|
strSelect.Format( _T("update PLTaskSms set Status=1 where PLTaskSmsID=%d and Status=2") ,lTaskID );
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>IDΪ%d<>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , lTaskID );
|
|||
|
|
|||
|
strTemp.Format( _T("(%s)<29><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>IDΪ%d<>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"),Quitdata.szMobile,lTaskID);
|
|||
|
Bbs_Insert_Sys(pAdoRS,strTemp); //<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2>־
|
|||
|
}
|
|||
|
Sleep(2000);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
if ((dwType&REPORT_MANAGER || dwType&REPORT_CHECKUP ) && !_tcsncmp( szMsg , _T("SF") , _tcslen(_T("SF"))) )
|
|||
|
{
|
|||
|
TCHAR szTaskID[512]={0};
|
|||
|
_tcscpy( szTaskID,szMsg+2 );
|
|||
|
long lTaskID = _ttol(szTaskID);
|
|||
|
if ( lTaskID>1 )
|
|||
|
{
|
|||
|
strSelect.Format( _T("update PLTaskSms set Status=3 where PLTaskSmsID=%d and Status=2") ,lTaskID );
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>IDΪ%d<>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , lTaskID );
|
|||
|
|
|||
|
strTemp.Format( _T("(%s)<29><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>IDΪ%d<>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"),Quitdata.szMobile,lTaskID);
|
|||
|
Bbs_Insert_Sys(pAdoRS,strTemp); //<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2>־
|
|||
|
}
|
|||
|
Sleep(2000);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
if (dwType&REPORT_MANAGER && ( !_tcsncmp( szMsg , _T("BZ") , _tcslen(_T("BZ"))) || !_tcsncmp( szMsg , _T("HELP") , _tcslen(_T("HELP")))) )
|
|||
|
{
|
|||
|
SYSTEMTIME t;::GetLocalTime(&t);
|
|||
|
_stprintf(Quitdata.szMsg , _T("RESTART<EFBFBD><EFBFBD>QUIT<EFBFBD><EFBFBD>REBOOT<EFBFBD><EFBFBD>OFF<EFBFBD><EFBFBD>ON<EFBFBD><EFBFBD>QUERYLL<EFBFBD><EFBFBD>NEXT<EFBFBD><EFBFBD>CJ<EFBFBD><EFBFBD>ACJ<EFBFBD><EFBFBD>QJTD<EFBFBD><EFBFBD>TD<EFBFBD><EFBFBD>%02d:%02d:%02d") ,t.wHour,t.wMinute,t.wSecond );
|
|||
|
Sleep(2000);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
if (dwType&REPORT_CM && !_tcsncmp( szMsg , _T("CMG") , _tcslen(_T("CMG"))) )
|
|||
|
{
|
|||
|
TCHAR szBBSID[512]={0};
|
|||
|
_tcscpy( szBBSID,szMsg+3 );
|
|||
|
szBBSID[8]=0;
|
|||
|
TCHAR szErrMsg[512]={0};
|
|||
|
_tcscpy(szErrMsg,szMsg+11);
|
|||
|
|
|||
|
Sleep(2000);
|
|||
|
strSelect.Format( _T("select * from BBS with(nolock) where BBSID=%d AND BBSType=1"),_ttol(szBBSID));
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF())
|
|||
|
{
|
|||
|
long lUserID=0;
|
|||
|
long lCorpID=0;
|
|||
|
long lRCorpID=0;
|
|||
|
long lRUserID=0;
|
|||
|
TCHAR szCM[512]={0};
|
|||
|
CString strMobile;
|
|||
|
CString strBZ;
|
|||
|
CString strType;
|
|||
|
CString strName;
|
|||
|
pAdoRS->GetCollect( _T("CorpID") , lCorpID );
|
|||
|
pAdoRS->GetCollect( _T("UserID") , lUserID );
|
|||
|
pAdoRS->GetCollect( _T("SCorpID") , lRCorpID );
|
|||
|
pAdoRS->GetCollect( _T("SUserID") , lRUserID );
|
|||
|
pAdoRS->GetCollect( _T("CM") , szCM );
|
|||
|
pAdoRS->GetCollect( _T("Tel") , strMobile );
|
|||
|
pAdoRS->GetCollect( _T("BZ") , strBZ );
|
|||
|
pAdoRS->GetCollect( _T("Type") , strType );
|
|||
|
pAdoRS->GetCollect( _T("Email") , strName );
|
|||
|
|
|||
|
CString strTemp=strBZ + _T("\r\nǩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD>ύ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD>1-2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>պ<EFBFBD><D5BA>õ<EFBFBD><C3B5><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>:")+CString(szCM);
|
|||
|
pAdoRS->PutCollect( _T("BZ") , strTemp ); //ʧ<><CAA7>
|
|||
|
pAdoRS->PutCollect( _T("BBSType") , 2 ); //<2F>ɹ<EFBFBD>
|
|||
|
pAdoRS->PutCollect( _T("ExpTime") , COleDateTime::GetCurrentTime() ); //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
|||
|
pAdoRS->Update();
|
|||
|
pAdoRS->Close();
|
|||
|
|
|||
|
if ( _tcslen(szErrMsg)>=2 )
|
|||
|
{
|
|||
|
ExChar(szErrMsg , _T("\r") );
|
|||
|
ExChar(szErrMsg , _T("\n") );
|
|||
|
ExChar(szErrMsg , _T("\t") );
|
|||
|
_tcscpy(szCM,szErrMsg);
|
|||
|
}
|
|||
|
|
|||
|
//<2F><>¼<EFBFBD><C2BC><EFBFBD>¼<EFBFBD>
|
|||
|
strTemp=_T("ǩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD>ύ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD>1-2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>պ<EFBFBD><D5BA>õ<EFBFBD><C3B5><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>:")+CString(szCM);
|
|||
|
strTemp=strTemp+_T("<EFBFBD><EFBFBD>\r\n");
|
|||
|
strBZ=strTemp+strBZ;
|
|||
|
|
|||
|
BBS_Insert bbs={0};
|
|||
|
bbs.SCorpID = 0;
|
|||
|
bbs.SUserID = 0;
|
|||
|
_tcscpy(bbs.SCorpName , _T("ϵͳ<EFBFBD><EFBFBD>Ϣ") );
|
|||
|
_tcscpy(bbs.SUserName , _T("ϵͳ<EFBFBD><EFBFBD>Ϣ") );
|
|||
|
bbs.RCorpID = lRCorpID;
|
|||
|
bbs.RUserID = lRUserID;
|
|||
|
_tcscpy(bbs.Type , strType );
|
|||
|
_tcscpy(bbs.BZ , strBZ );
|
|||
|
bbs.Status = 0;
|
|||
|
bbs.BBSType = 0;
|
|||
|
Bbs_Insert(pAdoRS,bbs);
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ϵͳ<CFB5><CDB3>Ϣ
|
|||
|
strTemp.Format( _T("(%s)"),Quitdata.szMobile);
|
|||
|
strBZ=strTemp+strBZ;
|
|||
|
Bbs_Insert_Sys(pAdoRS,strBZ); //<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2>־
|
|||
|
|
|||
|
if ( lUserID<=0 )
|
|||
|
strSelect.Format( _T("update corp set CM='%s' where CorpID=%d") , szCM,lCorpID);
|
|||
|
else
|
|||
|
strSelect.Format( _T("update users set CM2='%s' where CorpID=%d AND UserID=%d ") , szCM,lCorpID,lUserID);
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s<><73>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>:%s!") , strName,szCM );
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if ( strMobile.GetLength()>= 8 )
|
|||
|
{
|
|||
|
_tcscpy( Quitdata.szMobile , strMobile );
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s<><73>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>:%s<><73>1-2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>պ<EFBFBD><D5BA>õ<EFBFBD><C3B5><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD>") , strName,szCM );
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_stprintf( Quitdata.szMsg , _T("ǩ<EFBFBD><EFBFBD>ID:%s<><73><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , szBBSID );
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
if (dwType&REPORT_CM && !_tcsncmp( szMsg , _T("CMJ") , _tcslen(_T("CMJ"))) )
|
|||
|
{
|
|||
|
TCHAR szBBSID[512]={0};
|
|||
|
_tcscpy( szBBSID,szMsg+3 );
|
|||
|
szBBSID[8]=0;
|
|||
|
TCHAR szErrMsg[512]={0};
|
|||
|
_tcscpy(szErrMsg,szMsg+11);
|
|||
|
|
|||
|
|
|||
|
Sleep(2000);
|
|||
|
strSelect.Format( _T("select * from BBS where BBSID=%d and BBSType=1"),_ttol(szBBSID));
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF())
|
|||
|
{
|
|||
|
long lUserID=0;
|
|||
|
long lCorpID=0;
|
|||
|
long lRCorpID=0;
|
|||
|
long lRUserID=0;
|
|||
|
TCHAR szCM[512]={0};
|
|||
|
CString strMobile;
|
|||
|
CString strBZ;
|
|||
|
CString strType;
|
|||
|
CString strName;
|
|||
|
pAdoRS->GetCollect( _T("CorpID") , lCorpID );
|
|||
|
pAdoRS->GetCollect( _T("UserID") , lUserID );
|
|||
|
pAdoRS->GetCollect( _T("SCorpID") , lRCorpID );
|
|||
|
pAdoRS->GetCollect( _T("SUserID") , lRUserID );
|
|||
|
pAdoRS->GetCollect( _T("CM") , szCM );
|
|||
|
pAdoRS->GetCollect( _T("Tel") , strMobile );
|
|||
|
pAdoRS->GetCollect( _T("BZ") , strBZ );
|
|||
|
pAdoRS->GetCollect( _T("Type") , strType );
|
|||
|
pAdoRS->GetCollect( _T("Email") , strName );
|
|||
|
|
|||
|
CString strTemp=strBZ + _T("\r\nǩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>ԭ<EFBFBD><EFBFBD>:")+CString(szErrMsg);
|
|||
|
pAdoRS->PutCollect( _T("BZ") , strTemp ); //ʧ<><CAA7>
|
|||
|
pAdoRS->PutCollect( _T("BBSType") , 3 ); //ʧ<><CAA7>
|
|||
|
pAdoRS->PutCollect( _T("ExpTime") , COleDateTime::GetCurrentTime() ); //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
pAdoRS->Update();
|
|||
|
|
|||
|
pAdoRS->Close();
|
|||
|
|
|||
|
strTemp=_T("ǩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>ԭ<EFBFBD><EFBFBD>:")+CString(szErrMsg);
|
|||
|
strTemp=strTemp+_T("\r\n");
|
|||
|
strBZ=strTemp+strBZ;
|
|||
|
|
|||
|
BBS_Insert bbs={0};
|
|||
|
bbs.SCorpID = 0;
|
|||
|
bbs.SUserID = 0;
|
|||
|
_tcscpy(bbs.SCorpName , _T("ϵͳ<EFBFBD><EFBFBD>Ϣ") );
|
|||
|
_tcscpy(bbs.SUserName , _T("ϵͳ<EFBFBD><EFBFBD>Ϣ") );
|
|||
|
bbs.RCorpID = lRCorpID;
|
|||
|
bbs.RUserID = lRUserID;
|
|||
|
_tcscpy(bbs.Type , strType );
|
|||
|
_tcscpy(bbs.BZ , strBZ );
|
|||
|
bbs.Status = 0;
|
|||
|
bbs.BBSType = 0;
|
|||
|
Bbs_Insert(pAdoRS,bbs);
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ϵͳ<CFB5><CDB3>Ϣ
|
|||
|
strTemp.Format( _T("(%s)"),Quitdata.szMobile);
|
|||
|
strBZ=strTemp+strBZ;
|
|||
|
Bbs_Insert_Sys(pAdoRS,strBZ); //<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2>־
|
|||
|
|
|||
|
_stprintf( Quitdata.szMsg , _T("%s<><73>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>ԭ<EFBFBD><D4AD>:%s<><73>") , strName,szErrMsg );
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if ( strMobile.GetLength()>= 8 )
|
|||
|
{
|
|||
|
_tcscpy( Quitdata.szMobile , strMobile );
|
|||
|
_stprintf( Quitdata.szMsg , _T("%s<><73>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>ԭ<EFBFBD><D4AD>:%s<><73>") , strName,szErrMsg );
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_stprintf( Quitdata.szMsg , _T("ǩ<EFBFBD><EFBFBD>ID:%s<><73><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , szBBSID );
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
if (dwType&REPORT_MANAGER && !_tcsncmp( szMsg , _T("QUERYLL") , _tcslen(_T("QUERYLL"))) )
|
|||
|
{
|
|||
|
Sleep(200);
|
|||
|
ANS_QueryLL RetLL={0};
|
|||
|
CString strRet;
|
|||
|
CProcessSocket::Process_QueryLL_Query(*pAdoRS,RetLL,strRet);
|
|||
|
_stprintf(Quitdata.szMsg, strRet );
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
if (dwType&REPORT_MANAGER && !_tcsncmp( szMsg , _T("NEXT") , _tcslen(_T("NEXT"))) )
|
|||
|
{
|
|||
|
Sleep(2000);
|
|||
|
COleDateTime t = COleDateTime::GetCurrentTime() - COleDateTimeSpan(0,0,10,0); //10<31><30><EFBFBD><EFBFBD>ǰ<EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
|
|||
|
COleDateTime tn= COleDateTime::GetCurrentTime() + COleDateTimeSpan(1,0,0,0); //<2F>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
|
|||
|
CString strNow,strNext;
|
|||
|
strNow.Format( _T("%04d%02d%02d %02d:%02d") , t.GetYear(),t.GetMonth(),t.GetDay(),t.GetHour(),t.GetMinute() );
|
|||
|
strNext.Format( _T("%04d%02d%02d 08:00") , tn.GetYear(),tn.GetMonth(),tn.GetDay());
|
|||
|
|
|||
|
strSelect.Format( _T("update smssend set timer='%s' where status=0 and Subtime<='%s' and (Timer is null or timer<getdate())"),strNext,strNow );
|
|||
|
if ( pAdoRS->Open(strSelect) )
|
|||
|
{
|
|||
|
pAdoRS->Close();
|
|||
|
|
|||
|
strTemp.Format( _T("(%s)<29><><EFBFBD>õ<EFBFBD>ǰδ<C7B0><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>8:00<30><30><EFBFBD><EFBFBD>!"),Quitdata.szMobile);
|
|||
|
Bbs_Insert_Sys(pAdoRS,strTemp); //<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2>־
|
|||
|
}
|
|||
|
_stprintf( Quitdata.szMsg , _T("<EFBFBD>ѳɹ<EFBFBD><EFBFBD><EFBFBD>%sǰ<73><C7B0><EFBFBD>͵Ķ<CDB5><C4B6><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>08:00<30><30><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>"),strNow);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
//<2F><>ҵ<EFBFBD><D2B5><EFBFBD>ų<EFBFBD>ֵ
|
|||
|
if (dwType&REPORT_CJ && !_tcsncmp( szMsg , _T("CJ") , _tcslen(_T("CJ"))) )
|
|||
|
{
|
|||
|
Sleep(2000);
|
|||
|
//<2F>ֽ<EFBFBD>ָ<EFBFBD><D6B8>,CJ,<2C><>ҵID,<2C>ɷѷ<C9B7>ʽ,<2C>ɷѽ<C9B7><D1BD><EFBFBD>,<2C><><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>Ƿ<EFBFBD>Ӧ<EFBFBD><D3A6>,<2C>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>,<2C><>ע
|
|||
|
TCHAR szCorpID[32]={0};
|
|||
|
TCHAR szPayMode[32]={0};
|
|||
|
TCHAR szPrice[32]={0};
|
|||
|
TCHAR szPriceOne[32]={0};
|
|||
|
TCHAR szPresent[32]={0};
|
|||
|
TCHAR szYS[32]={0};
|
|||
|
TCHAR szTest[32]={0};
|
|||
|
TCHAR szBZ[256]={0};
|
|||
|
TCHAR szMsgt[256]={0};
|
|||
|
_tcscpy(szMsgt,szMsg);
|
|||
|
_tcscat(szMsgt , _T(",,,,,,,,,,,,,,") );
|
|||
|
long lLen = _tcslen(szMsgt);
|
|||
|
|
|||
|
::GetReqMess(szMsgt,szCorpID,1,',',lLen);AllTrim(szCorpID);szCorpID[6]=0;
|
|||
|
::GetReqMess(szMsgt,szPayMode,2,',',lLen);AllTrim(szPayMode);szPayMode[15]=0;
|
|||
|
::GetReqMess(szMsgt,szPrice,3,',',lLen);AllTrim(szPrice);szPrice[8]=0;
|
|||
|
::GetReqMess(szMsgt,szPriceOne,4,',',lLen);AllTrim(szPriceOne);szPriceOne[8]=0;
|
|||
|
::GetReqMess(szMsgt,szPresent,5,',',lLen);AllTrim(szPresent);szPresent[8]=0;
|
|||
|
::GetReqMess(szMsgt,szYS,6,',',lLen);AllTrim(szYS);szYS[4]=0;
|
|||
|
::GetReqMess(szMsgt,szTest,7,',',lLen);AllTrim(szTest);szTest[4]=0;
|
|||
|
::GetReqMess(szMsgt,szBZ,8,',',lLen);AllTrim(szBZ);szBZ[250]=0;
|
|||
|
|
|||
|
long lCorpID = _ttol(szCorpID);
|
|||
|
#ifdef UNICODE
|
|||
|
double fPrice = atof(CW2A(szPrice));
|
|||
|
double fPriceOne = atof(CW2A(szPriceOne));
|
|||
|
#else
|
|||
|
double fPrice = atof(szPrice);
|
|||
|
double fPriceOne = atof(szPriceOne);
|
|||
|
#endif
|
|||
|
long lPresent = _ttol(szPresent);
|
|||
|
BOOL bYS = _ttol(szYS);
|
|||
|
BOOL bTest = _ttol(szTest);
|
|||
|
double l = fPrice/fPriceOne;
|
|||
|
long lSMSCount = long(l+0.5f);
|
|||
|
if ( l< 0 )
|
|||
|
lSMSCount = long(l-0.5f);
|
|||
|
lSMSCount = lSMSCount + lPresent;
|
|||
|
|
|||
|
if ( !bYS && !_tcscmp(szYS,_T("<EFBFBD><EFBFBD>")) )
|
|||
|
bYS = true;
|
|||
|
if ( !bTest && !_tcscmp(szTest,_T("<EFBFBD><EFBFBD>")) )
|
|||
|
bTest = true;
|
|||
|
|
|||
|
if ( lCorpID<100000 || lCorpID>1000000 ||
|
|||
|
fPrice<-10000.0f || fPrice>10000.0f ||
|
|||
|
fPriceOne<0 || fPriceOne>1.0f ||
|
|||
|
lPresent<-10000 || lPresent>10000 )
|
|||
|
{
|
|||
|
_tcscpy(Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>CJ,<2C><>ҵID,<2C>ɷѷ<C9B7>ʽ,<2C>ɷѽ<C9B7><D1BD><EFBFBD>,<2C><><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>Ƿ<EFBFBD>Ӧ<EFBFBD><D3A6>,<2C>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>,<2C><>ע"));
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
TCHAR szSMSCount[32]={0};
|
|||
|
_stprintf( szCorpID,_T("%d") , lCorpID );
|
|||
|
_stprintf( szPrice,_T("%.4f") , fPrice );
|
|||
|
_stprintf( szPriceOne,_T("%.4f") , fPriceOne );
|
|||
|
_stprintf( szPresent,_T("%d") , lPresent );
|
|||
|
_stprintf( szSMSCount,_T("%d") , lSMSCount );
|
|||
|
_stprintf( szYS,_T("%d") , bYS );
|
|||
|
_stprintf( szTest,_T("%d") , bTest );
|
|||
|
|
|||
|
strSelect.Format( _T("select * from corp where corpid=%d") , lCorpID );
|
|||
|
if (pAdoRS2->Open(strSelect) && !pAdoRS2->IsEOF() )
|
|||
|
{
|
|||
|
long lAgentID;
|
|||
|
CString strCorpName;
|
|||
|
pAdoRS2->GetCollect( _T("AgentID") , lAgentID );
|
|||
|
pAdoRS2->GetCollect( _T("CorpName") , strCorpName );
|
|||
|
pAdoRS2->Close();
|
|||
|
if ( lAgentID>0 )
|
|||
|
{
|
|||
|
_tcscpy(Quitdata.szMsg , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>"));
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
strSelect = CString("insert into corp_Pay (CorpID,AgentID,PayMan,PayMode,Price,PriceOne,Present,SMSCount,YS,Test,CreateUser,PayTime,OvrTime,BZ) values(") +
|
|||
|
CString(" '") + CString(szCorpID) + CString("',") +
|
|||
|
CString(" '") + CString("0") + CString("',") +
|
|||
|
CString(" '") + CString("<EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD>ֵ") + CString("',") +
|
|||
|
CString(" '") + CString(szPayMode) + CString("',") +
|
|||
|
CString(szPrice) + CString(",") +
|
|||
|
CString(szPriceOne) + CString(",") +
|
|||
|
CString(szPresent) + CString(",") +
|
|||
|
CString(szSMSCount) + CString(",") +
|
|||
|
CString(szYS) + CString(",") +
|
|||
|
CString(szTest) + CString(",") +
|
|||
|
CString(" '") + CString(sms.szSendNum) + CString("',") + //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CString( "GETDATE(),") +
|
|||
|
CString( "DATEADD(Year,1,GETDATE()),") +
|
|||
|
CString(" '") + CString(szBZ) + CString("' )");
|
|||
|
|
|||
|
if ( pAdoRS2->Open(strSelect) )
|
|||
|
{
|
|||
|
strSelect.Format(_T("update corp set SMSUsed=SMSUsed+%d,Total=Total+%.4f,TotalSms=TotalSms+%d,LastPay=GetDate(),OvrTime=DATEADD(Year,1,GETDATE()) where CorpID=%d") , lSMSCount,fPrice,lSMSCount,lCorpID);
|
|||
|
pAdoRS2->Open(strSelect);
|
|||
|
|
|||
|
_stprintf(Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ֵ<EFBFBD>ɹ<EFBFBD>:%s(%d),<2C><>%d<><64><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>"),strCorpName ,lCorpID,lSMSCount);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
|
|||
|
strTemp.Format( _T("(%s)%s!"),Quitdata.szMobile,Quitdata.szMsg);
|
|||
|
Bbs_Insert_Sys(pAdoRS,strTemp); //<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2>־
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_tcscpy(Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飡"));
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_stprintf(Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵID(%d)<29><><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飡"),lCorpID);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><CCB6>ų<EFBFBD>ֵ
|
|||
|
if (dwType&REPORT_CJ && !_tcsncmp( szMsg , _T("ACJ") , _tcslen(_T("ACJ"))) )
|
|||
|
{
|
|||
|
Sleep(2000);
|
|||
|
//<2F>ֽ<EFBFBD>ָ<EFBFBD><D6B8>,CJA,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID,<2C>ɷѷ<C9B7>ʽ,<2C>ɷѽ<C9B7><D1BD><EFBFBD>,<2C><><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>Ƿ<EFBFBD>Ӧ<EFBFBD><D3A6>,<2C>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>,<2C><>ע
|
|||
|
TCHAR szCorpID[32]={0};
|
|||
|
TCHAR szPayMode[32]={0};
|
|||
|
TCHAR szPrice[32]={0};
|
|||
|
TCHAR szPriceOne[32]={0};
|
|||
|
TCHAR szPresent[32]={0};
|
|||
|
TCHAR szYS[32]={0};
|
|||
|
TCHAR szTest[32]={0};
|
|||
|
TCHAR szBZ[256]={0};
|
|||
|
TCHAR szMsgt[256]={0};
|
|||
|
_tcscpy(szMsgt,szMsg);
|
|||
|
_tcscat(szMsgt , _T(",,,,,,,,,,,,,,") );
|
|||
|
long lLen = _tcslen(szMsgt);
|
|||
|
|
|||
|
::GetReqMess(szMsgt,szCorpID,1,',',lLen);AllTrim(szCorpID);szCorpID[6]=0;
|
|||
|
::GetReqMess(szMsgt,szPayMode,2,',',lLen);AllTrim(szPayMode);szPayMode[15]=0;
|
|||
|
::GetReqMess(szMsgt,szPrice,3,',',lLen);AllTrim(szPrice);szPrice[8]=0;
|
|||
|
::GetReqMess(szMsgt,szPriceOne,4,',',lLen);AllTrim(szPriceOne);szPriceOne[8]=0;
|
|||
|
::GetReqMess(szMsgt,szPresent,5,',',lLen);AllTrim(szPresent);szPresent[8]=0;
|
|||
|
::GetReqMess(szMsgt,szYS,6,',',lLen);AllTrim(szYS);szYS[4]=0;
|
|||
|
::GetReqMess(szMsgt,szTest,7,',',lLen);AllTrim(szTest);szTest[4]=0;
|
|||
|
::GetReqMess(szMsgt,szBZ,8,',',lLen);AllTrim(szBZ);szBZ[250]=0;
|
|||
|
|
|||
|
long lAgentID = _ttol(szCorpID);
|
|||
|
|
|||
|
#ifdef UNICODE
|
|||
|
double fPrice = atof(CW2A(szPrice));
|
|||
|
double fPriceOne = atof(CW2A(szPriceOne));
|
|||
|
#else
|
|||
|
double fPrice = atof(szPrice);
|
|||
|
double fPriceOne = atof(szPriceOne);
|
|||
|
#endif
|
|||
|
long lPresent = _ttol(szPresent);
|
|||
|
BOOL bYS = _ttol(szYS);
|
|||
|
BOOL bTest = _ttol(szTest);
|
|||
|
double l = fPrice/fPriceOne;
|
|||
|
long lSMSCount = long(l+0.5f);
|
|||
|
if ( l< 0 )
|
|||
|
lSMSCount = long(l-0.5f);
|
|||
|
lSMSCount = lSMSCount + lPresent;
|
|||
|
|
|||
|
if ( !bYS && !_tcscmp(szYS,_T("<EFBFBD><EFBFBD>")) )
|
|||
|
bYS = true;
|
|||
|
if ( !bTest && !_tcscmp(szTest,_T("<EFBFBD><EFBFBD>")) )
|
|||
|
bTest = true;
|
|||
|
|
|||
|
if ( lAgentID<100000 || lAgentID>1000000 ||
|
|||
|
fPrice<-10000.0f || fPrice>10000.0f ||
|
|||
|
fPriceOne<0 || fPriceOne>1.0f ||
|
|||
|
lPresent<-10000 || lPresent>10000 )
|
|||
|
{
|
|||
|
_tcscpy(Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>ACJ,<2C><>ҵID,<2C>ɷѷ<C9B7>ʽ,<2C>ɷѽ<C9B7><D1BD><EFBFBD>,<2C><><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>Ƿ<EFBFBD>Ӧ<EFBFBD><D3A6>,<2C>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>,<2C><>ע"));
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
TCHAR szSMSCount[32]={0};
|
|||
|
_stprintf( szCorpID,_T("%d") , lAgentID );
|
|||
|
_stprintf( szPrice,_T("%.4f") , fPrice );
|
|||
|
_stprintf( szPriceOne,_T("%.4f") , fPriceOne );
|
|||
|
_stprintf( szPresent,_T("%d") , lPresent );
|
|||
|
_stprintf( szSMSCount,_T("%d") , lSMSCount );
|
|||
|
_stprintf( szYS,_T("%d") , bYS );
|
|||
|
_stprintf( szTest,_T("%d") , bTest );
|
|||
|
float fPrice2 = (float)lSMSCount/10.0f;
|
|||
|
CString strPrice;
|
|||
|
strPrice.Format( _T("%.4f") , fPrice2);
|
|||
|
|
|||
|
|
|||
|
strSelect.Format( _T("select * from agent where agentid=%d") , lAgentID );
|
|||
|
if (pAdoRS2->Open(strSelect) && !pAdoRS2->IsEOF() )
|
|||
|
{
|
|||
|
CString strAgentName;
|
|||
|
pAdoRS2->GetCollect( _T("Name") , strAgentName );
|
|||
|
pAdoRS2->Close();
|
|||
|
|
|||
|
strSelect = CString("insert into Agent_Pay (AgentID,PayMan,PayMode,JFPrice,PriceOne,Present,Price,CreateUser,PayTime,YS,Test,BZ) values(") +
|
|||
|
CString(" '") + CString(szCorpID) + CString("',") +
|
|||
|
CString(" '") + CString("<EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD>ֵ") + CString("',") + //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CString(" '") + CString(szPayMode) + CString("',") +
|
|||
|
CString(szPrice) + CString(",") +
|
|||
|
CString(szPriceOne) + CString(",") +
|
|||
|
CString(szPresent) + CString(",") +
|
|||
|
strPrice + CString(",") +
|
|||
|
CString(" '") + CString(sms.szSendNum) + CString("',") + //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CString( "GETDATE(),") +
|
|||
|
CString(szYS) + CString(",") +
|
|||
|
CString(szTest) + CString(",") +
|
|||
|
CString(" '") + CString(szBZ) + CString("' )");
|
|||
|
|
|||
|
|
|||
|
if ( pAdoRS2->Open(strSelect) )
|
|||
|
{
|
|||
|
strSelect.Format(_T("update Agent set Used=Used+%.4f,JFTotal=JFTotal+%.4f,Total=Total+%.4f where AgentID='%d'") , fPrice2,fPrice,fPrice2,lAgentID);
|
|||
|
pAdoRS2->Open( strSelect );
|
|||
|
|
|||
|
_stprintf(Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ֵ<EFBFBD>ɹ<EFBFBD>:%s(%d),<2C><>%d<><64><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>"),strAgentName ,lAgentID,lSMSCount);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
|
|||
|
strTemp.Format( _T("(%s)%s!"),Quitdata.szMobile,Quitdata.szMsg);
|
|||
|
Bbs_Insert_Sys(pAdoRS,strTemp); //<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2>־
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_tcscpy(Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飡"));
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_stprintf(Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ֵ<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID(%d)<29><><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飡"),lAgentID);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
//<2F>Ķ<DEB8><C4B6><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
#ifdef SMSCENTER_GDDX
|
|||
|
if (dwType&REPORT_CJ && !_tcsncmp( szMsg , _T("GTD") , _tcslen(_T("GTD"))) )
|
|||
|
#else
|
|||
|
if (dwType&REPORT_CJ && !_tcsncmp( szMsg , _T("GTD") , _tcslen(_T("GTD"))) )
|
|||
|
#endif
|
|||
|
{
|
|||
|
Sleep(2000);
|
|||
|
//<2F>ֽ<EFBFBD>ָ<EFBFBD><D6B8>,TD,<2C><>ҵID,<2C><>Ӫ<EFBFBD><D3AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ͨ<><CDA8><EFBFBD><EFBFBD>,<2C>Ƿ<EFBFBD>ǿ<EFBFBD><C7BF>ȫ<EFBFBD><C8AB>
|
|||
|
TCHAR szCorpID[32]={0};
|
|||
|
TCHAR szYYS[32]={0};
|
|||
|
TCHAR szTD[32]={0};
|
|||
|
TCHAR szOutAll[32]={0};
|
|||
|
TCHAR szMsgt[256]={0};
|
|||
|
_tcscpy(szMsgt,szMsg);
|
|||
|
_tcscat(szMsgt , _T(",,,,,,,,,,,,,,") );
|
|||
|
long lLen = _tcslen(szMsgt);
|
|||
|
|
|||
|
::GetReqMess(szMsgt,szCorpID,1,',',lLen);AllTrim(szCorpID);szCorpID[6]=0;
|
|||
|
::GetReqMess(szMsgt,szYYS,2,',',lLen);AllTrim(szYYS);szYYS[1]=0;
|
|||
|
::GetReqMess(szMsgt,szTD,3,',',lLen);AllTrim(szTD);szTD[2]=0;
|
|||
|
::GetReqMess(szMsgt,szOutAll,4,',',lLen);AllTrim(szOutAll);szOutAll[1]=0;
|
|||
|
|
|||
|
long lCorpID = _ttol(szCorpID);
|
|||
|
long lYYS = _ttol(szYYS);
|
|||
|
long lTD = _ttol(szTD);
|
|||
|
if ( lCorpID<100000 || lCorpID>1000000 ||
|
|||
|
lYYS<1 || lYYS>3 ||
|
|||
|
lTD<0 || lTD>20 )
|
|||
|
{
|
|||
|
_tcscpy(Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>TD,<2C><>ҵID,<2C><>Ӫ<EFBFBD><D3AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(1-3),ͨ<><CDA8><EFBFBD><EFBFBD>(1-6)(11-17),<2C>Ƿ<EFBFBD>ǿ<EFBFBD><C7BF>ȫ<EFBFBD><C8AB>(0-1)<29><>"));
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
strSelect.Format( _T("select * from corp where corpid=%d") , lCorpID );
|
|||
|
if (pAdoRS2->Open(strSelect) && !pAdoRS2->IsEOF() )
|
|||
|
{
|
|||
|
TCHAR szTD2[32]={0};
|
|||
|
pAdoRS2->GetCollect( _T("SMSTD") , szTD2 );
|
|||
|
szTD2[lYYS-1] =(TCHAR)('0'+lTD);
|
|||
|
pAdoRS2->Close();
|
|||
|
if ( szOutAll[0] == '1' || szOutAll[0] == '0')
|
|||
|
{
|
|||
|
strSelect.Format(_T("Update corp set SMSTD='%s',OutAll=%d where corpid=%d") ,szTD2, _ttol(szOutAll),lCorpID );
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
strSelect.Format(_T("Update corp set SMSTD='%s' where corpid=%d") , szTD2,lCorpID );
|
|||
|
}
|
|||
|
pAdoRS2->Open(strSelect);
|
|||
|
_stprintf(Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>(%d),%d<><64>Ӫ<EFBFBD≯<EFBFBD>Ϊ%dͨ<64><CDA8><EFBFBD><EFBFBD>"),lCorpID ,lYYS,lTD);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_stprintf(Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵID(%d)<29><><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飡"),lCorpID);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
//<2F><EFBFBD>ǿ<EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
if (dwType&REPORT_CJ && !_tcsncmp( szMsg , _T("QJTD") , _tcslen(_T("QJTD"))) )
|
|||
|
{
|
|||
|
Sleep(2000);
|
|||
|
//<2F>ֽ<EFBFBD>ָ<EFBFBD><D6B8>,QJTD,<2C><>Ӫ<EFBFBD><D3AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ͨ<><CDA8><EFBFBD><EFBFBD>,<2C>Ƿ<EFBFBD>ǿ<EFBFBD><C7BF>ȫ<EFBFBD><C8AB>
|
|||
|
TCHAR szYYS[32]={0};
|
|||
|
TCHAR szTD[32]={0};
|
|||
|
TCHAR szOutAll[32]={0};
|
|||
|
TCHAR szMsgt[256]={0};
|
|||
|
_tcscpy(szMsgt,szMsg);
|
|||
|
_tcscat(szMsgt , _T(",,,,,,,,,,,,,,") );
|
|||
|
long lLen = _tcslen(szMsgt);
|
|||
|
|
|||
|
::GetReqMess(szMsgt,szYYS,1,',',lLen);AllTrim(szYYS);szYYS[1]=0;
|
|||
|
::GetReqMess(szMsgt,szTD,2,',',lLen);AllTrim(szTD);szTD[2]=0;
|
|||
|
::GetReqMess(szMsgt,szOutAll,3,',',lLen);AllTrim(szOutAll);szOutAll[1]=0;
|
|||
|
|
|||
|
long lYYS = _ttol(szYYS);
|
|||
|
long lTD = _ttol(szTD);
|
|||
|
if ( lYYS<1 || lYYS>3 ||
|
|||
|
lTD<0 || lTD>20 )
|
|||
|
{
|
|||
|
_tcscpy(Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ǿ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>QJTD,<2C><>Ӫ<EFBFBD><D3AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ͨ<><CDA8><EFBFBD><EFBFBD>(1-3),<2C>Ƿ<EFBFBD>ǿ<EFBFBD><C7BF>ȫ<EFBFBD><C8AB>(0-2)<29><>"));
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
pSMSDlg->m_Setup.szQZSmsTD[lYYS-1]=(TCHAR)('0'+lTD);
|
|||
|
if ( szOutAll[0] == '2' || szOutAll[0] == '1' || szOutAll[0] == '0' )
|
|||
|
{
|
|||
|
pSMSDlg->m_Setup.szQZSmsOutAll[lYYS-1]=(TCHAR)('0'+_ttol(szOutAll));
|
|||
|
}
|
|||
|
pSMSDlg->SaveSetup(); //<2F><><EFBFBD><EFBFBD>
|
|||
|
_stprintf(Quitdata.szMsg , _T("<EFBFBD><EFBFBD>ǿ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>%d<><64>Ӫ<EFBFBD≯<EFBFBD>Ϊ%dͨ<64><CDA8><EFBFBD><EFBFBD>"),lYYS ,lTD);
|
|||
|
SubmitSms( Quitdata,pAdoRS2,pAdoRS3,pSMSDlg,lMobileType,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#ifdef SMSCENTER_GDYD_ADC
|
|||
|
if ( lCorpID == DEFAULT_SEND_CORPID )
|
|||
|
{
|
|||
|
BOOL bQR=false;
|
|||
|
long lQRType=0;
|
|||
|
long lWhiteID = 0;
|
|||
|
long lCorpID = 0;
|
|||
|
if ( !_tcsncmp( szMsg , _T("<EFBFBD><EFBFBD>") , _tcslen(_T("<EFBFBD><EFBFBD>"))) )
|
|||
|
{
|
|||
|
strSelect.Format(_T("select top 1 * from white2 with(nolock) where mobile='%s' and status=0 and QRType=1 order by AddTime desc") , sms.szSendNum );
|
|||
|
if (pAdoRS->Open(strSelect) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS->GetCollect(_T("WhiteID") , lWhiteID );
|
|||
|
pAdoRS->GetCollect(_T("CorpID") , lCorpID );
|
|||
|
|
|||
|
strSelect.Format( _T("update white2 set status=1,QRType=11 where whiteid=%d") ,lWhiteID );
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
bQR = true;
|
|||
|
lQRType = 1;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
if ( !_tcsncmp( szMsg , _T("<EFBFBD><EFBFBD>") , _tcslen(_T("<EFBFBD><EFBFBD>"))) )
|
|||
|
{
|
|||
|
strSelect.Format(_T("select top 1 * from white2 with(nolock) where mobile='%s' and (status=0 or status=1) and QRType=2 order by AddTime desc") , sms.szSendNum );
|
|||
|
if (pAdoRS->Open(strSelect) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS->GetCollect(_T("WhiteID") , lWhiteID );
|
|||
|
pAdoRS->GetCollect(_T("CorpID") , lCorpID );
|
|||
|
|
|||
|
strSelect.Format( _T("delete from white2 where whiteid=%d") ,lWhiteID );
|
|||
|
pAdoRS->Open(strSelect);
|
|||
|
lQRType = 2;
|
|||
|
bQR = true;
|
|||
|
}
|
|||
|
}
|
|||
|
CString strRetMsg;
|
|||
|
if ( bQR )
|
|||
|
{
|
|||
|
CString strSName;
|
|||
|
CString strSmsNum2;
|
|||
|
strSelect.Format(_T("select * from corp with(nolock) where corpid=%d") ,lCorpID );
|
|||
|
if ( pAdoRS->Open(strSelect) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS->GetCollect(_T("SName") , strSName);
|
|||
|
pAdoRS->GetCollect(_T("SmsNum2") , strSmsNum2);
|
|||
|
}
|
|||
|
if ( lQRType==1 )
|
|||
|
{
|
|||
|
strRetMsg.Format(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>%s<><73>CRM<52><4D><EFBFBD>ֵķ<D6B5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫȡ<D2AA><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\"TD\"<EFBFBD><EFBFBD>106573440025%s<><73>") ,strSName, strSmsNum2);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
strRetMsg.Format(_T("<EFBFBD><EFBFBD><EFBFBD>Ѿܾ<EFBFBD>%s<><73>CRM<52><4D><EFBFBD>ֵķ<D6B5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\"DG\"<EFBFBD><EFBFBD>106573440025%s<><73>") ,strSName, strSmsNum2);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
strRetMsg.Format(_T("<EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㷢<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
|||
|
}
|
|||
|
SubmitData data={0};
|
|||
|
//_tcscpy(data.szSendNum,_T("99999"));
|
|||
|
data.lCorpID = DEFAULT_SEND_CORPID;
|
|||
|
data.lUserID = DEFAULT_SEND_USERID;
|
|||
|
data.lItem = 101;
|
|||
|
_tcscpy(data.szMobile,sms.szSendNum);
|
|||
|
_tcscpy(data.szMsg,strRetMsg);
|
|||
|
CSendThread::SubmitSms( data,pAdoRS2,pAdoRS3,pSMSDlg,0,SMSTYPE_ZF); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
#endif
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
BOOL CSendThread::Bbs_Insert(CAdoRecordSet *pAdoRS,BBS_Insert & bbs)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
CString strExpTime = _T("NULL");
|
|||
|
COleDateTime tExpTime(bbs.expTime);
|
|||
|
if (tExpTime.GetStatus() == COleDateTime::valid)
|
|||
|
{
|
|||
|
strExpTime.Format(_T("'%04d.%02d.%02d %02d:%02d:%02d'"), tExpTime.GetYear(), tExpTime.GetMonth(), tExpTime.GetDay(), tExpTime.GetHour(), tExpTime.GetMinute(), tExpTime.GetSecond());
|
|||
|
}
|
|||
|
CString str;
|
|||
|
str.Format( _T("insert into BBS (SCorpID,SUserID,SCorpName,SUserName,RCorpID,RUserID,RAgentID,Status,Type,Name,Tel,Email,BZ,BBSType,CorpID,UserID,CM,AgentID,AgentYJ,SendTime,ExpTime) values (%d,%d,'%s','%s',%d,%d,%d,%d,'%s','%s','%s','%s','%s',%d,%d,%d,'%s',%d,%d,GetDate(),%s)") ,
|
|||
|
bbs.SCorpID,
|
|||
|
bbs.SUserID,
|
|||
|
SqlStr(bbs.SCorpName),
|
|||
|
SqlStr(bbs.SUserName),
|
|||
|
bbs.RCorpID,
|
|||
|
bbs.RUserID,
|
|||
|
bbs.RAgentID,
|
|||
|
bbs.Status,
|
|||
|
SqlStr(bbs.Type),
|
|||
|
SqlStr(bbs.Name),
|
|||
|
SqlStr(bbs.Tel),
|
|||
|
SqlStr(bbs.Email),
|
|||
|
SqlStr(bbs.BZ),
|
|||
|
bbs.BBSType,
|
|||
|
bbs.CorpID,
|
|||
|
bbs.UserID,
|
|||
|
SqlStr(bbs.CM),
|
|||
|
bbs.AgentID,
|
|||
|
bbs.AgentYJ,
|
|||
|
strExpTime);
|
|||
|
|
|||
|
BOOL b = pAdoRS->Open(str);
|
|||
|
if ( b )
|
|||
|
{
|
|||
|
str = _T("SELECT SCOPE_IDENTITY()") ;
|
|||
|
if ( pAdoRS->Open( str ) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
pAdoRS->GetCollect((long)0 , bbs.BBSID );
|
|||
|
}
|
|||
|
}
|
|||
|
pAdoRS->Close();
|
|||
|
return b;
|
|||
|
|
|||
|
}
|
|||
|
catch(...)
|
|||
|
{
|
|||
|
LOG_APPERROR(_T("T"));
|
|||
|
return false;
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
BOOL CSendThread::Bbs_Insert_Sys(CAdoRecordSet *pAdoRS,CString strBZ,COleDateTime * pExpTime)
|
|||
|
{
|
|||
|
BBS_Insert bbs={0};
|
|||
|
bbs.SCorpID = 0;
|
|||
|
bbs.SUserID = 0;
|
|||
|
_tcscpy(bbs.SCorpName , _T("ϵͳ<EFBFBD><EFBFBD>Ϣ") );
|
|||
|
_tcscpy(bbs.SUserName , _T("ϵͳ<EFBFBD><EFBFBD>Ϣ") );
|
|||
|
bbs.RCorpID = 0;
|
|||
|
bbs.RUserID = 0;
|
|||
|
_tcscpy(bbs.Type , _T("ϵͳ<EFBFBD><EFBFBD>Ϣ") );
|
|||
|
_tcscpy(bbs.BZ , strBZ );
|
|||
|
bbs.Status = 0;
|
|||
|
bbs.BBSType = 10;
|
|||
|
if (pExpTime && pExpTime->GetStatus() == COleDateTime::valid)
|
|||
|
{
|
|||
|
pExpTime->GetAsSystemTime(bbs.expTime);
|
|||
|
COleDateTimeSpan span = COleDateTime::GetCurrentTime() - *pExpTime;
|
|||
|
_stprintf(bbs.Email, _T("%d"), span.GetMinutes());
|
|||
|
|
|||
|
}
|
|||
|
return Bbs_Insert(pAdoRS,bbs);
|
|||
|
}
|
|||
|
|
|||
|
BOOL CSendThread::PushRecvSmsToOtherCenter(HANDLE & hPipe,SmsSendData data, CString strProv,CString strCity)
|
|||
|
{
|
|||
|
BOOL bOK=false;
|
|||
|
#ifdef _UNICODE
|
|||
|
try
|
|||
|
{
|
|||
|
if ( hPipe == INVALID_HANDLE_VALUE )
|
|||
|
{
|
|||
|
hPipe=CreateFile(SMS_PIPE_RECVSMS,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
|
|||
|
if(hPipe==INVALID_HANDLE_VALUE)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
//<2F><><EFBFBD>ӳɹ<D3B3>
|
|||
|
DWORD dwMode=PIPE_TYPE_BYTE|PIPE_NOWAIT;
|
|||
|
SetNamedPipeHandleState(hPipe,&dwMode,NULL,NULL); //<2F><><EFBFBD>ɷ<EFBFBD><C9B7><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
|||
|
}
|
|||
|
|
|||
|
tagPipeReport report={0};
|
|||
|
report.lType = 1; //<2F><><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>
|
|||
|
report.lSendID = data.lSendID;
|
|||
|
report.lCorpID = data.lCorpID;
|
|||
|
report.lUserID = data.lUserID;
|
|||
|
report.lStatus = data.lStatus;
|
|||
|
report.tSendTime= data.tSendTime;
|
|||
|
|
|||
|
strcpy( report.szSendNum , CW2A(data.szSendNum) );
|
|||
|
strcpy( report.szRecvNum , CW2A(data.szRecvNum) );
|
|||
|
strcpy( report.szMsg , CW2A(data.szMsg) );
|
|||
|
strcpy( report.szAddNum , CW2A(data.szRecvStatus) ); //<2F><>չ<EFBFBD><D5B9>
|
|||
|
strcpy( report.szProv , CW2A(strProv)); //<2F><><EFBFBD>͵<EFBFBD><CDB5><EFBFBD>
|
|||
|
strcpy( report.szCity , CW2A(strCity)); //<2F><><EFBFBD>͵<EFBFBD><CDB5><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
DWORD dwWrite=0;
|
|||
|
WriteFile(hPipe, &report, sizeof(report), &dwWrite, NULL);
|
|||
|
if ( dwWrite == sizeof(report) )
|
|||
|
{
|
|||
|
bOK = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
hPipe = INVALID_HANDLE_VALUE;
|
|||
|
}
|
|||
|
}
|
|||
|
catch(...)
|
|||
|
{
|
|||
|
LOG_APPERROR(_T("T"));
|
|||
|
}
|
|||
|
#endif
|
|||
|
return bOK;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
BOOL CSendThread::PushRecvSmsToOtherCenter(long lType,CAdoRecordSet *pAdoRS, SmsSendData data, CString strProv, CString strCity)
|
|||
|
{
|
|||
|
BOOL bOK = false;
|
|||
|
#ifndef SMSCENTER_DEMO
|
|||
|
try
|
|||
|
{
|
|||
|
CString strSql;
|
|||
|
if (lType == 1) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>
|
|||
|
{
|
|||
|
strSql.Format(_T("insert into PushToOther (PushTime,Type,CorpID,UserID,SendID,SendNum,RecvNum,AddNum,Msg,LongMsg,Prov,City) values (GetDate(),%d,%d,%d,%d,'%s','%s','%s','%s','%s','%s','%s')"),
|
|||
|
1, //Type,<2C><><EFBFBD><EFBFBD>1Ϊ<31><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
data.lCorpID,
|
|||
|
data.lUserID,
|
|||
|
data.lSendID,
|
|||
|
data.szSendNum,
|
|||
|
data.szRecvNum,
|
|||
|
data.szRecvStatus, //<2F><>չ<EFBFBD><D5B9>
|
|||
|
SqlStr(data.szMsg),
|
|||
|
data.szMsgID, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
strProv,
|
|||
|
strCity);
|
|||
|
bOK = pAdoRS->Open(strSql);
|
|||
|
}
|
|||
|
|
|||
|
if (lType == 2) //<2F><><EFBFBD>رտͻ<D5BF><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
strSql.Format(_T("insert into PushToOther (PushTime,Type,CorpID,UserID,SendID) values (GetDate(),%d,%d,%d,%d)"),
|
|||
|
2, //Type,<2C><><EFBFBD><EFBFBD>1Ϊ<31><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
data.lCorpID,
|
|||
|
data.lUserID,
|
|||
|
data.lSendID);
|
|||
|
bOK = pAdoRS->Open(strSql);
|
|||
|
}
|
|||
|
if (rand() % 10 == 1)//10<31><30>֮1<D6AE><31><EFBFBD><EFBFBD>Ҫɾ<D2AA><C9BE>2<EFBFBD><32><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
strSql.Format(_T("delete from PushToOther where DATEDIFF(second,PushTime,GETDATE())>120"));
|
|||
|
pAdoRS->Open(strSql);
|
|||
|
}
|
|||
|
}
|
|||
|
catch (...)
|
|||
|
{
|
|||
|
LOG_APPERROR(_T("T"));
|
|||
|
}
|
|||
|
#endif
|
|||
|
return bOK;
|
|||
|
}
|
|||
|
|
|||
|
BOOL CSendThread::Recv_QQT(long lCorpID,long lUserID,long lRtx_GroupTaskID, CAdoRecordSet *pAdoRS, CAdoRecordSet *pAdoRS2, CSmsCenterDlg *pSMSDlg)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
CString str;
|
|||
|
if ( lCorpID<=0 || lRtx_GroupTaskID<=0 )
|
|||
|
return -1;
|
|||
|
|
|||
|
str.Format(_T("select * from Rtx_GroupTask where Rtx_GroupTaskID=%d and CorpID=%d and Received=0") , lRtx_GroupTaskID , lCorpID );
|
|||
|
if ( pAdoRS->Open(str) && !pAdoRS->IsEOF() )
|
|||
|
{
|
|||
|
REQ_QXBox_Group_SendData SendData={0};
|
|||
|
CString strDataMsg;
|
|||
|
|
|||
|
pAdoRS->GetCollect(_T("Rtx_GroupTaskID") , SendData.lRtx_GroupTaskID );
|
|||
|
pAdoRS->GetCollect(_T("Rtx_GroupID") , SendData.lRtx_GroupID );
|
|||
|
pAdoRS->GetCollect(_T("GroupID") , SendData.szGroupID );
|
|||
|
pAdoRS->GetCollect(_T("Sender") , SendData.szSender );
|
|||
|
pAdoRS->GetCollect(_T("Mobile") , SendData.szMobile );
|
|||
|
pAdoRS->GetCollect(_T("GroupName") , SendData.szGroupName );
|
|||
|
pAdoRS->GetCollect(_T("Status") , SendData.lStatus );
|
|||
|
pAdoRS->GetCollect(_T("CorpID") , SendData.lCorpID );
|
|||
|
pAdoRS->GetCollect(_T("UserID") , SendData.lUserID );
|
|||
|
pAdoRS->GetCollect(_T("Timer") , SendData.tTimer );
|
|||
|
pAdoRS->GetCollect(_T("MsgType") , SendData.lMsgType );
|
|||
|
pAdoRS->GetCollect(_T("MsgImageName") , SendData.szMsgImageName );
|
|||
|
//pAdoRS->GetCollect(_T("MsgImageLen") , pSendData->lImageLen );
|
|||
|
pAdoRS->GetCollect(_T("MsgDataType") , SendData.lMsgDataType );
|
|||
|
pAdoRS->GetCollect(_T("MsgData") , strDataMsg);
|
|||
|
pAdoRS->GetCollect(_T("MobileAll") , SendData.lMobileAll );
|
|||
|
pAdoRS->GetCollect(_T("MobileSent") , SendData.lMobileSent );
|
|||
|
pAdoRS->GetCollect(_T("SubTime") , SendData.tSubTime );
|
|||
|
|
|||
|
if ( pSMSDlg )
|
|||
|
{
|
|||
|
pSMSDlg->SocketPushQQT(pAdoRS, SendData,strDataMsg );
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
return 1;
|
|||
|
}
|
|||
|
catch(...)
|
|||
|
{
|
|||
|
LOG_APPERROR(_T("T"));
|
|||
|
}
|
|||
|
return 0;
|
|||
|
}
|