hprojectdao.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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 <QRegularExpression>
  10. #include "HProject.h"
  11. struct PaginatedHProjectResult {
  12. QList<QSharedPointer<HProject>> projects;
  13. int totalCount;
  14. };
  15. class HProjectDao
  16. {
  17. public:
  18. HProjectDao(QSqlDatabase db);
  19. // 添加一个新的HProject记录
  20. bool addHProject(const HProject &project);
  21. // 更新现有的HProject记录
  22. bool updateHProject(const HProject &project);
  23. // 删除一个HProject记录
  24. bool deleteHProject(const HProject &project);
  25. // 根据ID获取HProject记录
  26. HProject getHProjectById(qint64 id);
  27. bool updateBlastStatusByUuid(const QString &uuid, const QString &blastStatus);
  28. PaginatedHProjectResult getAllHProjects(int page, int pageSize);
  29. PaginatedHProjectResult getAllHProjectsByOpera(int page, int pageSize);
  30. private:
  31. QSqlDatabase database;
  32. // 将QSqlRecord转换为HProject对象
  33. QSharedPointer<HProject> recordToProject(const QSqlRecord &record);
  34. };
  35. #endif // HPROJECTDAO_H