SmsManager/DLG_SmsTask_Modify.cpp
2025-01-14 10:46:18 +08:00

157 lines
4.5 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_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));
}
}