-
Notifications
You must be signed in to change notification settings - Fork 173
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
36 changed files
with
287 additions
and
101 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
47 changes: 47 additions & 0 deletions
47
dDatabase/CDClientDatabase/CDClientTables/CDRewardCodesTable.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
#include "CDRewardCodesTable.h" | ||
|
||
void CDRewardCodesTable::LoadValuesFromDatabase() { | ||
|
||
// First, get the size of the table | ||
unsigned int size = 0; | ||
auto tableSize = CDClientDatabase::ExecuteQuery("SELECT COUNT(*) FROM RewardCodes"); | ||
while (!tableSize.eof()) { | ||
size = tableSize.getIntField(0, 0); | ||
|
||
tableSize.nextRow(); | ||
} | ||
|
||
tableSize.finalize(); | ||
|
||
// Reserve the size | ||
this->entries.reserve(size); | ||
|
||
// Now get the data | ||
auto tableData = CDClientDatabase::ExecuteQuery("SELECT * FROM RewardCodes"); | ||
while (!tableData.eof()) { | ||
CDRewardCode entry; | ||
entry.id = tableData.getIntField("id", -1); | ||
entry.code = tableData.getStringField("code", ""); | ||
entry.attachmentLOT = tableData.getIntField("attachmentLOT", -1); | ||
UNUSED_COLUMN(entry.locStatus = tableData.getIntField("locStatus", -1)); | ||
UNUSED_COLUMN(entry.gate_version = tableData.getStringField("gate_version", "")); | ||
|
||
this->entries.push_back(entry); | ||
tableData.nextRow(); | ||
} | ||
} | ||
|
||
LOT CDRewardCodesTable::GetAttachmentLOT(uint32_t rewardCodeId) const { | ||
for (auto const &entry : this->entries){ | ||
if (rewardCodeId == entry.id) return entry.attachmentLOT; | ||
} | ||
return LOT_NULL; | ||
} | ||
|
||
uint32_t CDRewardCodesTable::GetCodeID(std::string code) const { | ||
for (auto const &entry : this->entries){ | ||
if (code == entry.code) return entry.id; | ||
} | ||
return -1; | ||
} | ||
|
25 changes: 25 additions & 0 deletions
25
dDatabase/CDClientDatabase/CDClientTables/CDRewardCodesTable.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#pragma once | ||
|
||
// Custom Classes | ||
#include "CDTable.h" | ||
|
||
|
||
struct CDRewardCode { | ||
uint32_t id; | ||
std::string code; | ||
LOT attachmentLOT; | ||
UNUSED(uint32_t locStatus); | ||
UNUSED(std::string gate_version); | ||
}; | ||
|
||
|
||
class CDRewardCodesTable : public CDTable<CDRewardCodesTable> { | ||
private: | ||
std::vector<CDRewardCode> entries; | ||
|
||
public: | ||
void LoadValuesFromDatabase(); | ||
const std::vector<CDRewardCode>& GetEntries() const; | ||
LOT GetAttachmentLOT(uint32_t rewardCodeId) const; | ||
uint32_t GetCodeID(std::string code) const; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,6 +8,7 @@ | |
#include <string> | ||
#include <vector> | ||
#include <map> | ||
#include <cstdint> | ||
|
||
// CPPLinq | ||
#ifdef _WIN32 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
#ifndef __IACCOUNTSREWARDCODES__H__ | ||
#define __IACCOUNTSREWARDCODES__H__ | ||
|
||
#include <cstdint> | ||
#include <vector> | ||
|
||
class IAccountsRewardCodes { | ||
public: | ||
virtual void InsertRewardCode(const uint32_t account_id, const uint32_t reward_code) = 0; | ||
virtual std::vector<uint32_t> GetRewardCodesByAccountID(const uint32_t account_id) = 0; | ||
}; | ||
|
||
#endif //!__IACCOUNTSREWARDCODES__H__ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
17 changes: 17 additions & 0 deletions
17
dDatabase/GameDatabase/MySQL/Tables/AccountsRewardCodes.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#include "MySQLDatabase.h" | ||
|
||
void MySQLDatabase::InsertRewardCode(const uint32_t account_id, const uint32_t reward_code) { | ||
ExecuteInsert("INSERT IGNORE INTO accounts_rewardcodes (account_id, rewardcode) VALUES (?, ?);", account_id, reward_code); | ||
} | ||
|
||
std::vector<uint32_t> MySQLDatabase::GetRewardCodesByAccountID(const uint32_t account_id) { | ||
auto result = ExecuteSelect("SELECT rewardcode FROM accounts_rewardcodes WHERE account_id = ?;", account_id); | ||
|
||
std::vector<uint32_t> toReturn; | ||
toReturn.reserve(result->rowsCount()); | ||
while (result->next()) { | ||
toReturn.push_back(result->getUInt("rewardcode")); | ||
} | ||
|
||
return toReturn; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.