SmsCenter/SendThread.cpp

2785 lines
87 KiB
C++
Raw Normal View History

2025-01-03 16:47:25 +08:00
// 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;
if (sms.lCorpID <= 0) //û<><C3BB><EFBFBD><EFBFBD>ҵID<49><44><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ݺ<EFBFBD><DDBA><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>û<EFBFBD>
2025-01-03 16:47:25 +08:00
{
//<2F><>ͨ<EFBFBD><CDA8>ID
CString strTDNum;
long lLen = strAllNum.GetLength();
for (int i = lLen; i >= 0; i--)
2025-01-03 16:47:25 +08:00
{
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())
2025-01-03 16:47:25 +08:00
{
lTFHBegin = i;
pAdoRS->GetCollect(_T("Mode"), lTDMode);
break;
2025-01-03 16:47:25 +08:00
}
}
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--)
2025-01-03 16:47:25 +08:00
{
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;
}
2025-01-03 16:47:25 +08:00
}
}
else
2025-01-03 16:47:25 +08:00
{
//ͨ<><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--)
2025-01-03 16:47:25 +08:00
{
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);
2025-01-03 16:47:25 +08:00
strExTFH = strAllNum.Right(strAllNum.GetLength() - lTFHBegin); //<2F>ų<EFBFBD><C5B3><EFBFBD><EFBFBD>ط<EFBFBD><D8B7>ź<EFBFBD>ʣ<EFBFBD>µĺ<C2B5><C4BA><EFBFBD>
2025-01-03 16:47:25 +08:00
break;
}
2025-01-03 16:47:25 +08:00
}
}
//<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());
2025-01-03 16:47:25 +08:00
}
else
2025-01-03 16:47:25 +08:00
{
//<2F><><EFBFBD><EFBFBD>ҵID<49>ģ<EFBFBD>ֱ<EFBFBD><D6B1>ȡ<EFBFBD><C8A1>ҵ<EFBFBD><D2B5>Ϣ
str.Format(_T("select * from Corp with(nolock) where corpID=%d"), sms.lCorpID);
if (pAdoRS->Open(str) && !pAdoRS->IsEOF())
2025-01-03 16:47:25 +08:00
{
pAdoRS->GetCollect(_T("CorpID"), lCorpID);
pAdoRS->GetCollect(_T("SName"), strSName);
pAdoRS->GetCollect(_T("UpSms"), szUpSms);
//ȡȡ<C8A1><C8A1>ҵ<EFBFBD><D2B5><EFBFBD>ϣ<EFBFBD><CFA3>ټ<EFBFBD><D9BC><EFBFBD>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
if (sms.lUserID > 0)
2025-01-03 16:47:25 +08:00
{
str.Format(_T("select * from Users with(nolock) where userID=%d"), sms.lUserID);
if (pAdoRS->Open(str) && !pAdoRS->IsEOF())
2025-01-03 16:47:25 +08:00
{
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;
}
*/
2025-01-03 16:47:25 +08:00
}
}
}
}
/*
//<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>6<EFBFBD><36><EFBFBD><EFBFBD>
lZDCMLen = 6; //ǩ<><C7A9>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD>
2025-01-03 16:47:25 +08:00
#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><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><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;
}