🐛 Bug fixes

This commit is contained in:
2025-06-22 21:42:28 +08:00
parent 5990b17b4c
commit c5ef9b065b
3 changed files with 33 additions and 15 deletions

View File

@ -155,19 +155,23 @@ public class SubscriptionService(AppDatabase db, PaymentService payment, ICacheS
if (subscription is null)
throw new InvalidOperationException("Invalid order.");
var now = SystemClock.Instance.GetCurrentInstant();
var cycle = subscription.BegunAt.Minus(subscription.RenewalAt ?? now);
if (subscription.Status == SubscriptionStatus.Expired)
{
var now = SystemClock.Instance.GetCurrentInstant();
var cycle = subscription.BegunAt.Minus(subscription.RenewalAt ?? subscription.EndedAt ?? now);
var nextRenewalAt = subscription.RenewalAt?.Plus(cycle);
var nextEndedAt = subscription.RenewalAt?.Plus(cycle);
var nextRenewalAt = subscription.RenewalAt?.Plus(cycle);
var nextEndedAt = subscription.EndedAt?.Plus(cycle);
subscription.RenewalAt = nextRenewalAt;
subscription.EndedAt = nextEndedAt;
}
subscription.Status = SubscriptionStatus.Paid;
subscription.RenewalAt = nextRenewalAt;
subscription.EndedAt = nextEndedAt;
db.Update(subscription);
await db.SaveChangesAsync();
if (subscription.Identifier.StartsWith(SubscriptionType.StellarProgram))
{
await db.AccountProfiles