Ändere die Überprüfung auf die Erstellung von Charakteren von "vorheriger Tag" zu "heutiger Tag"

This commit is contained in:
Torsten Schulz
2024-12-23 11:25:58 +01:00
committed by Torsten (PC)
parent 1fe77c0905
commit 51fd9fcd13
2 changed files with 10 additions and 11 deletions

View File

@@ -17,7 +17,7 @@ CharacterCreationWorker::~CharacterCreationWorker() {
void CharacterCreationWorker::run() {
while (runningWorker) {
setCurrentStep("Check if previous day character was created");
if (!isPreviousDayCharacterCreated()) {
if (!isTodayCharacterCreated()) {
setCurrentStep("Create characters for today");
createCharactersForToday();
}
@@ -31,21 +31,19 @@ void CharacterCreationWorker::run() {
}
}
bool CharacterCreationWorker::isPreviousDayCharacterCreated() {
bool CharacterCreationWorker::isTodayCharacterCreated() {
try {
setCurrentStep("Get Database Connection");
ConnectionGuard connGuard(pool);
auto &db = connGuard.get();
setCurrentStep("Execute Query");
auto results = db.query(QUERY_IS_PREVIOUS_DAY_CHARACTER_CREATED);
if (!results.empty()) {
std::string created_at_str = results[0].at("created_at");
return true;
}
} catch (const std::exception &e) {
std::cerr << "[CharacterCreationWorker] Fehler in isPreviousDayCharacterCreated: "
std::cerr << "[CharacterCreationWorker] Fehler in isTodayCharacterCreated: "
<< e.what() << std::endl;
}
setCurrentStep("No previous day character found");
@@ -97,10 +95,10 @@ void CharacterCreationWorker::createCharacter(int region_id,
db.prepare("insert_character", QUERY_INSERT_CHARACTER);
db.execute("insert_character", {std::to_string(region_id),
std::to_string(first_name_id),
std::to_string(last_name_id),
gender,
std::to_string(title_of_nobility)});
std::to_string(first_name_id),
std::to_string(last_name_id),
gender,
std::to_string(title_of_nobility)});
} catch (const std::exception &e) {
std::cerr << "[CharacterCreationWorker] Fehler in createCharacter: "
<< e.what() << std::endl;

View File

@@ -21,7 +21,7 @@ private:
std::unordered_map<std::string, std::unordered_set<int>> first_name_cache;
std::unordered_set<int> last_name_cache;
bool isPreviousDayCharacterCreated();
bool isTodayCharacterCreated();
void createCharactersForToday();
void createCharactersForRegion(int region_id);
void createCharacter(int region_id, const std::string &gender, int title_of_nobility);
@@ -33,6 +33,7 @@ private:
SELECT created_at
FROM falukant_data."character"
WHERE user_id IS NULL
AND created_at::date = CURRENT_DATE
ORDER BY created_at DESC
LIMIT 1;
)";
@@ -59,6 +60,6 @@ private:
user_id, region_id, first_name, last_name,
birthdate, gender, created_at, updated_at, title_of_nobility
)
VALUES ($1, $2, $3, $4, NOW(), $5, NOW(), NOW(), $6);
VALUES (NULL, $1, $2, $3, NOW(), $4, NOW(), NOW(), $5);
)";
};