fix: reduce signup bonus to ten points

This commit is contained in:
QiuSW
2026-07-18 15:00:04 +08:00
parent 4a0becbb4d
commit 83fa541b2a
25 changed files with 126 additions and 82 deletions
@@ -0,0 +1,18 @@
# Generated by Django 5.2.15 on 2026-07-18 06:44
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('billing', '0008_alter_callrecord_operation_type_and_more'),
]
operations = [
migrations.AlterField(
model_name='signupbonusgrant',
name='points_granted',
field=models.BigIntegerField(default=10, verbose_name='赠送点数'),
),
]
+1 -1
View File
@@ -318,7 +318,7 @@ class SignupBonusGrant(models.Model):
on_delete=models.PROTECT,
related_name="signup_bonus_grant",
)
points_granted = models.BigIntegerField("赠送点数", default=100)
points_granted = models.BigIntegerField("赠送点数", default=10)
created_at = models.DateTimeField("创建时间", auto_now_add=True)
class Meta:
+1 -1
View File
@@ -352,7 +352,7 @@ def adjust_wallet_points(
def grant_signup_bonus(
*,
user,
points: int = 100,
points: int = 10,
reason: str = "new_user_registration",
) -> SignupBonusGrantResult:
points = _validate_positive_points(points)
+9 -9
View File
@@ -501,18 +501,18 @@ class BillingServiceTests(TestCase):
wallet = UserWallet.objects.get(user=user)
self.assertTrue(first.granted)
self.assertFalse(second.granted)
self.assertEqual(first.points_granted, 100)
self.assertEqual(first.points_granted, 10)
self.assertEqual(second.points_granted, 0)
self.assertEqual(first.balance_after, 100)
self.assertEqual(second.balance_after, 100)
self.assertEqual(wallet.points_balance, 100)
self.assertEqual(first.balance_after, 10)
self.assertEqual(second.balance_after, 10)
self.assertEqual(wallet.points_balance, 10)
self.assertEqual(SignupBonusGrant.objects.filter(user=user).count(), 1)
ledger = PointsLedger.objects.get(
user=user,
change_type=PointsLedger.ChangeType.SIGNUP_BONUS,
)
self.assertEqual(ledger.points_delta, 100)
self.assertEqual(ledger.balance_after, 100)
self.assertEqual(ledger.points_delta, 10)
self.assertEqual(ledger.balance_after, 10)
self.assertEqual(ledger.reason, "new_user_registration")
def test_grant_signup_bonus_adds_to_existing_wallet_balance(self):
@@ -528,8 +528,8 @@ class BillingServiceTests(TestCase):
wallet = UserWallet.objects.get(user=user)
self.assertTrue(result.granted)
self.assertEqual(wallet.points_balance, 130)
self.assertEqual(result.balance_after, 130)
self.assertEqual(wallet.points_balance, 40)
self.assertEqual(result.balance_after, 40)
def test_create_recharge_order_marks_order_failed_when_gateway_fails(self):
self.create_exchange_rate(points_per_unit="10.0000")
@@ -1061,7 +1061,7 @@ class ConcurrentSignupBonusTests(TransactionTestCase):
self.assertEqual(sum(1 for granted, _balance in results if not granted), 1)
wallet = UserWallet.objects.get(user=self.user)
self.assertEqual(wallet.points_balance, 100)
self.assertEqual(wallet.points_balance, 10)
self.assertEqual(SignupBonusGrant.objects.filter(user=self.user).count(), 1)
self.assertEqual(
PointsLedger.objects.filter(