// 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("终端客户"); if ( m_HSSms.lUserType == 1 ) { m_strType = _T("代理商") ; } if ( m_HSSms.lUserType == 10 ) { m_strType = _T("ADC客户"); } 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) { 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("退款单价有误,请检查!") , _T("错误") , MB_ICONWARNING) ; return ; } if ( m_HSSms.lSmsUsed <=0 || m_HSSms.lSmsUsed > m_HSSms.lSmsCount ) { MessageBox( _T("退款数量不允许大于剩余短信量与不能小于0!") , _T("错误") , 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("确认要退款此笔款项?") , _T("提问") , 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 ); }