#include "formnumcheck.h" #include "ui_formnumcheck.h" #include "sncdatabase.h" #include "respgetnumchksysparam.h" #include "resplogin.h" #include "respheartbeat.h" FormNumCheck::FormNumCheck(QWidget *parent) : QWidget(parent), ui(new Ui::FormNumCheck) { qDebug()<setupUi(this); initVariables(); initUI(); qDebug()<)),m_formDealing,SLOT(setAccountInfo(QMap))); connect(m_login,SIGNAL(loginFinished(QMap)),m_formUpload,SLOT(setAccountInfo(QMap))); connect(m_login,SIGNAL(loginFinished(QMap)),m_upload,SLOT(setAccountInfo(QMap))); connect(m_login,SIGNAL(loginFinished(QMap)),m_formAd,SLOT(setAccountInfo(QMap))); connect(m_login,SIGNAL(loginFinished(QMap)),m_formAccount,SLOT(setAccountInfo(QMap))); connect(m_login,SIGNAL(loginFinished(QMap)),m_formFinished,SLOT(setAccountInfo(QMap))); connect(m_login,SIGNAL(loginFinished(QMap)),m_formCharge,SLOT(setAccountInfo(QMap))); connect(m_login,SIGNAL(loginFinished(QMap)),m_formFee,SLOT(setAccountInfo(QMap))); connect(m_login,SIGNAL(loginFinished(QMap)),m_upload,SLOT(setAccountInfo(QMap))); connect(m_login,SIGNAL(loginFinished(QMap)),m_sync,SLOT(setAccountInfo(QMap))); connect(m_login,SIGNAL(loginFinished(QMap)),m_heartbeat,SLOT(setAccountInfo(QMap))); connect(m_login,SIGNAL(loginFinished(QMap)),this,SLOT(onLoginFinished(QMap))); connect(m_formAccount,SIGNAL(buttonLoginClick()),this,SIGNAL(buttonLoginClick())); connect(m_formAccount,SIGNAL(blanceIn()),m_formDealing,SLOT(onBalanceIn())); connect(m_formAccount,SIGNAL(blanceOut()),m_formDealing,SLOT(onBalanceOut())); } void FormNumCheck::initUI() { ui->verticalLayoutAd->addWidget(m_formAd); ui->horizontalLayoutAccount->addWidget(m_formAccount); ui->verticalLayoutUpload->addWidget(m_formUpload); ui->verticalLayoutUpload->addWidget(m_formDealing); ui->verticalLayoutFinished->addWidget(m_formFinished); ui->verticalLayoutCharge->addWidget(m_formCharge); ui->verticalLayoutFee->addWidget(m_formFee); } void FormNumCheck::setClientID(QString clientID) { m_clientID = clientID; QMap map = SNCDataBase::getLocalClientConfigs(); if(map.value(m_clientID).size()<4) { return ; } m_host = map.value(m_clientID).at(2); m_port = map.value(m_clientID).at(3); m_formAd->setDefaultUrl(map.value(m_clientID).at(1)); m_heartbeat->setHost(m_host,m_port); m_login->setHost(m_host,m_port); m_upload->setHost(m_host,m_port); m_sync->setHost(m_host,m_port); m_formAccount->setHost(m_host,m_port); m_formFinished->setClientName(map.value(m_clientID).at(0)); m_formFinished->setHost(m_host,m_port); m_formCharge->setHost(m_host,m_port); m_formFee->setHost(m_host,m_port); m_formAccount->setClientID(m_clientID); m_formDealing->setClientID(m_clientID); m_formUpload->setClientID(m_clientID); m_formAd->setClientID(m_clientID); m_formFinished->setClientID(m_clientID); m_formFee->setClientID(m_clientID); m_formCharge->setClientID(m_clientID); m_login->setClientID(m_clientID); m_upload->setClientID(m_clientID); m_sync->setClientID(m_clientID); } void FormNumCheck::setAccountInfo(QMap info) { if(info.value("ssohash").isEmpty()) { m_account = info; stopService(); m_upload->setAccountInfo(info); m_sync->setAccountInfo(info); m_formDealing->setAccountInfo(info); m_formUpload->setAccountInfo(info); m_formFinished->setAccountInfo(info); m_formAccount->setAccountInfo(info); m_formAd->setAccountInfo(info); m_formCharge->setAccountInfo(info); m_formFee->setAccountInfo(info); m_heartbeat->setAccountInfo(info); } else { m_login->setAccountInfo(info); if(!m_login->isRunning()) { m_login->start(); } } } void FormNumCheck::onSyncPause() { m_sync->setSkip(true); m_upload->setSkip(true); m_login->setSkip(true); } void FormNumCheck::onSyncResume() { m_sync->setSkip(false); m_upload->setSkip(false); m_login->setSkip(false); } void FormNumCheck::stopService() { if(m_timerTask) { m_timerTask->stop(); } if(m_timerHeartBeat) { m_timerHeartBeat->stop(); } if(m_sync) { m_sync->abort(); m_sync->wait(); } if(m_upload) { m_upload->abort(); m_upload->wait(); } if(m_heartbeat) { m_heartbeat->abort(); m_heartbeat->wait(); } if(m_login) { m_login->abort(); m_login->wait(); } } void FormNumCheck::onTimeOutHeartBeat() { if(!m_heartbeat->isRunning()) { m_heartbeat->start(); } } void FormNumCheck::onLoginFinished(QMap info) { m_account = info; if(!m_timerTask->isActive()) { int interval = 5; m_timerTask->start(interval*1000); } if(!m_timerHeartBeat->isActive()) { int interval = 30; m_timerHeartBeat->start(interval*1000); } } void FormNumCheck::onTimeOutTask() { if(!m_upload->isRunning()) { m_upload->start(); } if(!m_sync->isRunning()) { m_sync->start(); } }