ClassSet.cpp 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. #include "ClassSet.h"
  2. #include "DBServiceSet.h"
  3. #include <QCryptographicHash>
  4. #include <QSettings>
  5. #include <QDebug>
  6. QList<NodeMatrixInfo *> ClassSet::datas;
  7. ClassSet::ClassSet()
  8. {
  9. datas.clear();
  10. NodeMatrixInfo *testData = new NodeMatrixInfo();
  11. testData->expertName = "luoyc";
  12. testData->expertId = "1";
  13. testData->engineerId = 1;
  14. testData->node = "1.1";
  15. testData->abscissa = "A";
  16. testData->ordinate = "A";
  17. datas.append(testData);
  18. NodeMatrixInfo *testData1 = new NodeMatrixInfo();
  19. testData1->expertName = "luoyc";
  20. testData1->expertId = "1";
  21. testData1->engineerId = 1;
  22. testData1->node = "1.1";
  23. testData1->abscissa = "A";
  24. testData1->ordinate = "B";
  25. datas.append(testData1);
  26. NodeMatrixInfo *testData2 = new NodeMatrixInfo();
  27. testData2->expertName = "luoyc";
  28. testData2->expertId = "1";
  29. testData2->engineerId = 1;
  30. testData2->node = "1.2";
  31. testData2->abscissa = "B";
  32. testData2->ordinate = "A";
  33. datas.append(testData2);
  34. NodeMatrixInfo *testData3 = new NodeMatrixInfo();
  35. testData3->expertName = "luoyc";
  36. testData3->expertId = "1";
  37. testData3->engineerId = 1;
  38. testData3->node = "1.2";
  39. testData3->abscissa = "B";
  40. testData3->ordinate = "B";
  41. datas.append(testData3);
  42. NodeMatrixInfo *testData4 = new NodeMatrixInfo();
  43. testData4->expertName = "luoyc";
  44. testData4->expertId = "1";
  45. testData4->engineerId = 1;
  46. testData4->node = "1.1.1";
  47. testData4->abscissa = "A1";
  48. testData4->ordinate = "A1";
  49. datas.append(testData4);
  50. NodeMatrixInfo *testData5 = new NodeMatrixInfo();
  51. testData5->expertName = "luoyc";
  52. testData5->expertId = "1";
  53. testData5->engineerId = 1;
  54. testData5->node = "1.1.1";
  55. testData5->abscissa = "A1";
  56. testData5->ordinate = "A2";
  57. datas.append(testData5);
  58. NodeMatrixInfo *testData6 = new NodeMatrixInfo();
  59. testData6->expertName = "luoyc";
  60. testData6->expertId = "1";
  61. testData6->engineerId = 1;
  62. testData6->node = "1.1.2";
  63. testData6->abscissa = "A2";
  64. testData6->ordinate = "A1";
  65. datas.append(testData6);
  66. NodeMatrixInfo *testData7 = new NodeMatrixInfo();
  67. testData7->expertName = "luoyc";
  68. testData7->expertId = "1";
  69. testData7->engineerId = 1;
  70. testData7->node = "1.1.2";
  71. testData7->abscissa = "A2";
  72. testData7->ordinate = "A2";
  73. datas.append(testData7);
  74. NodeMatrixInfo *testData8 = new NodeMatrixInfo();
  75. testData8->expertName = "luoyc";
  76. testData8->expertId = "1";
  77. testData8->engineerId = 1;
  78. testData8->node = "1.2.1";
  79. testData8->abscissa = "B1";
  80. testData8->ordinate = "B1";
  81. datas.append(testData8);
  82. NodeMatrixInfo *testData9 = new NodeMatrixInfo();
  83. testData9->expertName = "luoyc";
  84. testData9->expertId = "1";
  85. testData9->engineerId = 1;
  86. testData9->node = "1.2.1";
  87. testData9->abscissa = "B1";
  88. testData9->ordinate = "B2";
  89. datas.append(testData9);
  90. NodeMatrixInfo *testData10 = new NodeMatrixInfo();
  91. testData10->expertName = "luoyc";
  92. testData10->expertId = "1";
  93. testData10->engineerId = 1;
  94. testData10->node = "1.2.2";
  95. testData10->abscissa = "B2";
  96. testData10->ordinate = "B1";
  97. datas.append(testData10);
  98. NodeMatrixInfo *testData11 = new NodeMatrixInfo();
  99. testData11->expertName = "luoyc";
  100. testData11->expertId = "1";
  101. testData11->engineerId = 1;
  102. testData11->node = "1.2.2";
  103. testData11->abscissa = "B2";
  104. testData11->ordinate = "B2";
  105. datas.append(testData11);
  106. }
  107. static QFUser *m_currentUser = nullptr;
  108. QFUser::QFUser() { }
  109. QFUser::QFUser(const QString userId, const QString password) : userNo(userId), rawPassword(password) { }
  110. QFUser *QFUser::currentUser()
  111. {
  112. return m_currentUser;
  113. }
  114. int QFUser::logout()
  115. {
  116. if (m_currentUser == nullptr) {
  117. return QF_CODE_NOT_LOGIN;
  118. }
  119. delete m_currentUser;
  120. m_currentUser = nullptr;
  121. return QF_CODE_SUCCEEDED;
  122. }
  123. int QFUser::resetAdmin(QString account, QString password, QString repeatPassword)
  124. {
  125. qDebug() << account << password << repeatPassword << (password == repeatPassword);
  126. if (account.isEmpty()) {
  127. return QF_CODE_EMPTY_ACCOUNT;
  128. } else if (password.isEmpty()) {
  129. return QF_CODE_EMPTY_PASSWORD;
  130. } else if (password != repeatPassword) {
  131. return QF_CODE_PASSWORD_NOT_SAME;
  132. } else if (password == rawPassword) {
  133. return QF_CODE_PASSWORD_UNCHANGED;
  134. }
  135. QString md5str;
  136. QByteArray md5bytes = QCryptographicHash::hash(password.toLatin1(), QCryptographicHash::Md5);
  137. md5str.prepend(md5bytes.toHex());
  138. bool ret = DBServiceSet().UpdateUserById(account, md5str, id);
  139. if (ret) {
  140. return QF_CODE_SUCCEEDED;
  141. } else {
  142. return QF_CODE_DATA_ERROR;
  143. }
  144. }
  145. int QFUser::login()
  146. {
  147. if (m_currentUser != nullptr) {
  148. return QF_CODE_ALREADY_LOGIN;
  149. }
  150. if (userNo.isEmpty()) {
  151. return QF_CODE_EMPTY_ACCOUNT;
  152. }
  153. if (rawPassword.isEmpty()) {
  154. return QF_CODE_EMPTY_PASSWORD;
  155. }
  156. if (!DBServiceSet().QueryUserByNo(this, userNo)) {
  157. return QF_CODE_USER_NOT_EXISTS;
  158. }
  159. QCryptographicHash ch(QCryptographicHash::Md5);
  160. QString md5str;
  161. QByteArray md5bytes = QCryptographicHash::hash(rawPassword.toLatin1(), QCryptographicHash::Md5);
  162. md5str.prepend(md5bytes.toHex());
  163. m_currentUser = new QFUser(userNo, rawPassword);
  164. if (!DBServiceSet().QueryUserByNoAndPassword(m_currentUser, userNo, md5str)) {
  165. delete m_currentUser;
  166. m_currentUser = nullptr;
  167. return QF_CODE_WRONG_PASSWORD;
  168. }
  169. return QF_CODE_SUCCEEDED;
  170. }