From 8cfdabbae4be472a6baf06928fffa12dc1c7ffb1 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Fri, 24 Oct 2025 21:51:14 +0800 Subject: [PATCH] :recycle: Check in algorithm v2 --- DysonNetwork.Pass/Account/AccountEventService.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/DysonNetwork.Pass/Account/AccountEventService.cs b/DysonNetwork.Pass/Account/AccountEventService.cs index 493cd41..9a03a30 100644 --- a/DysonNetwork.Pass/Account/AccountEventService.cs +++ b/DysonNetwork.Pass/Account/AccountEventService.cs @@ -271,7 +271,7 @@ public class AccountEventService( return backdatedCheckInMonths < 4; } - public const string CheckInLockKey = "checkin:lock:"; + private const string CheckInLockKey = "checkin:lock:"; public async Task CheckInDaily(SnAccount user, Instant? backdated = null) { @@ -322,7 +322,11 @@ public class AccountEventService( })); // The 5 is specialized, keep it alone. - var checkInLevel = (CheckInResultLevel)Random.Next(Enum.GetValues().Length - 1); + var sum = 0; + var maxLevel = Enum.GetValues().Length - 1; + for (var i = 0; i < 5; i++) + sum += Random.Next(maxLevel); + var checkInLevel = (CheckInResultLevel)(sum / 5); var accountBirthday = await db.AccountProfiles .Where(x => x.AccountId == user.Id)