报名表单
This commit is contained in:
20
backend/shop/migrations/0032_order_activity.py
Normal file
20
backend/shop/migrations/0032_order_activity.py
Normal file
@@ -0,0 +1,20 @@
|
||||
# Generated by Django 6.0.1 on 2026-02-23 07:04
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('community', '0010_activity_is_paid_activity_price_activitysignup_order'),
|
||||
('shop', '0031_adminphonenumber'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='order',
|
||||
name='activity',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='orders', to='community.activity', verbose_name='所选活动'),
|
||||
),
|
||||
]
|
||||
@@ -230,6 +230,7 @@ class Order(models.Model):
|
||||
|
||||
config = models.ForeignKey(ESP32Config, on_delete=models.CASCADE, verbose_name="所选配置", null=True, blank=True, related_name='orders')
|
||||
course = models.ForeignKey('VCCourse', on_delete=models.SET_NULL, null=True, blank=True, verbose_name="所选课程", related_name='orders')
|
||||
activity = models.ForeignKey('community.Activity', on_delete=models.SET_NULL, null=True, blank=True, verbose_name="所选活动", related_name='orders')
|
||||
quantity = models.IntegerField(default=1, verbose_name="数量")
|
||||
total_price = models.DecimalField(max_digits=10, decimal_places=2, verbose_name="总价")
|
||||
status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='pending', verbose_name="订单状态")
|
||||
|
||||
@@ -508,6 +508,19 @@ def payment_finish(request):
|
||||
order.save()
|
||||
print(f"订单 {order.id} 状态已更新")
|
||||
|
||||
# Handle Activity Signup
|
||||
if hasattr(order, 'activity') and order.activity:
|
||||
try:
|
||||
# Use string import to avoid circular dependency at module level
|
||||
from community.models import ActivitySignup
|
||||
signup = ActivitySignup.objects.filter(order=order).first()
|
||||
if signup:
|
||||
signup.status = 'confirmed'
|
||||
signup.save()
|
||||
print(f"活动报名状态已更新: {signup.id}")
|
||||
except Exception as e:
|
||||
print(f"更新活动报名状态失败: {str(e)}")
|
||||
|
||||
# 计算佣金 (旧版销售员系统)
|
||||
try:
|
||||
salesperson = order.salesperson
|
||||
|
||||
Reference in New Issue
Block a user