feat: add recharge callback processing
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
# Generated by Django 5.2.15 on 2026-07-03 00:45
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('billing', '0003_pointsledger_unique_ledger_change_type_per_call'),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='RechargeOrder',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('order_no', models.CharField(max_length=64, unique=True)),
|
||||
('amount_money', models.DecimalField(decimal_places=2, max_digits=12)),
|
||||
('currency', models.CharField(default='CNY', max_length=10)),
|
||||
('pay_method', models.CharField(choices=[('weixin', 'Weixin'), ('alipay', 'Alipay')], max_length=20)),
|
||||
('exchange_rate', models.DecimalField(decimal_places=4, max_digits=12)),
|
||||
('points_granted', models.BigIntegerField()),
|
||||
('status', models.CharField(choices=[('pending', 'Pending'), ('paid', 'Paid'), ('failed', 'Failed'), ('expired', 'Expired')], default='pending', max_length=20)),
|
||||
('code_url', models.TextField(blank=True)),
|
||||
('expires_at', models.DateTimeField(blank=True, null=True)),
|
||||
('payment_txn_no', models.CharField(blank=True, max_length=128)),
|
||||
('paid_at', models.DateTimeField(blank=True, null=True)),
|
||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||||
('updated_at', models.DateTimeField(auto_now=True)),
|
||||
],
|
||||
options={
|
||||
'db_table': 'recharge_order',
|
||||
'ordering': ('-created_at', '-id'),
|
||||
},
|
||||
),
|
||||
migrations.AddConstraint(
|
||||
model_name='pointsledger',
|
||||
constraint=models.UniqueConstraint(fields=('ref_order_id', 'change_type'), name='unique_ledger_change_type_per_order'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='rechargeorder',
|
||||
name='user',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='recharge_orders', to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='rechargeorder',
|
||||
index=models.Index(fields=['user', 'created_at'], name='recharge_or_user_id_312e87_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='rechargeorder',
|
||||
index=models.Index(fields=['status', 'created_at'], name='recharge_or_status_139277_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='rechargeorder',
|
||||
index=models.Index(fields=['pay_method', 'status'], name='recharge_or_pay_met_4c0043_idx'),
|
||||
),
|
||||
migrations.AddConstraint(
|
||||
model_name='rechargeorder',
|
||||
constraint=models.CheckConstraint(condition=models.Q(('amount_money__gt', 0)), name='recharge_order_amount_money_positive'),
|
||||
),
|
||||
migrations.AddConstraint(
|
||||
model_name='rechargeorder',
|
||||
constraint=models.CheckConstraint(condition=models.Q(('exchange_rate__gt', 0)), name='recharge_order_exchange_rate_positive'),
|
||||
),
|
||||
migrations.AddConstraint(
|
||||
model_name='rechargeorder',
|
||||
constraint=models.CheckConstraint(condition=models.Q(('points_granted__gt', 0)), name='recharge_order_points_granted_positive'),
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user