|
@@ -0,0 +1,126 @@
|
|
|
+#coding=utf-8
|
|
|
+
|
|
|
+from django.db import models
|
|
|
+from django.contrib.auth.models import AbstractBaseUser, BaseUserManager, Group, PermissionsMixin
|
|
|
+from django.utils import timezone
|
|
|
+from django.conf import settings
|
|
|
+
|
|
|
+from apps.exceptions import CustomError
|
|
|
+from apps.foundation.consts import CONTENT_TYPE_SORTING, MENU_TO_MODEL
|
|
|
+
|
|
|
+from apps.foundation.models import BizLog
|
|
|
+
|
|
|
+class Branch(models.Model):
|
|
|
+ name = models.CharField(max_length=200, verbose_name=u"名称")
|
|
|
+ tel = models.CharField(max_length=50, verbose_name=u"电话")
|
|
|
+ address = models.CharField(max_length=200, verbose_name=u"地址")
|
|
|
+ enabled = models.BooleanField(verbose_name=u"在用", default=True)
|
|
|
+ create_time = models.DateTimeField(verbose_name=u"添加时间", auto_now_add=True, editable=False)
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ db_table = "branch"
|
|
|
+ ordering = ['-id']
|
|
|
+ verbose_name = u"门店管理"
|
|
|
+
|
|
|
+
|
|
|
+class Member(models.Model):
|
|
|
+ branch = models.ForeignKey(Branch, verbose_name=u"门店", on_delete=models.PROTECT, null=True, blank=True)
|
|
|
+ nickname = models.CharField(max_length=200, verbose_name=u"名称")
|
|
|
+ tel = models.CharField(max_length=50, verbose_name=u"电话")
|
|
|
+ create_time = models.DateTimeField(verbose_name=u"添加时间", auto_now_add=True, editable=False)
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ db_table = "member"
|
|
|
+ ordering = ['-id']
|
|
|
+ verbose_name = u"会员管理"
|
|
|
+
|
|
|
+
|
|
|
+class Activity(models.Model):
|
|
|
+ branch = models.ForeignKey(Branch, verbose_name=u"门店", on_delete=models.PROTECT)
|
|
|
+ title = models.CharField(max_length=200, verbose_name=u"标题")
|
|
|
+ describe = models.TextField(verbose_name=u'活动介绍')
|
|
|
+ end_date = models.DateField(verbose_name=u"截止日期")
|
|
|
+ amount = models.FloatField(verbose_name=u"费用", default=0)
|
|
|
+ rebate = models.FloatField(verbose_name=u"返利", default=0)
|
|
|
+ check_status = models.PositiveSmallIntegerField(choices=settings.CHECK_STATUS_CHOICES, verbose_name=u"审核",
|
|
|
+ editable=False, default=settings.DEFAULT)
|
|
|
+ branch_name = models.CharField(max_length=200, verbose_name=u"门店名称", null=True, blank=True)
|
|
|
+ branch_tel = models.CharField(max_length=50, verbose_name=u"门店电话", null=True, blank=True)
|
|
|
+ branch_address = models.CharField(max_length=200, verbose_name=u"门店地址", null=True, blank=True)
|
|
|
+ create_time = models.DateTimeField(verbose_name=u"添加时间", auto_now_add=True, editable=False)
|
|
|
+ enabled = models.BooleanField(verbose_name=u"在用", default=True)
|
|
|
+ delete = models.BooleanField(verbose_name=u"删除", default=False)
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ db_table = "activity"
|
|
|
+ ordering = ['-id']
|
|
|
+ verbose_name = u"活动管理"
|
|
|
+
|
|
|
+
|
|
|
+class Order(models.Model):
|
|
|
+ DEFAULT = 0
|
|
|
+ FINISH = 1
|
|
|
+ STATUS_CHOICES = (
|
|
|
+ (DEFAULT, u'待付款'),
|
|
|
+ (FINISH, u'已完成'),
|
|
|
+ )
|
|
|
+ branch = models.ForeignKey(Branch, verbose_name=u"门店", on_delete=models.PROTECT)
|
|
|
+ activity = models.ForeignKey(Activity, verbose_name=u"活动", on_delete=models.PROTECT)
|
|
|
+ amount = models.FloatField(verbose_name=u"费用", default=0)
|
|
|
+ status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u"状态", default=DEFAULT, editable=False)
|
|
|
+ model = models.CharField(max_length=200, verbose_name=u"车型", null=True, blank=True)
|
|
|
+ tel = models.CharField(max_length=100, verbose_name=u"电话", null=True, blank=True)
|
|
|
+ number = models.CharField(max_length=50, verbose_name=u"车牌号", null=True, blank=True)
|
|
|
+ create_time = models.DateTimeField(verbose_name=u"添加时间", auto_now_add=True, editable=False)
|
|
|
+ delete = models.BooleanField(verbose_name=u"删除", default=False)
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ db_table = "order"
|
|
|
+ ordering = ['-id']
|
|
|
+ verbose_name = u"订单管理"
|
|
|
+
|
|
|
+
|
|
|
+class Coupon(models.Model):
|
|
|
+ FIXED_DATE = 0
|
|
|
+ RECEIVE_TIMING = 1
|
|
|
+ OFF_TYPE_CHOICES = (
|
|
|
+ (FIXED_DATE, u'固定日期'),
|
|
|
+ (RECEIVE_TIMING, u'领取计时'),
|
|
|
+ )
|
|
|
+ branch = models.ForeignKey(Branch, verbose_name=u"门店", on_delete=models.PROTECT)
|
|
|
+ name = models.CharField(max_length=200, verbose_name=u"名称")
|
|
|
+ off_type = models.PositiveSmallIntegerField(choices=OFF_TYPE_CHOICES, verbose_name=u"核销方式", default=FIXED_DATE)
|
|
|
+ end_date = models.DateField(verbose_name=u"截止日期", null=True, blank=True)
|
|
|
+ end_days = models.IntegerField(verbose_name=u"截止天数", null=True, blank=True)
|
|
|
+ create_time = models.DateTimeField(verbose_name=u"添加时间", auto_now_add=True, editable=False)
|
|
|
+ enabled = models.BooleanField(verbose_name=u"在用", default=True)
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ db_table = "coupon"
|
|
|
+ ordering = ['-id']
|
|
|
+ verbose_name = u"优惠券"
|
|
|
+
|
|
|
+
|
|
|
+class MemberCoupon(models.Model):
|
|
|
+ member = models.ForeignKey(Member, verbose_name=u"会员", on_delete=models.PROTECT)
|
|
|
+ coupon = models.ForeignKey(Coupon, verbose_name=u"优惠券", on_delete=models.PROTECT)
|
|
|
+ receive_date = models.DateField(verbose_name=u"领取日期", null=True, blank=True)
|
|
|
+ end_date = models.DateField(verbose_name=u"有效期至", null=True, blank=True)
|
|
|
+ write_off = models.BooleanField(verbose_name=u"核销", default=True)
|
|
|
+ write_off_time = models.DateTimeField(verbose_name=u"核销时间", editable=False, null=True, blank=True)
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ db_table = "member_coupon"
|
|
|
+ ordering = ['-id']
|
|
|
+ verbose_name = u"会员优惠券"
|
|
|
+
|
|
|
+
|
|
|
+class ActivityCoupon(models.Model):
|
|
|
+ activity = models.ForeignKey(Activity, verbose_name=u"活动", on_delete=models.PROTECT)
|
|
|
+ coupon = models.ForeignKey(Coupon, verbose_name=u"优惠券", on_delete=models.PROTECT)
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ db_table = "activity_coupon"
|
|
|
+ ordering = ['-id']
|
|
|
+ verbose_name = u"活动优惠券"
|
|
|
+
|