formnumcheck.cpp 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. #include "formnumcheck.h"
  2. #include "ui_formnumcheck.h"
  3. #include "sncdatabase.h"
  4. #include "respgetnumchksysparam.h"
  5. #include "resplogin.h"
  6. #include "respheartbeat.h"
  7. FormNumCheck::FormNumCheck(QWidget *parent) :
  8. QWidget(parent),
  9. ui(new Ui::FormNumCheck)
  10. {
  11. qDebug()<<QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")\
  12. <<"FormNumCheck Creating.";
  13. ui->setupUi(this);
  14. initVariables();
  15. initUI();
  16. qDebug()<<QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")\
  17. <<"FormNumCheck Created.";
  18. }
  19. FormNumCheck::~FormNumCheck()
  20. {
  21. stopService();
  22. delete m_timerHeartBeat;
  23. delete m_timerTask;
  24. delete m_heartbeat;
  25. delete m_login;
  26. delete m_upload;
  27. delete m_sync;
  28. delete m_formDealing;
  29. delete m_formAd;
  30. delete m_formCharge;
  31. delete m_formFee;
  32. delete m_formUpload;
  33. delete ui;
  34. qDebug()<<QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")\
  35. <<"FormNumCheck Destroyed.";
  36. }
  37. void FormNumCheck::initVariables()
  38. {
  39. m_timerTask = new QTimer();
  40. m_timerHeartBeat = new QTimer();
  41. m_login = new AutoLogin();
  42. m_heartbeat = new AutoHeartBeat();
  43. m_upload = new AutoUploadFile();
  44. m_sync = new AutoSyncData();
  45. m_formDealing = new FormBzjcDealing();
  46. m_formAd = new FormAd();
  47. m_formAccount = new FormAccountInfo();
  48. m_formFinished = new FormBzjcFinished();
  49. m_formFee = new FormBzjcFee();
  50. m_formCharge = new FormBzjcCharge();
  51. m_formUpload = new FormBzjcUpload();
  52. connect(m_timerTask,SIGNAL(timeout()),this,SLOT(onTimeOutTask()));
  53. connect(m_timerHeartBeat,SIGNAL(timeout()),this,SLOT(onTimeOutHeartBeat()));
  54. connect(m_upload,SIGNAL(uploadFailed()),m_formUpload,SLOT(onDataUpdated()));
  55. connect(m_upload,SIGNAL(uploadSucceed()),m_formUpload,SLOT(onDataUpdated()));
  56. connect(m_upload,SIGNAL(uploadProgressUpdated()),m_formUpload,SLOT(onDataUpdated()));
  57. connect(m_upload,SIGNAL(uploadSucceed()),m_formAccount,SLOT(onDataUpdated()));
  58. connect(m_sync,SIGNAL(dataSync()),m_formDealing,SLOT(onDataUpdated()));
  59. connect(m_sync,SIGNAL(dataSync()),m_formFinished,SLOT(onDataUpdated()));
  60. connect(m_sync,SIGNAL(dataSync()),m_formUpload,SLOT(onDataUpdated()));
  61. connect(m_login,SIGNAL(loginFinished(QMap<QString,QString>)),m_formDealing,SLOT(setAccountInfo(QMap<QString,QString>)));
  62. connect(m_login,SIGNAL(loginFinished(QMap<QString,QString>)),m_formUpload,SLOT(setAccountInfo(QMap<QString,QString>)));
  63. connect(m_login,SIGNAL(loginFinished(QMap<QString,QString>)),m_upload,SLOT(setAccountInfo(QMap<QString,QString>)));
  64. connect(m_login,SIGNAL(loginFinished(QMap<QString,QString>)),m_formAd,SLOT(setAccountInfo(QMap<QString,QString>)));
  65. connect(m_login,SIGNAL(loginFinished(QMap<QString,QString>)),m_formAccount,SLOT(setAccountInfo(QMap<QString,QString>)));
  66. connect(m_login,SIGNAL(loginFinished(QMap<QString,QString>)),m_formFinished,SLOT(setAccountInfo(QMap<QString,QString>)));
  67. connect(m_login,SIGNAL(loginFinished(QMap<QString,QString>)),m_formCharge,SLOT(setAccountInfo(QMap<QString,QString>)));
  68. connect(m_login,SIGNAL(loginFinished(QMap<QString,QString>)),m_formFee,SLOT(setAccountInfo(QMap<QString,QString>)));
  69. connect(m_login,SIGNAL(loginFinished(QMap<QString,QString>)),m_upload,SLOT(setAccountInfo(QMap<QString,QString>)));
  70. connect(m_login,SIGNAL(loginFinished(QMap<QString,QString>)),m_sync,SLOT(setAccountInfo(QMap<QString,QString>)));
  71. connect(m_login,SIGNAL(loginFinished(QMap<QString,QString>)),m_heartbeat,SLOT(setAccountInfo(QMap<QString,QString>)));
  72. connect(m_login,SIGNAL(loginFinished(QMap<QString,QString>)),this,SLOT(onLoginFinished(QMap<QString,QString>)));
  73. connect(m_formAccount,SIGNAL(buttonLoginClick()),this,SIGNAL(buttonLoginClick()));
  74. connect(m_formAccount,SIGNAL(blanceIn()),m_formDealing,SLOT(onBalanceIn()));
  75. connect(m_formAccount,SIGNAL(blanceOut()),m_formDealing,SLOT(onBalanceOut()));
  76. }
  77. void FormNumCheck::initUI()
  78. {
  79. ui->verticalLayoutAd->addWidget(m_formAd);
  80. ui->horizontalLayoutAccount->addWidget(m_formAccount);
  81. ui->verticalLayoutUpload->addWidget(m_formUpload);
  82. ui->verticalLayoutUpload->addWidget(m_formDealing);
  83. ui->verticalLayoutFinished->addWidget(m_formFinished);
  84. ui->verticalLayoutCharge->addWidget(m_formCharge);
  85. ui->verticalLayoutFee->addWidget(m_formFee);
  86. }
  87. void FormNumCheck::setClientID(QString clientID)
  88. {
  89. m_clientID = clientID;
  90. QMap<QString,QStringList> map = SNCDataBase::getLocalClientConfigs();
  91. if(map.value(m_clientID).size()<4)
  92. {
  93. return ;
  94. }
  95. m_host = map.value(m_clientID).at(2);
  96. m_port = map.value(m_clientID).at(3);
  97. m_formAd->setDefaultUrl(map.value(m_clientID).at(1));
  98. m_heartbeat->setHost(m_host,m_port);
  99. m_login->setHost(m_host,m_port);
  100. m_upload->setHost(m_host,m_port);
  101. m_sync->setHost(m_host,m_port);
  102. m_formAccount->setHost(m_host,m_port);
  103. m_formFinished->setClientName(map.value(m_clientID).at(0));
  104. m_formFinished->setHost(m_host,m_port);
  105. m_formCharge->setHost(m_host,m_port);
  106. m_formFee->setHost(m_host,m_port);
  107. m_formAccount->setClientID(m_clientID);
  108. m_formDealing->setClientID(m_clientID);
  109. m_formUpload->setClientID(m_clientID);
  110. m_formAd->setClientID(m_clientID);
  111. m_formFinished->setClientID(m_clientID);
  112. m_formFee->setClientID(m_clientID);
  113. m_formCharge->setClientID(m_clientID);
  114. m_login->setClientID(m_clientID);
  115. m_upload->setClientID(m_clientID);
  116. m_sync->setClientID(m_clientID);
  117. }
  118. void FormNumCheck::setAccountInfo(QMap<QString, QString> info)
  119. {
  120. if(info.value("ssohash").isEmpty())
  121. {
  122. m_account = info;
  123. stopService();
  124. m_upload->setAccountInfo(info);
  125. m_sync->setAccountInfo(info);
  126. m_formDealing->setAccountInfo(info);
  127. m_formUpload->setAccountInfo(info);
  128. m_formFinished->setAccountInfo(info);
  129. m_formAccount->setAccountInfo(info);
  130. m_formAd->setAccountInfo(info);
  131. m_formCharge->setAccountInfo(info);
  132. m_formFee->setAccountInfo(info);
  133. m_heartbeat->setAccountInfo(info);
  134. }
  135. else
  136. {
  137. m_login->setAccountInfo(info);
  138. if(!m_login->isRunning())
  139. {
  140. m_login->start();
  141. }
  142. }
  143. }
  144. void FormNumCheck::onSyncPause()
  145. {
  146. m_sync->setSkip(true);
  147. m_upload->setSkip(true);
  148. m_login->setSkip(true);
  149. }
  150. void FormNumCheck::onSyncResume()
  151. {
  152. m_sync->setSkip(false);
  153. m_upload->setSkip(false);
  154. m_login->setSkip(false);
  155. }
  156. void FormNumCheck::stopService()
  157. {
  158. if(m_timerTask)
  159. {
  160. m_timerTask->stop();
  161. }
  162. if(m_timerHeartBeat)
  163. {
  164. m_timerHeartBeat->stop();
  165. }
  166. if(m_sync)
  167. {
  168. m_sync->abort();
  169. m_sync->wait();
  170. }
  171. if(m_upload)
  172. {
  173. m_upload->abort();
  174. m_upload->wait();
  175. }
  176. if(m_heartbeat)
  177. {
  178. m_heartbeat->abort();
  179. m_heartbeat->wait();
  180. }
  181. if(m_login)
  182. {
  183. m_login->abort();
  184. m_login->wait();
  185. }
  186. }
  187. void FormNumCheck::onTimeOutHeartBeat()
  188. {
  189. if(!m_heartbeat->isRunning())
  190. {
  191. m_heartbeat->start();
  192. }
  193. }
  194. void FormNumCheck::onLoginFinished(QMap<QString, QString> info)
  195. {
  196. m_account = info;
  197. if(!m_timerTask->isActive())
  198. {
  199. int interval = 5;
  200. m_timerTask->start(interval*1000);
  201. }
  202. if(!m_timerHeartBeat->isActive())
  203. {
  204. int interval = 30;
  205. m_timerHeartBeat->start(interval*1000);
  206. }
  207. }
  208. void FormNumCheck::onTimeOutTask()
  209. {
  210. if(!m_upload->isRunning())
  211. {
  212. m_upload->start();
  213. }
  214. if(!m_sync->isRunning())
  215. {
  216. m_sync->start();
  217. }
  218. }