SmsManager/DLG_Corp_PayToUser.cpp

158 lines
3.7 KiB
C++
Raw Normal View History

2025-01-14 10:46:18 +08:00
// DLG_Corp_PayToUser.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_Corp_PayToUser.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_PayToUser dialog
DLG_Corp_PayToUser::DLG_Corp_PayToUser(CWnd* pParent /*=NULL*/)
: CDialog(DLG_Corp_PayToUser::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_Corp_PayToUser)
m_strType = _T("");
m_strBZ = _T("");
m_strName = _T("");
m_strPrice = _T("");
m_strPriceOne = _T("");
m_strSmsCount = _T("");
m_strTHCount = _T("");
//}}AFX_DATA_INIT
memset(&m_HSSms,0,sizeof(m_HSSms));
}
void DLG_Corp_PayToUser::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_Corp_PayToUser)
DDX_Text(pDX, IDC_CORP_PAYTOUSER_TYPE, m_strType);
DDX_Text(pDX, IDC_CORP_PAYTOUSER_TYPE_BZ, m_strBZ);
DDV_MaxChars(pDX, m_strBZ, 250);
DDX_Text(pDX, IDC_CORP_PAYTOUSER_TYPE_NAME, m_strName);
DDX_Text(pDX, IDC_CORP_PAYTOUSER_TYPE_PRICE, m_strPrice);
DDX_Text(pDX, IDC_CORP_PAYTOUSER_TYPE_PRICEONE, m_strPriceOne);
DDX_Text(pDX, IDC_CORP_PAYTOUSER_TYPE_SMSCOUNT, m_strSmsCount);
DDX_Text(pDX, IDC_CORP_PAYTOUSER_TYPE_THCOUNT, m_strTHCount);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DLG_Corp_PayToUser, CDialog)
//{{AFX_MSG_MAP(DLG_Corp_PayToUser)
ON_WM_TIMER()
ON_EN_CHANGE(IDC_CORP_PAYTOUSER_TYPE_THCOUNT, OnChangeCorpPaytouserTypeThcount)
ON_EN_CHANGE(IDC_CORP_PAYTOUSER_TYPE_PRICEONE, OnChangeCorpPaytouserTypePriceone)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_PayToUser message handlers
BOOL DLG_Corp_PayToUser::OnInitDialog()
{
CDialog::OnInitDialog();
m_strType = _T("<EFBFBD>ն˿ͻ<EFBFBD>");
if ( m_HSSms.lUserType == 1 )
{
m_strType = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ;
}
if ( m_HSSms.lUserType == 10 )
{
m_strType = _T("ADC<EFBFBD>ͻ<EFBFBD>");
}
m_strName = m_HSSms.szCorpName;
m_strSmsCount.Format(_T("%d") , m_HSSms.lSmsCount );
m_strTHCount.Format( _T("%d") , m_HSSms.lSmsCount );
m_strPriceOne.Format( _T("%.4f") , m_HSSms.fPriceOne );
UpdateData(false);
SetTimer(1,100,NULL);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void DLG_Corp_PayToUser::SetParam(REQ_Corp_HSSms HSSms)
{
m_HSSms = HSSms;
}
void DLG_Corp_PayToUser::OnTimer(UINT_PTR nIDEvent)
2025-01-14 10:46:18 +08:00
{
CDialog::OnTimer(nIDEvent);
if ( nIDEvent == 1 )
{
KillTimer(nIDEvent);
ResetSMSUsed();
}
}
void DLG_Corp_PayToUser::ResetSMSUsed()
{
UpdateData( true );
m_HSSms.lSmsUsed = _ttol( m_strTHCount );
m_HSSms.fPriceOne = _tstof( m_strPriceOne );
if ( m_HSSms.fPriceOne < 0.02f || m_HSSms.fPriceOne > 0.20f )
{
MessageBox( _T("<EFBFBD>˿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING) ;
return ;
}
if ( m_HSSms.lSmsUsed <=0 || m_HSSms.lSmsUsed > m_HSSms.lSmsCount )
{
MessageBox( _T("<EFBFBD>˿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING) ;
m_strTHCount = m_strSmsCount;
UpdateData(false);
return ;
}
m_strPrice.Format( _T("%.4f") , (double)m_HSSms.lSmsUsed * m_HSSms.fPriceOne );
this->UpdateData( false );
}
void DLG_Corp_PayToUser::OnOK()
{
ResetSMSUsed();
if ( m_HSSms.fPriceOne < 0.02f || m_HSSms.fPriceOne > 0.20f )
return ;
if ( m_HSSms.lSmsUsed > m_HSSms.lSmsCount )
return ;
int iRet = MessageBox( _T("ȷ<EFBFBD><EFBFBD>Ҫ<EFBFBD>˿<EFBFBD><EFBFBD>˱ʿ<EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );
if ( iRet != IDYES )
return ;
_tcscpy(m_HSSms.szBZ , m_strBZ );
CDialog::OnOK();
}
void DLG_Corp_PayToUser::OnChangeCorpPaytouserTypeThcount()
{
SetTimer(1 , 100 , NULL );
}
void DLG_Corp_PayToUser::OnChangeCorpPaytouserTypePriceone()
{
SetTimer(1 , 100 , NULL );
}