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

225 lines
10 KiB
C++

// DLG_Corp_CustomSettings.cpp: 实现文件
//
#include "stdafx.h"
#include "SmsManager.h"
#include "afxdialogex.h"
#include "DLG_Corp_CustomSettings.h"
#include "MainFrm.h"
// DLG_Corp_CustomSettings 对话框
IMPLEMENT_DYNAMIC(DLG_Corp_CustomSettings, CDialogEx)
DLG_Corp_CustomSettings::DLG_Corp_CustomSettings(CWnd* pParent /*=nullptr*/)
: CDialogEx(IDD_CORP_CUSTOM_SETTINGS, pParent)
, m_strCorpID(_T(""))
, m_strCorpName(_T(""))
, m_strYWY(_T(""))
, m_strAgent(_T(""))
, m_bAntiAnnoys_Enable(FALSE)
, m_bSpeedLimit_Enable(FALSE)
, m_strSpeedLimit_CorpID(_T(""))
, m_strSpeedLimit_IP(_T(""))
, m_strAntiannoys_1Min_Same(_T(""))
, m_strAntiannoys_1Min_Diffrent(_T(""))
, m_strAntiannoys_1Min_VerificationCode(_T(""))
, m_strAntiannoys_5Mins_Same(_T(""))
, m_strAntiannoys_5Mins_Diffrent(_T(""))
, m_strAntiannoys_5Mins_VerificationCode(_T(""))
, m_strAntiannoys_10Mins_Same(_T(""))
, m_strAntiannoys_10Mins_Diffrent(_T(""))
, m_strAntiannoys_10Mins_VerificationCode(_T(""))
, m_strAntiannoys_30Mins_Same(_T(""))
, m_strAntiannoys_30Mins_Diffrent(_T(""))
, m_strAntiannoys_30Mins_VerificationCode(_T(""))
, m_strAntiannoys_1Hour_Same(_T(""))
, m_strAntiannoys_1Hour_Diffrent(_T(""))
, m_strAntiannoys_1Hour_VerificationCode(_T(""))
, m_strAntiannoys_24Hrs_Same(_T(""))
, m_strAntiannoys_24Hrs_Diffrent(_T(""))
, m_strAntiannoys_24Hrs_VerificationCode(_T(""))
, m_strMultCM0(_T(""))
, m_strMultCM1(_T(""))
, m_strMultCM3(_T(""))
, m_bMultCM(FALSE)
{
m_pMainFrame = NULL;
m_pSettingsAns = NULL;
memset(&m_SettingsData, 0, sizeof(m_SettingsData));
}
DLG_Corp_CustomSettings::~DLG_Corp_CustomSettings()
{
}
void DLG_Corp_CustomSettings::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_CORPID, m_strCorpID);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_CORPNAME, m_strCorpName);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_YWY, m_strYWY);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_AGENT, m_strAgent);
DDX_Check(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_ENABLE, m_bAntiAnnoys_Enable);
DDX_Check(pDX, IDC_CORP_CUSTOM_SETTINGS_SPEEDLIMIT_ENABLE, m_bSpeedLimit_Enable);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_SPEEDLIMIT_CORPID, m_strSpeedLimit_CorpID);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_SPEEDLIMIT_IP, m_strSpeedLimit_IP);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_1MIN_SAME, m_strAntiannoys_1Min_Same);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_1MIN_DIFFRENT, m_strAntiannoys_1Min_Diffrent);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_1MIN_VERIFICATIONCODE, m_strAntiannoys_1Min_VerificationCode);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_5MINS_SAME, m_strAntiannoys_5Mins_Same);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_5MINS_DIFFRENT, m_strAntiannoys_5Mins_Diffrent);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_5MINS_VERIFICATIONCODE, m_strAntiannoys_5Mins_VerificationCode);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_10MINS_SAME, m_strAntiannoys_10Mins_Same);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_10MINS_DIFFRENT, m_strAntiannoys_10Mins_Diffrent);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_10MINS_VERIFICATIONCODE, m_strAntiannoys_10Mins_VerificationCode);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_30MINS_SAME, m_strAntiannoys_30Mins_Same);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_30MINS_DIFFRENT, m_strAntiannoys_30Mins_Diffrent);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_30MINS_VERIFICATIONCODE, m_strAntiannoys_30Mins_VerificationCode);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_1HOUR_SAME, m_strAntiannoys_1Hour_Same);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_1HOUR_DIFFRENT, m_strAntiannoys_1Hour_Diffrent);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_1HOUR_VERIFICATIONCODE, m_strAntiannoys_1Hour_VerificationCode);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_24HRS_SAME, m_strAntiannoys_24Hrs_Same);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_24HRS_DIFFRENT, m_strAntiannoys_24Hrs_Diffrent);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_ANTIANNOYS_24HRS_VERIFICATIONCODE, m_strAntiannoys_24Hrs_VerificationCode);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_MULTCM_0, m_strMultCM0);
DDV_MaxChars(pDX, m_strMultCM0, 20);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_MULTCM_1, m_strMultCM1);
DDV_MaxChars(pDX, m_strMultCM1, 20);
DDX_Text(pDX, IDC_CORP_CUSTOM_SETTINGS_MULTCM_3, m_strMultCM3);
DDV_MaxChars(pDX, m_strMultCM3, 20);
DDX_Check(pDX, IDC_CORP_CUSTOM_SETTINGS_MULTCM_ENABLE, m_bMultCM);
}
BEGIN_MESSAGE_MAP(DLG_Corp_CustomSettings, CDialogEx)
ON_BN_CLICKED(IDOK, &DLG_Corp_CustomSettings::OnBnClickedOk)
END_MESSAGE_MAP()
// DLG_Corp_CustomSettings 消息处理程序
BOOL DLG_Corp_CustomSettings::OnInitDialog()
{
CDialogEx::OnInitDialog();
if (m_pSettingsAns->req.lAgentID <= 0)
{
GetDlgItem(IDC_CORP_CUSTOM_SETTINGS_AGENT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CORP_CUSTOM_SETTINGS_AGENT_S)->ShowWindow(SW_HIDE);
}
m_strCorpID.Format(_T("%d"), m_pSettingsAns->req.lCorpID);
m_strYWY = m_pSettingsAns->req.szYWY;
m_strCorpName = m_pSettingsAns->req.szCorpName;
m_strAgent = m_pSettingsAns->req.szAgentName;
m_bAntiAnnoys_Enable = m_pSettingsAns->data.bAntiannoys_enable;
m_strAntiannoys_1Min_Same.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_1Min_Same);
m_strAntiannoys_1Min_Diffrent.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_1Min_Diffrent);
m_strAntiannoys_1Min_VerificationCode.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_1Min_VerificationCode);
m_strAntiannoys_5Mins_Same.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_5Mins_Same);
m_strAntiannoys_5Mins_Diffrent.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_5Mins_Diffrent);
m_strAntiannoys_5Mins_VerificationCode.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_5Mins_VerificationCode);
m_strAntiannoys_10Mins_Same.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_10Mins_Same);
m_strAntiannoys_10Mins_Diffrent.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_10Mins_Diffrent);
m_strAntiannoys_10Mins_VerificationCode.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_10Mins_VerificationCode);
m_strAntiannoys_30Mins_Same.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_30Mins_Same);
m_strAntiannoys_30Mins_Diffrent.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_30Mins_Diffrent);
m_strAntiannoys_30Mins_VerificationCode.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_30Mins_VerificationCode);
m_strAntiannoys_1Hour_Same.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_1Hour_Same);
m_strAntiannoys_1Hour_Diffrent.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_1Hour_Diffrent);
m_strAntiannoys_1Hour_VerificationCode.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_1Hour_VerificationCode);
m_strAntiannoys_24Hrs_Same.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_24Hrs_Same);
m_strAntiannoys_24Hrs_Diffrent.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_24Hrs_Diffrent);
m_strAntiannoys_24Hrs_VerificationCode.Format(_T("%d"), m_pSettingsAns->data.lAntiannoys_24Hrs_VerificationCode);
m_bSpeedLimit_Enable = m_pSettingsAns->data.bSpeedLimit_enable;
m_strSpeedLimit_CorpID.Format(_T("%d"), m_pSettingsAns->data.lSpeedLimit_CorpID);
m_strSpeedLimit_IP.Format(_T("%d"), m_pSettingsAns->data.lSpeedLimit_IP);
//多运营商签名
m_bMultCM = m_pSettingsAns->data.bMultCM;
m_strMultCM0 = m_pSettingsAns->data.szMultCMs[0];
m_strMultCM1 = m_pSettingsAns->data.szMultCMs[1];
m_strMultCM3 = m_pSettingsAns->data.szMultCMs[3];
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void DLG_Corp_CustomSettings::OnBnClickedOk()
{
if (!UpdateData(true))
return;
m_SettingsData.bAntiannoys_enable = m_bAntiAnnoys_Enable;
m_SettingsData.lAntiannoys_1Min_Same = _ttol(m_strAntiannoys_1Min_Same);
m_SettingsData.lAntiannoys_1Min_Diffrent = _ttol(m_strAntiannoys_1Min_Diffrent);
m_SettingsData.lAntiannoys_1Min_VerificationCode = _ttol(m_strAntiannoys_1Min_VerificationCode);
m_SettingsData.lAntiannoys_5Mins_Same = _ttol(m_strAntiannoys_5Mins_Same);
m_SettingsData.lAntiannoys_5Mins_Diffrent = _ttol(m_strAntiannoys_5Mins_Diffrent);
m_SettingsData.lAntiannoys_5Mins_VerificationCode = _ttol(m_strAntiannoys_5Mins_VerificationCode);
m_SettingsData.lAntiannoys_10Mins_Same = _ttol(m_strAntiannoys_10Mins_Same);
m_SettingsData.lAntiannoys_10Mins_Diffrent = _ttol(m_strAntiannoys_10Mins_Diffrent);
m_SettingsData.lAntiannoys_10Mins_VerificationCode = _ttol(m_strAntiannoys_10Mins_VerificationCode);
m_SettingsData.lAntiannoys_30Mins_Same = _ttol(m_strAntiannoys_30Mins_Same);
m_SettingsData.lAntiannoys_30Mins_Diffrent = _ttol(m_strAntiannoys_30Mins_Diffrent);
m_SettingsData.lAntiannoys_30Mins_VerificationCode = _ttol(m_strAntiannoys_30Mins_VerificationCode);
m_SettingsData.lAntiannoys_1Hour_Same = _ttol(m_strAntiannoys_1Hour_Same);
m_SettingsData.lAntiannoys_1Hour_Diffrent = _ttol(m_strAntiannoys_1Hour_Diffrent);
m_SettingsData.lAntiannoys_1Hour_VerificationCode = _ttol(m_strAntiannoys_1Hour_VerificationCode);
m_SettingsData.lAntiannoys_24Hrs_Same = _ttol(m_strAntiannoys_24Hrs_Same);
m_SettingsData.lAntiannoys_24Hrs_Diffrent = _ttol(m_strAntiannoys_24Hrs_Diffrent);
m_SettingsData.lAntiannoys_24Hrs_VerificationCode = _ttol(m_strAntiannoys_24Hrs_VerificationCode);
m_SettingsData.bSpeedLimit_enable = m_bSpeedLimit_Enable;
m_SettingsData.lSpeedLimit_CorpID = _ttol(m_strSpeedLimit_CorpID);
m_SettingsData.lSpeedLimit_IP = _ttol(m_strSpeedLimit_IP);
//多运营商签名
m_SettingsData.bMultCM = m_bMultCM;
_tcscpy(m_SettingsData.szMultCMs[0], m_strMultCM0);
_tcscpy(m_SettingsData.szMultCMs[1], m_strMultCM1);
_tcscpy(m_SettingsData.szMultCMs[3], m_strMultCM3);
m_SettingsData.lSettingID = m_pSettingsAns->data.lSettingID;
m_SettingsData.lCorpID = m_pSettingsAns->data.lCorpID;
if (!memcmp(&m_SettingsData, &m_pSettingsAns->data, sizeof(m_SettingsData))) //如果没做过什么改动的,就不用再修改了
{
CDialogEx::OnCancel();
}
else
{
CDialogEx::OnOK();
}
//CDialogEx::OnOK();
}
void DLG_Corp_CustomSettings::SetParam(CMainFrame* pFrame, ANS_Corp_CustomSettings_Get* pSettingsAns)
{
m_pMainFrame = pFrame;
m_pSettingsAns = pSettingsAns;
}
ANS_Corp_CustomSettings_Data DLG_Corp_CustomSettings::GetParam()
{
return m_SettingsData;
}