mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-11 07:38:36 +00:00
[Commands] Consolidate #findX commands to a singular #find Command (#3452)
* Push up example for Kingly * Update aa.cpp * Update find.cpp * Bulk push. * Update aa.cpp * Cleanup * Repository method. * Static aliasing * Aliases * Fix alias error. * Update zone.cpp * Update command.cpp * Update find.cpp --------- Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
#include "../../strings.h"
|
||||
#include <ctime>
|
||||
|
||||
|
||||
class BaseItemsRepository {
|
||||
public:
|
||||
struct Items {
|
||||
@@ -122,7 +123,7 @@ public:
|
||||
int32_t pr;
|
||||
int32_t procrate;
|
||||
int32_t races;
|
||||
int32_t range;
|
||||
int32_t range_;
|
||||
int32_t reclevel;
|
||||
int32_t recskill;
|
||||
int32_t reqlevel;
|
||||
@@ -417,7 +418,7 @@ public:
|
||||
"pr",
|
||||
"procrate",
|
||||
"races",
|
||||
"range",
|
||||
"`range`",
|
||||
"reclevel",
|
||||
"recskill",
|
||||
"reqlevel",
|
||||
@@ -708,7 +709,7 @@ public:
|
||||
"pr",
|
||||
"procrate",
|
||||
"races",
|
||||
"range",
|
||||
"`range`",
|
||||
"reclevel",
|
||||
"recskill",
|
||||
"reqlevel",
|
||||
@@ -1033,7 +1034,7 @@ public:
|
||||
e.pr = 0;
|
||||
e.procrate = 0;
|
||||
e.races = 0;
|
||||
e.range = 0;
|
||||
e.range_ = 0;
|
||||
e.reclevel = 0;
|
||||
e.recskill = 0;
|
||||
e.reqlevel = 0;
|
||||
@@ -1240,8 +1241,9 @@ public:
|
||||
{
|
||||
auto results = db.QueryDatabase(
|
||||
fmt::format(
|
||||
"{} WHERE id = {} LIMIT 1",
|
||||
"{} WHERE {} = {} LIMIT 1",
|
||||
BaseSelect(),
|
||||
PrimaryKey(),
|
||||
items_id
|
||||
)
|
||||
);
|
||||
@@ -1353,7 +1355,7 @@ public:
|
||||
e.pr = static_cast<int32_t>(atoi(row[100]));
|
||||
e.procrate = static_cast<int32_t>(atoi(row[101]));
|
||||
e.races = static_cast<int32_t>(atoi(row[102]));
|
||||
e.range = static_cast<int32_t>(atoi(row[103]));
|
||||
e.range_ = static_cast<int32_t>(atoi(row[103]));
|
||||
e.reclevel = static_cast<int32_t>(atoi(row[104]));
|
||||
e.recskill = static_cast<int32_t>(atoi(row[105]));
|
||||
e.reqlevel = static_cast<int32_t>(atoi(row[106]));
|
||||
@@ -1671,7 +1673,7 @@ public:
|
||||
v.push_back(columns[100] + " = " + std::to_string(e.pr));
|
||||
v.push_back(columns[101] + " = " + std::to_string(e.procrate));
|
||||
v.push_back(columns[102] + " = " + std::to_string(e.races));
|
||||
v.push_back(columns[103] + " = " + std::to_string(e.range));
|
||||
v.push_back(columns[103] + " = " + std::to_string(e.range_));
|
||||
v.push_back(columns[104] + " = " + std::to_string(e.reclevel));
|
||||
v.push_back(columns[105] + " = " + std::to_string(e.recskill));
|
||||
v.push_back(columns[106] + " = " + std::to_string(e.reqlevel));
|
||||
@@ -1977,7 +1979,7 @@ public:
|
||||
v.push_back(std::to_string(e.pr));
|
||||
v.push_back(std::to_string(e.procrate));
|
||||
v.push_back(std::to_string(e.races));
|
||||
v.push_back(std::to_string(e.range));
|
||||
v.push_back(std::to_string(e.range_));
|
||||
v.push_back(std::to_string(e.reclevel));
|
||||
v.push_back(std::to_string(e.recskill));
|
||||
v.push_back(std::to_string(e.reqlevel));
|
||||
@@ -2291,7 +2293,7 @@ public:
|
||||
v.push_back(std::to_string(e.pr));
|
||||
v.push_back(std::to_string(e.procrate));
|
||||
v.push_back(std::to_string(e.races));
|
||||
v.push_back(std::to_string(e.range));
|
||||
v.push_back(std::to_string(e.range_));
|
||||
v.push_back(std::to_string(e.reclevel));
|
||||
v.push_back(std::to_string(e.recskill));
|
||||
v.push_back(std::to_string(e.reqlevel));
|
||||
@@ -2609,7 +2611,7 @@ public:
|
||||
e.pr = static_cast<int32_t>(atoi(row[100]));
|
||||
e.procrate = static_cast<int32_t>(atoi(row[101]));
|
||||
e.races = static_cast<int32_t>(atoi(row[102]));
|
||||
e.range = static_cast<int32_t>(atoi(row[103]));
|
||||
e.range_ = static_cast<int32_t>(atoi(row[103]));
|
||||
e.reclevel = static_cast<int32_t>(atoi(row[104]));
|
||||
e.recskill = static_cast<int32_t>(atoi(row[105]));
|
||||
e.reqlevel = static_cast<int32_t>(atoi(row[106]));
|
||||
@@ -2918,7 +2920,7 @@ public:
|
||||
e.pr = static_cast<int32_t>(atoi(row[100]));
|
||||
e.procrate = static_cast<int32_t>(atoi(row[101]));
|
||||
e.races = static_cast<int32_t>(atoi(row[102]));
|
||||
e.range = static_cast<int32_t>(atoi(row[103]));
|
||||
e.range_ = static_cast<int32_t>(atoi(row[103]));
|
||||
e.reclevel = static_cast<int32_t>(atoi(row[104]));
|
||||
e.recskill = static_cast<int32_t>(atoi(row[105]));
|
||||
e.reqlevel = static_cast<int32_t>(atoi(row[106]));
|
||||
|
||||
@@ -44,7 +44,35 @@ public:
|
||||
*/
|
||||
|
||||
// Custom extended repository methods here
|
||||
static std::vector<int32> GetItemIDsBySearchCriteria(
|
||||
Database& db,
|
||||
std::string search_string,
|
||||
int query_limit = 0
|
||||
)
|
||||
{
|
||||
auto query = fmt::format(
|
||||
"SELECT `id` FROM {} WHERE LOWER(`name`) LIKE '%%{}%%' ORDER BY id ASC",
|
||||
TableName(),
|
||||
search_string
|
||||
);
|
||||
|
||||
if (query_limit >= 1) {
|
||||
query += fmt::format(" LIMIT {}", query_limit);
|
||||
}
|
||||
|
||||
std::vector<int32> item_id_list;
|
||||
|
||||
auto results = db.QueryDatabase(query);
|
||||
if (!results.Success() || !results.RowCount()) {
|
||||
return item_id_list;
|
||||
}
|
||||
|
||||
for (auto row : results) {
|
||||
item_id_list.emplace_back(Strings::ToInt(row[0]));
|
||||
}
|
||||
|
||||
return item_id_list;
|
||||
}
|
||||
};
|
||||
|
||||
#endif //EQEMU_ITEMS_REPOSITORY_H
|
||||
|
||||
Reference in New Issue
Block a user