| | |
| | | #include "Database.h" |
| | | |
| | | /** |
| | | * 任务状态枚举类型 |
| | | */ |
| | | enum class TransferStatus { |
| | | Ready = 0, |
| | | Running, |
| | | Error, |
| | | Abort, |
| | | Completed |
| | | }; |
| | | |
| | | /** |
| | | * 搬运记录结构体 |
| | | */ |
| | | struct TransferData { |
| | |
| | | /** |
| | | * 插入测试搬运记录 |
| | | */ |
| | | void insertTestTransferRecord(); |
| | | void insertTestTransferRecord(int nCount = 10000); |
| | | |
| | | /** |
| | | * 终止数据库连接 |
| | |
| | | //std::vector<TransferData> getTransfers(int startPosition, int count); |
| | | |
| | | /** |
| | | * 获取符合条件的记录总数 |
| | | * 获取记录总数 |
| | | */ |
| | | int getTotalTransferCount(); |
| | | |
| | | /** |
| | | * 分页获取符合条件的搬运记录 |
| | | * @param filter 过滤条件 |
| | | * @param pageNum 页码 |
| | | * @param pageSize 每页记录数 |
| | | */ |
| | | std::vector<TransferData> getTransfers(const TransferData& filter, int pageNum, int pageSize); |
| | | int getTotalTransferCountAll(); |
| | | |
| | | /** |
| | | * 获取符合条件的记录总数 |
| | | * @param filter 过滤条件 |
| | | * @return 符合条件的记录总数 |
| | | */ |
| | | int getTotalTransferCount(const TransferData& filter);; |
| | | int getFilteredTransferCount(const TransferData& filter); |
| | | |
| | | /** |
| | | * 分页获取符合条件的搬运记录 |
| | | * @param filter 过滤条件 |
| | | * @param pageNum 页码 |
| | | * @param pageSize 每页记录数 |
| | | */ |
| | | std::vector<TransferData> getTransfers(const TransferData& filter, int pageNum, int pageSize); |
| | | |
| | | /** |
| | | * 清理早于某一时间的搬运记录 |
| | |
| | | TransferManager& operator=(const TransferManager&) = delete; |
| | | |
| | | // 内联函数 |
| | | inline int statusToInt(TransferStatus status); |
| | | inline TransferStatus intToStatus(int value); |
| | | inline std::string statusToString(TransferStatus status); |
| | | inline TransferStatus stringToStatus(const std::string& str); |
| | | inline std::string ansiToUtf8(const std::string& ansiStr); |
| | | inline std::string utf8ToAnsi(const std::string& utf8Str); |
| | | |