HProjectDao.h 956 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef HPROJECTDAO_H
  2. #define HPROJECTDAO_H
  3. #include <QObject>
  4. #include <QSqlDatabase>
  5. #include <QSqlQuery>
  6. #include <QSqlError>
  7. #include <QList>
  8. #include <QSqlRecord>
  9. #include "HProject.h"
  10. struct PaginatedHProjectResult {
  11. QList<QSharedPointer<HProject>> projects;
  12. int totalCount;
  13. };
  14. class HProjectDao
  15. {
  16. public:
  17. HProjectDao(QSqlDatabase db);
  18. bool addHProject(const HProject &project);
  19. bool updateHProject(const HProject &project);
  20. bool deleteHProject(const HProject &project);
  21. bool updateBlastStatusByUuid(const QString &uuid, const QString &blastStatus);
  22. HProject getHProjectById(qint64 id);
  23. PaginatedHProjectResult getAllHProjects(int page, int pageSize);
  24. PaginatedHProjectResult getAllHProjectsByOpera(int page, int pageSize);
  25. private:
  26. QSqlDatabase database;
  27. // 将QSqlRecord转换为HProject对象
  28. QSharedPointer<HProject> recordToProject(const QSqlRecord &record);
  29. };
  30. #endif // HPROJECTDAO_H