123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298 |
- from django.db import models
- from django.utils.translation import ugettext_lazy as _
- from jsonfield import JSONField
- from pai2.basemodels import CreateUpdateMixin
- class LensmanInfo(CreateUpdateMixin):
- MALE = 1
- FEMALE = 0
- SEX_TYPE = (
- (MALE, u'男'),
- (FEMALE, u'女'),
- )
- REFUSED = -1
- UNVERIFIED = 0
- ACTIVATED = 1
- DISABLED = 2
- DELETED = 3
- ASSIGN = 10
- USER_STATUS = (
- (REFUSED, u'已拒绝'),
- (UNVERIFIED, u'未验证'),
- (ACTIVATED, u'已激活'),
- (DISABLED, u'已禁用'),
- (DELETED, u'已删除'),
- (ASSIGN, u'已分配'),
- )
- lensman_id = models.CharField(_(u'lensman_id'), max_length=255, blank=True, null=True, help_text=u'摄影师唯一标识', db_index=True, unique=True)
- unionid = models.CharField(_(u'unionid'), max_length=255, blank=True, null=True, help_text=u'微信 Union ID', db_index=True, unique=True)
- username = models.CharField(_(u'username'), max_length=255, blank=True, null=True, help_text=u'摄影师用户名', db_index=True, unique=True)
- password = models.CharField(_(u'password'), max_length=255, blank=True, null=True, help_text=u'摄影师密码')
- encryption = models.CharField(_(u'encryption'), max_length=255, blank=True, null=True, help_text=u'摄影师密码')
- name = models.CharField(_(u'name'), max_length=255, blank=True, null=True, help_text=u'摄影师姓名')
- sex = models.IntegerField(_(u'sex'), choices=SEX_TYPE, default=MALE, help_text=u'摄影师性别')
- phone = models.CharField(_(u'phone'), max_length=255, blank=True, null=True, help_text=u'摄影师电话', db_index=True, unique=True)
- location = models.CharField(_(u'location'), max_length=255, blank=True, null=True, help_text=u'摄影师地址')
- proportion = models.FloatField(_(u'proportion'), default=1.0, help_text=u'摄影师分成比例(0.0 ~ 1.0)')
- balance = models.IntegerField(_(u'balance'), default=0, help_text=u'摄影师余额(分)')
- user_status = models.IntegerField(_(u'user_status'), choices=USER_STATUS, default=UNVERIFIED)
- refused_reason = models.TextField(_(u'refused_reason'), blank=True, null=True, help_text=u'审核拒绝原因')
- signup_ip = models.CharField(_(u'signup_ip'), max_length=255, blank=True, null=True, help_text=_(u'注册IP'))
- login_ip = models.CharField(_(u'login_ip'), max_length=255, blank=True, null=True, help_text=_(u'登录IP'))
- login_at = models.DateTimeField(_(u'login_at'), blank=True, null=True, help_text=_(u'登录时间'))
- class Meta:
- verbose_name = _(u'lensmaninfo')
- verbose_name_plural = _(u'lensmaninfo')
- def __unicode__(self):
- return unicode(self.pk)
- @property
- def data(self):
- return {
- 'name': self.name,
- 'sex': self.sex,
- 'phone': self.phone,
- 'location': self.location,
- 'status': self.user_status,
- 'refused_reason': self.refused_reason,
- }
- class LensmanLoginLogInfo(CreateUpdateMixin):
- SUCCESS = 0
- PWD_ERROR = 1
- OTHER = 2
- LOGIN_RESULT = (
- (SUCCESS, u'登录成功'),
- (PWD_ERROR, u'密码错误'),
- (OTHER, u'其他'),
- )
- lensman_id = models.CharField(_(u'lensman_id'), max_length=255, blank=True, null=True, help_text=u'摄影师唯一标识', db_index=True)
- login_ip = models.CharField(_(u'login_ip'), max_length=255, blank=True, null=True, help_text=_(u'登录IP'))
- login_result = models.IntegerField(_(u'login_result'), choices=LOGIN_RESULT, default=SUCCESS)
- class Meta:
- verbose_name = _(u'lensmanloginloginfo')
- verbose_name_plural = _(u'lensmanloginloginfo')
- def __unicode__(self):
- return unicode(self.pk)
- class LensmanIncomeExpensesInfo(CreateUpdateMixin):
- INCOME = 0
- EXPENSE = 1
- TYPE = (
- (INCOME, u'收入'),
- (EXPENSE, u'支出'),
- )
- lensman_id = models.CharField(_(u'lensman_id'), max_length=255, blank=True, null=True, help_text=u'摄影师唯一标识', db_index=True)
- photo_id = models.CharField(_(u'photo_id'), max_length=255, blank=True, null=True, help_text=u'照片唯一标识', db_index=True)
- type = models.IntegerField(_(u'type'), choices=TYPE, default=INCOME, help_text=u'收支类别')
- amount = models.IntegerField(_(u'amount'), default=0, help_text=u'余额增减数量(分)')
- balance = models.IntegerField(_(u'balance'), default=0, help_text=u'余额增减后数量(分)')
- remark = models.CharField(_(u'remark'), max_length=255, blank=True, null=True, help_text=u'备注')
- class Meta:
- verbose_name = _(u'lensmanincomeexpensesinfo')
- verbose_name_plural = _(u'lensmanincomeexpensesinfo')
- def __unicode__(self):
- return unicode(self.pk)
- class WechatInfo(CreateUpdateMixin):
- MALE = 1
- FEMALE = 0
- SEX_TYPE = (
- (MALE, u'男'),
- (FEMALE, u'女'),
- )
- unionid = models.CharField(_(u'unionid'), max_length=255, blank=True, null=True, help_text=u'微信 Union ID')
- openids = JSONField(_(u'openids'), blank=True, null=True, help_text=u'微信 Open IDs')
- sex = models.IntegerField(_(u'sex'), choices=SEX_TYPE, default=MALE, help_text=u'用户性别')
- nickname = models.CharField(_(u'nickname'), max_length=255, blank=True, null=True, help_text=u'用户昵称')
- headimgurl = models.CharField(_(u'headimgurl'), max_length=255, blank=True, null=True, help_text=u'用户头像')
- country = models.CharField(_(u'country'), max_length=255, blank=True, null=True, help_text=u'用户国家')
- province = models.CharField(_(u'province'), max_length=255, blank=True, null=True, help_text=u'用户省份')
- city = models.CharField(_(u'city'), max_length=255, blank=True, null=True, help_text=u'用户城市')
- location = models.CharField(_(u'location'), max_length=255, blank=True, null=True, help_text=u'用户地址')
- class Meta:
- verbose_name = _(u'wechatinfo')
- verbose_name_plural = _(u'wechatinfo')
- def __unicode__(self):
- return unicode(self.pk)
- class UserInfo(CreateUpdateMixin):
- APP_USER = 0
- WX_USER = 1
- GUEST_USER = 9
- LENSMAN_USER = 10
- USER_FROM = (
- (APP_USER, u'APP 创建用户'),
- (WX_USER, u'微信授权用户'),
- (GUEST_USER, u'游客用户'),
- (LENSMAN_USER, u'摄影师用户'),
- )
- UNVERIFIED = 0
- ACTIVATED = 1
- DISABLED = 2
- DELETED = 3
- ASSIGN = 10
- USER_STATUS = (
- (UNVERIFIED, u'未验证'),
- (ACTIVATED, u'已激活'),
- (DISABLED, u'已禁用'),
- (DELETED, u'已删除'),
- (ASSIGN, u'已分配'),
- )
- MALE = 1
- FEMALE = 0
- SEX_TYPE = (
- (MALE, u'男'),
- (FEMALE, u'女'),
- )
- user_id = models.CharField(_(u'user_id'), max_length=255, blank=True, null=True, help_text=u'用户唯一标识', db_index=True, unique=True)
- user_from = models.IntegerField(_(u'user_from'), choices=USER_FROM, default=APP_USER, help_text=u'用户来源')
- uuid = models.CharField(_(u'uuid'), max_length=255, blank=True, null=True, help_text=u'通用唯一识别码 (Universally Unique Identifier)', db_index=True)
-
- username = models.CharField(_(u'username'), max_length=255, blank=True, null=True, help_text=u'用户用户名', db_index=True, unique=True)
- password = models.CharField(_(u'password'), max_length=255, blank=True, null=True, help_text=u'用户密码')
-
- openid = models.CharField(_(u'openid'), max_length=255, blank=True, null=True, help_text=u'微信 Open ID', db_index=True, unique=True)
- unionid = models.CharField(_(u'unionid'), max_length=255, blank=True, null=True, help_text=u'微信 Union ID', db_index=True, unique=True)
-
- name = models.CharField(_(u'name'), max_length=255, blank=True, null=True, help_text=u'用户姓名')
- sex = models.IntegerField(_(u'sex'), choices=SEX_TYPE, default=MALE, help_text=u'用户性别')
- nickname = models.CharField(_(u'nickname'), max_length=255, blank=True, null=True, help_text=u'用户昵称')
- avatar = models.CharField(_(u'avatar'), max_length=255, blank=True, null=True, help_text=u'用户头像')
- phone = models.CharField(_(u'phone'), max_length=255, blank=True, null=True, help_text=u'用户电话', db_index=True, unique=True)
- country = models.CharField(_(u'country'), max_length=255, blank=True, null=True, help_text=u'用户国家')
- province = models.CharField(_(u'province'), max_length=255, blank=True, null=True, help_text=u'用户省份')
- city = models.CharField(_(u'city'), max_length=255, blank=True, null=True, help_text=u'用户城市')
- location = models.CharField(_(u'location'), max_length=255, blank=True, null=True, help_text=u'用户地址')
- balance = models.IntegerField(_(u'balance'), default=0, help_text=u'用户余额(分)')
- user_status = models.IntegerField(_(u'user_status'), choices=USER_STATUS, default=UNVERIFIED)
- assign_ip = models.CharField(_(u'assign_ip'), max_length=255, blank=True, null=True, help_text=_(u'分配IP'))
- assign_at = models.DateTimeField(_(u'assign_at'), blank=True, null=True, help_text=_(u'分配时间'))
- signup_ip = models.CharField(_(u'signup_ip'), max_length=255, blank=True, null=True, help_text=_(u'注册IP'))
- signup_at = models.DateTimeField(_(u'signup_at'), blank=True, null=True, help_text=_(u'注册时间'))
- login_ip = models.CharField(_(u'login_ip'), max_length=255, blank=True, null=True, help_text=_(u'登录IP'))
- login_at = models.DateTimeField(_(u'login_at'), blank=True, null=True, help_text=_(u'登录时间'))
- class Meta:
- verbose_name = _(u'userinfo')
- verbose_name_plural = _(u'userinfo')
- def __unicode__(self):
- return unicode(self.pk)
- @property
- def final_nickname(self):
- if self.user_from == self.APP_USER:
- return self.username
- elif self.user_from == self.WX_USER:
- return self.nickname
- elif self.user_from == self.GUEST_USER:
- return self.nickname
- elif self.user_from == self.LENSMAN_USER:
- return self.name
- return self.nickname
- @property
- def data(self):
- return {
- 'user_id': self.user_id,
- 'username': self.username,
- 'nickname': self.nickname,
- }
- class UserLoginLogInfo(CreateUpdateMixin):
- SUCCESS = 0
- PWD_ERROR = 1
- OTHER = 2
- LOGIN_RESULT = (
- (SUCCESS, u'登录成功'),
- (PWD_ERROR, u'密码错误'),
- (OTHER, u'其他'),
- )
- user_id = models.CharField(_(u'user_id'), max_length=255, blank=True, null=True, help_text=u'用户唯一标识', db_index=True)
- login_ip = models.CharField(_(u'login_ip'), max_length=255, blank=True, null=True, help_text=_(u'登录IP'))
- login_result = models.IntegerField(_(u'login_result'), choices=LOGIN_RESULT, default=SUCCESS)
- class Meta:
- verbose_name = _(u'userloginloginfo')
- verbose_name_plural = _(u'userloginloginfo')
- def __unicode__(self):
- return unicode(self.pk)
- class UserIncomeExpensesInfo(CreateUpdateMixin):
- INCOME = 0
- EXPENSE = 1
- TYPE = (
- (INCOME, u'收入'),
- (EXPENSE, u'支出'),
- )
- user_id = models.CharField(_(u'user_id'), max_length=255, blank=True, null=True, help_text=u'用户唯一标识', db_index=True)
- photo_id = models.CharField(_(u'photo_id'), max_length=255, blank=True, null=True, help_text=u'照片唯一标识', db_index=True)
- type = models.IntegerField(_(u'type'), choices=TYPE, default=INCOME, help_text=u'收支类别')
- amount = models.IntegerField(_(u'amount'), default=0, help_text=u'余额增减数量(分)')
- balance = models.IntegerField(_(u'balance'), default=0, help_text=u'余额增减后数量(分)')
- remark = models.CharField(_(u'remark'), max_length=255, blank=True, null=True, help_text=u'备注')
- class Meta:
- verbose_name = _(u'userincomeexpensesinfo')
- verbose_name_plural = _(u'userincomeexpensesinfo')
- def __unicode__(self):
- return unicode(self.pk)
|