SmsManager/DLG_C_Pay_YS.cpp

235 lines
5.8 KiB
C++
Raw Normal View History

2025-01-14 10:46:18 +08:00
// DLG_C_Pay_YS.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_C_Pay_YS.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_C_Pay_YS dialog
DLG_C_Pay_YS::DLG_C_Pay_YS(CWnd* pParent /*=NULL*/)
: CDialog(DLG_C_Pay_YS::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_C_Pay_YS)
m_strBZ = _T("");
m_strPayMode = _T("");
m_tPayTime = COleDateTime::GetCurrentTime();
m_strPrice = _T("");
m_strPriceOne = _T("");
m_strSmsCount = _T("");
//}}AFX_DATA_INIT
m_bMonPay = false;
m_bAddMonPay = false;
memset(&m_Pay,0,sizeof(m_Pay));
m_tPay.SetStatus(COleDateTime::null);
}
void DLG_C_Pay_YS::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_C_Pay_YS)
DDX_Text(pDX, IDD_C_PAY_YS_BZ, m_strBZ);
DDV_MaxChars(pDX, m_strBZ, 30);
DDX_CBString(pDX, IDD_C_PAY_YS_PAYMODE, m_strPayMode);
DDV_MaxChars(pDX, m_strPayMode, 15);
DDX_DateTimeCtrl(pDX, IDD_C_PAY_YS_TIME, m_tPayTime);
DDX_Text(pDX, IDD_C_PAY_YS_PRICE, m_strPrice);
DDV_MaxChars(pDX, m_strPrice, 10);
DDX_Text(pDX, IDD_C_PAY_YS_PRICEONE, m_strPriceOne);
DDV_MaxChars(pDX, m_strPriceOne, 10);
DDX_Text(pDX, IDD_C_PAY_YS_SMSCOUNT, m_strSmsCount);
DDV_MaxChars(pDX, m_strSmsCount, 10);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DLG_C_Pay_YS, CDialog)
//{{AFX_MSG_MAP(DLG_C_Pay_YS)
ON_WM_TIMER()
ON_EN_CHANGE(IDD_C_PAY_YS_PRICE, OnChangeCPayYsPrice)
ON_EN_CHANGE(IDD_C_PAY_YS_PRICEONE, OnChangeCPayYsPriceone)
ON_EN_CHANGE(IDD_C_PAY_YS_SMSCOUNT, OnChangeCPayYsSmscount)
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDOK, &DLG_C_Pay_YS::OnBnClickedOk)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_C_Pay_YS message handlers
BOOL DLG_C_Pay_YS::OnInitDialog()
{
CDialog::OnInitDialog();
m_strPayMode = _T("<EFBFBD><EFBFBD><EFBFBD>׹<EFBFBD><EFBFBD><EFBFBD>");
if ( m_tPay.GetStatus() == COleDateTime::valid )
{
m_tPayTime = m_tPay;
}
if ( m_bMonPay )
{
GetDlgItem(IDD_C_PAY_YS_S1)->ShowWindow(SW_SHOW);
GetDlgItem(IDD_C_PAY_YS_S2)->ShowWindow(SW_SHOW);
GetDlgItem(IDD_C_PAY_YS_S3)->ShowWindow(SW_SHOW);
GetDlgItem(IDD_C_PAY_YS_PRICE)->ShowWindow(SW_SHOW);
GetDlgItem(IDD_C_PAY_YS_PRICEONE)->ShowWindow(SW_SHOW);
GetDlgItem(IDD_C_PAY_YS_SMSCOUNT)->ShowWindow(SW_SHOW);
m_strPrice.Format( _T("%.2f") , m_Pay.fPrice );
m_strPriceOne.Format( _T("%.4f") , m_Pay.fPriceOne );
m_strSmsCount.Format( _T("%d") , m_Pay.lSMSCount );
}
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void DLG_C_Pay_YS::OnBnClickedOk()
{
if(!UpdateData(true))
return ;
if ( m_bMonPay )
{
double fPriceOne = _tstof(m_strPriceOne);
if ( fPriceOne<=0.02f || fPriceOne>0.50f )
{
MessageBox( _T("ʵ<EFBFBD>ն<EFBFBD><EFBFBD>ŵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
GetDlgItem(IDD_C_PAY_YS_PRICEONE)->SetFocus();
return ;
}
double fPrice = _tstof(m_strPrice);
if ( fPrice!=m_Pay.fPrice )
{
long iRet = 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>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );
if ( iRet != IDYES )
return;
}
long lSmsCount = _ttol(m_strSmsCount);
if ( lSmsCount!=m_Pay.lSMSCount )
{
long iRet = 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><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );
if ( iRet != IDYES )
return;
}
if ( lSmsCount<m_Pay.lSMSCount )
{
long iRet = 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><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON1 );
if ( iRet == IDYES )
{
m_bAddMonPay = true;
}
}
m_Pay.fYSPrice = fPrice;
m_Pay.fYSPriceOne = fPriceOne;
m_Pay.lYSSMSCount = lSmsCount;
}
CDialog::OnOK();
}
void DLG_C_Pay_YS::SetParam(ANS_Corp_MonPayData *pPay)
{
m_bMonPay = true;
m_Pay = *pPay;
}
void DLG_C_Pay_YS::OnTimer(UINT_PTR nIDEvent)
2025-01-14 10:46:18 +08:00
{
CDialog::OnTimer(nIDEvent);
if ( nIDEvent ==1 ) //<2F>ܽ<EFBFBD><DCBD><EFBFBD><EFBFBD>ı<C4B1><E4A3AC><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
KillTimer(nIDEvent);
if ( !UpdateData(true) )
return ;
double fPrice = _tstof(m_strPrice);
double fPriceOne = _tstof(m_strPriceOne);
if ( fPriceOne<=0.02f || fPriceOne>0.50f )
{
MessageBox( _T("ʵ<EFBFBD>ն<EFBFBD><EFBFBD>ŵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
GetDlgItem(IDD_C_PAY_YS_PRICEONE)->SetFocus();
return ;
}
long lSmsCount = fPrice / fPriceOne;
m_strSmsCount.Format( _T("%d") , lSmsCount );
UpdateData(false);
}
if ( nIDEvent ==2 ) //<2F><><EFBFBD>۸ı<C4B1><E4A3AC><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
KillTimer(nIDEvent);
if ( !UpdateData(true) )
return ;
double fPrice = _tstof(m_strPrice);
double fPriceOne = _tstof(m_strPriceOne);
if ( fPriceOne<=0.02f || fPriceOne>0.50f )
{
MessageBox( _T("ʵ<EFBFBD>ն<EFBFBD><EFBFBD>ŵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
GetDlgItem(IDD_C_PAY_YS_PRICEONE)->SetFocus();
return ;
}
long lSmsCount = fPrice / fPriceOne;
m_strSmsCount.Format( _T("%d") , lSmsCount );
UpdateData(false);
}
if ( nIDEvent ==3 ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<C4B1><E4A3AC><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ܼ<EFBFBD>
{
KillTimer(nIDEvent);
if ( !UpdateData(true) )
return ;
long lSmsCount = _ttol(m_strSmsCount);
double fPriceOne = _tstof(m_strPriceOne);
if ( fPriceOne<=0.02f || fPriceOne>0.50f )
{
MessageBox( _T("ʵ<EFBFBD>ն<EFBFBD><EFBFBD>ŵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
GetDlgItem(IDD_C_PAY_YS_PRICEONE)->SetFocus();
return ;
}
double fPrice = (double)lSmsCount * fPriceOne;
m_strPrice.Format( _T("%.2f") , fPrice );
UpdateData(false);
}
}
void DLG_C_Pay_YS::OnChangeCPayYsPrice()
{
SetTimer( 1 , 50 , NULL );
}
void DLG_C_Pay_YS::OnChangeCPayYsPriceone()
{
SetTimer( 2 , 50 , NULL );
}
void DLG_C_Pay_YS::OnChangeCPayYsSmscount()
{
SetTimer( 3 , 50 , NULL );
}
ANS_Corp_MonPayData DLG_C_Pay_YS::GetParam()
{
return m_Pay;
}
void DLG_C_Pay_YS::SetPayTime(COleDateTime payTime)
{
m_tPay = payTime;
}