packinfoseed2server.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef PACKINFOSEED2SERVER_H
  2. #define PACKINFOSEED2SERVER_H
  3. #include <QObject>
  4. #include "httprequest.h"
  5. #include "struct_/packinfo.h"
  6. #include <QQueue>
  7. #include "packinfomanger.h"
  8. #include <pqQtlib/log/pqlog.h>
  9. // 码单的上传
  10. class PackInfoSeed2Server : public QObject
  11. {
  12. Q_OBJECT
  13. public:
  14. explicit PackInfoSeed2Server(PackInfoManger * manger,QObject *parent = nullptr,bool autoSync = false);
  15. signals:
  16. void syncEnd();
  17. public slots:
  18. void send(QSharedPointer<PackInfo> & info,bool isruku);
  19. void ruKu(QSharedPointer<PackInfo> current,int product_id);
  20. void sendList(QList<QSharedPointer<PackInfo>> & infos);
  21. private slots:
  22. void doSend();
  23. void doRuKu();
  24. void result(int code, const QJsonObject & body);
  25. void rukuResult(int code, const QJsonObject & body);
  26. private:
  27. uint _netErrorCount;
  28. QQueue<QSharedPointer<PackInfo>> _queue;
  29. QQueue<RuKuInfo> _rukuQueue;
  30. QSharedPointer<PackInfo> _current;
  31. RuKuInfo _rukuCurrent;
  32. PackInfoManger * _manger;
  33. HttpRequest _requst;
  34. HttpRequest _rukuRequest;
  35. bool _autoSync;
  36. uint _oneSyncError;
  37. PQ::PQLog * log;
  38. bool isRuKu;
  39. };
  40. #endif // PACKINFOSEED2SERVER_H