X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/355911106bc27f5504eb904a064367ef1b5f0aba..f8054f164b10a7b42a5250856ec83dca71ad3545:/projects/stargazer/user_impl.cpp diff --git a/projects/stargazer/user_impl.cpp b/projects/stargazer/user_impl.cpp index ca2e2cae..3639060a 100644 --- a/projects/stargazer/user_impl.cpp +++ b/projects/stargazer/user_impl.cpp @@ -1243,11 +1243,15 @@ switch (settings->GetFeeChargeType()) property.cash.Set(c - fee, sysAdmin, login, store, "Subscriber fee charge"); break; case 1: - if (c >= 0) + if (c + credit >= 0) property.cash.Set(c - fee, sysAdmin, login, store, "Subscriber fee charge"); break; case 2: - if (c >= fee) + if (c + credit >= fee) + property.cash.Set(c - fee, sysAdmin, login, store, "Subscriber fee charge"); + break; + case 3: + if (c >= 0) property.cash.Set(c - fee, sysAdmin, login, store, "Subscriber fee charge"); break; } @@ -1285,8 +1289,10 @@ if (fee == 0.0) } double c = cash; -printfd(__FILE__, "login: %8s Fee=%f PassiveTimePart=%f fee=%f\n", +printfd(__FILE__, "login: %8s Cash=%f Credit=%f Fee=%f PassiveTimePart=%f fee=%f\n", login.c_str(), + cash.ConstData(), + credit.ConstData(), tariff->GetFee(), passiveTimePart, fee); @@ -1297,14 +1303,21 @@ switch (settings->GetFeeChargeType()) SetPrepaidTraff(); break; case 1: - if (c >= 0) + if (c + credit >= 0) { property.cash.Set(c - fee, sysAdmin, login, store, "Subscriber fee charge"); SetPrepaidTraff(); } break; case 2: - if (c >= fee) + if (c + credit >= fee) + { + property.cash.Set(c - fee, sysAdmin, login, store, "Subscriber fee charge"); + SetPrepaidTraff(); + } + break; + case 3: + if (c >= 0) { property.cash.Set(c - fee, sysAdmin, login, store, "Subscriber fee charge"); SetPrepaidTraff();