mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 01:11:29 +00:00
[Merchants] Convert Clear/Delete/Save of Temporary Merchant Lists to Repositories (#3945)
* [Merchants] Convert Clear/Delete/Save of Temporary Merchant Lists to Repositories - Convert `ClearMerchantTemp()`, `DeleteMerchantTemp()`, and `SaveMerchantTemp()` to repositories. * Update merchantlist_temp_repository.h
This commit is contained in:
parent
1d7f39c13b
commit
5d1c59c95f
@ -54,6 +54,7 @@
|
|||||||
|
|
||||||
#include "repositories/zone_repository.h"
|
#include "repositories/zone_repository.h"
|
||||||
#include "zone_store.h"
|
#include "zone_store.h"
|
||||||
|
#include "repositories/merchantlist_temp_repository.h"
|
||||||
|
|
||||||
extern Client client;
|
extern Client client;
|
||||||
|
|
||||||
@ -1221,8 +1222,9 @@ void Database::GetAccountFromID(uint32 id, char* oAccountName, int16* oStatus) {
|
|||||||
*oStatus = Strings::ToInt(row[1]);
|
*oStatus = Strings::ToInt(row[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Database::ClearMerchantTemp(){
|
void Database::ClearMerchantTemp()
|
||||||
QueryDatabase("DELETE FROM merchantlist_temp");
|
{
|
||||||
|
MerchantlistTempRepository::ClearTemporaryMerchantLists(*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Database::UpdateName(const char* oldname, const char* newname) {
|
bool Database::UpdateName(const char* oldname, const char* newname) {
|
||||||
|
|||||||
@ -16,6 +16,7 @@
|
|||||||
#include "../../strings.h"
|
#include "../../strings.h"
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
|
|
||||||
|
|
||||||
class BaseMerchantlistTempRepository {
|
class BaseMerchantlistTempRepository {
|
||||||
public:
|
public:
|
||||||
struct MerchantlistTemp {
|
struct MerchantlistTemp {
|
||||||
|
|||||||
@ -44,7 +44,15 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// Custom extended repository methods here
|
// Custom extended repository methods here
|
||||||
|
static void ClearTemporaryMerchantLists(Database& db)
|
||||||
|
{
|
||||||
|
db.QueryDatabase(
|
||||||
|
fmt::format(
|
||||||
|
"TRUNCATE {}",
|
||||||
|
TableName()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //EQEMU_MERCHANTLIST_TEMP_REPOSITORY_H
|
#endif //EQEMU_MERCHANTLIST_TEMP_REPOSITORY_H
|
||||||
|
|||||||
@ -44,6 +44,7 @@
|
|||||||
#include "../common/repositories/merc_inventory_repository.h"
|
#include "../common/repositories/merc_inventory_repository.h"
|
||||||
#include "../common/repositories/merc_subtypes_repository.h"
|
#include "../common/repositories/merc_subtypes_repository.h"
|
||||||
#include "../common/repositories/npc_types_tint_repository.h"
|
#include "../common/repositories/npc_types_tint_repository.h"
|
||||||
|
#include "../common/repositories/merchantlist_temp_repository.h"
|
||||||
|
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
@ -2534,17 +2535,39 @@ void ZoneDatabase::LoadMercenaryEquipment(Merc* m)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZoneDatabase::SaveMerchantTemp(uint32 npcid, uint32 slot, uint32 zone_id, uint32 instance_id, uint32 item, uint32 charges){
|
void ZoneDatabase::SaveMerchantTemp(
|
||||||
|
uint32 npc_id,
|
||||||
|
uint32 slot_id,
|
||||||
|
uint32 zone_id,
|
||||||
|
uint32 instance_id,
|
||||||
|
uint32 item_id,
|
||||||
|
uint32 charges
|
||||||
|
)
|
||||||
|
{
|
||||||
|
auto e = MerchantlistTempRepository::NewEntity();
|
||||||
|
|
||||||
std::string query = StringFormat("REPLACE INTO merchantlist_temp (npcid, slot, zone_id, instance_id, itemid, charges) "
|
e.npcid = npc_id;
|
||||||
"VALUES(%d, %d, %d, %d, %d, %d)", npcid, slot, zone_id, instance_id, item, charges);
|
e.slot = slot_id;
|
||||||
QueryDatabase(query);
|
e.zone_id = zone_id;
|
||||||
|
e.instance_id = instance_id;
|
||||||
|
e.itemid = item_id;
|
||||||
|
e.charges = charges;
|
||||||
|
|
||||||
|
MerchantlistTempRepository::ReplaceOne(*this, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZoneDatabase::DeleteMerchantTemp(uint32 npcid, uint32 slot, uint32 zone_id, uint32 instance_id) {
|
void ZoneDatabase::DeleteMerchantTemp(uint32 npc_id, uint32 slot_id, uint32 zone_id, uint32 instance_id)
|
||||||
std::string query = StringFormat("DELETE FROM merchantlist_temp WHERE npcid=%d AND slot=%d AND zone_id=%d AND instance_id=%d",
|
{
|
||||||
npcid, slot, zone_id, instance_id);
|
MerchantlistTempRepository::DeleteWhere(
|
||||||
QueryDatabase(query);
|
*this,
|
||||||
|
fmt::format(
|
||||||
|
"`npcid` = {} AND `slot` = {} AND `zone_id` = {} AND `instance_id` = {}",
|
||||||
|
npc_id,
|
||||||
|
slot_id,
|
||||||
|
zone_id,
|
||||||
|
instance_id
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
//New functions for timezone
|
//New functions for timezone
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user