|
@@ -0,0 +1,139 @@
|
|
|
|
+# coding=utf-8
|
|
|
|
+
|
|
|
|
+from django.db import models
|
|
|
|
+from django.db.models import Q
|
|
|
|
+from django.conf import settings
|
|
|
|
+from django.utils import timezone
|
|
|
|
+
|
|
|
|
+from apps.customer.models import Customer
|
|
|
|
+from apps.order.models import Order
|
|
|
|
+
|
|
|
|
+'''
|
|
|
|
+现金返利及现金变动记录
|
|
|
|
+'''
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class CashLog(models.Model):
|
|
|
|
+ CASH_REBATE = 1
|
|
|
|
+ TYPE_CHOICES = (
|
|
|
|
+ (CASH_REBATE, u'现金返利'),
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ customer = models.ForeignKey(Customer, verbose_name=u'客户', on_delete=models.PROTECT)
|
|
|
|
+ type = models.PositiveSmallIntegerField(choices=TYPE_CHOICES, verbose_name=u"类型")
|
|
|
|
+ happen_time = models.DateTimeField(verbose_name=u"发生时间", default=timezone.now)
|
|
|
|
+ amount = models.BigIntegerField(verbose_name=u"变动额")
|
|
|
|
+ balance = models.BigIntegerField(verbose_name=u"余额")
|
|
|
|
+
|
|
|
|
+ class Meta:
|
|
|
|
+ db_table = "cash_log"
|
|
|
|
+ verbose_name = u'现金日志'
|
|
|
|
+ ordering = []
|
|
|
|
+ index_together = ()
|
|
|
|
+ default_permissions = ()
|
|
|
|
+ permissions = []
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class CashRebate(models.Model):
|
|
|
|
+
|
|
|
|
+ order = models.ForeignKey(Order, verbose_name=u'订单', related_name='cash_rebate_order', editable=False, on_delete=models.PROTECT)
|
|
|
|
+ ratio = models.FloatField(verbose_name=u'返利比例', default=0)
|
|
|
|
+ amount = models.BigIntegerField(verbose_name=u'返利金额', default=0)
|
|
|
|
+ customer = models.ForeignKey(Customer, verbose_name=u'客户', editable=False, on_delete=models.PROTECT)
|
|
|
|
+ create_time = models.DateTimeField(verbose_name=u"创建时间", default=timezone.now, editable=False)
|
|
|
|
+
|
|
|
|
+ class Meta:
|
|
|
|
+ db_table = "cash_rebate"
|
|
|
|
+ verbose_name = u'现金返利'
|
|
|
|
+ ordering = []
|
|
|
|
+ index_together = ()
|
|
|
|
+ default_permissions = ()
|
|
|
|
+ permissions = []
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class CashRebateLog(models.Model):
|
|
|
|
+ rebate = models.OneToOneField(CashRebate, verbose_name=u'现金返利', related_name='rebate', editable=False, on_delete=models.PROTECT)
|
|
|
|
+ log = models.OneToOneField(CashLog, verbose_name=u'日志', related_name='rebate_log', editable=False, on_delete=models.PROTECT)
|
|
|
|
+
|
|
|
|
+ class Meta:
|
|
|
|
+ db_table = "cahs_rebate_log"
|
|
|
|
+ verbose_name = u'现金返利日志'
|
|
|
|
+ ordering = []
|
|
|
|
+ index_together = ()
|
|
|
|
+ default_permissions = ()
|
|
|
|
+ permissions = []
|
|
|
|
+
|
|
|
|
+'''
|
|
|
|
+积分返利及积分变动记录
|
|
|
|
+'''
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class PointLog(models.Model):
|
|
|
|
+
|
|
|
|
+ POINT_REBATE = 1
|
|
|
|
+ POINT_ORDER = 2
|
|
|
|
+ TYPE_CHOICES = (
|
|
|
|
+ (POINT_REBATE, u'积分返利'),
|
|
|
|
+ (POINT_ORDER, u'积分兑换'),
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ customer = models.ForeignKey(Customer, verbose_name=u'客户', on_delete=models.PROTECT)
|
|
|
|
+ type = models.PositiveSmallIntegerField(choices=TYPE_CHOICES, verbose_name=u"类型")
|
|
|
|
+ happen_time = models.DateTimeField(verbose_name=u"发生时间", default=timezone.now)
|
|
|
|
+ amount = models.IntegerField(verbose_name=u"变动额")
|
|
|
|
+ balance = models.IntegerField(verbose_name=u"余额")
|
|
|
|
+
|
|
|
|
+ class Meta:
|
|
|
|
+ db_table = "point_log"
|
|
|
|
+ verbose_name = u'积分日志'
|
|
|
|
+ ordering = []
|
|
|
|
+ index_together = ()
|
|
|
|
+ default_permissions = ()
|
|
|
|
+ permissions = []
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class PointRebate(models.Model):
|
|
|
|
+
|
|
|
|
+ order = models.ForeignKey(Order, verbose_name=u'订单', related_name='point_rebate_order', editable=False, on_delete=models.PROTECT)
|
|
|
|
+ ratio = models.FloatField(verbose_name=u'返利比例', default=0)
|
|
|
|
+ amount = models.IntegerField(verbose_name=u'返利积分', default=0)
|
|
|
|
+ customer = models.ForeignKey(Customer, verbose_name=u'客户', editable=False, on_delete=models.PROTECT)
|
|
|
|
+ create_time = models.DateTimeField(verbose_name=u"创建时间", default=timezone.now, editable=False)
|
|
|
|
+
|
|
|
|
+ class Meta:
|
|
|
|
+ db_table = "point_rebate"
|
|
|
|
+ verbose_name = u'积分返利'
|
|
|
|
+ ordering = []
|
|
|
|
+ index_together = ()
|
|
|
|
+ default_permissions = ()
|
|
|
|
+ permissions = []
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class PointLogOrder(models.Model):
|
|
|
|
+
|
|
|
|
+ order = models.OneToOneField(Order, verbose_name=u'订单', related_name='order', editable=False, on_delete=models.PROTECT)
|
|
|
|
+ log = models.OneToOneField(PointLog, verbose_name=u'日志', related_name='order_log', editable=False, on_delete=models.PROTECT)
|
|
|
|
+
|
|
|
|
+ class Meta:
|
|
|
|
+ db_table = "point_log_order"
|
|
|
|
+ verbose_name = u'积分兑换日志'
|
|
|
|
+ ordering = []
|
|
|
|
+ index_together = ()
|
|
|
|
+ default_permissions = ()
|
|
|
|
+ permissions = []
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class PointLogRebate(models.Model):
|
|
|
|
+ rebate = models.OneToOneField(PointRebate, verbose_name=u'积分返利', related_name='rebate', editable=False, on_delete=models.PROTECT)
|
|
|
|
+ log = models.OneToOneField(PointLog, verbose_name=u'日志', related_name='rebate_log', editable=False, on_delete=models.PROTECT)
|
|
|
|
+
|
|
|
|
+ class Meta:
|
|
|
|
+ db_table = "point_log_rebate"
|
|
|
|
+ verbose_name = u'积分返利日志'
|
|
|
|
+ ordering = []
|
|
|
|
+ index_together = ()
|
|
|
|
+ default_permissions = ()
|
|
|
|
+ permissions = []
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|