Skip to content

Commit c0fcd14

Browse files
authored
Merge pull request #254 from Seluj78/243-superlikes-heat-score
2 parents b6dbe58 + 6e40835 commit c0fcd14

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

backend/PyMatcha/utils/tasks.py

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@
1212
from PyMatcha.utils.match_score import _get_distance
1313
from PyMatcha.utils.match_score import _get_gender_query
1414

15+
BASE_HEAT_SCORE = 30
16+
LIKES_MULTIPLIER = 2
17+
SUPERLIKES_MULTIPLIER = 10
18+
MATCHES_MULTIPLIER = 4
19+
REPORTS_MULTIPLIER = 10
20+
VIEW_MULTIPLIER = 1
21+
MESSAGES_DIVIDER = 5
22+
1523

1624
@celery.on_after_configure.connect
1725
def setup_periodic_tasks(sender, **kwargs):
@@ -23,7 +31,9 @@ def setup_periodic_tasks(sender, **kwargs):
2331
@celery.task
2432
def update_heat_scores():
2533
for user in User.select_all():
26-
likes_received = len(user.get_likes_received())
34+
likes = [like.is_superlike for like in user.get_likes_received()]
35+
likes_received = likes.count(False)
36+
superlikes_received = likes.count(True)
2737
reports_received = len(user.get_reports_received())
2838
views = len(user.get_views())
2939
matches = len(user.get_matches())
@@ -32,14 +42,15 @@ def update_heat_scores():
3242
except ValueError:
3343
messages = 0
3444

35-
score = 30
45+
score = BASE_HEAT_SCORE
3646
if user.username == "seluj78" or user.username == "tet":
3747
score += 100
38-
score += likes_received * 2
39-
score += matches * 4
40-
score -= reports_received * 10
41-
score += views
42-
score += ceil(messages / 5)
48+
score += likes_received * LIKES_MULTIPLIER
49+
score += superlikes_received * SUPERLIKES_MULTIPLIER
50+
score += matches * MATCHES_MULTIPLIER
51+
score -= reports_received * REPORTS_MULTIPLIER
52+
score += views * VIEW_MULTIPLIER
53+
score += ceil(messages / MESSAGES_DIVIDER)
4354
user.heat_score = score
4455
user.save()
4556
return f"Updated heat score for user {user.id}: {user.heat_score}."

0 commit comments

Comments
 (0)