mrDarker
2025-06-23 bfc9e3dec34e108e2b4c3d0bfe19c5c16914fdff
1. 配方管理类添加关键字查询(PPID和描述)
已修改2个文件
26 ■■■■■ 文件已修改
SourceCode/Bond/Servo/RecipeManager.cpp 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/RecipeManager.h 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/RecipeManager.cpp
@@ -238,6 +238,29 @@
    return recipes;
}
std::vector<RecipeInfo> RecipeManager::getRecipesByKeyword(const std::string& keyword) {
    std::vector<RecipeInfo> recipes;
    if (!m_pDB || keyword.empty()) {
        return recipes;
    }
    std::ostringstream query;
    query << "SELECT ppid, description, create_time FROM recipes "
        << "WHERE ppid LIKE '%" << keyword << "%' OR description LIKE '%" << keyword << "%';";
    auto rows = m_pDB->fetchResults(query.str());
    for (const auto& row : rows) {
        if (row.size() >= 3) {
            RecipeInfo info;
            info.strPPID = row[0];
            info.strDescription = row[1];
            info.strCreateTime = row[2];
            recipes.push_back(info);
        }
    }
    return recipes;
}
std::vector<std::string> RecipeManager::getAllPPID() const {
    std::vector<std::string> vecPPID;
SourceCode/Bond/Servo/RecipeManager.h
@@ -58,6 +58,9 @@
    // 查询所有配方
    std::vector<RecipeInfo> getAllRecipes();
    // 根据 PPID 或描述查询配方
    std::vector<RecipeInfo> getRecipesByKeyword(const std::string& keyword);
    // 获取所有 PPID
    std::vector<std::string> getAllPPID() const;