mirror of
https://git.ethanthesleepy.one/ethanaobrien/ew.git
synced 2025-05-13 11:37:33 -05:00
Clean up event storage
This commit is contained in:
parent
a72a1e7dd6
commit
61789f0165
3 changed files with 66 additions and 47 deletions
|
@ -3,8 +3,35 @@ use actix_web::HttpRequest;
|
|||
use rand::Rng;
|
||||
|
||||
use crate::encryption;
|
||||
use crate::include_file;
|
||||
use crate::router::{userdata, global, databases};
|
||||
|
||||
fn get_event_data(key: &str, event_id: i64) -> JsonValue {
|
||||
let mut event = userdata::get_acc_event(key);
|
||||
|
||||
if event[event_id.to_string()].is_empty() {
|
||||
event[event_id.to_string()] = json::parse(&include_file!("src/router/userdata/new_user_event.json")).unwrap();
|
||||
let mut ev = event[event_id.to_string()].clone();
|
||||
init_star_event(&mut ev);
|
||||
save_event_data(key, event_id, ev);
|
||||
event = userdata::get_acc_event(key);
|
||||
}
|
||||
event[event_id.to_string()].clone()
|
||||
}
|
||||
|
||||
fn save_event_data(key: &str, event_id: i64, data: JsonValue) {
|
||||
let mut event = userdata::get_acc_event(key);
|
||||
|
||||
// Check for old version of event data
|
||||
if !event["event_data"].is_empty() {
|
||||
event = object!{};
|
||||
}
|
||||
|
||||
event[event_id.to_string()] = data;
|
||||
|
||||
userdata::save_acc_event(key, event);
|
||||
}
|
||||
|
||||
fn get_random_song() -> JsonValue {
|
||||
let mut rng = rand::thread_rng();
|
||||
let random_number = rng.gen_range(0..=databases::LIVES.len());
|
||||
|
@ -20,14 +47,14 @@ fn switch_music(event: &mut JsonValue, index: i32) {
|
|||
}
|
||||
|
||||
let mut i = 0;
|
||||
for (j, live) in event["event_data"]["star_event"]["star_music_list"].members().enumerate() {
|
||||
for (j, live) in event["star_event"]["star_music_list"].members().enumerate() {
|
||||
if live["position"] == index {
|
||||
i = j;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if i != 0 {
|
||||
event["event_data"]["star_event"]["star_music_list"].array_remove(i);
|
||||
event["star_event"]["star_music_list"].array_remove(i);
|
||||
}
|
||||
|
||||
let random_song = get_random_song();
|
||||
|
@ -37,14 +64,14 @@ fn switch_music(event: &mut JsonValue, index: i32) {
|
|||
is_cleared: 0,
|
||||
goal_score: random_song["score"].clone()
|
||||
};
|
||||
event["event_data"]["star_event"]["star_music_list"].push(to_push).unwrap();
|
||||
event["star_event"]["star_music_list"].push(to_push).unwrap();
|
||||
}
|
||||
|
||||
fn init_star_event(event: &mut JsonValue) {
|
||||
if event["event_data"]["star_event"]["star_level"].as_i32().unwrap() != 0 {
|
||||
if event["star_event"]["star_level"].as_i32().unwrap() != 0 {
|
||||
return;
|
||||
}
|
||||
event["event_data"]["star_event"]["star_level"] = 1.into();
|
||||
event["star_event"]["star_level"] = 1.into();
|
||||
switch_music(event, 1);
|
||||
switch_music(event, 2);
|
||||
switch_music(event, 3);
|
||||
|
@ -54,59 +81,54 @@ fn init_star_event(event: &mut JsonValue) {
|
|||
|
||||
pub fn event(req: HttpRequest, body: String) -> Option<JsonValue> {
|
||||
let key = global::get_login(req.headers(), &body);
|
||||
let mut event = userdata::get_acc_event(&key);
|
||||
let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
|
||||
let event = get_event_data(&key, body["master_event_id"].as_i64().unwrap());
|
||||
|
||||
init_star_event(&mut event);
|
||||
|
||||
userdata::save_acc_event(&key, event.clone());
|
||||
|
||||
Some(event["event_data"].clone())
|
||||
Some(event)
|
||||
}
|
||||
|
||||
pub fn star_event(req: HttpRequest, body: String) -> Option<JsonValue> {
|
||||
let key = global::get_login(req.headers(), &body);
|
||||
let mut event = userdata::get_acc_event(&key);
|
||||
init_star_event(&mut event);
|
||||
let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
|
||||
|
||||
userdata::save_acc_event(&key, event.clone());
|
||||
let event = get_event_data(&key, body["master_event_id"].as_i64().unwrap());
|
||||
|
||||
Some(object!{
|
||||
star_event: event["event_data"]["star_event"].clone(),
|
||||
star_event: event["star_event"].clone(),
|
||||
gift_list: [],
|
||||
reward_list: []
|
||||
})
|
||||
}
|
||||
|
||||
//todo - randomize
|
||||
pub fn change_target_music(req: HttpRequest, body: String) -> Option<JsonValue> {
|
||||
let key = global::get_login(req.headers(), &body);
|
||||
let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
|
||||
let mut event = userdata::get_acc_event(&key);
|
||||
let mut event = get_event_data(&key, body["master_event_id"].as_i64().unwrap());
|
||||
|
||||
event["event_data"]["star_event"]["music_change_count"] = (event["event_data"]["star_event"]["music_change_count"].as_i32().unwrap() + 1).into();
|
||||
event["star_event"]["music_change_count"] = (event["star_event"]["music_change_count"].as_i32().unwrap() + 1).into();
|
||||
|
||||
switch_music(&mut event, body["position"].as_i32().unwrap());
|
||||
|
||||
userdata::save_acc_event(&key, event.clone());
|
||||
save_event_data(&key, body["master_event_id"].as_i64().unwrap(), event.clone());
|
||||
|
||||
Some(event["event_data"]["star_event"].clone())
|
||||
Some(event["star_event"].clone())
|
||||
}
|
||||
|
||||
pub fn set_member(req: HttpRequest, body: String) -> Option<JsonValue> {
|
||||
let key = global::get_login(req.headers(), &body);
|
||||
let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
|
||||
let mut event = userdata::get_acc_event(&key);
|
||||
let mut event = get_event_data(&key, body["master_event_id"].as_i64().unwrap());
|
||||
|
||||
event["event_data"]["member_ranking"] = object!{
|
||||
event["member_ranking"] = object!{
|
||||
master_character_id: body["master_character_id"].clone(),
|
||||
rank: 0,
|
||||
point: 0
|
||||
};
|
||||
|
||||
userdata::save_acc_event(&key, event.clone());
|
||||
save_event_data(&key, body["master_event_id"].as_i64().unwrap(), event.clone());
|
||||
|
||||
Some(object!{
|
||||
event_member: body.clone()
|
||||
event_member: event["member_ranking"].clone()
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
@ -136,7 +136,7 @@ fn add_user_to_database(uid: i64, user: JsonValue, user_home: JsonValue, user_mi
|
|||
));
|
||||
DATABASE.lock_and_exec("INSERT INTO event (user_id, event) VALUES (?1, ?2)", params!(
|
||||
uid,
|
||||
include_file!("src/router/userdata/new_user_event.json")
|
||||
"{}"
|
||||
));
|
||||
DATABASE.lock_and_exec("INSERT INTO eventloginbonus (user_id, eventloginbonus) VALUES (?1, ?2)", params!(
|
||||
uid,
|
||||
|
@ -254,7 +254,7 @@ pub fn get_acc_chats(auth_key: &str) -> JsonValue {
|
|||
pub fn get_acc_event(auth_key: &str) -> JsonValue {
|
||||
let event = get_data(auth_key, "event");
|
||||
if event.is_empty() {
|
||||
return json::parse(&include_file!("src/router/userdata/new_user_event.json")).unwrap();
|
||||
return object!{};
|
||||
}
|
||||
event
|
||||
}
|
||||
|
|
|
@ -1,24 +1,21 @@
|
|||
{
|
||||
"event_data": {
|
||||
"point_ranking": {
|
||||
"point": 0
|
||||
},
|
||||
"score_ranking": [],
|
||||
"member_ranking": [],
|
||||
"lottery_box": [],
|
||||
"mission_list": [],
|
||||
"policy_agreement": 0,
|
||||
"incentive_lottery": 0,
|
||||
"star_event": {
|
||||
"star_level": 0,
|
||||
"last_event_star_level": 0,
|
||||
"star_music_list": [],
|
||||
"music_change_count": 0,
|
||||
"star_event_bonus_daily_count": 0,
|
||||
"star_event_bonus_count": 0,
|
||||
"star_event_play_times_bonus_count": 0,
|
||||
"star_assist_bonus": 1
|
||||
}
|
||||
"point_ranking": {
|
||||
"point": 0
|
||||
},
|
||||
"server_event_data": {}
|
||||
"score_ranking": [],
|
||||
"member_ranking": [],
|
||||
"lottery_box": [],
|
||||
"mission_list": [],
|
||||
"policy_agreement": 0,
|
||||
"incentive_lottery": 0,
|
||||
"star_event": {
|
||||
"star_level": 0,
|
||||
"last_event_star_level": 0,
|
||||
"star_music_list": [],
|
||||
"music_change_count": 0,
|
||||
"star_event_bonus_daily_count": 0,
|
||||
"star_event_bonus_count": 0,
|
||||
"star_event_play_times_bonus_count": 0,
|
||||
"star_assist_bonus": 1
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue