982 lines
34 KiB
C++
982 lines
34 KiB
C++
// ProcessSocket3.cpp : implementation file
|
||
//
|
||
|
||
#include "stdafx.h"
|
||
#include "SmsCenter.h"
|
||
#include "ProcessSocket.h"
|
||
|
||
#ifdef _DEBUG
|
||
#define new DEBUG_NEW
|
||
#undef THIS_FILE
|
||
static char THIS_FILE[] = __FILE__;
|
||
#endif
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// CProcessSocket
|
||
|
||
#include "SmsCenterDlg.h"
|
||
#include "..\public\pop3\pop3.h"
|
||
#include "..\public\ProxySocket\CBase64Coding.hpp"
|
||
#include "..\public\AutoBuffer\AutoBuffer.h"
|
||
#include "..\public\md53\MD5_L.h"
|
||
|
||
#include "..\public\mailclient\SMTPClient.h"
|
||
|
||
|
||
|
||
long CProcessSocket::Process_TDSet_Signature_See(REQ_TD2Signature_See* pSee)
|
||
{
|
||
try
|
||
{
|
||
if (!(m_ulPurview & PURVIEW_LIST)) //没有权限修改资料
|
||
{
|
||
ANS_TD2Signature_See* pSeeRet = new ANS_TD2Signature_See; //权限不够,什么也不返回
|
||
memset(pSeeRet, 0, sizeof(ANS_TD2Signature_See));
|
||
pSeeRet->req = *pSee;
|
||
pSeeRet->lCount = -1;
|
||
_tcscpy(pSeeRet->szErrMsg, _T("查询权限异常1"));
|
||
SendFrame(SMSFUNC_TD2SIGNATURETITLE_SEE, (BYTE*)pSeeRet, sizeof(ANS_TD2Signature_See)); //发送返回
|
||
return 1;
|
||
}
|
||
|
||
CString str;
|
||
|
||
CString strWhere = _T(" 1=1 ");
|
||
|
||
if (pSee->lSignatureID > 0) //查询单一签名数据ID
|
||
{
|
||
str.Format(_T(" and SignatureID=%d"), pSee->lSignatureID);
|
||
strWhere.Append(str);
|
||
}
|
||
if (pSee->iTDID > 0) //查询单一通道ID
|
||
{
|
||
str.Format(_T(" and TDID=%d"), pSee->iTDID);
|
||
strWhere.Append(str);
|
||
}
|
||
if (pSee->lCorpID > 0) //查询单一企业ID
|
||
{
|
||
str.Format(_T(" and CorpID=%d"),pSee->lCorpID);
|
||
strWhere.Append(str);
|
||
}
|
||
if (_tcslen(pSee->szKey) > 0) //关键字查询企业
|
||
{
|
||
str.Format(_T(" and ( signature like '%%%%%s%%%%' or corpanyname like '%%%%%s%%%%' or smsnum like '%%%%%s%%%%' )"), pSee->szKey, pSee->szKey, pSee->szKey);
|
||
strWhere.Append(str);
|
||
}
|
||
if (pSee->lStatus > 0) //查询单一状态
|
||
{
|
||
str.Format(_T(" and status=%d"), pSee->lStatus-1);
|
||
strWhere.Append(str);
|
||
}
|
||
if (pSee->lOperType > 0) //查询单一操作类型
|
||
{
|
||
str.Format(_T(" and opertype=%d"), pSee->lOperType - 1);
|
||
strWhere.Append(str);
|
||
}
|
||
if (pSee->bAddTime) //添加时间
|
||
{
|
||
str.Format(_T(" and AddTime>='%04d%02d%02d %02d:%02d:%02d' and AddTime<='%04d%02d%02d %02d:%02d:%02d'"), pSee->tAddTimeBegin.wYear, pSee->tAddTimeBegin.wMonth, pSee->tAddTimeBegin.wDay, pSee->tAddTimeBegin.wHour, pSee->tAddTimeBegin.wMinute, pSee->tAddTimeBegin.wSecond, pSee->tAddTimeEnd.wYear, pSee->tAddTimeEnd.wMonth, pSee->tAddTimeEnd.wDay, pSee->tAddTimeEnd.wHour, pSee->tAddTimeEnd.wMinute, pSee->tAddTimeEnd.wSecond );
|
||
strWhere.Append(str);
|
||
}
|
||
if (pSee->bModifyTime) //更新时间
|
||
{
|
||
str.Format(_T(" and UploadTime>='%04d%02d%02d %02d:%02d:%02d' and UploadTime<='%04d%02d%02d %02d:%02d:%02d'"), pSee->tModifyTimeBegin.wYear, pSee->tModifyTimeBegin.wMonth, pSee->tModifyTimeBegin.wDay, pSee->tModifyTimeBegin.wHour, pSee->tModifyTimeBegin.wMinute, pSee->tModifyTimeBegin.wSecond, pSee->tModifyTimeEnd.wYear, pSee->tModifyTimeEnd.wMonth, pSee->tModifyTimeEnd.wDay, pSee->tModifyTimeEnd.wHour, pSee->tModifyTimeEnd.wMinute, pSee->tModifyTimeEnd.wSecond);
|
||
strWhere.Append(str);
|
||
}
|
||
if (pSee->bAuditTime) //审核时间
|
||
{
|
||
str.Format(_T(" and AuditTime>='%04d%02d%02d %02d:%02d:%02d' and AuditTime<='%04d%02d%02d %02d:%02d:%02d'"), pSee->tAuditTimeBegin.wYear, pSee->tAuditTimeBegin.wMonth, pSee->tAuditTimeBegin.wDay, pSee->tAuditTimeBegin.wHour, pSee->tAuditTimeBegin.wMinute, pSee->tAuditTimeBegin.wSecond, pSee->tAuditTimeEnd.wYear, pSee->tAuditTimeEnd.wMonth, pSee->tAuditTimeEnd.wDay, pSee->tAuditTimeEnd.wHour, pSee->tAuditTimeEnd.wMinute, pSee->tAuditTimeEnd.wSecond);
|
||
strWhere.Append(str);
|
||
}
|
||
m_bCheckTimeOut = false; //不允许检测超时时间
|
||
|
||
str.Format(_T("select * from TD2Signature with(nolock) where %s"), strWhere);
|
||
BOOL b = m_AdoRS.Open(str);
|
||
long lCount = m_AdoRS.GetRecordCount();
|
||
if (lCount < 0) lCount = 0;
|
||
m_AdoRS.MoveFirst(); //移动第一条记录
|
||
//计算页数
|
||
long lPageRecords = LISTPAGE_RECORD;
|
||
long lPageMax = lCount / lPageRecords;
|
||
if (lPageMax * lPageRecords != lCount) lPageMax++;
|
||
long lAllCount = 0;
|
||
for (int j = 0; j < lPageMax; j++)
|
||
{
|
||
//lFrameCount,计算当前页的记录数
|
||
long lFrameCount = lPageRecords;
|
||
if (lFrameCount * (j + 1) > lCount)
|
||
lFrameCount = lCount - lFrameCount * j;
|
||
|
||
long lSize = sizeof(ANS_TD2Signature_See) + sizeof(ANS_TD2Signature_Data) * lFrameCount;
|
||
BYTE* pData = new BYTE[lSize]; memset(pData, 0, lSize);
|
||
ANS_TD2Signature_See* pListRet = (ANS_TD2Signature_See*)pData;
|
||
ANS_TD2Signature_Data* pListDataRet = (ANS_TD2Signature_Data*)(pData + sizeof(ANS_TD2Signature_See));
|
||
pListRet->lCount = lFrameCount;
|
||
pListRet->lPageAll = lPageMax;
|
||
pListRet->lPageCount = j + 1;
|
||
|
||
COleDateTime t;
|
||
long lTempCount = 0;
|
||
while (!m_AdoRS.IsEOF() && lTempCount < lFrameCount)
|
||
{
|
||
m_AdoRS.GetCollect(_T("SignatureID"), pListDataRet->iSignatureID);
|
||
m_AdoRS.GetCollect(_T("Status"), pListDataRet->iStatus);
|
||
m_AdoRS.GetCollect(_T("TDID"), pListDataRet->iTDID);
|
||
m_AdoRS.GetCollect(_T("Signature"), pListDataRet->szSignature);
|
||
m_AdoRS.GetCollect(_T("SmsNum"), pListDataRet->szSmsNum);
|
||
m_AdoRS.GetCollect(_T("CorpID"), pListDataRet->iCorpID);
|
||
m_AdoRS.GetCollect(_T("UserID"), pListDataRet->iUserID);
|
||
m_AdoRS.GetCollect(_T("SendCount"), pListDataRet->iSendCount);
|
||
m_AdoRS.GetCollect(_T("AddTime"), pListDataRet->tAddTime);
|
||
m_AdoRS.GetCollect(_T("OperType"), pListDataRet->iOperType);
|
||
m_AdoRS.GetCollect(_T("UploadTime"), pListDataRet->tUploadTime);
|
||
m_AdoRS.GetCollect(_T("AuditTime"), pListDataRet->tAuditTime);
|
||
m_AdoRS.GetCollect(_T("MainSmsNum"), pListDataRet->szMainSmsNum);
|
||
m_AdoRS.GetCollect(_T("CorpanyName"), pListDataRet->szCorpanyName);
|
||
m_AdoRS.GetCollect(_T("CorpanyNum"), pListDataRet->szCorpanyNum);
|
||
m_AdoRS.GetCollect(_T("Provvince"), pListDataRet->szProvvince);
|
||
m_AdoRS.GetCollect(_T("City"), pListDataRet->szCity);
|
||
m_AdoRS.GetCollect(_T("LegalName"), pListDataRet->szLegalName);
|
||
m_AdoRS.GetCollect(_T("LegalCertType"), pListDataRet->szLegalCertType);
|
||
m_AdoRS.GetCollect(_T("LegalCertID"), pListDataRet->szLegalCertID);
|
||
m_AdoRS.GetCollect(_T("AgencyName"), pListDataRet->szAgencyName);
|
||
m_AdoRS.GetCollect(_T("AgencyCertType"), pListDataRet->szAgencyCertType);
|
||
m_AdoRS.GetCollect(_T("AgencyCertID"), pListDataRet->szAgencyCertID);
|
||
m_AdoRS.GetCollect(_T("PortUsage"), pListDataRet->szPortUsage);
|
||
m_AdoRS.GetCollect(_T("PortType"), pListDataRet->szPortType);
|
||
m_AdoRS.GetCollect(_T("PortUsageCategory"), pListDataRet->szPortUsageCategory);
|
||
m_AdoRS.GetCollect(_T("SignatureSource"), pListDataRet->szSignatureSource);
|
||
m_AdoRS.GetCollect(_T("LocationServerRoom"), pListDataRet->szLocationServerRoom);
|
||
m_AdoRS.GetCollect(_T("ContentTemplate"), pListDataRet->szContentTemplate);
|
||
m_AdoRS.GetCollect(_T("fileId"), pListDataRet->szfileId);
|
||
m_AdoRS.GetCollect(_T("errData"), pListDataRet->szerrData);
|
||
m_AdoRS.GetCollect(_T("errType"), pListDataRet->szerrType);
|
||
m_AdoRS.GetCollect(_T("BZ"), pListDataRet->szBZ);
|
||
|
||
|
||
m_AdoRS.MoveNext();
|
||
pListDataRet++;
|
||
lTempCount++;
|
||
|
||
lAllCount++;
|
||
}
|
||
SendFrame(SMSFUNC_TD2SIGNATURE_SEE, (BYTE*)pData, lSize); //发送返回
|
||
}
|
||
if (lAllCount <= 0) //什么也找不到的返回
|
||
{
|
||
ANS_TD2Signature_See* pSeeRet = new ANS_TD2Signature_See; //权限不够,什么也不返回
|
||
memset(pSeeRet, 0, sizeof(ANS_TD2Signature_See));
|
||
|
||
pSeeRet->lCount = 0;
|
||
_tcscpy(pSeeRet->szErrMsg, _T("查询成功,没有记录"));
|
||
pSeeRet->lPageCount = 0;
|
||
pSeeRet->lPageAll = 0;
|
||
SendFrame(SMSFUNC_TD2SIGNATURE_SEE, (BYTE*)pSeeRet, sizeof(ANS_TD2Signature_See)); //发送返回
|
||
}
|
||
m_bCheckTimeOut = true; //允许检测超时时间
|
||
return 1;
|
||
}
|
||
catch (...)
|
||
{
|
||
LOG_APPERROR(_T("T"));
|
||
return 0;
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
|
||
long CProcessSocket::Process_TDSet_SignatureTitle_See(REQ_TD2SignatureTitle_See* pSee)
|
||
{
|
||
try
|
||
{
|
||
ANS_TD2SignatureTitle_See* pSeeRet = new ANS_TD2SignatureTitle_See; //权限不够,什么也不返回
|
||
memset(pSeeRet, 0, sizeof(ANS_TD2SignatureTitle_See));
|
||
pSeeRet->req = *pSee;
|
||
|
||
if (!(m_ulPurview & PURVIEW_LIST)) //没有权限修改资料
|
||
{
|
||
pSeeRet->lCount = -1;
|
||
_tcscpy(pSeeRet->szErrMsg, _T("查询权限异常1"));
|
||
SendFrame(SMSFUNC_TD2SIGNATURETITLE_SEE, (BYTE*)pSeeRet, sizeof(ANS_TD2SignatureTitle_See)); //发送返回
|
||
return 1;
|
||
}
|
||
|
||
CString str;
|
||
|
||
str.Format(_T("select * from TD2 with(nolock) where len(SignatureTitle)>0 order by tdid"));
|
||
m_AdoRS.Open(str);
|
||
long lCount = m_AdoRS.GetRecordCount();
|
||
|
||
if (lCount <= 0)
|
||
{
|
||
pSeeRet->lCount = 0;
|
||
_tcscpy(pSeeRet->szErrMsg, _T("查询成功,没记录"));
|
||
SendFrame(SMSFUNC_TD2SIGNATURETITLE_SEE, (BYTE*)pSeeRet, sizeof(ANS_TD2SignatureTitle_See)); //发送返回
|
||
return 1;
|
||
}
|
||
|
||
long lSize = sizeof(ANS_TD2SignatureTitle_See) + sizeof(ANS_TD2SignatureTitle_Data) * lCount;
|
||
BYTE* pData = new BYTE[lSize];
|
||
memset(pData, 0, lSize);
|
||
ANS_TD2SignatureTitle_See* pRet = (ANS_TD2SignatureTitle_See*)pData;
|
||
ANS_TD2SignatureTitle_Data* pRetData = (ANS_TD2SignatureTitle_Data*)(pData + sizeof(ANS_TD2SignatureTitle_See));
|
||
*pRet = *pSeeRet;
|
||
delete pSeeRet; //删除之前新增的返回头数据
|
||
|
||
for (int i = 0; i < lCount && !m_AdoRS.IsEOF(); i++)
|
||
{
|
||
m_AdoRS.GetCollect(_T("TDID"), pRetData->iTDID);
|
||
m_AdoRS.GetCollect(_T("SignatureTitle"), pRetData->szSignatureTitle);
|
||
m_AdoRS.GetCollect(_T("SignatureNum"), pRetData->szSmsNum);
|
||
|
||
m_AdoRS.MoveNext();
|
||
pRetData++;
|
||
}
|
||
pRet->lCount = i; //返回记录数
|
||
_tcscpy(pRet->szErrMsg, _T("查询成功"));
|
||
|
||
SendFrame(SMSFUNC_TD2SIGNATURETITLE_SEE, (BYTE*)pData, lSize); //发送返回
|
||
return 1;
|
||
}
|
||
catch (...)
|
||
{
|
||
LOG_APPERROR(_T("T"));
|
||
return 0;
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
|
||
long CProcessSocket::Process_TDSet_Signature_Modify(REQ_TD2Signature_Modify* pModify)
|
||
{
|
||
try
|
||
{
|
||
CString str;
|
||
ANS_TD2Signature_Modify* pModifyRet = new ANS_TD2Signature_Modify; //权限不够,什么也不返回
|
||
memset(pModifyRet, 0, sizeof(ANS_TD2Signature_Modify));
|
||
|
||
pModifyRet->req = *pModify;
|
||
|
||
if (!(m_ulPurview & PURVIEW_LIST)) //没有权限修改资料
|
||
{
|
||
pModifyRet->iErrCode = -1;
|
||
_tcscpy(pModifyRet->szErrMsg, _T("权限异常1"));
|
||
SendFrame(SMSFUNC_TD2SIGNATURE_MODIFY, (BYTE*)pModifyRet, sizeof(ANS_TD2Signature_Modify)); //发送返回
|
||
return 1;
|
||
}
|
||
ANS_TD2Signature_Data* pData = (ANS_TD2Signature_Data*)((BYTE*)pModify + sizeof(REQ_TD2Signature_Modify));
|
||
|
||
pModifyRet->iCount = pModify->iCount;
|
||
|
||
int iAllCover=0;
|
||
int iAllAdd = 0;
|
||
int iAllDel = 0;
|
||
int iAllIgnore = 0;
|
||
int iAllFail = 0;
|
||
|
||
for (int i = 0; i < pModify->iCount; i++)
|
||
{
|
||
CString strSignature = pData[i].szSignature;
|
||
CString strSmsNum = pData[i].szSmsNum;
|
||
CString strBZ;
|
||
CString strOldSignature;
|
||
BOOL bExist = false;
|
||
int iCover = 0;
|
||
int iAdd = 0;
|
||
int iDel = 0;
|
||
int iIgnore = 0;
|
||
int iError = 0;
|
||
BOOL bGetNewPort = false;
|
||
int iStatus = pData[i].iStatus;
|
||
BOOL bSql = true;
|
||
|
||
if (strSmsNum.GetLength() > 0)
|
||
{
|
||
//第一步,先查询端口号是否存在
|
||
if (pModify->iOperType == 0)//新增
|
||
str.Format(_T("select * from TD2Signature where SmsNum='%s' and TDID=%d order by SignatureID desc"), strSmsNum, pModify->iTDID);
|
||
if (pModify->iOperType == 1)//修改
|
||
str.Format(_T("select * from TD2Signature where SignatureID<>%d and SmsNum='%s' and TDID=%d order by SignatureID desc"), pData->iSignatureID, strSmsNum, pModify->iTDID);
|
||
if (strSmsNum.GetLength() > 0 && m_AdoRS.Open(str) && !m_AdoRS.IsEOF())
|
||
{
|
||
bExist = true;
|
||
if (pData[i].iOperType == 2) ////操作类型:0-新增,1-修改,2-删除
|
||
{
|
||
iDel = 1;
|
||
}
|
||
|
||
//int iConflict; //冲突处理如0-已存在-覆盖;1-如已存在-仍然新增;2-如已存在-忽略;3-如已存在-换端口申请;
|
||
switch (pModify->iConflict)
|
||
{
|
||
case 0: //覆盖
|
||
iCover = 1;
|
||
break;
|
||
case 2:
|
||
iAdd = 1; //新增
|
||
bGetNewPort = true; //换新端口号
|
||
break;
|
||
case 3:
|
||
iAdd = 1; //仍然新增
|
||
bGetNewPort = false; //换新端口号
|
||
break;
|
||
default: //1-忽略
|
||
iIgnore = 1;
|
||
break;
|
||
}
|
||
|
||
|
||
if (iCover == 1) //属于覆盖,需要记录原信息
|
||
{
|
||
//增加备注信息
|
||
int lOldStatus = 0;
|
||
m_AdoRS.GetCollect(_T("SignatureID"), pData[i].iSignatureID);
|
||
m_AdoRS.GetCollect(_T("Status"), lOldStatus);
|
||
m_AdoRS.GetCollect(_T("Signature"), strOldSignature);
|
||
m_AdoRS.GetCollect(_T("BZ"), strBZ);
|
||
str.Format(_T("原状态:%d,原签名:%s "), lOldStatus, strOldSignature);
|
||
strBZ.Append(str);
|
||
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (pModify->iOperType == 0)//新增
|
||
iAdd = 1; //没找到端口记录,属于新增
|
||
if (pModify->iOperType == 1)//修改
|
||
iCover = 1;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (pModify->iConflict == 2) //换新端口
|
||
{
|
||
iAdd = 1; //新增
|
||
bGetNewPort = true; //换新端口号
|
||
}
|
||
}
|
||
|
||
if (bGetNewPort) //生成新端口号
|
||
{
|
||
//生成了新端口号,状态肯定是待上传
|
||
iStatus = 0; ////状态,0-待上报;1-已上报;2-已审核通过;3-已审核未通过;4-已删除
|
||
CString strNewSmsNum;
|
||
//生成新端口号
|
||
str.Format(_T("select * from TD2 with(nolock) where TDID=%d"), pModify->iTDID);
|
||
if (m_AdoRS.Open(str) && !m_AdoRS.IsEOF())
|
||
{
|
||
m_AdoRS.GetCollect(_T("SignatureNum"), strNewSmsNum);
|
||
|
||
if (strNewSmsNum.GetLength() >= 6)
|
||
{
|
||
#ifdef SMSCENTER_ONE
|
||
strNewSmsNum.Append(_T("1550000"));
|
||
#endif
|
||
#ifdef SMSCENTER_THREE
|
||
strNewSmsNum.Append(_T("3550000"));
|
||
#endif
|
||
CString strLeftSmsNum = strNewSmsNum.Left(10);
|
||
str.Format(_T("select top 1 * from TD2Signature where TDID=%d and left(smsnum,10)='%s' order by smsnum desc"), pModify->iTDID, strLeftSmsNum);
|
||
if (m_AdoRS.Open(str) && !m_AdoRS.IsEOF())
|
||
{
|
||
m_AdoRS.GetCollect(_T("SmsNum"), strNewSmsNum);
|
||
}
|
||
LONGLONG llSmsNum = _ttoll(strNewSmsNum);
|
||
llSmsNum++;
|
||
strNewSmsNum.Format(_T("%lld"), llSmsNum);
|
||
|
||
}
|
||
}
|
||
if (strNewSmsNum.GetLength() >= 10)
|
||
{
|
||
_tcscpy(pData[i].szSmsNum, strNewSmsNum);
|
||
strSmsNum = strNewSmsNum; //新端口号
|
||
}
|
||
else
|
||
{
|
||
iError = 1;
|
||
}
|
||
}
|
||
if (strSmsNum.GetLength() <= 0) //没有端口号的有问题
|
||
{
|
||
iError = 1;
|
||
}
|
||
if (iError == 0 && iIgnore == 0) //上面没出错并且没有忽略,继续
|
||
{
|
||
CString strStatus;
|
||
CString strTDID;
|
||
CString strOperType;
|
||
CString strAuditTime = _T("NULL");
|
||
if (pData[i].iOperType == 2) //如果操作是删除,并且是上传已审核记录,则状态为4-已删除
|
||
{
|
||
if (iStatus == 2)
|
||
{
|
||
iStatus = 4;////状态,0-待上报;1-已上报;2-已审核通过;3-已审核未通过;4-已删除
|
||
|
||
strAuditTime = _T("GetDate()"); //审核时间为上传记录时间
|
||
}
|
||
}
|
||
strStatus.Format(_T("%d"), iStatus);
|
||
strTDID.Format(_T("%d"), pData[i].iTDID);
|
||
strOperType.Format(_T("%d"), pData[i].iOperType);
|
||
|
||
if (iAdd == 1)
|
||
{
|
||
//添加记录
|
||
str.Format(_T("insert into TD2Signature (Status,TDID,Signature,SmsNum,CorpID,UserID,OperType,AuditTime,MainSmsNum,CorpanyName,CorpanyNum,Provvince,City,LegalName,LegalCertType,LegalCertID,AgencyName,AgencyCertType,AgencyCertID,PortUsage,PortType,PortUsageCategory,SignatureSource,LocationServerRoom,ContentTemplate,BZ,OperUser) " \
|
||
"values(% d, % d, '%s', '%s', % d, % d, % d, % s, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s','%s')"),
|
||
iStatus,
|
||
pData[i].iTDID,
|
||
SqlStr(strSignature),
|
||
SqlStr(strSmsNum),
|
||
0, 0, //corpID,UserID
|
||
pData[i].iOperType,
|
||
strAuditTime,
|
||
SqlStr(pData[i].szMainSmsNum),
|
||
SqlStr(pData[i].szCorpanyName),
|
||
SqlStr(pData[i].szCorpanyNum),
|
||
SqlStr(pData[i].szProvvince),
|
||
SqlStr(pData[i].szCity),
|
||
SqlStr(pData[i].szLegalName),
|
||
SqlStr(pData[i].szLegalCertType),
|
||
SqlStr(pData[i].szLegalCertID),
|
||
SqlStr(pData[i].szAgencyName),
|
||
SqlStr(pData[i].szAgencyCertType),
|
||
SqlStr(pData[i].szAgencyCertID),
|
||
SqlStr(pData[i].szPortUsage),
|
||
SqlStr(pData[i].szPortType),
|
||
SqlStr(pData[i].szPortUsageCategory),
|
||
SqlStr(pData[i].szSignatureSource),
|
||
SqlStr(pData[i].szLocationServerRoom),
|
||
SqlStr(pData[i].szContentTemplate),
|
||
SqlStr(strBZ),
|
||
SqlStr(m_szLoginName));
|
||
if (m_AdoRS.Open(str)) //执行成功,取ID值
|
||
{
|
||
str= _T("SELECT SCOPE_IDENTITY()");
|
||
bSql = m_AdoRS.Open(str);
|
||
if (bSql)
|
||
{
|
||
m_AdoRS.GetCollect((long)0, pData[i].iSignatureID);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
bSql = false;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//修改记录
|
||
CString strSignatureID;
|
||
strSignatureID.Format(_T("%d"), pData[i].iSignatureID);
|
||
|
||
str = CString("update TD2Signature set ") +
|
||
CString("Status='") + strStatus + CString("',") +
|
||
CString("TDID=") + strTDID + CString(",") +
|
||
CString("Signature='") + SqlStr(strSignature) + CString("',") +
|
||
CString("SmsNum='") + SqlStr(strSmsNum) + CString("',") +
|
||
CString("CorpID='") + CString(_T("0")) + CString("',") +
|
||
CString("UserID='") + CString(_T("0")) + CString("',") +
|
||
CString("OperType='") + strOperType + CString("',") +
|
||
CString("AuditTime=") + strAuditTime + CString(",") +
|
||
CString("MainSmsNum='") + SqlStr(pData[i].szMainSmsNum) + CString("',") +
|
||
CString("CorpanyName='") + SqlStr(pData[i].szCorpanyName) + CString("',") +
|
||
CString("CorpanyNum='") + SqlStr(pData[i].szCorpanyNum) + CString("',") +
|
||
CString("Provvince='") + SqlStr(pData[i].szProvvince) + CString("',") +
|
||
CString("City='") + SqlStr(pData[i].szCity) + CString("',") +
|
||
CString("LegalName='") + SqlStr(pData[i].szLegalName) + CString("',") +
|
||
CString("LegalCertType='") + SqlStr(pData[i].szLegalCertType) + CString("',") +
|
||
CString("LegalCertID='") + SqlStr(pData[i].szLegalCertID) + CString("',") +
|
||
CString("AgencyName='") + SqlStr(pData[i].szAgencyName) + CString("',") +
|
||
CString("AgencyCertType='") + SqlStr(pData[i].szAgencyCertType) + CString("',") +
|
||
CString("AgencyCertID='") + SqlStr(pData[i].szAgencyCertID) + CString("',") +
|
||
CString("PortUsage='") + SqlStr(pData[i].szPortUsage) + CString("',") +
|
||
CString("PortType='") + SqlStr(pData[i].szPortType) + CString("',") +
|
||
CString("PortUsageCategory='") + SqlStr(pData[i].szPortUsageCategory) + CString("',") +
|
||
CString("SignatureSource='") + SqlStr(pData[i].szSignatureSource) + CString("',") +
|
||
CString("LocationServerRoom='") + SqlStr(pData[i].szLocationServerRoom) + CString("',") +
|
||
CString("ContentTemplate='") + SqlStr(pData[i].szContentTemplate) + CString("',") +
|
||
CString("BZ='") + SqlStr(strBZ) + CString("', ") +
|
||
CString("OperUser='") + SqlStr(m_szLoginName) + CString("' ") +
|
||
CString("where SignatureID=") + strSignatureID;
|
||
bSql = m_AdoRS.Open(str);
|
||
}
|
||
|
||
if (!bSql) //执行失败
|
||
{
|
||
iCover = 0; //
|
||
iAdd = 0;
|
||
iDel = 0;
|
||
iError = 1;
|
||
}
|
||
|
||
|
||
}
|
||
if (iIgnore == 1 || iError == 1)
|
||
{
|
||
pData[i].iSignatureID = 0; //不成功标志
|
||
}
|
||
|
||
iAllCover = iAllCover + iCover;
|
||
iAllAdd = iAllAdd + iAdd;
|
||
iAllDel = iAllDel + iDel;
|
||
iAllIgnore = iAllIgnore + iIgnore;
|
||
iAllFail = iAllCover + iError;
|
||
}
|
||
|
||
long lSize = sizeof(ANS_TD2Signature_Modify) + sizeof(ANS_TD2Signature_Data) * pModify->iCount;// pUploadRet->iCount; //暂时不返回具体数据
|
||
BYTE* pDataRet = new BYTE[lSize];
|
||
memset(pDataRet, 0, lSize);
|
||
ANS_TD2Signature_Modify* pRet = (ANS_TD2Signature_Modify*)pDataRet;
|
||
ANS_TD2Signature_Data* pRetData = (ANS_TD2Signature_Data*)(pDataRet + sizeof(ANS_TD2Signature_Modify));
|
||
memcpy((BYTE*)pRetData, (BYTE*)pData, sizeof(ANS_TD2Signature_Data)* pModify->iCount); //复制数据
|
||
*pRet = *pModifyRet;
|
||
delete pModifyRet; //删除之前新增的返回头数据
|
||
/*
|
||
for (int i = 0; i < lCount && !m_AdoRS.IsEOF(); i++)
|
||
{
|
||
m_AdoRS.GetCollect(_T("TDID"), pRetData->iTDID);
|
||
m_AdoRS.GetCollect(_T("AccessPort"), pRetData->szSmsNum);
|
||
m_AdoRS.GetCollect(_T("SignatureTitle"), pRetData->szSignatureTitle);
|
||
|
||
m_AdoRS.MoveNext();
|
||
pRetData++;
|
||
}
|
||
*/
|
||
pRet->iErrCode = 0; //返回错误代码
|
||
_stprintf(pRet->szErrMsg, _T("处理成功\r\n添加记录:%d条\r\n修改记录:%d条\r\n忽略记录:%d条\r\n错误记录:%d\r\n"), iAllAdd, iAllCover, iAllIgnore, iAllFail);
|
||
|
||
SendFrame(SMSFUNC_TD2SIGNATURE_MODIFY, (BYTE*)pDataRet, lSize); //发送返回
|
||
return 1;
|
||
}
|
||
catch (...)
|
||
{
|
||
LOG_APPERROR(_T("T"));
|
||
return 0;
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
|
||
|
||
long CProcessSocket::Process_TDSet_Signature_ModifyStatus(REQ_TD2Signature_ModifyStatus* pModify)
|
||
{
|
||
try
|
||
{
|
||
|
||
if (!(m_ulPurview & PURVIEW_LIST)) //没有权限修改资料
|
||
{
|
||
ANS_TD2Signature_ModifyStatus* pSeeRet = new ANS_TD2Signature_ModifyStatus; //权限不够,什么也不返回
|
||
memset(pSeeRet, 0, sizeof(ANS_TD2Signature_ModifyStatus));
|
||
pSeeRet->lCount = -1;
|
||
_tcscpy(pSeeRet->szErrMsg, _T("查询权限异常1"));
|
||
SendFrame(SMSFUNC_TD2SIGNATURE_MODIFYSTATUS, (BYTE*)pSeeRet, sizeof(ANS_TD2Signature_ModifyStatus)); //发送返回
|
||
return 1;
|
||
}
|
||
ANS_TD2Signature_ModifyStatus_Data* pReqData = (ANS_TD2Signature_ModifyStatus_Data*)( ((BYTE*)pModify) + sizeof(REQ_TD2Signature_ModifyStatus));
|
||
|
||
long lSize = sizeof(ANS_TD2Signature_ModifyStatus) + sizeof(ANS_TD2Signature_ModifyStatus_Data) * pModify->lCount;
|
||
BYTE* pData = new BYTE[lSize];
|
||
memset(pData, 0, lSize);
|
||
ANS_TD2Signature_ModifyStatus* pRet = (ANS_TD2Signature_ModifyStatus*)pData;
|
||
ANS_TD2Signature_ModifyStatus_Data* pRetData = (ANS_TD2Signature_ModifyStatus_Data*)(pData + sizeof(ANS_TD2Signature_ModifyStatus));
|
||
|
||
CString str;
|
||
|
||
for (int i = 0; i < pModify->lCount; i++)
|
||
{
|
||
long lCount1 = 0;
|
||
str.Format(_T("update TD2Signature set Status=%d, UploadTime=GetDate(), OperUser='%s' where SignatureID=%d"), pReqData->iNewStatus, SqlStr(this->m_szLoginName),pReqData->iSignatureID);
|
||
if (m_AdoRS2.GetConnection()->Execute(str, lCount1) && lCount1>0)
|
||
//if (m_AdoRS.Open(str))
|
||
{
|
||
pRetData->iItem = pReqData->iItem;
|
||
pRetData->iNewStatus = pReqData->iNewStatus;
|
||
pRetData->iSignatureID = pReqData->iSignatureID;
|
||
}
|
||
|
||
pReqData++;
|
||
pRetData++;
|
||
}
|
||
pRet->lCount = i; //返回记录数
|
||
_tcscpy(pRet->szErrMsg, _T("查询成功"));
|
||
|
||
pRet->iNewStatus = pModify->iNewStatus;
|
||
pRet->iTDID = pModify->iTDID;
|
||
pRet->lPageAll = pModify->lPageAll;
|
||
pRet->lPageCount = pModify->lPageCount;
|
||
|
||
SendFrame(SMSFUNC_TD2SIGNATURE_MODIFYSTATUS, (BYTE*)pData, lSize); //发送返回
|
||
return 1;
|
||
}
|
||
catch (...)
|
||
{
|
||
LOG_APPERROR(_T("T"));
|
||
return 0;
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
|
||
long CProcessSocket::Process_TDSet_Signature_GetMaxSmsNum(REQ_TD2Signature_GetMaxSmsNum* pGet)
|
||
{
|
||
try
|
||
{
|
||
ANS_TD2Signature_GetMaxSmsNum* pGetRet = new ANS_TD2Signature_GetMaxSmsNum; //权限不够,什么也不返回
|
||
memset(pGetRet, 0, sizeof(ANS_TD2Signature_GetMaxSmsNum));
|
||
|
||
if (!(m_ulPurview & PURVIEW_LIST)) //没有权限修改资料
|
||
{
|
||
pGetRet->iErrCode = -1;
|
||
_tcscpy(pGetRet->szErrMsg, _T("查询权限异常1"));
|
||
SendFrame(SMSFUNC_TD2SIGNATURE_GETMAXSMSNUM, (BYTE*)pGetRet, sizeof(ANS_TD2Signature_GetMaxSmsNum)); //发送返回
|
||
return 1;
|
||
}
|
||
|
||
CString str;
|
||
|
||
str.Format(_T("select * from TD2 with(nolock) where TDID=%d"), pGet->iTDID);
|
||
if (!m_AdoRS.Open(str) || m_AdoRS.IsEOF())
|
||
{
|
||
pGetRet->iErrCode = -2;
|
||
_tcscpy(pGetRet->szErrMsg, _T("通道ID不存在"));
|
||
SendFrame(SMSFUNC_TD2SIGNATURE_GETMAXSMSNUM, (BYTE*)pGetRet, sizeof(ANS_TD2Signature_GetMaxSmsNum)); //发送返回
|
||
return 1;
|
||
}
|
||
CString strNewSmsNum;
|
||
m_AdoRS.GetCollect(_T("SignatureNum"), strNewSmsNum);
|
||
m_AdoRS.GetCollect(_T("SignatureTitle"), pGetRet->szSignatureTitle);
|
||
_tcscpy(pGetRet->szSmsNum, strNewSmsNum);
|
||
|
||
if (strNewSmsNum.GetLength() < 6)
|
||
{
|
||
pGetRet->iErrCode = -3;
|
||
_tcscpy(pGetRet->szErrMsg, _T("未正确配置通道号码"));
|
||
SendFrame(SMSFUNC_TD2SIGNATURE_GETMAXSMSNUM, (BYTE*)pGetRet, sizeof(ANS_TD2Signature_GetMaxSmsNum)); //发送返回
|
||
return 1;
|
||
}
|
||
#ifdef SMSCENTER_ONE
|
||
strNewSmsNum.Append(_T("1550000"));
|
||
#endif
|
||
#ifdef SMSCENTER_THREE
|
||
strNewSmsNum.Append(_T("3550000"));
|
||
#endif
|
||
|
||
CString strLeftSmsNum = strNewSmsNum.Left(10);
|
||
str.Format(_T("select top 1 * from TD2Signature where TDID=%d and left(smsnum,10)='%s' order by smsnum desc"), pGet->iTDID, strLeftSmsNum);
|
||
if (m_AdoRS.Open(str) && !m_AdoRS.IsEOF())
|
||
{
|
||
m_AdoRS.GetCollect(_T("SmsNum"), strNewSmsNum);
|
||
}
|
||
LONGLONG llSmsNum = _ttoll(strNewSmsNum);
|
||
llSmsNum++;
|
||
str.Format(_T("%lld"), llSmsNum);
|
||
if (str.GetLength() < 10)
|
||
{
|
||
pGetRet->iErrCode = -4;
|
||
_tcscpy(pGetRet->szErrMsg, _T("生成新的端口号错误"));
|
||
SendFrame(SMSFUNC_TD2SIGNATURE_GETMAXSMSNUM, (BYTE*)pGetRet, sizeof(ANS_TD2Signature_GetMaxSmsNum)); //发送返回
|
||
return 1;
|
||
}
|
||
pGetRet->iTDID = pGet->iTDID;
|
||
pGetRet->iErrCode = 0;
|
||
_tcscpy(pGetRet->szErrMsg, _T("取新端口号成功"));
|
||
_tcscpy(pGetRet->szMaxSmsNum, str);
|
||
|
||
|
||
SendFrame(SMSFUNC_TD2SIGNATURE_GETMAXSMSNUM, (BYTE*)pGetRet, sizeof(ANS_TD2Signature_GetMaxSmsNum)); //发送返回
|
||
|
||
return 1;
|
||
}
|
||
catch (...)
|
||
{
|
||
LOG_APPERROR(_T("T"));
|
||
return 0;
|
||
}
|
||
return 0;
|
||
}
|
||
long CProcessSocket::Process_TDSet_Signature_Upload(REQ_TD2Signature_Upload* pUpload)
|
||
{
|
||
try
|
||
{
|
||
CString str;
|
||
ANS_TD2Signature_Upload* pUploadRet = new ANS_TD2Signature_Upload; //权限不够,什么也不返回
|
||
memset(pUploadRet, 0, sizeof(ANS_TD2Signature_Upload));
|
||
|
||
pUploadRet->iTDID = pUpload->iTDID;
|
||
pUploadRet->iType = pUpload->iType;
|
||
pUploadRet->iConflict = pUpload->iConflict;
|
||
pUploadRet->iAutoPort = pUpload->iAutoPort;
|
||
pUploadRet->iAllCount = pUpload->iAllCount;
|
||
pUploadRet->iUpCount = pUpload->iUpCount + pUpload->iCount; //已上传数量增加
|
||
pUploadRet->iCount = pUpload->iCount;
|
||
pUploadRet->iCover = pUpload->iCover;
|
||
pUploadRet->iAdd = pUpload->iAdd;
|
||
pUploadRet->iDel = pUpload->iDel;
|
||
pUploadRet->iIgnore = pUpload->iIgnore;
|
||
pUploadRet->iFail = pUpload->iFail;
|
||
|
||
|
||
if (!(m_ulPurview & PURVIEW_LIST)) //没有权限修改资料
|
||
{
|
||
pUploadRet->iStatus = -1;
|
||
_tcscpy(pUploadRet->szErrMsg, _T("权限异常1"));
|
||
SendFrame(SMSFUNC_TD2SIGNATURE_UPLOAD, (BYTE*)pUploadRet, sizeof(ANS_TD2Signature_Upload)); //发送返回
|
||
return 1;
|
||
}
|
||
ANS_TD2Signature_Data* pData = (ANS_TD2Signature_Data*)((BYTE*)pUpload + sizeof(REQ_TD2Signature_Upload));
|
||
|
||
for (int i = 0; i < pUploadRet->iCount; i++)
|
||
{
|
||
CString strSignature = pData[i].szSignature;
|
||
CString strSmsNum = pData[i].szSmsNum;
|
||
CString strBZ;
|
||
CString strOldSignature;
|
||
BOOL bExist = false;
|
||
int iCover = 0;
|
||
int iAdd = 0;
|
||
int iDel = 0;
|
||
int iIgnore = 0;
|
||
int iError = 0;
|
||
BOOL bGetNewPort = false;
|
||
int iStatus = 0;
|
||
|
||
//第一步,先查询端口号是否存在
|
||
str.Format(_T("select * from TD2Signature where SmsNum='%s' and TDID=%d order by SignatureID desc"), strSmsNum, pUploadRet->iTDID);
|
||
if (strSmsNum.GetLength() > 0 && m_AdoRS.Open(str) && !m_AdoRS.IsEOF())
|
||
{
|
||
bExist = true;
|
||
if (pData[i].iOperType == 2) ////操作类型:0-新增,1-修改,2-删除
|
||
{
|
||
iDel = 1;
|
||
}
|
||
|
||
//int iConflict; //冲突处理如0-已存在-覆盖;1-如已存在-仍然新增;2-如已存在-忽略;3-如已存在-换端口申请;
|
||
switch (pUploadRet->iConflict)
|
||
{
|
||
case 0: //覆盖
|
||
iCover = 1;
|
||
break;
|
||
case 1: //新增
|
||
iAdd = 1;
|
||
break;
|
||
case 3:
|
||
iAdd = 1; //新增
|
||
bGetNewPort = true; //换新端口号
|
||
break;
|
||
default: //忽略
|
||
iIgnore = 1;
|
||
break;
|
||
}
|
||
|
||
|
||
if (iCover == 1) //属于覆盖,需要记录原信息
|
||
{
|
||
//增加备注信息
|
||
int lOldStatus = 0;
|
||
m_AdoRS.GetCollect(_T("SignatureID"), pData[i].iSignatureID);
|
||
m_AdoRS.GetCollect(_T("Status"), lOldStatus);
|
||
m_AdoRS.GetCollect(_T("Signature"), strOldSignature);
|
||
m_AdoRS.GetCollect(_T("BZ"), strBZ);
|
||
str.Format(_T("原状态:%d,原签名:%s "), lOldStatus, strOldSignature);
|
||
strBZ.Append(str);
|
||
|
||
}
|
||
}
|
||
else
|
||
{
|
||
iAdd = 1; //没找到端口记录,属于新增
|
||
}
|
||
if (pUploadRet->iType == 0) //0-需要报备,1为已报备,只上传
|
||
{
|
||
iStatus = 0; ////状态,0-待上报;1-已上报;2-已审核通过;3-已审核未通过;4-已删除
|
||
if (pUploadRet->iAutoPort && _tcslen(pData[i].szSmsNum) <= 0) //自动生成新端口号,并且端口号为空
|
||
{
|
||
bGetNewPort = true; //换新端口号
|
||
}
|
||
}
|
||
else
|
||
{
|
||
iStatus = 2; ////状态,0-待上报;1-已上报;2-已审核通过;3-已审核未通过;4-已删除
|
||
}
|
||
if (bGetNewPort) //生成新端口号
|
||
{
|
||
//生成了新端口号,状态肯定是待上传
|
||
iStatus = 0; ////状态,0-待上报;1-已上报;2-已审核通过;3-已审核未通过;4-已删除
|
||
CString strNewSmsNum;
|
||
//生成新端口号
|
||
str.Format(_T("select * from TD2 with(nolock) where TDID=%d"), pUploadRet->iTDID);
|
||
if (m_AdoRS.Open(str) && !m_AdoRS.IsEOF())
|
||
{
|
||
m_AdoRS.GetCollect(_T("SignatureNum"), strNewSmsNum);
|
||
|
||
if (strNewSmsNum.GetLength() >= 6)
|
||
{
|
||
#ifdef SMSCENTER_ONE
|
||
strNewSmsNum.Append(_T("1550000"));
|
||
#endif
|
||
#ifdef SMSCENTER_THREE
|
||
strNewSmsNum.Append(_T("3550000"));
|
||
#endif
|
||
CString strLeftSmsNum = strNewSmsNum.Left(10);
|
||
str.Format(_T("select top 1 * from TD2Signature where TDID=%d and left(smsnum,10)='%s' order by smsnum desc"), pUploadRet->iTDID, strLeftSmsNum);
|
||
if (m_AdoRS.Open(str) && !m_AdoRS.IsEOF())
|
||
{
|
||
m_AdoRS.GetCollect(_T("SmsNum"), strNewSmsNum);
|
||
}
|
||
LONGLONG llSmsNum = _ttoll(strNewSmsNum);
|
||
llSmsNum++;
|
||
strNewSmsNum.Format(_T("%lld"), llSmsNum);
|
||
|
||
}
|
||
}
|
||
if (strNewSmsNum.GetLength() >= 10)
|
||
{
|
||
_tcscpy(pData[i].szSmsNum, strNewSmsNum);
|
||
strSmsNum = strNewSmsNum; //新端口号
|
||
}
|
||
else
|
||
{
|
||
iError = 1;
|
||
}
|
||
}
|
||
if (strSmsNum.GetLength() <= 0) //没有端口号的有问题
|
||
{
|
||
iError = 1;
|
||
}
|
||
if (iError == 0 && iIgnore == 0) //上面没出错并且没有忽略,继续
|
||
{
|
||
CString strStatus;
|
||
CString strTDID;
|
||
CString strOperType;
|
||
CString strAuditTime = _T("NULL");
|
||
if (pData[i].iOperType == 2) //如果操作是删除,并且是上传已审核记录,则状态为4-已删除
|
||
{
|
||
if (iStatus == 2)
|
||
{
|
||
iStatus = 4;////状态,0-待上报;1-已上报;2-已审核通过;3-已审核未通过;4-已删除
|
||
|
||
strAuditTime = _T("GetDate()"); //审核时间为上传记录时间
|
||
}
|
||
}
|
||
strStatus.Format(_T("%d"), iStatus);
|
||
strTDID.Format(_T("%d"), pData[i].iTDID);
|
||
strOperType.Format(_T("%d"), pData[i].iOperType);
|
||
|
||
if (iAdd == 1)
|
||
{
|
||
//添加记录
|
||
str.Format(_T("insert into TD2Signature (Status,TDID,Signature,SmsNum,CorpID,UserID,OperType,AuditTime,MainSmsNum,CorpanyName,CorpanyNum,Provvince,City,LegalName,LegalCertType,LegalCertID,AgencyName,AgencyCertType,AgencyCertID,PortUsage,PortType,PortUsageCategory,SignatureSource,LocationServerRoom,ContentTemplate,BZ,OperUser) " \
|
||
"values(% d, % d, '%s', '%s', % d, % d, % d, % s, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s','%s')"),
|
||
iStatus,
|
||
pData[i].iTDID,
|
||
SqlStr(strSignature),
|
||
SqlStr(strSmsNum),
|
||
0, 0, //corpID,UserID
|
||
pData[i].iOperType,
|
||
strAuditTime,
|
||
SqlStr(pData[i].szMainSmsNum),
|
||
SqlStr(pData[i].szCorpanyName),
|
||
SqlStr(pData[i].szCorpanyNum),
|
||
SqlStr(pData[i].szProvvince),
|
||
SqlStr(pData[i].szCity),
|
||
SqlStr(pData[i].szLegalName),
|
||
SqlStr(pData[i].szLegalCertType),
|
||
SqlStr(pData[i].szLegalCertID),
|
||
SqlStr(pData[i].szAgencyName),
|
||
SqlStr(pData[i].szAgencyCertType),
|
||
SqlStr(pData[i].szAgencyCertID),
|
||
SqlStr(pData[i].szPortUsage),
|
||
SqlStr(pData[i].szPortType),
|
||
SqlStr(pData[i].szPortUsageCategory),
|
||
SqlStr(pData[i].szSignatureSource),
|
||
SqlStr(pData[i].szLocationServerRoom),
|
||
SqlStr(pData[i].szContentTemplate),
|
||
SqlStr(strBZ),
|
||
SqlStr(m_szLoginName) );
|
||
}
|
||
else
|
||
{
|
||
//修改记录
|
||
CString strSignatureID;
|
||
strSignatureID.Format(_T("%d"), pData[i].iSignatureID);
|
||
|
||
str = CString("update TD2Signature set ") +
|
||
CString("Status='") + strStatus + CString("',") +
|
||
CString("TDID=") + strTDID + CString(",") +
|
||
CString("Signature='") + SqlStr(strSignature) + CString("',") +
|
||
CString("SmsNum='") + SqlStr(strSmsNum) + CString("',") +
|
||
CString("CorpID='") + CString(_T("0")) + CString("',") +
|
||
CString("UserID='") + CString(_T("0")) + CString("',") +
|
||
CString("OperType='") + strOperType + CString("',") +
|
||
CString("AuditTime=") + strAuditTime + CString(",") +
|
||
CString("MainSmsNum='") + SqlStr(pData[i].szMainSmsNum) + CString("',") +
|
||
CString("CorpanyName='") + SqlStr(pData[i].szCorpanyName) + CString("',") +
|
||
CString("CorpanyNum='") + SqlStr(pData[i].szCorpanyNum) + CString("',") +
|
||
CString("Provvince='") + SqlStr(pData[i].szProvvince) + CString("',") +
|
||
CString("City='") + SqlStr(pData[i].szCity) + CString("',") +
|
||
CString("LegalName='") + SqlStr(pData[i].szLegalName) + CString("',") +
|
||
CString("LegalCertType='") + SqlStr(pData[i].szLegalCertType) + CString("',") +
|
||
CString("LegalCertID='") + SqlStr(pData[i].szLegalCertID) + CString("',") +
|
||
CString("AgencyName='") + SqlStr(pData[i].szAgencyName) + CString("',") +
|
||
CString("AgencyCertType='") + SqlStr(pData[i].szAgencyCertType) + CString("',") +
|
||
CString("AgencyCertID='") + SqlStr(pData[i].szAgencyCertID) + CString("',") +
|
||
CString("PortUsage='") + SqlStr(pData[i].szPortUsage) + CString("',") +
|
||
CString("PortType='") + SqlStr(pData[i].szPortType) + CString("',") +
|
||
CString("PortUsageCategory='") + SqlStr(pData[i].szPortUsageCategory) + CString("',") +
|
||
CString("SignatureSource='") + SqlStr(pData[i].szSignatureSource) + CString("',") +
|
||
CString("LocationServerRoom='") + SqlStr(pData[i].szLocationServerRoom) + CString("',") +
|
||
CString("ContentTemplate='") + SqlStr(pData[i].szContentTemplate) + CString("',") +
|
||
CString("BZ='") + SqlStr(strBZ) + CString("', ") +
|
||
CString("OperUser='") + SqlStr(m_szLoginName) + CString("' ") +
|
||
CString("where SignatureID=") + strSignatureID;
|
||
}
|
||
|
||
if (!m_AdoRS.Open(str)) //执行失败
|
||
{
|
||
iCover = 0; //
|
||
iAdd = 0;
|
||
iDel = 0;
|
||
iError = 1;
|
||
}
|
||
}
|
||
|
||
pUploadRet->iCover = pUploadRet->iCover + iCover;
|
||
pUploadRet->iAdd = pUploadRet->iAdd + iAdd;
|
||
pUploadRet->iDel = pUploadRet->iDel + iDel;
|
||
pUploadRet->iIgnore = pUploadRet->iIgnore + iIgnore;
|
||
pUploadRet->iFail = pUploadRet->iFail + iError;
|
||
}
|
||
|
||
long lSize = sizeof(ANS_TD2Signature_Upload) + sizeof(ANS_TD2Signature_Data) * 0;// pUploadRet->iCount; //暂时不返回具体数据
|
||
BYTE* pDataRet = new BYTE[lSize];
|
||
memset(pDataRet, 0, lSize);
|
||
ANS_TD2Signature_Upload* pRet = (ANS_TD2Signature_Upload*)pDataRet;
|
||
ANS_TD2Signature_Data* pRetData = (ANS_TD2Signature_Data*)(pDataRet + sizeof(ANS_TD2Signature_Upload));
|
||
*pRet = *pUploadRet;
|
||
delete pUploadRet; //删除之前新增的返回头数据
|
||
/*
|
||
for (int i = 0; i < lCount && !m_AdoRS.IsEOF(); i++)
|
||
{
|
||
m_AdoRS.GetCollect(_T("TDID"), pRetData->iTDID);
|
||
m_AdoRS.GetCollect(_T("AccessPort"), pRetData->szSmsNum);
|
||
m_AdoRS.GetCollect(_T("SignatureTitle"), pRetData->szSignatureTitle);
|
||
|
||
m_AdoRS.MoveNext();
|
||
pRetData++;
|
||
}
|
||
*/
|
||
pRet->iStatus = 0; //返回记录数
|
||
_tcscpy(pRet->szErrMsg, _T("上传成功"));
|
||
|
||
SendFrame(SMSFUNC_TD2SIGNATURE_UPLOAD, (BYTE*)pDataRet, lSize); //发送返回
|
||
return 1;
|
||
}
|
||
catch (...)
|
||
{
|
||
LOG_APPERROR(_T("T"));
|
||
return 0;
|
||
}
|
||
return 0;
|
||
}
|