SmsManager/DLG_Agent_Modify.cpp
lujiang 12d7d6d3a5 修改支持不同运营商设置不同的短信签名。
corp表中设置的是主签名。
corp_customsettings中设置的是分运营商签名。
主签名的字数应该>=分运营商设置的字数。
2025-05-27 17:03:06 +08:00

683 lines
22 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// DLG_Agent_Modify.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_Agent_Modify.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_Agent_Modify dialog
#include "K_Agent.h"
#include "DLG_BBS_Send.h"
#include "MainFrm.h"
DLG_Agent_Modify::DLG_Agent_Modify(CWnd* pParent /*=NULL*/)
: CDialog(DLG_Agent_Modify::IDD, pParent)
, m_strAgentID(_T(""))
, m_bAllowMinus(FALSE)
, m_lSY(0)
, m_lDayMaxSend(0)
{
//{{AFX_DATA_INIT(DLG_Agent_Modify)
m_strAddress = _T("");
m_strBZ = _T("");
m_strCharterNum = _T("");
m_strCreateUser = _T("");
m_strEmail = _T("");
m_strFax = _T("");
m_strHttp = _T("");
m_strLXR = _T("");
m_strMobile = _T("");
m_strName = _T("");
m_strPostcode = _T("");
m_strRegTime = _T("");
m_lStatus = -1;
m_strTaxNum = _T("");
m_strTel = _T("");
m_strTotal = _T("");
m_strUsed = _T("");
m_strCredit = _T("");
m_strLoginName = _T("");
m_strPasswd = _T("");
m_lAddCorpCount = 0;
m_lAddedCorp = 0;
m_lType = -1;
m_strOEMName = _T("");
m_lReportPer = 0;
m_bYJ = FALSE;
m_strS_AgentName = _T("");
m_strS_Email = _T("");
m_strS_Http = _T("");
m_strS_Name = _T("");
m_strS_Tel = _T("");
m_bTest = FALSE;
m_lTCPer = 0;
m_bRTX = FALSE;
m_lTD_Cmcc = -1;
m_lTD_Phs = -1;
m_lTD_Unicom = -1;
m_lUserType = -1;
m_lADCTCType = -1;
m_lLongSmsType = -1;
m_bYWYManager = FALSE;
m_bAllowMinus = FALSE;
m_strPriceOne = _T("");
m_lTD_Telcom = -1;
m_strMobile1 = _T("");
m_strMobile2 = _T("");
m_bSendSms = FALSE;
m_lSmUsed = 0;
//}}AFX_DATA_INIT
m_pAgentDlg = (CK_Agent *)pParent;
memset( &m_AgentData , 0 , sizeof(m_AgentData));
m_bAdd = false;
m_Pos = 0;
memset( m_szPasswd , 0 , sizeof(m_szPasswd) );
m_lReSetpasswdType = 0; //重置密码类型0-不变1-生成新密码2-清空密码
}
void DLG_Agent_Modify::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_Agent_Modify)
DDX_Control(pDX, IDC_AGENT_MODIFY_YWY, m_L_YWY);
DDX_Control(pDX, IDC_AGENT_MODIFY_PASSWD, m_E_Passwd);
DDX_Text(pDX, IDC_AGENT_MODIFY_ADDRESS, m_strAddress);
DDV_MaxChars(pDX, m_strAddress, 48);
DDX_Text(pDX, IDC_AGENT_MODIFY_BZ, m_strBZ);
DDV_MaxChars(pDX, m_strBZ, 48);
DDX_Text(pDX, IDC_AGENT_MODIFY_CHARTERNUM, m_strCharterNum);
DDV_MaxChars(pDX, m_strCharterNum, 25);
DDX_Text(pDX, IDC_AGENT_MODIFY_CREATEUSER, m_strCreateUser);
DDX_Text(pDX, IDC_AGENT_MODIFY_EMAIL, m_strEmail);
DDV_MaxChars(pDX, m_strEmail, 29);
DDX_Text(pDX, IDC_AGENT_MODIFY_FAX, m_strFax);
DDV_MaxChars(pDX, m_strFax, 15);
DDX_Text(pDX, IDC_AGENT_MODIFY_HTTP, m_strHttp);
DDV_MaxChars(pDX, m_strHttp, 29);
DDX_Text(pDX, IDC_AGENT_MODIFY_LXR, m_strLXR);
DDV_MaxChars(pDX, m_strLXR, 15);
DDX_Text(pDX, IDC_AGENT_MODIFY_MOBILE, m_strMobile);
DDV_MaxChars(pDX, m_strMobile, 15);
DDX_Text(pDX, IDC_AGENT_MODIFY_NAME, m_strName);
DDV_MaxChars(pDX, m_strName, 48);
DDX_Text(pDX, IDC_AGENT_MODIFY_POSTCODE, m_strPostcode);
DDV_MaxChars(pDX, m_strPostcode, 15);
DDX_Text(pDX, IDC_AGENT_MODIFY_REGTIME, m_strRegTime);
DDX_CBIndex(pDX, IDC_AGENT_MODIFY_STATUS, m_lStatus);
DDX_Text(pDX, IDC_AGENT_MODIFY_TAXNUM, m_strTaxNum);
DDV_MaxChars(pDX, m_strTaxNum, 15);
DDX_Text(pDX, IDC_AGENT_MODIFY_TEL, m_strTel);
DDV_MaxChars(pDX, m_strTel, 15);
DDX_Text(pDX, IDC_AGENT_MODIFY_TOTAL, m_strTotal);
DDX_Text(pDX, IDC_AGENT_MODIFY_MMSTOTAL, m_strMmsTotal);
DDX_Text(pDX, IDC_AGENT_MODIFY_USED, m_strUsed);
DDX_Text(pDX, IDC_AGENT_MODIFY_MMSUSED, m_strMmsUsed);
DDX_Text(pDX, IDC_AGENT_MODIFY_CREDIT, m_strCredit);
DDV_MaxChars(pDX, m_strCredit, 10);
DDX_Text(pDX, IDC_AGENT_MODIFY_LOGINNAME, m_strLoginName);
DDV_MaxChars(pDX, m_strLoginName, 15);
DDX_Text(pDX, IDC_AGENT_MODIFY_PASSWD, m_strPasswd);
DDV_MaxChars(pDX, m_strPasswd, 15);
DDX_Text(pDX, IDC_AGENT_MODIFY_ADDCORPCOUNT, m_lAddCorpCount);
DDX_Text(pDX, IDC_AGENT_MODIFY_ADDEDCORP, m_lAddedCorp);
DDX_CBIndex(pDX, IDC_AGENT_MODIFY_TYPE, m_lType);
DDX_Text(pDX, IDC_AGENT_MODIFY_OEMNAME, m_strOEMName);
DDV_MaxChars(pDX, m_strOEMName, 7);
DDX_Text(pDX, IDC_AGENT_MODIFY_REPORTPER, m_lReportPer);
DDV_MinMaxUInt(pDX, m_lReportPer, 0, 102);
DDX_Check(pDX, IDC_AGENT_MODIFY_YJ, m_bYJ);
DDX_Text(pDX, IDC_AGENT_MODIFY_S_AGENTNAME, m_strS_AgentName);
DDV_MaxChars(pDX, m_strS_AgentName, 63);
DDX_Text(pDX, IDC_AGENT_MODIFY_S_EMAIL, m_strS_Email);
DDV_MaxChars(pDX, m_strS_Email, 63);
DDX_Text(pDX, IDC_AGENT_MODIFY_S_HTTP, m_strS_Http);
DDV_MaxChars(pDX, m_strS_Http, 63);
DDX_Text(pDX, IDC_AGENT_MODIFY_S_NAME, m_strS_Name);
DDV_MaxChars(pDX, m_strS_Name, 15);
DDX_Text(pDX, IDC_AGENT_MODIFY_S_TEL, m_strS_Tel);
DDV_MaxChars(pDX, m_strS_Tel, 31);
DDX_Check(pDX, IDC_AGENT_MODIFY_TEST, m_bTest);
DDX_Text(pDX, IDC_AGENT_MODIFY_TCPER, m_lTCPer);
DDV_MinMaxUInt(pDX, m_lTCPer, 0, 100);
DDX_Check(pDX, IDC_AGENT_MODIFY_RTX, m_bRTX);
DDX_CBIndex(pDX, IDC_AGENT_MODIFY_TD_CMCC, m_lTD_Cmcc);
DDX_CBIndex(pDX, IDC_AGENT_MODIFY_TD_PHS, m_lTD_Phs);
DDX_CBIndex(pDX, IDC_AGENT_MODIFY_TD_UNICOM, m_lTD_Unicom);
DDX_CBIndex(pDX, IDC_AGENT_MODIFY_USERTYPE, m_lUserType);
DDX_CBIndex(pDX, IDC_AGENT_MODIFY_ADC_TC, m_lADCTCType);
DDX_CBIndex(pDX, IDC_AGENT_MODIFY_LONGSMSTYPE, m_lLongSmsType);
DDX_Check(pDX, IDC_AGENT_MODIFY_YWYMANAGER, m_bYWYManager);
DDX_Text(pDX, IDC_AGENT_MODIFY_PRICEONE, m_strPriceOne);
DDV_MaxChars(pDX, m_strPriceOne, 10);
DDX_Text(pDX, IDC_AGENT_MODIFY_MMSPRICEONE, m_strMmsPriceOne);
DDV_MaxChars(pDX, m_strMmsPriceOne, 10);
DDX_CBIndex(pDX, IDC_AGENT_MODIFY_TD_TELCOM, m_lTD_Telcom);
DDX_Text(pDX, IDC_AGENT_MODIFY_MOBILE1, m_strMobile1);
DDV_MaxChars(pDX, m_strMobile1, 20);
DDX_Text(pDX, IDC_AGENT_MODIFY_MOBILE2, m_strMobile2);
DDV_MaxChars(pDX, m_strMobile2, 20);
DDX_Check(pDX, IDC_AGENT_MODIFY_SENDSMS, m_bSendSms);
DDX_Text(pDX, IDC_AGENT_MODIFY_SMUSED, m_lSmUsed);
DDV_MinMaxLong(pDX, m_lSmUsed, 0, 1000000);
//}}AFX_DATA_MAP
DDX_Text(pDX, IDC_AGENT_MODIFY_AGENTID, m_strAgentID);
DDV_MaxChars(pDX, m_strAgentID, 10);
DDX_Check(pDX, IDC_AGENT_MODIFY_ALLOWMINUS, m_bAllowMinus);
// DDX_CBIndex(pDX, IDC_AGENT_MODIFY_SY, m_lDayMaxSend);
// DDV_MinMaxInt(pDX, m_lDayMaxSend, -1, 100000000);
DDX_CBIndex(pDX, IDC_AGENT_MODIFY_SY, m_lSY);
DDX_Text(pDX, IDC_AGENT_MODIFY_DAYMAXSEND, m_lDayMaxSend);
DDV_MinMaxInt(pDX, m_lDayMaxSend, -1, 100000000);
}
BEGIN_MESSAGE_MAP(DLG_Agent_Modify, CDialog)
//{{AFX_MSG_MAP(DLG_Agent_Modify)
ON_BN_CLICKED(IDC_AGENT_MODIFY_REPASSWD, OnAgentModifyRepasswd)
ON_BN_CLICKED(IDC_AGENT_MODIFY_SENDMSG, OnAgentModifySendmsg)
ON_BN_CLICKED(IDC_AGENT_MODIFY_SENDSMS_NOW, OnAgentModifySendsmsNow)
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDOK, &DLG_Agent_Modify::OnBnClickedOk)
ON_BN_CLICKED(IDC_AGENT_MODIFY_CLEAR, &DLG_Agent_Modify::OnBnClickedAgentModifyClear)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_Agent_Modify message handlers
void DLG_Agent_Modify::SetParam(ANS_Agent_SeeData data, POSITION pos, BOOL bAdd)
{
m_AgentData = data;
m_Pos = pos;
m_bAdd = bAdd;
char szUser[32]={0};
char szPasswd[64]={0};
char szPasswd2[64]={0};
#ifdef _UNICODE
strcpy(szUser , CW2A(data.szLoginName) );
strcpy(szPasswd , CW2A(data.szPasswd));
#else
strcpy(szUser , data.szLoginName );
strcpy(szPasswd ,data.szPasswd);
#endif
CDes des;
long lOut=sizeof(szPasswd2);
des.Decrypt( szPasswd , strlen(szPasswd) , szPasswd2 , lOut , szUser , 8 );
#ifdef _UNICODE
_tcscpy(m_szPasswd , CA2W(szPasswd2));
#else
strcpy(m_szPasswd , szPasswd2);
#endif
}
ANS_Agent_SeeData DLG_Agent_Modify::GetParam()
{
return m_AgentData;
}
BOOL DLG_Agent_Modify::OnInitDialog()
{
CDialog::OnInitDialog();
m_strName = m_AgentData.szName;
m_lStatus = m_AgentData.lStatus;
m_strAgentID.Format(_T("%d") , m_AgentData.lAgentID);
m_lType = m_AgentData.lType;
m_strAddress = m_AgentData.szAddress;
m_strPostcode = m_AgentData.szPostcode;
m_strHttp = m_AgentData.szHttp;
m_strLXR = m_AgentData.szLXRName;
m_strTel = m_AgentData.szTel;
m_strMobile = m_AgentData.szMobile;
m_strFax = m_AgentData.szFax;
m_strEmail = m_AgentData.szEmail;
m_strCharterNum = m_AgentData.szCharterNum;
m_strTaxNum = m_AgentData.szTaxNum;
m_strCredit.Format( _T("%.2f") , m_AgentData.fCredit );
m_strUsed.Format( _T("%d") , long(m_AgentData.fUsed*10.0f) );
m_strTotal.Format( _T("%d"), long(m_AgentData.fTotal*10.0f) );
m_strMmsUsed.Format( _T("%d") , m_AgentData.lMmsUsed );
m_strMmsTotal.Format( _T("%d"), m_AgentData.lMmsTotal );
m_strCreateUser = m_AgentData.szCreateUser;
m_strBZ = m_AgentData.szBZ;
m_strRegTime.Format( _T("%04d.%02d.%02d %02d:%02d:%02d") , m_AgentData.tCreateTime.wYear,m_AgentData.tCreateTime.wMonth,m_AgentData.tCreateTime.wDay,m_AgentData.tCreateTime.wHour,m_AgentData.tCreateTime.wMinute,m_AgentData.tCreateTime.wSecond );
m_strLoginName = m_AgentData.szLoginName;
m_strOEMName = m_AgentData.szOEMName;
m_lAddCorpCount = m_AgentData.lAddCorpCount;
m_lAddedCorp = m_AgentData.lAddedCorp;
m_lReportPer = m_AgentData.lReportPer;
m_bYJ = m_AgentData.bYJ & AGENT_YJ ? true:false;
m_bRTX = m_AgentData.bYJ & AGENT_RTX ? true:false;
m_bYWYManager = m_AgentData.bYJ & AGENT_YWYMANAGER ? true:false;
m_bAllowMinus = m_AgentData.bYJ & AGENT_ALLOWMINUS ? true : false;
m_strS_AgentName = m_AgentData.szS_AgentName;
m_strS_Email = m_AgentData.szS_Email;
m_strS_Http = m_AgentData.szS_Http;
m_strS_Name = m_AgentData.szS_Name;
m_strS_Tel = m_AgentData.szS_Tel;
m_bTest = m_AgentData.bTest;
m_lTCPer = m_AgentData.lTCPer;
m_lSY = m_AgentData.lSY;
m_lDayMaxSend = m_AgentData.lDayMaxSend;
m_lUserType = m_AgentData.lUserType;
m_lLongSmsType = m_AgentData.lLongSmsType;
m_strPriceOne.Format( _T("%.4f") , m_AgentData.fPriceOne);
m_strMmsPriceOne.Format( _T("%.4f") , m_AgentData.fMmsPriceOne);
TCHAR szBuf[32]={0};
_tcscpy(szBuf , m_AgentData.szSMSTD);
_tcscat(szBuf , _T("////////////") );
this->m_lTD_Cmcc = szBuf[0]-'0'+1;
this->m_lTD_Unicom = szBuf[1]-'0'+1;
this->m_lTD_Phs = szBuf[2]-'0'+1;
this->m_lTD_Telcom = szBuf[3]-'0'+1;
/*
if ( _tcslen(m_szPasswd) <= 0 )
OnAgentModifyRepasswd();
*/
//自动发短信量低的短信通知
this->m_bSendSms = m_AgentData.bSendSms;
this->m_lSmUsed = m_AgentData.lSmUsed;
m_strMobile1 = m_AgentData.szMobile1;
m_strMobile2 = m_AgentData.szMobile2;
//业务员
CString strTemp;
ANS_YWY_NameData * pYWY;
m_L_YWY.AddString( _T("无业务员") );
m_L_YWY.SetCurSel(0);
POSITION pos = m_pAgentDlg->m_YWY.GetHeadPosition();
POSITION pos2=0;
while (pos)
{
pos2=pos;
pYWY = m_pAgentDlg->m_YWY.GetNext( pos );
strTemp = pYWY->szYWYName;
long lItem = m_L_YWY.AddString( strTemp );
m_L_YWY.SetItemData( lItem , (DWORD_PTR)pos2);
if ( m_AgentData.lYWYID == pYWY->lYWYID )
m_L_YWY.SetCurSel(lItem);
}
if ( this->m_bAdd )
{
GetDlgItem(IDC_AGENT_MODIFY_SENDMSG)->EnableWindow(false);
((CEdit*)GetDlgItem(IDC_AGENT_MODIFY_NAME))->SetReadOnly(false);
((CEdit *)GetDlgItem(IDC_AGENT_MODIFY_PRICEONE))->SetReadOnly(false);
((CEdit *)GetDlgItem(IDC_AGENT_MODIFY_MMSPRICEONE))->SetReadOnly(false);
((CEdit *)GetDlgItem(IDC_AGENT_MODIFY_ADDCORPCOUNT))->SetReadOnly(false);
((CEdit *)GetDlgItem(IDC_AGENT_MODIFY_ADDEDCORP))->SetReadOnly(false);
((CEdit *)GetDlgItem(IDC_AGENT_MODIFY_TCPER))->SetReadOnly(false);
}
if ( !m_pAgentDlg->m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_ADD,false) )
{
GetDlgItem(IDC_AGENT_MODIFY_REPORTPER_S1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_REPORTPER)->ShowWindow(SW_HIDE);
//GetDlgItem(IDC_AGENT_MODIFY_TCPER_S1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_TCPER)->EnableWindow(false);
//GetDlgItem(IDC_AGENT_MODIFY_TCPER_S2)->ShowWindow(SW_HIDE);
}
#ifdef SMSCENTER_ADC
m_lADCTCType = m_AgentData.lADCTCType;
GetDlgItem(IDC_AGENT_MODIFY_ADC_TC_S)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_AGENT_MODIFY_ADC_TC)->ShowWindow(SW_SHOW);
#endif
#ifdef SMSCENTER_NX
GetDlgItem(IDC_AGENT_MODIFY_TYPE_S)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_TYPE)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_YJ)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_RTX)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_TEST)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_YWYMANAGER)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_OEMNAME)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_OEMNAME_S)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_LONGSMSTYPE)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_LONGSMSTYPE_S)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_USERTYPE_S)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_USERTYPE)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_TD_CMCC)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_TD_UNICOM)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_TD_PHS)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_TD_TELCOM)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_TCPER_S1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_TCPER)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_TCPER_S2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_SENDSMS)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_SENDSMS_NOW)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_SMUSED)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_SMUSED_S)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_MOBILE1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_MOBILE1_S)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_MOBILE2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_AGENT_MODIFY_MOBILE2_S)->ShowWindow(SW_HIDE);
#endif
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void DLG_Agent_Modify::OnAgentModifyRepasswd()
{
/*
// m_bSetPasswd = true;
srand(::GetTickCount());
CString strTemp;
strTemp.Format( _T("%03d%03d") , rand(),rand());
strTemp.SetAt( 6 , 0 );
//strTemp = _T("123456");
m_strPasswd = strTemp;
*/
m_strPasswd = ::LuGetRandPassword();
m_E_Passwd.SetWindowText(m_strPasswd);
m_lReSetpasswdType = 1; //重置密码类型0-不变1-生成新密码2-清空密码
}
void DLG_Agent_Modify::OnAgentModifySendmsg()
{
ANS_BBS_SeeData See={0};
See.lSCorpID = 0; //管理员发的
See.lSUserID = m_pAgentDlg->m_pMainFrame->m_lUserID; //管理员ID
_tcscpy(See.szSCorpName,_T("管理员"));
_tcscpy(See.szSLoginName , m_pAgentDlg->m_pMainFrame->m_Setup.szUser );
See.lRCorpID = -200;
See.lRUserID = this->m_AgentData.lAgentID;
DLG_BBS_Send dlg(this);
dlg.SetParam( See);
if ( dlg.DoModal() == IDOK )
{
long lSize = sizeof(REQ_BBS_Send)+sizeof(ANS_BBS_SeeData);
BYTE * pModifyData = new BYTE[lSize];memset(pModifyData,0,lSize);
REQ_BBS_Send * pModify = (REQ_BBS_Send *)pModifyData; //头
ANS_BBS_SeeData * pSPData = (ANS_BBS_SeeData *)(pModifyData+sizeof(REQ_BBS_Send));
*pSPData = dlg.GetParam();
pModify->lItem = -1;
pModify->lCount = 1;
m_pAgentDlg->m_pMainFrame->SendFrame( SMSFUNC_BBS_SEND , pModifyData , lSize );
}
}
void DLG_Agent_Modify::OnAgentModifySendsmsNow()
{
REQ_Corp_SendSmsNow * pSend=new REQ_Corp_SendSmsNow;
pSend->lCorpID = this->m_AgentData.lAgentID;
pSend->lType=1; //发送代理商短信报警
this->m_pAgentDlg->m_pMainFrame->SendFrame( SMSFUNC_CORP_SENDSMSNOW , (BYTE*)pSend , sizeof(REQ_Corp_SendSmsNow));
}
void DLG_Agent_Modify::OnBnClickedOk()
{
if (!UpdateData(true))
return;
if (m_strName.GetLength() <= 0)
{
MessageBox(_T("没有输入代理商名称,请输入!"), _T("错误"), MB_ICONWARNING);
GetDlgItem(IDC_AGENT_MODIFY_NAME)->SetFocus();
return;
}
/*
if ( m_strLoginName.GetLength() <= 0 )
{
MessageBox( _T("没有输入登录名称,请输入!") , _T("错误") , MB_ICONWARNING );
GetDlgItem( IDC_AGENT_MODIFY_LOGINNAME )->SetFocus();
return ;
}
if ( _tcslen(m_szPasswd)<=0 && m_strPasswd.GetLength() <= 0 )
{
MessageBox( _T("没有输入登录密码,请输入!") , _T("错误") , MB_ICONWARNING );
GetDlgItem( IDC_AGENT_MODIFY_PASSWD )->SetFocus();
return ;
}
*/
if (m_pAgentDlg->FindAgentame(m_strName, m_Pos))
{
MessageBox(_T("代理商名称已在使用,请更换另外企业名称!"), _T("错误"), MB_ICONWARNING);
GetDlgItem(IDC_AGENT_MODIFY_NAME)->SetFocus();
return;
}
if (m_strLoginName.GetLength() > 0 && m_pAgentDlg->FindLoginName(m_strLoginName, m_Pos))
{
MessageBox(_T("登录名已在使用,请更换另外企业名称!"), _T("错误"), MB_ICONWARNING);
GetDlgItem(IDC_AGENT_MODIFY_LOGINNAME)->SetFocus();
return;
}
if (m_lAddCorpCount < m_lAddedCorp)
{
MessageBox(_T("允许添加新帐号总数输入有误,请检查!"), _T("错误"), MB_ICONWARNING);
GetDlgItem(IDC_AGENT_MODIFY_ADDCORPCOUNT)->SetFocus();
return;
}
if (m_lType == 2 && m_strOEMName.GetLength() <= 0) //超级代理商
{
MessageBox(_T("代理商类型为超级代理商必须设置其OEM标识!"), _T("错误"), MB_ICONWARNING);
GetDlgItem(IDC_AGENT_MODIFY_OEMNAME)->SetFocus();
return;
}
#if !defined(SMSCENTER_NX) || !defined(SMSCENTER_GDDX)
if (m_strTaxNum.GetLength() <= 0)
{
MessageBox(_T("代理商默认签名不能为空,请输入!"), _T("错误"), MB_ICONWARNING);
GetDlgItem(IDC_AGENT_MODIFY_TAXNUM)->SetFocus();
return;
}
#endif
double lPriceOne = _tstof(m_strPriceOne);
if (m_bAdd)
{
if (lPriceOne <= 0.02f)
{
MessageBox(_T("短信单价有误,请检查!"), _T("错误"), MB_ICONWARNING);
GetDlgItem(IDC_AGENT_MODIFY_PRICEONE)->SetFocus();
return;
}
if (lPriceOne > 0.10f)
{
int iRet = MessageBox(_T("短信单价可能有误,请确认!"), _T("提示"), MB_ICONQUESTION | MB_YESNO | MB_DEFBUTTON2);
if (iRet != IDYES)
{
GetDlgItem(IDC_AGENT_MODIFY_PRICEONE)->SetFocus();
return;
}
}
}
double lMmsPriceOne = _tstof(m_strMmsPriceOne);
if (m_bAdd)
{
if (lMmsPriceOne <= 0.02f)
{
MessageBox(_T("彩信单价有误,请检查!"), _T("错误"), MB_ICONWARNING);
GetDlgItem(IDC_AGENT_MODIFY_MMSPRICEONE)->SetFocus();
return;
}
if (lMmsPriceOne > 0.90f)
{
int iRet = MessageBox(_T("彩信单价可能有误,请确认!"), _T("提示"), MB_ICONQUESTION | MB_YESNO | MB_DEFBUTTON2);
if (iRet != IDYES)
{
GetDlgItem(IDC_AGENT_MODIFY_MMSPRICEONE)->SetFocus();
return;
}
}
}
_tcscpy(m_AgentData.szName, m_strName);
m_AgentData.lStatus = m_lStatus;
m_AgentData.lType = m_lType;
_tcscpy(m_AgentData.szAddress, m_strAddress);
_tcscpy(m_AgentData.szPostcode, m_strPostcode);
_tcscpy(m_AgentData.szHttp, m_strHttp);
_tcscpy(m_AgentData.szLXRName, m_strLXR);
_tcscpy(m_AgentData.szTel, m_strTel);
_tcscpy(m_AgentData.szMobile, m_strMobile);
_tcscpy(m_AgentData.szFax, m_strFax);
_tcscpy(m_AgentData.szEmail, m_strEmail);
_tcscpy(m_AgentData.szCharterNum, m_strCharterNum);
_tcscpy(m_AgentData.szTaxNum, m_strTaxNum);
m_AgentData.fCredit = _tstof(m_strCredit);
_tcscpy(m_AgentData.szBZ, m_strBZ);
_tcscpy(m_AgentData.szOEMName, m_strOEMName);
m_AgentData.lAddCorpCount = m_lAddCorpCount;
m_AgentData.lAddedCorp = m_lAddedCorp;
m_AgentData.lReportPer = m_lReportPer;
m_AgentData.bYJ = 0;
if (m_bYJ)
m_AgentData.bYJ = m_AgentData.bYJ | AGENT_YJ;
if (m_bRTX)
m_AgentData.bYJ = m_AgentData.bYJ | AGENT_RTX;
if (m_bYWYManager)
m_AgentData.bYJ = m_AgentData.bYJ | AGENT_YWYMANAGER;
if (m_bAllowMinus)
m_AgentData.bYJ = m_AgentData.bYJ | AGENT_ALLOWMINUS;
_tcscpy(m_AgentData.szS_AgentName, m_strS_AgentName);
_tcscpy(m_AgentData.szS_Email, m_strS_Email);
_tcscpy(m_AgentData.szS_Http, m_strS_Http);
_tcscpy(m_AgentData.szS_Name, m_strS_Name);
_tcscpy(m_AgentData.szS_Tel, m_strS_Tel);
m_AgentData.bTest = m_bTest;
m_AgentData.lTCPer = m_lTCPer;
m_AgentData.lSY = m_lSY;
m_AgentData.lDayMaxSend = m_lDayMaxSend;
m_AgentData.lUserType = m_lUserType;
memset(m_AgentData.szSMSTD, 0, sizeof(m_AgentData.szSMSTD));
m_AgentData.szSMSTD[0] = '0' + m_lTD_Cmcc - 1;
m_AgentData.szSMSTD[1] = '0' + m_lTD_Unicom - 1;
m_AgentData.szSMSTD[2] = '0' + m_lTD_Phs - 1;
m_AgentData.szSMSTD[3] = '0' + m_lTD_Telcom - 1;
m_AgentData.lLongSmsType = m_lLongSmsType;
m_AgentData.fPriceOne = lPriceOne;
m_AgentData.fMmsPriceOne = lMmsPriceOne;
m_AgentData.bSendSms = m_bSendSms;
m_AgentData.lSmUsed = m_lSmUsed;
_tcscpy(m_AgentData.szMobile1, m_strMobile1);
_tcscpy(m_AgentData.szMobile2, m_strMobile2);
if (m_lReSetpasswdType == 2)
{
_tcscpy(m_AgentData.szLoginName, m_strLoginName);
_tcscpy(m_AgentData.szPasswd, _T("ResetPasswd"));
}
else
{
if (m_strPasswd.GetLength() > 0 || m_strLoginName != CString(m_AgentData.szLoginName)) //有密码或登录名有修改,需要生成新的加密密码
{
if (m_strLoginName.GetLength() <= 0)
{
MessageBox(_T("没有输入登录名称,请输入!"), _T("错误"), MB_ICONWARNING);
GetDlgItem(IDC_AGENT_MODIFY_LOGINNAME)->SetFocus();
return;
}
_tcscpy(m_AgentData.szLoginName, m_strLoginName);
if (m_strPasswd.GetLength() > 0)
_tcscpy(m_szPasswd, m_strPasswd);
char szUser[32] = { 0 };
char szPasswd[64] = { 0 };
char szPasswd2[64] = { 0 };
#ifdef _UNICODE
strcpy(szUser, CW2A(m_AgentData.szLoginName));
strcpy(szPasswd, CW2A(m_szPasswd));
#else
strcpy(szUser, m_AgentData.szLoginName);
strcpy(szPasswd, m_szPasswd);
#endif
CDes des;
long lOut = sizeof(szPasswd2);
des.Encrypt(szPasswd, strlen(szPasswd), szPasswd2, lOut, szUser, 8);
#ifdef _UNICODE
_tcscpy(m_AgentData.szPasswd, CA2W(szPasswd2));
#else
strcpy(m_AgentData.szPasswd, szPasswd2);
#endif
}
}
//业务员ID
m_AgentData.lYWYID = 0;
long lYWY = m_L_YWY.GetCurSel();
if ( lYWY > 0 )
{
POSITION pos = (POSITION)m_L_YWY.GetItemData(lYWY);
ANS_YWY_NameData * pData = m_pAgentDlg->m_YWY.GetNext( pos );
if (pData)
{
m_AgentData.lYWYID = pData->lYWYID;
}
}
#ifdef SMSCENTER_ADC
m_AgentData.lADCTCType = m_lADCTCType;
#endif
CDialog::OnOK();
}
void DLG_Agent_Modify::OnBnClickedAgentModifyClear()
{
CString strMobile;
((CEdit*)GetDlgItem(IDC_AGENT_MODIFY_MOBILE))->GetWindowText(strMobile);
if (strMobile.GetLength() != 11)
{
MessageBox(_T("清空密码前请先录入正确的手机号码!"), _T("错误"), MB_ICONERROR);
GetDlgItem(IDC_AGENT_MODIFY_MOBILE)->SetFocus();
return;
}
m_E_Passwd.SetWindowText(_T("ResetPasswd")); //清空密码
m_lReSetpasswdType = 2; //重置密码类型0-不变1-生成新密码2-清空密码
}