mirror of
https://git.ethanthesleepy.one/ethanaobrien/ew.git
synced 2025-05-13 11:37:33 -05:00
Add cleanup_account function
This commit is contained in:
parent
c0d1776183
commit
b7e3bc68b6
2 changed files with 32 additions and 2 deletions
|
@ -224,11 +224,14 @@ pub fn give_points(master_item_id: i64, amount: i64, user: &mut JsonValue) -> bo
|
|||
}
|
||||
false
|
||||
}
|
||||
|
||||
pub fn use_item(master_item_id: i64, amount: i64, user: &mut JsonValue) {
|
||||
for (_j, dataa) in user["item_list"].members_mut().enumerate() {
|
||||
if dataa["master_item_id"].as_i64().unwrap() == master_item_id {
|
||||
if dataa["amount"].as_i64().unwrap() >= amount {
|
||||
dataa["amount"] = (dataa["amount"].as_i64().unwrap() - amount).into();
|
||||
} else {
|
||||
dataa["amount"] = (0).into();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -205,8 +205,7 @@ fn get_data(auth_key: &str, row: &str) -> JsonValue {
|
|||
json::parse(&result.unwrap()).unwrap()
|
||||
}
|
||||
|
||||
pub fn get_acc(auth_key: &str) -> JsonValue {
|
||||
let mut user = get_data(auth_key, "userdata");
|
||||
fn cleanup_account(user: &mut JsonValue) {
|
||||
user["gem"]["total"] = (user["gem"]["charge"].as_i64().unwrap() + user["gem"]["free"].as_i64().unwrap()).into();
|
||||
if user["master_music_ids"].len() != NEW_USER["master_music_ids"].len() {
|
||||
user["master_music_ids"] = NEW_USER["master_music_ids"].clone();
|
||||
|
@ -215,6 +214,34 @@ pub fn get_acc(auth_key: &str) -> JsonValue {
|
|||
user["master_title_ids"] = NEW_USER["master_title_ids"].clone();
|
||||
}
|
||||
|
||||
let mut to_remove = array![];
|
||||
let items = user["item_list"].clone();
|
||||
for (i, data) in user["item_list"].members_mut().enumerate() {
|
||||
if to_remove.contains(i) {
|
||||
continue;
|
||||
}
|
||||
if data["master_item_id"].as_i64().unwrap() != data["id"].as_i64().unwrap() {
|
||||
data["id"] = data["master_item_id"].clone();
|
||||
}
|
||||
for (j, data2) in items.members().enumerate() {
|
||||
if i == j {
|
||||
continue;
|
||||
}
|
||||
if data["master_item_id"].as_i64().unwrap() == data2["master_item_id"].as_i64().unwrap() {
|
||||
to_remove.push(j).unwrap();
|
||||
data["amount"] = (data["amount"].as_i64().unwrap() + data2["amount"].as_i64().unwrap()).into();
|
||||
}
|
||||
}
|
||||
}
|
||||
for (i, data) in to_remove.members().enumerate() {
|
||||
user["item_list"].array_remove(data.as_usize().unwrap() - i);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn get_acc(auth_key: &str) -> JsonValue {
|
||||
let mut user = get_data(auth_key, "userdata");
|
||||
cleanup_account(&mut user);
|
||||
|
||||
global::lp_modification(&mut user, 0, false);
|
||||
return user;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue