♻️ Check in algorithm v2
This commit is contained in:
@@ -271,7 +271,7 @@ public class AccountEventService(
|
|||||||
return backdatedCheckInMonths < 4;
|
return backdatedCheckInMonths < 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
public const string CheckInLockKey = "checkin:lock:";
|
private const string CheckInLockKey = "checkin:lock:";
|
||||||
|
|
||||||
public async Task<SnCheckInResult> CheckInDaily(SnAccount user, Instant? backdated = null)
|
public async Task<SnCheckInResult> CheckInDaily(SnAccount user, Instant? backdated = null)
|
||||||
{
|
{
|
||||||
@@ -322,7 +322,11 @@ public class AccountEventService(
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
// The 5 is specialized, keep it alone.
|
// The 5 is specialized, keep it alone.
|
||||||
var checkInLevel = (CheckInResultLevel)Random.Next(Enum.GetValues<CheckInResultLevel>().Length - 1);
|
var sum = 0;
|
||||||
|
var maxLevel = Enum.GetValues<CheckInResultLevel>().Length - 1;
|
||||||
|
for (var i = 0; i < 5; i++)
|
||||||
|
sum += Random.Next(maxLevel);
|
||||||
|
var checkInLevel = (CheckInResultLevel)(sum / 5);
|
||||||
|
|
||||||
var accountBirthday = await db.AccountProfiles
|
var accountBirthday = await db.AccountProfiles
|
||||||
.Where(x => x.AccountId == user.Id)
|
.Where(x => x.AccountId == user.Id)
|
||||||
|
|||||||
Reference in New Issue
Block a user