models.py 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. #coding=utf-8
  2. from django.db import models
  3. from django.contrib.auth.models import AbstractBaseUser, BaseUserManager, Group, PermissionsMixin
  4. from django.utils import timezone
  5. from django.conf import settings
  6. from apps.exceptions import CustomError
  7. from apps.foundation.consts import CONTENT_TYPE_SORTING, MENU_TO_MODEL
  8. from apps.foundation.models import BizLog
  9. class Branch(models.Model):
  10. name = models.CharField(max_length=200, verbose_name=u"名称")
  11. tel = models.CharField(max_length=50, verbose_name=u"电话")
  12. address = models.CharField(max_length=200, verbose_name=u"地址")
  13. enabled = models.BooleanField(verbose_name=u"在用", default=True)
  14. create_time = models.DateTimeField(verbose_name=u"添加时间", auto_now_add=True, editable=False)
  15. class Meta:
  16. db_table = "branch"
  17. ordering = ['-id']
  18. verbose_name = u"门店管理"
  19. class Member(models.Model):
  20. branch = models.ForeignKey(Branch, verbose_name=u"门店", on_delete=models.PROTECT, null=True, blank=True)
  21. nickname = models.CharField(max_length=200, verbose_name=u"名称")
  22. tel = models.CharField(max_length=50, verbose_name=u"电话")
  23. create_time = models.DateTimeField(verbose_name=u"添加时间", auto_now_add=True, editable=False)
  24. class Meta:
  25. db_table = "member"
  26. ordering = ['-id']
  27. verbose_name = u"会员管理"
  28. class Activity(models.Model):
  29. branch = models.ForeignKey(Branch, verbose_name=u"门店", on_delete=models.PROTECT)
  30. title = models.CharField(max_length=200, verbose_name=u"标题")
  31. describe = models.TextField(verbose_name=u'活动介绍')
  32. end_date = models.DateField(verbose_name=u"截止日期")
  33. amount = models.FloatField(verbose_name=u"费用", default=0)
  34. rebate = models.FloatField(verbose_name=u"返利", default=0)
  35. check_status = models.PositiveSmallIntegerField(choices=settings.CHECK_STATUS_CHOICES, verbose_name=u"审核",
  36. editable=False, default=settings.DEFAULT)
  37. branch_name = models.CharField(max_length=200, verbose_name=u"门店名称", null=True, blank=True)
  38. branch_tel = models.CharField(max_length=50, verbose_name=u"门店电话", null=True, blank=True)
  39. branch_address = models.CharField(max_length=200, verbose_name=u"门店地址", null=True, blank=True)
  40. create_time = models.DateTimeField(verbose_name=u"添加时间", auto_now_add=True, editable=False)
  41. enabled = models.BooleanField(verbose_name=u"在用", default=True)
  42. delete = models.BooleanField(verbose_name=u"删除", default=False)
  43. class Meta:
  44. db_table = "activity"
  45. ordering = ['-id']
  46. verbose_name = u"活动管理"
  47. class Order(models.Model):
  48. DEFAULT = 0
  49. FINISH = 1
  50. STATUS_CHOICES = (
  51. (DEFAULT, u'待付款'),
  52. (FINISH, u'已完成'),
  53. )
  54. branch = models.ForeignKey(Branch, verbose_name=u"门店", on_delete=models.PROTECT)
  55. activity = models.ForeignKey(Activity, verbose_name=u"活动", on_delete=models.PROTECT)
  56. amount = models.FloatField(verbose_name=u"费用", default=0)
  57. status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u"状态", default=DEFAULT, editable=False)
  58. model = models.CharField(max_length=200, verbose_name=u"车型", null=True, blank=True)
  59. tel = models.CharField(max_length=100, verbose_name=u"电话", null=True, blank=True)
  60. number = models.CharField(max_length=50, verbose_name=u"车牌号", null=True, blank=True)
  61. create_time = models.DateTimeField(verbose_name=u"添加时间", auto_now_add=True, editable=False)
  62. delete = models.BooleanField(verbose_name=u"删除", default=False)
  63. class Meta:
  64. db_table = "order"
  65. ordering = ['-id']
  66. verbose_name = u"订单管理"
  67. class Coupon(models.Model):
  68. FIXED_DATE = 0
  69. RECEIVE_TIMING = 1
  70. OFF_TYPE_CHOICES = (
  71. (FIXED_DATE, u'固定日期'),
  72. (RECEIVE_TIMING, u'领取计时'),
  73. )
  74. branch = models.ForeignKey(Branch, verbose_name=u"门店", on_delete=models.PROTECT)
  75. name = models.CharField(max_length=200, verbose_name=u"名称")
  76. off_type = models.PositiveSmallIntegerField(choices=OFF_TYPE_CHOICES, verbose_name=u"核销方式", default=FIXED_DATE)
  77. end_date = models.DateField(verbose_name=u"截止日期", null=True, blank=True)
  78. end_days = models.IntegerField(verbose_name=u"截止天数", null=True, blank=True)
  79. create_time = models.DateTimeField(verbose_name=u"添加时间", auto_now_add=True, editable=False)
  80. enabled = models.BooleanField(verbose_name=u"在用", default=True)
  81. class Meta:
  82. db_table = "coupon"
  83. ordering = ['-id']
  84. verbose_name = u"优惠券"
  85. class MemberCoupon(models.Model):
  86. member = models.ForeignKey(Member, verbose_name=u"会员", on_delete=models.PROTECT)
  87. coupon = models.ForeignKey(Coupon, verbose_name=u"优惠券", on_delete=models.PROTECT)
  88. receive_date = models.DateField(verbose_name=u"领取日期", null=True, blank=True)
  89. end_date = models.DateField(verbose_name=u"有效期至", null=True, blank=True)
  90. write_off = models.BooleanField(verbose_name=u"核销", default=True)
  91. write_off_time = models.DateTimeField(verbose_name=u"核销时间", editable=False, null=True, blank=True)
  92. class Meta:
  93. db_table = "member_coupon"
  94. ordering = ['-id']
  95. verbose_name = u"会员优惠券"
  96. class ActivityCoupon(models.Model):
  97. activity = models.ForeignKey(Activity, verbose_name=u"活动", on_delete=models.PROTECT)
  98. coupon = models.ForeignKey(Coupon, verbose_name=u"优惠券", on_delete=models.PROTECT)
  99. class Meta:
  100. db_table = "activity_coupon"
  101. ordering = ['-id']
  102. verbose_name = u"活动优惠券"