|
# -*- coding: utf-8 -*-
from django.db import models
from django.utils.translation import ugettext_lazy as _
from django_models_ext import BaseModelMixin, upload_file_url, upload_path
from shortuuidfield import ShortUUIDField
class SalesResponsibilityInfo(BaseModelMixin):
REFUSED = -1
UNVERIFIED = 0
ACTIVATED = 1
DISABLED = 2
DELETED = 3
ASSIGN = 10
USER_STATUS_TUPLE = (
(REFUSED, u'已拒绝'),
(UNVERIFIED, u'未验证'),
(ACTIVATED, u'已激活'),
(DISABLED, u'已禁用'),
(DELETED, u'已删除'),
(ASSIGN, u'已分配'),
)
brand_id = models.CharField(_(u'brand_id'), max_length=32, blank=True, null=True, help_text=u'品牌唯一标识', db_index=True)
brand_name = models.CharField(_(u'brand_name'), max_length=255, blank=True, null=True, help_text=u'品牌名称')
sr_id = ShortUUIDField(_(u'sr_id'), max_length=32, blank=True, null=True, help_text=u'销售担当唯一标识', db_index=True, unique=True)
user_id = models.CharField(_(u'user_id'), max_length=32, blank=True, null=True, help_text=u'用户唯一标识', db_index=True)
name = models.CharField(_(u'name'), max_length=255, blank=True, null=True, help_text=u'销售担当姓名')
phone = models.CharField(_(u'phone'), max_length=11, blank=True, null=True, help_text=u'销售担当联系电话')
user_status = models.IntegerField(_(u'user_status'), choices=USER_STATUS_TUPLE, default=UNVERIFIED, help_text=u'用户状态', db_index=True)
refused_reason = models.TextField(_(u'refused_reason'), blank=True, null=True, help_text=u'审核拒绝原因')
is_auth = models.BooleanField(_(u'is_auth'), default=False, help_text=_(u'是否已授权'), db_index=True)
is_super = models.BooleanField(_(u'is_super'), default=False, help_text=_(u'是否超级销售担当'), db_index=True)
class Meta:
verbose_name = _(u'销售担当信息')
verbose_name_plural = _(u'销售担当信息')
unique_together = (
('brand_id', 'sr_id'),
)
def __unicode__(self):
return u'{}-{}'.format(self.name, self.phone)
@property
def admindata(self):
return {
'brand_id': self.brand_id,
'brand_name': self.brand_name,
'sr_id': self.sr_id,
'name': self.name,
'phone': self.phone,
'status': self.user_status,
'refused_reason': self.refused_reason,
'is_auth': self.is_auth,
}
data = admindata
class SalesResponsibilityInfoModelsSaleStatisticInfo(BaseModelMixin):
brand_id = models.CharField(_(u'brand_id'), max_length=32, blank=True, null=True, help_text=u'品牌唯一标识', db_index=True)
# 经销商
distributor_id = models.CharField(_(u'distributor_id'), max_length=32, help_text=u'经销商唯一标识', db_index=True)
distributor_name = models.CharField(_(u'distributor_name'), max_length=255, blank=True, null=True, help_text=u'经销商名称')
# 型号
model_id = models.CharField(_(u'model_id'), max_length=32, help_text=u'型号唯一标识', db_index=True)
model_name = models.CharField(_(u'model_name'), max_length=255, blank=True, null=True, help_text=u'型号名称', db_index=True)
is_important = models.BooleanField(_(u'is_important'), default=True, help_text=_(u'是否重要型号'), db_index=True)
ymd = models.IntegerField(_(u'ymd'), default=0, help_text=u'年月日', db_index=True) # 例:20171208, tc.local_string(format='%Y%m%d'), 0 为全部
today_num = models.IntegerField(_(u'today_num'), default=0, help_text=u'支数(今日)')
yesterday_num = models.IntegerField(_(u'yesterday_num'), default=0, help_text=u'支数(昨日)')
current_month = models.IntegerField(_(u'current_month'), default=0, help_text=u'支数(本月)')
last_month = models.IntegerField(_(u'last_month'), default=0, help_text=u'支数(上月)')
position = models.IntegerField(_(u'position'), default=1, help_text=u'排序')
class Meta:
verbose_name = _(u'[销售担当]型号销量统计')
verbose_name_plural = _(u'[销售担当]型号销量统计')
def __unicode__(self):
return unicode(self.pk)
@property
def data(self):
return {
'model_id': self.model_id,
'model_name': self.model_name,
'is_important': self.is_important,
'today_num': self.today_num,
'yesterday_num': self.yesterday_num,
'current_month': self.current_month,
'last_month': self.last_month,
}
class SuperSalesResponsibilityInfoModelsSaleStatisticInfo(BaseModelMixin):
brand_id = models.CharField(_(u'brand_id'), max_length=32, blank=True, null=True, help_text=u'品牌唯一标识', db_index=True)
# 销售担当
sr_id = models.CharField(_(u'sr_id'), max_length=32, help_text=u'销售担当唯一标识', db_index=True)
sr_name = models.CharField(_(u'sr_name'), max_length=255, blank=True, null=True, help_text=u'销售担当名称')
ymd = models.IntegerField(_(u'ymd'), default=0, help_text=u'年月日', db_index=True) # 例:20171208, tc.local_string(format='%Y%m%d'), 0 为全部
today_num = models.IntegerField(_(u'today_num'), default=0, help_text=u'支数(今日)')
yesterday_num = models.IntegerField(_(u'yesterday_num'), default=0, help_text=u'支数(昨日)')
current_month = models.IntegerField(_(u'current_month'), default=0, help_text=u'支数(本月)')
last_month = models.IntegerField(_(u'last_month'), default=0, help_text=u'支数(上月)')
position = models.IntegerField(_(u'position'), default=1, help_text=u'排序')
class Meta:
verbose_name = _(u'[超级销售担当]销售担当销量统计')
verbose_name_plural = _(u'[超级销售担当]销售担当销量统计')
def __unicode__(self):
return unicode(self.pk)
@property
def data(self):
return {
'sr_id': self.sr_id,
'sr_name': self.sr_name,
'today_num': self.today_num,
'yesterday_num': self.yesterday_num,
'current_month': self.current_month,
'last_month': self.last_month,
}
|