HistoryMarketOfferList IOMarket::getOwnHistory(MarketAction_t action, uint32_t playerId) { HistoryMarketOfferList offerList; std::ostringstream query; query << "SELECT `itemtype`, `amount`, `price`, `expires_at`, `state` FROM `market_history` WHERE `player_id` = " << playerId << " AND `sale` = " << action; DBResult_ptr result = Database::getInstance().storeQuery(query.str()); if (!result) { return offerList; } do { HistoryMarketOffer offer; offer.itemId = result->getNumber<uint16_t>("itemtype"); offer.amount = result->getNumber<uint16_t>("amount"); offer.price = result->getNumber<uint32_t>("price"); offer.timestamp = result->getNumber<uint32_t>("expires_at"); MarketOfferState_t offerState = static_cast<MarketOfferState_t>(result->getNumber<uint16_t>("state")); if (offerState == OFFERSTATE_ACCEPTEDEX) { offerState = OFFERSTATE_ACCEPTED; } offer.state = offerState; offerList.push_back(offer); } while (result->next()); return offerList; }
HistoryMarketOfferList IOMarket::getOwnHistory(MarketAction_t action, uint32_t playerId) { Database* db = Database::getInstance(); DBQuery query; query << "SELECT `id`, `itemtype`, `amount`, `price`, `expires_at`, `state` FROM `market_history` WHERE `player_id` = " << playerId << " AND `sale` = " << action << " AND `world_id` = " << g_config.getNumber(ConfigManager::WORLD_ID) << ";"; DBResult* result; if(!(result = db->storeQuery(query.str()))) return HistoryMarketOfferList(); HistoryMarketOfferList offerList; do { HistoryMarketOffer offer; offer.itemId = result->getDataInt("itemtype"); offer.amount = result->getDataInt("amount"); offer.price = result->getDataInt("price"); offer.timestamp = result->getDataInt("expires_at"); MarketOfferState_t offerState = (MarketOfferState_t)result->getDataInt("state"); if(offerState == OFFERSTATE_ACCEPTEDEX) offerState = OFFERSTATE_ACCEPTED; offer.state = offerState; offerList.push_back(offer); } while(result->next()); result->free(); return offerList; }