报名表单

This commit is contained in:
jeremygan2021
2026-02-23 15:07:55 +08:00
parent 6a391c5eab
commit db7a3bd000
11 changed files with 289 additions and 22 deletions

View 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='所选活动'),
),
]

View File

@@ -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="订单状态")

View File

@@ -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