lyh 3 yıl önce
ebeveyn
işleme
0163eb9176

+ 3 - 84
apps/account/models.py

@@ -9,6 +9,7 @@ from apps.exceptions import CustomError
 from apps.foundation.consts import CONTENT_TYPE_SORTING, MENU_TO_MODEL
 
 from apps.foundation.models import BizLog
+from apps.activity.models import Branch
 
 class UserManager(BaseUserManager):
     def create_user(self, username, password=None, **extra_fields):
@@ -79,15 +80,9 @@ class UserManager(BaseUserManager):
         #            g.permissions.remove(pk)
 
 class User(AbstractBaseUser, PermissionsMixin):
-    DIMISSION = 0
-    INSERVICE = 1
-    STATUS_CHOICES = (
-        (DIMISSION, u'离职'),
-        (INSERVICE, u'在职'),
-    )
+    branch = models.ForeignKey(Branch, verbose_name=u"门店",  on_delete=models.PROTECT, null=True, blank=True)
     name = models.CharField(max_length=20, verbose_name=u"姓名")
     username = models.CharField(max_length=30, verbose_name=u'账号', unique=True, db_index=True,error_messages={'unique': u'已存在'})
-    status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u"是否在职", default=INSERVICE)
     tel = models.CharField(max_length=15, verbose_name=u"手机号码", null=True, blank=True)
     gender = models.PositiveSmallIntegerField(choices=settings.GENDER_CHOICES, verbose_name=u"性别",null=True,blank=True)
     ID_card = models.CharField(max_length=18, verbose_name=u"身份证号", null=True, blank=True)
@@ -95,6 +90,7 @@ class User(AbstractBaseUser, PermissionsMixin):
     #department = models.ForeignKey('Department', verbose_name=u"所属部门", null=True, blank=True, on_delete=models.PROTECT)
     title = models.CharField(max_length=20, verbose_name=u"工作岗位", null=True, blank=True)
     date_joined = models.DateTimeField(verbose_name=u'注册时间', default=timezone.now, null=True)
+    enabled = models.BooleanField(verbose_name=u"在用", default=True)
 
     objects = UserManager()
 
@@ -129,80 +125,3 @@ class User(AbstractBaseUser, PermissionsMixin):
             ("add_user", u"添加"),
             ("delete_user", u"删除"),
         )
-
-# class SubDepartment(models.Model):
-#     user = models.ForeignKey(User, verbose_name=u"用户", on_delete=models.PROTECT)
-#     department = models.ForeignKey('Department', verbose_name=u"管辖部门", on_delete=models.PROTECT)
-#
-#     class Meta:
-#         db_table = "sub_department"
-#         verbose_name = u"退货查询"
-#         default_permissions = ()
-#         permissions = ( # 管辖部门
-#             ("view_material_godownentry_return_query", u"浏览"),
-#             ("export_material_godownentry_return_query", u"导出"),
-#             ("print_material_godownentry_return_query", u"打印"),
-#         )
-#
-#
-# class SubEmployee(models.Model):
-#     user = models.ForeignKey(User, verbose_name=u"用户", related_name='sub_employee_ref_user', on_delete=models.PROTECT)
-#     employee = models.ForeignKey(User, verbose_name=u"员工", related_name='sub_employee_ref_employee', on_delete=models.PROTECT)
-#
-#     class Meta:
-#         db_table = "sub_employee"
-#         verbose_name = u"退货查询"
-#         default_permissions = ()
-#         permissions = (  # 管辖员工
-#             ("view_consumable_godownentry_return_query", u"浏览"),
-#             ("export_consumable_godownentry_return_query", u"导出"),
-#             ("print_consumable_godownentry_return_query", u"打印"),
-#         )
-#
-# class Department(models.Model):
-#     name = models.CharField(max_length=100, verbose_name=u"名称")
-#     notes = models.CharField(max_length=500, verbose_name=u"备注",blank=True,null=True)
-#     parent_id = models.IntegerField(verbose_name=u"父部门",null=True,blank=True)
-#     lft = models.IntegerField(verbose_name=u"左值")
-#     rgt = models.IntegerField(verbose_name=u"右值")
-#
-#     def __str__(self):
-#         return self.name
-#
-#     def __unicode__(self):
-#         return self.name
-#
-#     @staticmethod
-#     def getById(id):
-#         try:
-#             id = int(id)
-#         except:
-#             raise CustomError(u'无效的部门ID')
-#
-#         instance = Department.objects.filter(pk=id).first()
-#         if not instance:
-#             raise CustomError(u'未找到相应的部门')
-#         return instance
-#
-#     def getCompany(self):
-#         instance = Department.objects.filter(parent_id__isnull=True, lft__lte=self.lft, rgt__gte=self.rgt).first()
-#         if not instance:
-#             raise CustomError(u'未找到部门所属的公司')
-#         return instance
-#
-#     @staticmethod
-#     def getLft(instance):
-#         if instance:
-#             return instance.lft
-#         return 1
-#
-#     class Meta:
-#         db_table = "department"
-#         verbose_name = u"组织结构管理"
-#         ordering = ["parent_id", 'id']
-#         default_permissions = ()
-#         permissions = (
-#             ("view_department", u"浏览"),
-#             ("add_department", u"添加"),
-#             ("delete_department", u"删除"),
-#         )

+ 0 - 0
apps/activity/__init__.py


+ 126 - 0
apps/activity/models.py

@@ -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"活动优惠券"
+

+ 0 - 3
carwin_activity/const.py

@@ -28,16 +28,13 @@ EDUCATION_CHOICES = (
 
 DEFAULT = 0
 PASS = 1
-CHECKING = 2
 CHECK_STATUS_CHOICES = (
     (DEFAULT, u'待审核'),
     (PASS, u'已审核'),
-    (CHECKING, u'审核中'),
 )
 CHECK_STATUS_ICONS = (
     (DEFAULT, u'待审核', 'icon-normal'),
     (PASS, u'已审核', 'icon-pass'),
-    (CHECKING, u'审核中', 'icon-normal'),
 )
 
 SMS_PRODUCT_SALE = 29

+ 1 - 0
carwin_activity/settings.py

@@ -50,6 +50,7 @@ INSTALLED_APPS = [
     'apps.account',
     'apps.dashboard',
     'apps.foundation',
+    'apps.activity',
 ]
 
 MIDDLEWARE_CLASSES = [