autologin.cpp 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #include "autologin.h"
  2. #include "sncdatabase.h"
  3. #include "resplogin.h"
  4. #include "respgetnumchksysparam.h"
  5. AutoLogin::AutoLogin(QObject *parent) :
  6. QThread(parent)
  7. {
  8. m_numchk = new WSNumChk();
  9. m_skip = false;
  10. }
  11. AutoLogin::~AutoLogin()
  12. {
  13. m_numchk->abort();
  14. delete m_numchk;
  15. qDebug()<<QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")\
  16. <<"FormNumchk.AutoLogin Destroyed.";
  17. }
  18. void AutoLogin::setHost(QString host, QString port)
  19. {
  20. m_host = host;
  21. m_port = port;
  22. m_numchk->setHost(m_host,m_port);
  23. }
  24. void AutoLogin::setClientID(QString clientID)
  25. {
  26. m_clientID = clientID;
  27. }
  28. void AutoLogin::setSkip(bool skip)
  29. {
  30. m_skip = skip;
  31. }
  32. void AutoLogin::abort()
  33. {
  34. m_numchk->abort();
  35. }
  36. void AutoLogin::run()
  37. {
  38. m_accountLoginAfter.clear();
  39. m_accountLoginAfter = m_accountLoginBefore;
  40. QString usercode = m_accountLoginBefore.value("usercode");
  41. QString userpwd = m_accountLoginBefore.value("userpwd");
  42. if(!usercode.isEmpty() || !userpwd.isEmpty())
  43. {
  44. QString src = "SNC-" + SNCDataBase::getAppVersion();
  45. QString json = m_numchk->userLogin(usercode,userpwd,true,src);
  46. RespLogin response(json);
  47. if(response.getRtnCode()==1)
  48. {
  49. m_accountLoginAfter.insert("userhash",response.getUserHash());
  50. }
  51. }
  52. emit loginFinished(m_accountLoginAfter);
  53. updateSysParam();
  54. }
  55. void AutoLogin::setAccountInfo(QMap<QString, QString> accountInfo)
  56. {
  57. m_accountLoginBefore= accountInfo;
  58. }
  59. void AutoLogin::updateSysParam()
  60. {
  61. //如果未设置M_CLIENTID则不进行更新
  62. if(m_clientID.isEmpty())
  63. return;
  64. //如果当前号段库正在写入,则禁止更新
  65. if(m_skip)
  66. return;
  67. QString src = "mf-" + SNCDataBase::getAppVersion();
  68. QString authCode;
  69. QByteArray ba;
  70. QString str = src + SNCDataBase::getAuthCodeSeg();
  71. ba = QCryptographicHash::hash ( str.toAscii(), QCryptographicHash::Md5 );
  72. authCode.append(ba.toHex());
  73. QString json = m_numchk->getSysParam(src,authCode);
  74. if(!json.isEmpty())
  75. {
  76. RespGetNumchkSysParam response(json);
  77. SNCDataBase::updateSrvParam(m_clientID,response.getRs());
  78. }
  79. }