feat: grant signup bonus points

This commit is contained in:
QiuSW
2026-07-08 15:13:23 +08:00
parent 02aa12e8b9
commit ac8bec7b9c
29 changed files with 399 additions and 61 deletions
+10 -1
View File
@@ -47,11 +47,19 @@ def get_portal_account_summary(user) -> dict:
user=user,
change_type=PointsLedger.ChangeType.RECHARGE,
)
signup_bonus_entries = PointsLedger.objects.filter(
user=user,
change_type=PointsLedger.ChangeType.SIGNUP_BONUS,
)
consumed_points = abs(int(_sum_or_zero(consume_entries, "points_delta")))
refunded_points = int(_sum_or_zero(refund_entries, "points_delta"))
recharge_points = int(_sum_or_zero(recharge_entries, "points_delta"))
signup_bonus_points = int(_sum_or_zero(signup_bonus_entries, "points_delta"))
return {
"recharge_total_amount": _sum_or_zero(paid_orders, "amount_money"),
"recharge_points_total": int(_sum_or_zero(recharge_entries, "points_delta")),
"recharge_points_total": recharge_points,
"signup_bonus_points_total": signup_bonus_points,
"credited_points_total": recharge_points + signup_bonus_points,
"consumed_points_total": consumed_points,
"refunded_points_total": refunded_points,
"net_used_points": consumed_points - refunded_points,
@@ -70,6 +78,7 @@ def get_usage_ledger_entries_for_user(user):
change_type__in=(
PointsLedger.ChangeType.CONSUME,
PointsLedger.ChangeType.REFUND,
PointsLedger.ChangeType.SIGNUP_BONUS,
),
)
.select_related("ref_call", "ref_call__api_key")