models.py 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. # coding=utf-8
  2. from django.db import models
  3. from django.db.models import Q
  4. from django.conf import settings
  5. from django.utils import timezone
  6. from apps.customer.models import Customer
  7. from apps.order.models import Order
  8. '''
  9. 现金返利及现金变动记录
  10. '''
  11. class CashLog(models.Model):
  12. CASH_REBATE = 1
  13. TYPE_CHOICES = (
  14. (CASH_REBATE, u'现金返利'),
  15. )
  16. customer = models.ForeignKey(Customer, verbose_name=u'客户', on_delete=models.PROTECT)
  17. type = models.PositiveSmallIntegerField(choices=TYPE_CHOICES, verbose_name=u"类型")
  18. happen_time = models.DateTimeField(verbose_name=u"发生时间", default=timezone.now)
  19. amount = models.BigIntegerField(verbose_name=u"变动额")
  20. balance = models.BigIntegerField(verbose_name=u"余额")
  21. class Meta:
  22. db_table = "cash_log"
  23. verbose_name = u'现金日志'
  24. ordering = []
  25. index_together = ()
  26. default_permissions = ()
  27. permissions = []
  28. class CashRebate(models.Model):
  29. order = models.ForeignKey(Order, verbose_name=u'订单', related_name='cash_rebate_order', editable=False, on_delete=models.PROTECT)
  30. ratio = models.FloatField(verbose_name=u'返利比例', default=0)
  31. amount = models.BigIntegerField(verbose_name=u'返利金额', default=0)
  32. customer = models.ForeignKey(Customer, verbose_name=u'客户', editable=False, on_delete=models.PROTECT)
  33. create_time = models.DateTimeField(verbose_name=u"创建时间", default=timezone.now, editable=False)
  34. class Meta:
  35. db_table = "cash_rebate"
  36. verbose_name = u'现金返利'
  37. ordering = []
  38. index_together = ()
  39. default_permissions = ()
  40. permissions = []
  41. class CashRebateLog(models.Model):
  42. rebate = models.OneToOneField(CashRebate, verbose_name=u'现金返利', related_name='rebate', editable=False, on_delete=models.PROTECT)
  43. log = models.OneToOneField(CashLog, verbose_name=u'日志', related_name='rebate_log', editable=False, on_delete=models.PROTECT)
  44. class Meta:
  45. db_table = "cahs_rebate_log"
  46. verbose_name = u'现金返利日志'
  47. ordering = []
  48. index_together = ()
  49. default_permissions = ()
  50. permissions = []
  51. '''
  52. 积分返利及积分变动记录
  53. '''
  54. class PointLog(models.Model):
  55. POINT_REBATE = 1
  56. POINT_ORDER = 2
  57. TYPE_CHOICES = (
  58. (POINT_REBATE, u'积分返利'),
  59. (POINT_ORDER, u'积分兑换'),
  60. )
  61. customer = models.ForeignKey(Customer, verbose_name=u'客户', on_delete=models.PROTECT)
  62. type = models.PositiveSmallIntegerField(choices=TYPE_CHOICES, verbose_name=u"类型")
  63. happen_time = models.DateTimeField(verbose_name=u"发生时间", default=timezone.now)
  64. amount = models.IntegerField(verbose_name=u"变动额")
  65. balance = models.IntegerField(verbose_name=u"余额")
  66. class Meta:
  67. db_table = "point_log"
  68. verbose_name = u'积分日志'
  69. ordering = []
  70. index_together = ()
  71. default_permissions = ()
  72. permissions = []
  73. class PointRebate(models.Model):
  74. order = models.ForeignKey(Order, verbose_name=u'订单', related_name='point_rebate_order', editable=False, on_delete=models.PROTECT)
  75. ratio = models.FloatField(verbose_name=u'返利比例', default=0)
  76. amount = models.IntegerField(verbose_name=u'返利积分', default=0)
  77. customer = models.ForeignKey(Customer, verbose_name=u'客户', editable=False, on_delete=models.PROTECT)
  78. create_time = models.DateTimeField(verbose_name=u"创建时间", default=timezone.now, editable=False)
  79. class Meta:
  80. db_table = "point_rebate"
  81. verbose_name = u'积分返利'
  82. ordering = []
  83. index_together = ()
  84. default_permissions = ()
  85. permissions = []
  86. class PointLogOrder(models.Model):
  87. order = models.OneToOneField(Order, verbose_name=u'订单', related_name='order', editable=False, on_delete=models.PROTECT)
  88. log = models.OneToOneField(PointLog, verbose_name=u'日志', related_name='order_log', editable=False, on_delete=models.PROTECT)
  89. class Meta:
  90. db_table = "point_log_order"
  91. verbose_name = u'积分兑换日志'
  92. ordering = []
  93. index_together = ()
  94. default_permissions = ()
  95. permissions = []
  96. class PointLogRebate(models.Model):
  97. rebate = models.OneToOneField(PointRebate, verbose_name=u'积分返利', related_name='rebate', editable=False, on_delete=models.PROTECT)
  98. log = models.OneToOneField(PointLog, verbose_name=u'日志', related_name='rebate_log', editable=False, on_delete=models.PROTECT)
  99. class Meta:
  100. db_table = "point_log_rebate"
  101. verbose_name = u'积分返利日志'
  102. ordering = []
  103. index_together = ()
  104. default_permissions = ()
  105. permissions = []