g_activity: try: act = ActivityInfo.objects.get(pk=self.activity_id) except ActivityInfo.DoesNotExist: act = None else: act = None return { 'lat': self.lat, 'lon': self.lon, 'brand_id': self.brand_id, 'brand_name': self.brand_name, 'model_id': self.model_id, 'model_name': self.model_name, 'model_info': self.model_info, 'serialNo': self.serialNo, 'verifyResult': self.verifyResult, 'submit_during_activity': self.submit_during_activity, 'coupon_info': act.coupon_info2(created_at=self.created_at) if act else self.coupon_info2, 'final_coupon_info': act.coupon_info(created_at=self.created_at) if act else self.coupon_info, 'has_used': self.has_used, 'used_at': self.used_at, } @property def adminuserdata(self): try: model_info = ModelInfo.objects.get(model_id=self.model_id) except ModelInfo.DoesNotExist: model_info = {} return { 'model_name': self.model_name, 'serialNo': self.serialNo, 'integral': model_info.shot_member_integral, 'dupload': self.dupload, 'code_version': self.code_version, 'created_at': tc.local_string(utc_dt=self.created_at, format='%Y-%m-%d'), } @property def admindata(self): return { 'pk': self.pk, 'user_id': self.user_id, 'model_name': self.model_name, 'model_uni_name': self.model_uni_name, 'serialNo': self.serialNo, 'phone': self.phone, 'code_version': self.code_version, 'dupload': self.dupload, 'created_at': tc.local_string(utc_dt=self.created_at, format='%Y-%m-%d %H:%M:%S'), } class ActivityInfo(BaseModelMixin): FIXED_EXPIRED_TIME = 0 CHANGED_EXPIRED_TIME = 1 COUPON_EXPIRED_TIME_TUPLE = ( (FIXED_EXPIRED_TIME, u'固定结束时间'), (CHANGED_EXPIRED_TIME, u'可变结束时间'), ) activity_id = ShortUUIDField(_(u'activity_id'), max_length=32, blank=True, null=True, help_text=u'活动唯一标识', db_index=True, unique=True) activity_name = models.CharField(_(u'activity_name'), max_length=255, blank=True, null=True, help_text=u'活动名称') model_uni_names = JSONField(_(u'model_uni_names'), default=[], blank=True, null=True, help_text=u'型号统一名称列表') start_at = models.DateTimeField(_(u'start_at'), help_text=_(u'start_at')) end_at = models.DateTimeField(_(u'end_at'), help_text=_(u'end_at')) coupon_id = models.CharField(_(u'coupon_id'), max_length=32, blank=True, null=True, help_text=u'券唯一标识', db_index=True) coupon_expire_type = models.IntegerField(_(u'coupon_expire_type'), choices=COUPON_EXPIRED_TIME_TUPLE, default=FIXED_EXPIRED_TIME, help_text=_(u'维修券类型')) coupon_valid_period = models.IntegerField(_(u'coupon_valid_period'), default=0, help_text=_(u'维修券有效时间(单位:天)')) coupon_expire_at = models.DateTimeField(_(u'coupon_expire_at'), blank=True, null=True, help_text=_(u'维修券过期时间')) coupon_value = models.IntegerField(_(u'coupon_value'), default=0, help_text=_(u'维修券金额(单位:分)')) class Meta: verbose_name = _(u'活动信息') verbose_name_plural = _(u'活动信息') def __unicode__(self): return '%d' % self.pk def final_expire_at(self, created_at=None): if self.coupon_expire_type == ActivityInfo.FIXED_EXPIRED_TIME: return self.coupon_expire_at return tc.utc_datetime(dt=created_at, days=self.coupon_valid_period) def final_coupon_expire_at(self, created_at=None): final_expire_at = self.final_expire_at(created_at=created_at) if not final_expire_at: return '' return tc.local_string(utc_dt=final_expire_at, format=u'%Y年%m月%d日', isuc=True) def has_unexpired_activity(self, model_name): return ((self.model_uni_names and model_name in self.model_uni_names) or not self.model_uni_names) and (self.start_at <= tc.utc_datetime() < self.end_at) def coupon_info(self, created_at=None): return { 'coupon_expire_at': self.final_coupon_expire_at(created_at=created_at), 'coupon_value': self.coupon_value, 'coupon_has_expired': tc.utc_datetime() >= self.final_expire_at(created_at=created_at), } def coupon_info2(self, created_at=None): return self.coupon_info(created_at=created_at), @property def coupon_info3(self): try: coupon = CouponInfo.objects.get(coupon_id=self.coupon_id) except CouponInfo.DoesNotExist: coupon = None return { 'coupon_image': coupon.coupon_image_url, 'coupon_expire_at': coupon.coupon_expire_at, 'coupon_value': coupon.coupon_value, 'coupon_title': coupon.coupon_title, 'coupon_valid_period': coupon.coupon_valid_period, 'coupon_id': coupon.coupon_id, 'activity_id': self.activity_id, 'activity_name': self.activity_name, } if coupon else {} 登录 - Gogs: Go Git Service

登录