Adjust compression_rate semantics and no-charge at 100%

This commit is contained in:
2025-12-20 16:28:14 +08:00
parent 0d4e2b9ab1
commit 04483c6ef1
7 changed files with 50 additions and 23 deletions

View File

@@ -310,7 +310,8 @@ async fn process_task(state: &AppState, task_id: Uuid) -> Result<(), AppError> {
} else {
(original_size.saturating_sub(compressed_size) as f64) * 100.0 / (original_size as f64)
};
let charge_units = compressed_size < original_size;
let skip_charge = compression_rate == Some(100);
let charge_units = !skip_charge && compressed_size < original_size;
// Anonymous quota enforcement requires session_id + client_ip.
if task.user_id.is_none() && charge_units {