123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- #include "CompareItemData.h"
- /* 初始化 */
- bool CompareItemDataManager::init()
- {
- if(m_logger == nullptr)
- {
- m_logger = spdlog::get("CompareItemData");
- if(m_logger == nullptr)
- {
- fmt::print("CompareItemDataManager: 初始化日志失败");
- return false;
- }
- }
- return true;
- }
- /* 添加一个对比项 */
- bool CompareItemDataManager::addCompareItem(const CompareItemInfo_t& item)
- {
- if(isCompareItemExist(item.nID))
- {
- SPDLOG_LOGGER_WARN(m_logger, "对比项ID {} 已经存在,无法添加", item.nID);
- return false;
- }
- m_listCompareItems.append(item);
- return true;
- }
- /* 根据对比项ID删除一个对比项 */
- bool CompareItemDataManager::removeCompareItem(int nID)
- {
- for(auto it = m_listCompareItems.begin(); it != m_listCompareItems.end(); ++it)
- {
- if(it->nID == nID)
- {
- m_listCompareItems.erase(it);
- return true;
- }
- }
- SPDLOG_LOGGER_WARN(m_logger, "对比项ID {} 不存在,无法删除", nID);
- return false;
- }
- /* 通过一个ID查找一个对比项 */
- CompareItemInfo_t CompareItemDataManager::findCompareItemByID(int nID) const
- {
- for(const auto& compareItem : m_listCompareItems)
- {
- if(compareItem.nID == nID)
- {
- return compareItem;
- }
- }
- SPDLOG_LOGGER_WARN(m_logger, "对比项ID {} 不存在", nID);
- return CompareItemInfo_t(); // 返回一个默认构造的对比项
- }
- /* 通过一个ID判断该对比项是否存在 */
- bool CompareItemDataManager::isCompareItemExist(int nID) const
- {
- for(const auto& compareItem : m_listCompareItems)
- {
- if(compareItem.nID == nID)
- {
- return true;
- }
- }
- return false;
- }
- /* 修改一个对比项 */
- bool CompareItemDataManager::modifyCompareItem(const CompareItemInfo_t& item)
- {
- for(auto& compareItem : m_listCompareItems)
- {
- if(compareItem.nID == item.nID)
- {
- compareItem = item; // 使用赋值运算符更新对比项
- return true;
- }
- }
- SPDLOG_LOGGER_WARN(m_logger, "对比项ID {} 不存在,无法修改", item.nID);
- return false;
- }
- /* 获取一个未使用的对比项ID */
- int CompareItemDataManager::getUnusedCompareItemID() const
- {
- int nID = 1; // 从1开始
- while(isCompareItemExist(nID))
- {
- ++nID;
- }
- return nID;
- }
|