拍爱

models.py 6.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. # -*- coding: utf-8 -*-
  2. from django.db import models
  3. from django.utils.translation import ugettext_lazy as _
  4. from models_ext import BaseModelMixin, upload_file_url, upload_path
  5. from pai2.basemodels import PaiaiSrcMixin, PlatformMixin, VersionMixin
  6. class LatestAppInfo(BaseModelMixin, PaiaiSrcMixin):
  7. latest_adr_version_code = models.IntegerField(_(u'latest_adr_version_code'), default=0, help_text=u'最新安卓版本号')
  8. latest_adr_version_name = models.CharField(_(u'latest_adr_version_name'), max_length=16, blank=True, null=True, help_text=u'最新安卓版本名')
  9. latest_adr_app = models.FileField(_(u'latest_adr_app'), upload_to=upload_path, blank=True, null=True, help_text=u'最新版安卓 APP')
  10. latest_adr_url = models.URLField(_(u'latest_adr_url'), max_length=255, blank=True, null=True, help_text=u'最新版 APP 链接')
  11. latest_ios_version_code = models.IntegerField(_(u'latest_ios_version_code'), default=0, help_text=u'最新 iOS 版本号')
  12. latest_ios_version_name = models.CharField(_(u'latest_ios_version_name'), max_length=16, blank=True, null=True, help_text=u'最新 iOS 版本名')
  13. latest_ios_url = models.URLField(_(u'latest_ios_url'), max_length=255, blank=True, null=True, help_text=u'最新版 iOS 链接')
  14. class Meta:
  15. verbose_name = _('latestappinfo')
  16. verbose_name_plural = _('latestappinfo')
  17. def __unicode__(self):
  18. return u'{0.pk}'.format(self)
  19. @property
  20. def final_latest_adr_url(self):
  21. return self.latest_adr_url or upload_file_url(self.latest_adr_app)
  22. @property
  23. def data(self):
  24. return {
  25. 'latest_adr_version_code': self.latest_adr_version_code,
  26. 'latest_adr_version_name': self.latest_adr_version_name,
  27. 'latest_adr_url': self.final_latest_adr_url,
  28. 'latest_ios_version_code': self.latest_ios_version_code,
  29. 'latest_ios_version_name': self.latest_ios_version_name,
  30. 'latest_ios_url': self.latest_ios_url,
  31. }
  32. class PatchInfo(BaseModelMixin, PlatformMixin, PaiaiSrcMixin):
  33. version = models.CharField(_(u'version'), max_length=16, blank=True, null=True, help_text=u'版本(1.0.0)')
  34. patch = models.FileField(_(u'patch'), upload_to=upload_path, blank=True, null=True, help_text=u'补丁')
  35. class Meta:
  36. verbose_name = _('patchinfo')
  37. verbose_name_plural = _('patchinfo')
  38. def __unicode__(self):
  39. return u'{0.pk}'.format(self)
  40. @property
  41. def patch_url(self):
  42. return upload_file_url(self.patch)
  43. @property
  44. def data(self):
  45. return {
  46. 'patch_url': self.patch_url,
  47. }
  48. class APPSettingsInfo(BaseModelMixin, PlatformMixin, PaiaiSrcMixin):
  49. channel = models.CharField(_(u'channel'), max_length=16, blank=True, null=True, help_text=u'渠道')
  50. version = models.CharField(_(u'version'), max_length=16, blank=True, null=True, help_text=u'版本(1.0.0)')
  51. online = models.BooleanField(_(u'online'), default=True, help_text=u'是否上线')
  52. class Meta:
  53. verbose_name = _('appsettingsinfo')
  54. verbose_name_plural = _('appsettingsinfo')
  55. def __unicode__(self):
  56. return u'{0.pk}'.format(self)
  57. @property
  58. def data(self):
  59. return {
  60. 'online': self.online,
  61. }
  62. class SplashInfo(BaseModelMixin, PaiaiSrcMixin):
  63. splash_image = models.ImageField(_(u'splash_image'), upload_to=upload_path, blank=True, null=True, help_text=u'启动页面图片')
  64. spalash_image_airtime = models.DateTimeField(_(u'spalash_image_airtime'), blank=True, null=True, help_text=u'启动页面图片开始日期')
  65. spalash_image_deadline = models.DateTimeField(_(u'spalash_image_deadline'), blank=True, null=True, help_text=u'启动页面图片截止日期')
  66. class Meta:
  67. verbose_name = _('splashinfo')
  68. verbose_name_plural = _('splashinfo')
  69. def __unicode__(self):
  70. return u'{0.pk}'.format(self)
  71. @property
  72. def splash_image_url(self):
  73. return upload_file_url(self.splash_image)
  74. @property
  75. def data(self):
  76. return {
  77. 'splash_image_url': self.splash_image_url,
  78. 'spalash_image_airtime': self.spalash_image_airtime,
  79. 'spalash_image_deadline': self.spalash_image_deadline,
  80. }
  81. class FeedbackInfo(BaseModelMixin, PaiaiSrcMixin):
  82. user_id = models.CharField(_(u'user_id'), max_length=32, blank=True, null=True, help_text=u'用户唯一标识')
  83. feedback = models.TextField(_(u'feedback'), blank=True, null=True, help_text=u'用户反馈')
  84. class Meta:
  85. verbose_name = _('feedbackinfo')
  86. verbose_name_plural = _('feedbackinfo')
  87. def __unicode__(self):
  88. return u'{0.pk}'.format(self)
  89. class GuestEntranceControlInfo(BaseModelMixin, PlatformMixin, VersionMixin, PaiaiSrcMixin):
  90. class Meta:
  91. verbose_name = _('guestentrancecontrolinfo')
  92. verbose_name_plural = _('guestentrancecontrolinfo')
  93. def __unicode__(self):
  94. return u'{0.pk}'.format(self)
  95. @property
  96. def data(self):
  97. return {
  98. 'platform': self.platform,
  99. 'min_adr': self.min_adr,
  100. 'min_ios': self.min_ios,
  101. 'max_adr': self.max_adr,
  102. 'max_ios': self.max_ios,
  103. }
  104. class BoxProgramVersionInfo(BaseModelMixin):
  105. srv_version_code = models.IntegerField(_(u'srv_version_code'), default=0, help_text=u'Box Server 版本号')
  106. srv_version_name = models.CharField(_(u'srv_version_name'), max_length=255, blank=True, null=True, help_text=u'Box Server 版本名')
  107. srv_sha1 = models.CharField(_(u'srv_sha1'), max_length=255, blank=True, null=True, help_text=u'Box Server Commit SHA1')
  108. proc_version_code = models.IntegerField(_(u'proc_version_code'), default=0, help_text=u'Box Proc 版本号')
  109. proc_version_name = models.CharField(_(u'proc_version_name'), max_length=255, blank=True, null=True, help_text=u'Box Proc 版本名')
  110. proc_sha1 = models.CharField(_(u'proc_sha1'), max_length=255, blank=True, null=True, help_text=u'Box Proc Commit SHA1')
  111. class Meta:
  112. verbose_name = _('boxprogramversioninfo')
  113. verbose_name_plural = _('boxprogramversioninfo')
  114. def __unicode__(self):
  115. return u'{0.pk}'.format(self)
  116. @property
  117. def data(self):
  118. return {
  119. 'srv_version_code': self.srv_version_code,
  120. 'srv_version_name': self.srv_version_name,
  121. 'srv_sha1': self.srv_sha1,
  122. 'proc_version_code': self.proc_version_code,
  123. 'proc_version_name': self.proc_version_name,
  124. 'proc_sha1': self.proc_sha1,
  125. }