wswool.cpp 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. #include "wswool.h"
  2. #include "wool.h"
  3. #include "sncdatabase.h"
  4. WSWool::WSWool()
  5. {
  6. }
  7. void WSWool::abort()
  8. {
  9. emit canceled();
  10. }
  11. //获取系统参数
  12. QString WSWool::GetSysParam(QString src, QString authCode)
  13. {
  14. WOOL wool;
  15. connect(this,SIGNAL(canceled()),&wool,SLOT(onCanceled()));
  16. return wool.GetSysParam(src, authCode);
  17. }
  18. //分包传送文件
  19. QString WSWool::PackTran(QString packName, QString userHash)
  20. {
  21. WOOL wool;
  22. connect(this,SIGNAL(canceled()),&wool,SLOT(onCanceled()));
  23. QString fileName, packKey, packNo, packMD5, packContent;
  24. QFile file(packName);
  25. file.open(QIODevice::ReadOnly);
  26. QByteArray ba = file.readAll();
  27. packContent = QString(ba.toBase64());
  28. file.close();
  29. packMD5 = QCryptographicHash::hash ( packContent.toAscii(), QCryptographicHash::Md5 ).toHex();
  30. QFileInfo fileinfo(packName);
  31. QStringList packinfo = fileinfo.suffix().split("_");
  32. QString basename = fileinfo.completeBaseName();
  33. QTextCodec *codec = QTextCodec::codecForLocale();
  34. fileName = codec->toUnicode(basename.toLocal8Bit());
  35. if(packinfo.size()==4)
  36. {
  37. packKey = packinfo.at(0);
  38. packNo = QString::number(packinfo.at(2).toInt());
  39. }
  40. return wool.PackTran(fileName, packKey, packNo, packContent, packMD5, userHash);
  41. }
  42. //分包文件整合
  43. QString WSWool::PackMerge(QString packName, QString userHash)
  44. {
  45. WOOL wool;
  46. connect(this,SIGNAL(canceled()),&wool,SLOT(onCanceled()));
  47. QString fileName,packKey, packCount, fileMD5;
  48. QFileInfo fileinfo(packName);
  49. QStringList packinfo = fileinfo.suffix().split("_");
  50. QString basename = fileinfo.completeBaseName();
  51. QTextCodec *codec = QTextCodec::codecForLocale();
  52. fileName = codec->toUnicode(basename.toLocal8Bit());
  53. if(packinfo.size()==4)
  54. {
  55. packKey = packinfo.at(0);
  56. packCount = packinfo.at(1);
  57. fileMD5 = packinfo.at(3);
  58. }
  59. return wool.PackMerge(fileName, packKey, packCount, fileMD5, userHash);
  60. }
  61. //用户服务验证
  62. QString WSWool::UserServiceVerify(QString funcName, QString paraList, QString userHash)
  63. {
  64. WOOL wool;
  65. connect(this,SIGNAL(canceled()),&wool,SLOT(onCanceled()));
  66. return wool.UserServiceVerify(funcName, paraList, userHash);
  67. }
  68. //提交防薅羊毛检测号码文件 非分包传送方式
  69. QString WSWool::SubmitfhymFile(QString fileName, QString fileType, QString memo, QString userHash)
  70. {
  71. WOOL wool;
  72. connect(this,SIGNAL(canceled()),&wool,SLOT(onCanceled()));
  73. QString fileContent;
  74. QFile file(fileName);
  75. QFileInfo fileinfo(fileName);
  76. if(file.open(QIODevice::ReadOnly)) {
  77. fileContent = QString(file.readAll().toBase64());
  78. }
  79. file.close();
  80. QTextCodec *codec = QTextCodec::codecForLocale();
  81. QString fileName_utf8 = codec->toUnicode(fileName.toLocal8Bit());
  82. // QString fileName_utf8 = codec->toUnicode(fileinfo.fileName().toLocal8Bit());
  83. QString fcEncodeType = "BASE64";
  84. QString src = "1"; //来源 1:魔方 2:网页平台
  85. QString dealstate = "0"; //0:立即开始 1:手动开始
  86. QString str = "{\"fileName\":\"%1\", \"fileContent\":\"%2\", \"fcEncodeType\":\"%3\", \"fileType\":\"%4\", \"memo\":\"%5\", \"src\":\"%6\", \"dealstate\":\"%7\"}";
  87. QString params = str.arg(fileName_utf8).arg(fileContent).arg(fcEncodeType).arg(fileType).arg(memo).arg(src).arg(dealstate);
  88. return wool.SubmitfhymFile(params, userHash);
  89. }
  90. //提交防薅羊毛检测号码文件 分包传送方式
  91. QString WSWool::SubmitfhymFile(QString fileName, QString fileHash, QString fileType, QString memo, QString userHash)
  92. {
  93. WOOL wool;
  94. connect(this,SIGNAL(canceled()),&wool,SLOT(onCanceled()));
  95. QTextCodec *codec = QTextCodec::codecForLocale();
  96. QString fileName_utf8 = codec->toUnicode(fileName.toLocal8Bit());
  97. QString fcEncodeType = "PackMerge";
  98. QString src = "1"; //来源 1:魔方 2:网页平台
  99. QString dealstate = "0"; //0:立即开始 1:手动开始
  100. QString str = "{\"fileName\":\"%1\", \"fileContent\":\"%2\", \"fcEncodeType\":\"%3\", \"fileType\":\"%4\", \"memo\":\"%5\", \"src\":\"%6\", \"dealstate\":\"%7\"}";
  101. QString params = str.arg(fileName_utf8).arg(fileHash).arg(fcEncodeType).arg(fileType).arg(memo).arg(src).arg(dealstate);
  102. return wool.SubmitfhymFile(params, userHash);
  103. }
  104. //下载防薅羊毛检测结果
  105. QString WSWool::DlfhymResultFile(QString taskid, QString userHash)
  106. {
  107. WOOL wool;
  108. connect(this,SIGNAL(canceled()),&wool,SLOT(onCanceled()));
  109. return wool.DlfhymResultFile(taskid, userHash);
  110. }
  111. //查询防薅羊毛当前检测任务信息
  112. QString WSWool::GetfhymTask(QString userHash)
  113. {
  114. WOOL wool;
  115. connect(this,SIGNAL(canceled()),&wool,SLOT(onCanceled()));
  116. return wool.GetfhymTask(userHash);
  117. }
  118. //查询防薅羊毛历史检测任务信息
  119. QString WSWool::GetfhymHt(int indate, QString userHash)
  120. {
  121. WOOL wool;
  122. connect(this,SIGNAL(canceled()),&wool,SLOT(onCanceled()));
  123. QString str = "{\"indate\":\"%1\"}";
  124. QString params = str.arg(indate);
  125. return wool.GetfhymHt(params, userHash);
  126. }
  127. //查询用户自己余额
  128. QString WSWool::GetUserBalance(QString userHash)
  129. {
  130. WOOL wool;
  131. connect(this,SIGNAL(canceled()),&wool,SLOT(onCanceled()));
  132. return wool.GetUserBalance(userHash);
  133. }
  134. //查询充值记录
  135. QString WSWool::GetChargeInfo(QString dateStart, QString dateEnd, QString userHash)
  136. {
  137. WOOL wool;
  138. connect(this,SIGNAL(canceled()),&wool,SLOT(onCanceled()));
  139. QString str = "{\"dateStart\":\"%1\", \"dateEnd\":\"%2\"}";
  140. QString params = str.arg(dateStart).arg(dateEnd);
  141. return wool.GetChargeInfo(params, userHash);
  142. }
  143. //查询消费记录
  144. QString WSWool::GetCostInfo(QString dateStart, QString dateEnd, QString userHash)
  145. {
  146. WOOL wool;
  147. connect(this,SIGNAL(canceled()),&wool,SLOT(onCanceled()));
  148. QString str = "{\"dateStart\":\"%1\", \"dateEnd\":\"%2\"}";
  149. QString params = str.arg(dateStart).arg(dateEnd);
  150. return wool.GetCostInfo(params, userHash);
  151. }