SmsManager/DLG_SmsTask_Modify.cpp

157 lines
4.5 KiB
C++
Raw Normal View History

2025-01-14 10:46:18 +08:00
// DLG_SmsTask_Modify.cpp: 实现文件
//
#include "StdAfx.h"
#include "SmsManager.h"
#include "DLG_SmsTask_Modify.h"
#include "afxdialogex.h"
// DLG_SmsTask_Modify 对话框
IMPLEMENT_DYNAMIC(DLG_SmsTask_Modify, CDialogEx)
DLG_SmsTask_Modify::DLG_SmsTask_Modify(CWnd* pParent /*=nullptr*/)
: CDialogEx(IDD_K_SMSTASK_MODIFY, pParent)
, m_strCorpID(_T(""))
, m_strCreateTime(_T(""))
, m_strMsg(_T(""))
, m_strReason(_T(""))
{
memset(&m_SeeData, 0, sizeof(m_SeeData));
m_lReasonType = 0;
m_lOperCount = 0;
}
DLG_SmsTask_Modify::~DLG_SmsTask_Modify()
{
}
void DLG_SmsTask_Modify::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Text(pDX, IDD_K_SMSTASK_MODIFY_CORPID, m_strCorpID);
DDX_Text(pDX, IDD_K_SMSTASK_MODIFY_CREATETIME, m_strCreateTime);
DDX_Text(pDX, IDD_K_SMSTASK_MODIFY_MSG, m_strMsg);
// DDX_Text(pDX, IDD_K_SMSTASK_MODIFY_REASON, m_strReason);
DDX_Text(pDX, IDD_K_SMSTASK_MODIFY_REASON, m_strReason);
DDV_MaxChars(pDX, m_strReason, 60);
DDX_Control(pDX, IDD_K_SMSTASK_MODIFY_REASON_S, m_S_Reason);
}
BEGIN_MESSAGE_MAP(DLG_SmsTask_Modify, CDialogEx)
ON_BN_CLICKED(IDOK, &DLG_SmsTask_Modify::OnBnClickedOk)
ON_BN_CLICKED(IDD_K_SMSTASK_MODIFY_FAILREASON, &DLG_SmsTask_Modify::OnBnClickedKSmstaskModifyFailreason)
ON_COMMAND_RANGE(MENU_SMSTASK_FAILREASON_BEGIN, MENU_SMSTASK_FAILREASON_END, On_User_FailReason)
END_MESSAGE_MAP()
// DLG_SmsTask_Modify 消息处理程序
void DLG_SmsTask_Modify::OnBnClickedOk()
{
if (!UpdateData(true))
return;
if (m_strReason.GetLength() <= 3)
{
MessageBox(_T("请输入审核失败原因!"), _T("错误"), MB_ICONWARNING|MB_OK);
GetDlgItem(IDD_K_SMSTASK_MODIFY_REASON)->SetFocus();
return;
}
CDialogEx::OnOK();
}
BOOL DLG_SmsTask_Modify::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: 在此添加额外的初始化
m_strCorpID.Format(_T("%d"), m_SeeData.lCorpID);
m_strCreateTime.Format(_T("%04d.%02d.%02d %02d:%02d"), m_SeeData.tCreateTime.wYear, m_SeeData.tCreateTime.wMonth, m_SeeData.tCreateTime.wDay, m_SeeData.tCreateTime.wHour, m_SeeData.tCreateTime.wMinute);
m_strMsg = m_SeeData.szMsg;
CString strTitle;
this->GetWindowText(strTitle);
if (m_lReasonType == 1) //停止任务
{
strTitle = _T("批量短信任务-强制停止");
m_S_Reason.SetWindowText(_T("强制停止原因"));
}
if (m_lReasonType == 2) //重启任务
{
strTitle = _T("批量短信任务-重启任务");
m_S_Reason.SetWindowText(_T("重启任务原因"));
}
if (m_lOperCount > 1)
strTitle.Append(_T(" 注意:你已选择多条记录,此为批量操作!"));
this->SetWindowText(strTitle);
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void DLG_SmsTask_Modify::SetParam(ANS_PLTaskSms_SeeData * pSeeData,long lReasonType,long lOperCount)
{
m_SeeData = *pSeeData;
m_lReasonType = lReasonType;
m_lOperCount = lOperCount;
}
void DLG_SmsTask_Modify::OnBnClickedKSmstaskModifyFailreason()
{
CMenu menu;
menu.CreatePopupMenu();
if (m_strFailReason.GetCount() <= 0)
{
m_strFailReason.Add(_T("短信内容含双签名,请修改后重新提交。"));
m_strFailReason.Add(_T("短信内容有乱码,请修改后重新提交。"));
m_strFailReason.Add(_T("短信内容含涉嫌敏感内容,请修改后重新提交。"));
m_strFailReason.Add(_T("行业应用账号不允许发送此内容,请用营销账号重新提交。"));
m_strFailReason.Add(_T("请规范退订格式修改后重新提交。短信结尾为拒收请回复R"));
m_strFailReason.Add(_T("此内容暂不支持发送。"));
m_strFailReason.Add(_T("客户申请驳回,审核失败。"));
}
int iCount = m_strFailReason.GetCount();
for (int i = 0; i < iCount; i++)
{
menu.AppendMenu(MF_STRING, MENU_SMSTASK_FAILREASON_BEGIN+i, m_strFailReason.GetAt(i));
}
//显示菜单
RECT rect = { 0 };
this->GetDlgItem(IDD_K_SMSTASK_MODIFY_FAILREASON)->GetWindowRect(&rect);
//this->ClientToScreen( &pt);
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON, rect.left, rect.bottom, this, NULL);
menu.DestroyMenu();
}
void DLG_SmsTask_Modify::On_User_FailReason(UINT nID)
{
UINT ll = MENU_SMSTASK_FAILREASON_BEGIN;
long lIndex = nID - ll;
if (lIndex>=0 && lIndex < m_strFailReason.GetCount())
{
//CString str = m_strFailReason.GetAt(lIndex);
//if (!UpdateData(true))
// return;
//m_strReason = m_strReason + str;
// UpdateData(false);
((CEdit*)GetDlgItem(IDD_K_SMSTASK_MODIFY_REASON))->SetWindowText(m_strFailReason.GetAt(lIndex));
}
}