123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- import os
- from django.db import models
- from django.utils.translation import ugettext_lazy as _
- from TimeConvert import TimeConvert as tc
- from pai2.basemodels import CreateUpdateMixin, PaiaiSrcMixin, PlatformMixin, VersionMixin
- from utils.url_utils import upload_file_url
- def upload_path(instance, old_filename):
- return 'file/{ym}/{stamp}{ext}'.format(
- ym=tc.local_string(format='%Y%m'),
- stamp=tc.local_timestamp(ms=True),
- ext=os.path.splitext(old_filename)[1].lower(),
- )
- class LatestAppInfo(CreateUpdateMixin, PaiaiSrcMixin):
- latest_adr_version_code = models.IntegerField(_(u'latest_adr_version_code'), default=0, help_text=u'最新安卓版本号')
- latest_adr_version_name = models.CharField(_(u'latest_adr_version_name'), max_length=255, blank=True, null=True, help_text=u'最新安卓版本名')
- latest_adr_app = models.FileField(_(u'latest_adr_app'), upload_to=upload_path, blank=True, null=True, help_text=u'最新版安卓 APP')
- latest_adr_url = models.URLField(_(u'latest_adr_url'), max_length=255, blank=True, null=True, help_text=u'最新版 APP 链接')
- latest_ios_version_code = models.IntegerField(_(u'latest_ios_version_code'), default=0, help_text=u'最新 iOS 版本号')
- latest_ios_version_name = models.CharField(_(u'latest_ios_version_name'), max_length=255, blank=True, null=True, help_text=u'最新 iOS 版本名')
- latest_ios_url = models.URLField(_(u'latest_ios_url'), max_length=255, blank=True, null=True, help_text=u'最新版 iOS 链接')
- class Meta:
- verbose_name = _('latestappinfo')
- verbose_name_plural = _('latestappinfo')
- def __unicode__(self):
- return u'{0.pk}'.format(self)
- @property
- def final_latest_adr_url(self):
- return self.latest_adr_url or upload_file_url(self.latest_adr_app)
- @property
- def data(self):
- return {
- 'latest_adr_version_code': self.latest_adr_version_code,
- 'latest_adr_version_name': self.latest_adr_version_name,
- 'latest_adr_url': self.final_latest_adr_url,
- 'latest_ios_version_code': self.latest_ios_version_code,
- 'latest_ios_version_name': self.latest_ios_version_name,
- 'latest_ios_url': self.latest_ios_url,
- }
- class PatchInfo(CreateUpdateMixin, PlatformMixin, PaiaiSrcMixin):
- version = models.CharField(_(u'version'), max_length=255, blank=True, null=True, help_text=u'版本(1.0.0)')
- patch = models.FileField(_(u'patch'), upload_to=upload_path, blank=True, null=True, help_text=u'补丁')
- class Meta:
- verbose_name = _('patchinfo')
- verbose_name_plural = _('patchinfo')
- def __unicode__(self):
- return u'{0.pk}'.format(self)
- @property
- def patch_url(self):
- return upload_file_url(self.patch)
- @property
- def data(self):
- return {
- 'patch_url': self.patch_url,
- }
- class APPSettingsInfo(CreateUpdateMixin, PlatformMixin, PaiaiSrcMixin):
- channel = models.CharField(_(u'channel'), max_length=255, blank=True, null=True, help_text=u'渠道')
- version = models.CharField(_(u'version'), max_length=255, blank=True, null=True, help_text=u'版本(1.0.0)')
- online = models.BooleanField(_(u'online'), default=True, help_text=u'是否上线')
- class Meta:
- verbose_name = _('appsettingsinfo')
- verbose_name_plural = _('appsettingsinfo')
- def __unicode__(self):
- return u'{0.pk}'.format(self)
- @property
- def data(self):
- return {
- 'online': self.online,
- }
- class SplashInfo(CreateUpdateMixin, PaiaiSrcMixin):
- splash_image = models.ImageField(_(u'splash_image'), upload_to=upload_path, blank=True, null=True, help_text=u'启动页面图片')
- spalash_image_airtime = models.DateTimeField(_(u'spalash_image_airtime'), blank=True, null=True, help_text=u'启动页面图片开始日期')
- spalash_image_deadline = models.DateTimeField(_(u'spalash_image_deadline'), blank=True, null=True, help_text=u'启动页面图片截止日期')
- class Meta:
- verbose_name = _('splashinfo')
- verbose_name_plural = _('splashinfo')
- def __unicode__(self):
- return u'{0.pk}'.format(self)
- @property
- def splash_image_url(self):
- return upload_file_url(self.splash_image)
- @property
- def data(self):
- return {
- 'splash_image_url': self.splash_image_url,
- 'spalash_image_airtime': self.spalash_image_airtime,
- 'spalash_image_deadline': self.spalash_image_deadline,
- }
- class FeedbackInfo(CreateUpdateMixin, PaiaiSrcMixin):
- user_id = models.CharField(_(u'user_id'), max_length=255, blank=True, null=True, help_text=u'用户唯一标识')
- feedback = models.TextField(_(u'feedback'), blank=True, null=True, help_text=u'用户反馈')
- class Meta:
- verbose_name = _('feedbackinfo')
- verbose_name_plural = _('feedbackinfo')
- def __unicode__(self):
- return u'{0.pk}'.format(self)
- class GuestEntranceControlInfo(CreateUpdateMixin, PlatformMixin, VersionMixin, PaiaiSrcMixin):
- class Meta:
- verbose_name = _('guestentrancecontrolinfo')
- verbose_name_plural = _('guestentrancecontrolinfo')
- def __unicode__(self):
- return u'{0.pk}'.format(self)
- @property
- def data(self):
- return {
- 'platform': self.platform,
- 'min_adr': self.min_adr,
- 'min_ios': self.min_ios,
- 'max_adr': self.max_adr,
- 'max_ios': self.max_ios,
- }
|