|
@@ -10,6 +10,30 @@ from apps.base import Formater
|
|
|
from apps.account.models import CustomerWechat
|
|
|
from django.contrib.auth import get_user_model
|
|
|
User = get_user_model()
|
|
|
+from apps.option.models import CommodityLevel, School
|
|
|
+
|
|
|
+class Coupon(models.Model):
|
|
|
+
|
|
|
+ name = models.CharField(max_length=50, verbose_name='优惠券名称', unique=True, null=True)
|
|
|
+ amount = models.BigIntegerField(verbose_name=u"优惠券金额")
|
|
|
+
|
|
|
+ category = models.ForeignKey(CommodityLevel, verbose_name='使用分类', on_delete=models.PROTECT, null=True,
|
|
|
+ related_name='coupon_category')
|
|
|
+ school = models.ForeignKey(School, verbose_name='使用学校', on_delete=models.PROTECT, null=True,
|
|
|
+ related_name='coupon_category')
|
|
|
+ create_time = models.DateTimeField(verbose_name=u"创建时间", default=timezone.now)
|
|
|
+ create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'创建人', related_name='coupon_create_user',
|
|
|
+ on_delete=models.PROTECT)
|
|
|
+ begin_date = models.DateField(verbose_name=u"开始时间", null=True)
|
|
|
+ end_date = models.DateField(verbose_name=u"结束时间", null=True)
|
|
|
+ enable = models.BooleanField(verbose_name=u"是否在用", default=True)
|
|
|
+ count = models.IntegerField(verbose_name=u"使用数量", default=0)
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ db_table = "coupon"
|
|
|
+ verbose_name = u"支付信息"
|
|
|
+ ordering = ('-id',)
|
|
|
+ default_permissions = ()
|
|
|
|
|
|
class Pay(models.Model):
|
|
|
WAIT = 0
|
|
@@ -109,6 +133,7 @@ class Order(models.Model):
|
|
|
|
|
|
no = models.CharField(max_length=50, verbose_name=u'订单号', blank=True)
|
|
|
pay = models.ForeignKey(Pay, verbose_name='支付信息', on_delete=models.PROTECT, null=True, editable=False)
|
|
|
+ coupon = models.ForeignKey(Coupon, verbose_name='优惠券', on_delete=models.PROTECT, null=True)
|
|
|
|
|
|
payment = models.PositiveSmallIntegerField(choices=PAYMENT_CHOICES, verbose_name=u'付款方式', default=ONLINE_PAY)
|
|
|
status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u"订单状态", default=WAIT_PAY)
|
|
@@ -119,15 +144,8 @@ class Order(models.Model):
|
|
|
student = models.ForeignKey(Student, verbose_name=u'学生', related_name='customer_order_student',
|
|
|
on_delete=models.PROTECT, null=True)
|
|
|
|
|
|
- commodity = models.ForeignKey(Commodity, verbose_name=u'商品', related_name='customer_order_commodity',
|
|
|
- on_delete=models.PROTECT, null=True)
|
|
|
- name = models.CharField(max_length=20, verbose_name=u"名称", editable=False, null=True)
|
|
|
- begin_date = models.DateField(verbose_name=u'起始日期', editable=False, null=True)
|
|
|
- end_date = models.DateField(verbose_name=u'终止日期', editable=False, null=True)
|
|
|
- price = models.IntegerField(verbose_name=u'每餐单价', null=True, default=0, editable=False)
|
|
|
- days = models.IntegerField(verbose_name=u'天数', null=True, default=0, editable=False)
|
|
|
total_amount = models.BigIntegerField(verbose_name=u'总金额', editable=False, default=0)
|
|
|
- balance_deduction = models.BigIntegerField(verbose_name=u'余额抵扣', editable=False, default=0)
|
|
|
+ coupon_deduction = models.BigIntegerField(verbose_name=u'优惠券抵扣', editable=False, default=0)
|
|
|
actual_amount = models.BigIntegerField(verbose_name=u'实付金额', editable=False, default=0)
|
|
|
|
|
|
class Meta:
|