fix: reduce signup bonus to ten points
This commit is contained in:
@@ -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='赠送点数'),
|
||||
),
|
||||
]
|
||||
@@ -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:
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user