void CSignAccountsDlg::OnBnClickedButtonSend() { // TODO: 在此添加控件通知处理程序代码 if (theApp.IsLockWallet()) { return ; } CString address; GetDlgItem(IDC_EDIT_SA_ADDRESS)->GetWindowText(address); if ( _T("") != address ) { string strCommand , strShowData;CString strFee ; Json::Reader reader; Json::Value root; //if (!reader.parse(strShowData.GetString(), root)) // return ; GetDlgItem(IDC_EDIT_FEE)->GetWindowText(strFee); strCommand = strprintf("%s %s %lld","registaccounttx" ,address , (INT64)REAL_MONEY(strtod(strFee,NULL)) ); if(!CSoyPayHelp::getInstance()->SendRpc(strCommand,root)) { TRACE("OnBnClickedButtonSend rpccmd registaccounttx error"); return; } strShowData = root.toStyledString(); string strData; int pos = strShowData.find("hash"); if ( pos >=0 ) { //插入到数据库 string strHash; strHash =root["hash"].asString(); string strCond; strCond = strprintf(" hash = '%s' ", (LPSTR)(LPCTSTR)strHash.c_str()); int nItem = theApp.m_SqliteDeal.GetTableCountItem(_T("t_transaction") , strCond) ; if ( 0 == nItem ) { CPostMsg postmsg(MSG_USER_GET_UPDATABASE,WM_REVTRANSACTION); postmsg.SetData(strHash); theApp.m_msgQueue.push(postmsg); } } if ( pos >=0 ) { strData = strprintf("%s\n%s" , _T("激活交易发送成功,请等待1-2分钟确认激活交易") ,root["hash"].asCString() ) ; }else{ strData= _T("激活账户失败") ; } if ( IDOK == UiFun::MessageBoxEx(strData.c_str(), _T("提示") , MFB_OK|MFB_TIP ) ){ EndDialog(IDOK); } } }
void CIpoDlg::OnBnClickedButtonDrawal() { return; // TODO: 在此添加控件通知处理程序代码 if (!CheckRegIDValid( theApp.m_ipoScritptid )) return ; string strShowData = ""; CString addr; GetDlgItem(IDC_EDIT_ADDR)->GetWindowText(addr); if (addr == _T("")) { UiFun::MessageBoxEx(_T("地址不能为空") , _T("提示") ,MFB_OK|MFB_TIP ); return; } CString Money = _T(""); GetDlgItem(IDC_STATIC_AMOUNT)->GetWindowText(Money); double dmoney = strtod(Money,NULL); string strContractData = m_P2PBetHelp.GetAppAccountMoneyContract(addr.GetString(),1,2,REAL_MONEY(dmoney)); CString strTxFee; INT64 minFee = theApp.m_P2PBetCfg.GetAppAmountnFee; //45266;theApp.m_P2PBetCfg.GetAppAmountnFee double dnum = (minFee*1.0/COIN); strTxFee.Format(_T("%.8f"),dnum); //GetDlgItem(IDC_EDIT_GETFEE)->GetWindowText(strTxFee) ; if ( (INT64)REAL_MONEY(strtod(strTxFee,NULL)) < 10000 ) { UiFun::MessageBoxEx(_T("小费不足") , _T("提示") ,MFB_OK|MFB_TIP ); return ; } string strData = CSoyPayHelp::getInstance()->CreateContractTx( theApp.m_ipoScritptid,addr.GetString(),strContractData,0,(INT64)REAL_MONEY((strtod(strTxFee,NULL))),0); CSoyPayHelp::getInstance()->SendContacrRpc(strData,strShowData); if (strShowData == "") { return; } Json::Reader reader; Json::Value root; if (!reader.parse(strShowData, root)) return ; BOOL bRes = FALSE ; string strTip; int pos = strShowData.find("hash"); if ( pos >=0 ) { //插入到交易记录数据库 string strHash = root["hash"].asString(); CPostMsg postmsg(MSG_USER_GET_UPDATABASE,WM_REVTRANSACTION); postmsg.SetData(strHash); theApp.m_MsgQueue.push(postmsg); } if ( pos >=0 ) { bRes = TRUE ; strTip = strprintf("恭喜提现成功!\n%s" , root["hash"].asCString() ) ; }else{ strTip = "提现失败!" ; } UiFun::MessageBoxEx(strTip.c_str() , _T("提示") ,MFB_OK|MFB_TIP ); }
void CIpo::OnBnClickedButtonDraw() { // TODO: 在此添加控件通知处理程序代码 if ( IDCANCEL == UiFun::MessageBoxEx(_T("是否确认要提现") , _T("提示") , MFB_OKCANCEL|MFB_TIP ) ) return; if (!CheckRegIDValid( m_appid )) return ; string strShowData = _T(""); CString addr; GetDlgItem(IDC_EDIT_ADDRESS)->GetWindowText(addr); if (addr == _T("")) { UiFun::MessageBoxEx(_T("地址不能为空") , _T("提示") ,MFB_OK|MFB_TIP ); return; } string strCond; strCond = strprintf(" address='%s' or reg_id='%s'", addr,addr); uistruct::LISTADDR_t pAddr; int nItem = theApp.m_SqliteDeal.GetWalletAddressItem(strCond, &pAddr) ; if (pAddr.address == "") { UiFun::MessageBoxEx(_T("此地址不是钱包地址,不能提现") , _T("提示") ,MFB_OK|MFB_TIP ); return; } if (pAddr.bSign == 0 ) { UiFun::MessageBoxEx(_T("此地址没有注册,不能提现") , _T("提示") ,MFB_OK|MFB_TIP ); return; } double dmoney = GetFreeMoney(addr); if (dmoney <=0.0) { UiFun::MessageBoxEx(_T("此地址没有可提现的金额") , _T("提示") ,MFB_OK|MFB_TIP ); return; } string strContractData =""; if (CheckRegIDValid( addr.GetString() )){ strContractData=m_P2PBetHelp.GetAppAccountMoneyContract(addr.GetString(),1,1,REAL_MONEY(dmoney)); }else{ strContractData=m_P2PBetHelp.GetAppAccountMoneyContract(addr.GetString(),1,2,REAL_MONEY(dmoney)); } CString strTxFee; INT64 minFee = theApp.m_AppBalanceCfg.WithdrawFee; double dnum = (minFee*1.0/COIN); strTxFee.Format(_T("%.8f"),dnum); if ( (INT64)REAL_MONEY(strtod(strTxFee,NULL)) < 10000 ) { UiFun::MessageBoxEx(_T("小费不足") , _T("提示") ,MFB_OK|MFB_TIP ); return ; } string strData = CSoyPayHelp::getInstance()->CreateContractTx( m_appid,addr.GetString(),strContractData,0,(INT64)REAL_MONEY((strtod(strTxFee,NULL))),0); CSoyPayHelp::getInstance()->SendContacrRpc(strData,strShowData); if (strShowData =="") { return; } Json::Reader reader; Json::Value root; if (!reader.parse(strShowData, root)) return ; BOOL bRes = FALSE ; string strTip; int pos = strShowData.find("hash"); if ( pos >=0 ) { //插入到交易记录数据库 string strHash = root["hash"].asString(); CPostMsg postmsg(MSG_USER_GET_UPDATABASE,WM_REVTRANSACTION); postmsg.SetData(strHash); theApp.m_msgQueue.push(postmsg); } if ( pos >=0 ) { bRes = TRUE ; strTip = strprintf("%s\n%s" , _T("恭喜提现成功!"),root["hash"].asCString() ) ; }else{ strTip = _T("提现失败") ; } UiFun::MessageBoxEx(strTip.c_str() , _T("提示") ,MFB_OK|MFB_TIP ); }