mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-11 11:12:25 +00:00
Update trader db calls for character_id
This commit is contained in:
parent
c86ddca0b9
commit
af500b14f6
@ -835,7 +835,7 @@ void Client::CompleteConnect()
|
|||||||
|
|
||||||
if (is_first_login) {
|
if (is_first_login) {
|
||||||
e.first_login = time(nullptr);
|
e.first_login = time(nullptr);
|
||||||
TraderRepository::DeleteWhere(database, fmt::format("`char_id` = '{}'", CharacterID()));
|
TraderRepository::DeleteWhere(database, fmt::format("`character_id` = '{}'", CharacterID()));
|
||||||
BuyerRepository::DeleteBuyer(database, CharacterID());
|
BuyerRepository::DeleteBuyer(database, CharacterID());
|
||||||
LogTradingDetail(
|
LogTradingDetail(
|
||||||
"Removed trader abd buyer entries for Character ID {} on first logon to ensure table consistency.",
|
"Removed trader abd buyer entries for Character ID {} on first logon to ensure table consistency.",
|
||||||
|
|||||||
@ -1783,7 +1783,13 @@ static void UpdateTraderCustomerPriceChanged(
|
|||||||
|
|
||||||
LogTrading("Sending price updates to customer [{}]", customer->GetName());
|
LogTrading("Sending price updates to customer [{}]", customer->GetName());
|
||||||
|
|
||||||
auto it = std::find_if(trader_items.begin(), trader_items.end(), [&](TraderRepository::Trader x){ return x.item_id == item->ID;});
|
auto it = std::find_if(
|
||||||
|
trader_items.begin(),
|
||||||
|
trader_items.end(),
|
||||||
|
[&](TraderRepository::Trader x) {
|
||||||
|
return x.item_id == item->ID;
|
||||||
|
}
|
||||||
|
);
|
||||||
std::unique_ptr<EQ::ItemInstance> inst(
|
std::unique_ptr<EQ::ItemInstance> inst(
|
||||||
database.CreateItem(
|
database.CreateItem(
|
||||||
it->item_id,
|
it->item_id,
|
||||||
|
|||||||
@ -309,19 +309,19 @@ void ZoneDatabase::DeleteWorldContainer(uint32 parent_id, uint32 zone_id)
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<EQ::ItemInstance> ZoneDatabase::LoadSingleTraderItem(uint32 char_id, const std::string &serial_number)
|
std::unique_ptr<EQ::ItemInstance> ZoneDatabase::LoadSingleTraderItem(uint32 character_id, const std::string &unique_item_id)
|
||||||
{
|
{
|
||||||
auto results = TraderRepository::GetWhere(
|
auto results = TraderRepository::GetWhere(
|
||||||
database,
|
database,
|
||||||
fmt::format(
|
fmt::format(
|
||||||
"`char_id` = '{}' AND `item_sn` = '{}' ORDER BY slot_id",
|
"`character_id` = '{}' AND `item_unique_id` = '{}' ORDER BY slot_id",
|
||||||
char_id,
|
character_id,
|
||||||
serial_number
|
unique_item_id
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (results.empty()) {
|
if (results.empty()) {
|
||||||
LogTrading("Could not find item serial number {} for character id {}", serial_number, char_id);
|
LogTrading("Could not find item serial number {} for character id {}", unique_item_id, character_id);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -357,7 +357,7 @@ std::unique_ptr<EQ::ItemInstance> ZoneDatabase::LoadSingleTraderItem(uint32 char
|
|||||||
}
|
}
|
||||||
|
|
||||||
inst->SetCharges(charges);
|
inst->SetCharges(charges);
|
||||||
inst->SetUniqueID(serial_number);
|
inst->SetUniqueID(unique_item_id);
|
||||||
//FIX inst->SetMerchantSlot(serial_number);
|
//FIX inst->SetMerchantSlot(serial_number);
|
||||||
inst->SetPrice(cost);
|
inst->SetPrice(cost);
|
||||||
|
|
||||||
@ -368,9 +368,9 @@ std::unique_ptr<EQ::ItemInstance> ZoneDatabase::LoadSingleTraderItem(uint32 char
|
|||||||
return std::move(inst);
|
return std::move(inst);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZoneDatabase::UpdateTraderItemPrice(int char_id, uint32 item_id, uint32 charges, uint32 new_price) {
|
void ZoneDatabase::UpdateTraderItemPrice(int character_id, uint32 item_id, uint32 charges, uint32 new_price) {
|
||||||
|
|
||||||
LogTrading("ZoneDatabase::UpdateTraderPrice([{}], [{}], [{}], [{}])", char_id, item_id, charges, new_price);
|
LogTrading("ZoneDatabase::UpdateTraderPrice([{}], [{}], [{}], [{}])", character_id, item_id, charges, new_price);
|
||||||
const EQ::ItemData *item = database.GetItem(item_id);
|
const EQ::ItemData *item = database.GetItem(item_id);
|
||||||
|
|
||||||
if(!item) {
|
if(!item) {
|
||||||
@ -378,20 +378,20 @@ void ZoneDatabase::UpdateTraderItemPrice(int char_id, uint32 item_id, uint32 cha
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (new_price == 0) {
|
if (new_price == 0) {
|
||||||
LogTrading("Removing Trader items from the DB for char_id [{}], item_id [{}]", char_id, item_id);
|
LogTrading("Removing Trader items from the DB for char_id [{}], item_id [{}]", character_id, item_id);
|
||||||
|
|
||||||
auto results = TraderRepository::DeleteWhere(
|
auto results = TraderRepository::DeleteWhere(
|
||||||
database,
|
database,
|
||||||
fmt::format(
|
fmt::format(
|
||||||
"`char_id` = '{}' AND `item_id` = {}",
|
"`character_id` = '{}' AND `item_id` = {}",
|
||||||
char_id,
|
character_id,
|
||||||
item_id
|
item_id
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
if (!results) {
|
if (!results) {
|
||||||
LogDebug("[CLIENT] Failed to remove trader item(s): [{}] for char_id: [{}]",
|
LogDebug("[CLIENT] Failed to remove trader item(s): [{}] for char_id: [{}]",
|
||||||
item_id,
|
item_id,
|
||||||
char_id
|
character_id
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -399,23 +399,23 @@ void ZoneDatabase::UpdateTraderItemPrice(int char_id, uint32 item_id, uint32 cha
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!item->Stackable) {
|
if (!item->Stackable) {
|
||||||
auto results = TraderRepository::UpdateItem(database, char_id, new_price, item_id, charges);
|
auto results = TraderRepository::UpdateItem(database, character_id, new_price, item_id, charges);
|
||||||
if (!results) {
|
if (!results) {
|
||||||
LogTrading(
|
LogTrading(
|
||||||
"Failed to update price for trader item [{}] for char_id: [{}]",
|
"Failed to update price for trader item [{}] for char_id: [{}]",
|
||||||
item_id,
|
item_id,
|
||||||
char_id
|
character_id
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto results = TraderRepository::UpdateItem(database, char_id, new_price, item_id, 0);
|
auto results = TraderRepository::UpdateItem(database, character_id, new_price, item_id, 0);
|
||||||
if (!results) {
|
if (!results) {
|
||||||
LogTrading(
|
LogTrading(
|
||||||
"Failed to update price for trader item [{}] for char_id: [{}]",
|
"Failed to update price for trader item [{}] for char_id: [{}]",
|
||||||
item_id,
|
item_id,
|
||||||
char_id
|
character_id
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -390,7 +390,7 @@ public:
|
|||||||
/* Traders */
|
/* Traders */
|
||||||
void SaveTraderItem(uint32 char_id,uint32 itemid,uint32 uniqueid, int32 charges,uint32 itemcost,uint8 slot);
|
void SaveTraderItem(uint32 char_id,uint32 itemid,uint32 uniqueid, int32 charges,uint32 itemcost,uint8 slot);
|
||||||
void UpdateTraderItemCharges(int char_id, uint32 ItemInstID, int32 charges);
|
void UpdateTraderItemCharges(int char_id, uint32 ItemInstID, int32 charges);
|
||||||
void UpdateTraderItemPrice(int char_id, uint32 item_id, uint32 charges, uint32 new_price);
|
void UpdateTraderItemPrice(int character_id, uint32 item_id, uint32 charges, uint32 new_price);
|
||||||
void DeleteTraderItem(uint32 char_id);
|
void DeleteTraderItem(uint32 char_id);
|
||||||
void DeleteTraderItem(uint32 char_id,uint16 slot_id);
|
void DeleteTraderItem(uint32 char_id,uint16 slot_id);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user