@@ -12,7 +12,7 @@ from TimeConvert import TimeConvert as tc |
||
| 12 | 12 |
|
| 13 | 13 |
from account.models import UserInfo |
| 14 | 14 |
from mch.models import (AdministratorInfo, BrandInfo, ConsumeInfoSubmitLogInfo, DistributorInfo, LatestAppInfo, |
| 15 |
- ModelInfo, OperatorInfo) |
|
| 15 |
+ LatestAppScreenInfo, ModelInfo, OperatorInfo) |
|
| 16 | 16 |
from statistic.models import (ConsumeDistributorSaleStatisticInfo, ConsumeModelSaleStatisticInfo, |
| 17 | 17 |
ConsumeProvinceSaleStatisticInfo, ConsumeSaleStatisticInfo) |
| 18 | 18 |
from utils.error.errno_utils import (AdministratorStatusCode, OperatorStatusCode, ProductBrandStatusCode, |
@@ -144,8 +144,15 @@ def distributors_list(request): |
||
| 144 | 144 |
@logit |
| 145 | 145 |
def upgrade_api(request): |
| 146 | 146 |
""" APP 升级 """ |
| 147 |
+ src = request.POST.get('scr', '')
|
|
| 148 |
+ |
|
| 149 |
+ if src == 'datascreen': |
|
| 150 |
+ latestappmodel = LatestAppScreenInfo |
|
| 151 |
+ else: |
|
| 152 |
+ latestappmodel = LatestAppInfo |
|
| 153 |
+ |
|
| 147 | 154 |
try: |
| 148 |
- appinfo = LatestAppInfo.objects.filter(status=True)[0].adr |
|
| 155 |
+ appinfo = latestappmodel.objects.filter(status=True)[0].adr |
|
| 149 | 156 |
except IndexError: |
| 150 | 157 |
appinfo = {
|
| 151 | 158 |
'latest_version_code': '', |
@@ -9,7 +9,7 @@ from django_models_ext import ProvinceShortModelMixin |
||
| 9 | 9 |
from pysnippets.strsnippets import strip |
| 10 | 10 |
|
| 11 | 11 |
from mch.models import (AdministratorInfo, BrandInfo, ConsumeInfoSubmitLogInfo, DistributorInfo, LatestAppInfo, |
| 12 |
- ModelInfo, OperatorInfo, SaleclerkInfo) |
|
| 12 |
+ LatestAppScreenInfo, ModelInfo, OperatorInfo, SaleclerkInfo) |
|
| 13 | 13 |
|
| 14 | 14 |
|
| 15 | 15 |
class AdministratorInfoAdmin(DeleteModelAdmin, admin.ModelAdmin): |
@@ -171,6 +171,20 @@ class LatestAppInfoAdmin(admin.ModelAdmin): |
||
| 171 | 171 |
obj.save() |
| 172 | 172 |
|
| 173 | 173 |
|
| 174 |
+class LatestAppScreenInfoAdmin(admin.ModelAdmin): |
|
| 175 |
+ list_display = ('latest_adr_version_code', 'latest_adr_version_name', 'latest_adr_app', 'latest_adr_url', 'status', 'created_at', 'updated_at')
|
|
| 176 |
+ list_filter = ('status', )
|
|
| 177 |
+ readonly_fields = ('status', )
|
|
| 178 |
+ |
|
| 179 |
+ def save_model(self, request, obj, form, change): |
|
| 180 |
+ if not obj.pk and LatestAppInfo.objects.filter(status=True).exists(): |
|
| 181 |
+ return |
|
| 182 |
+ obj.latest_adr_version_name = strip(obj.latest_adr_version_name) |
|
| 183 |
+ obj.latest_adr_app = strip(obj.latest_adr_app) |
|
| 184 |
+ obj.latest_adr_url = strip(obj.latest_adr_url) |
|
| 185 |
+ obj.save() |
|
| 186 |
+ |
|
| 187 |
+ |
|
| 174 | 188 |
class ConsumeInfoSubmitLogInfoAdmin(ReadOnlyModelAdmin, admin.ModelAdmin): |
| 175 | 189 |
list_display = ('user_id', 'phone', 'lat', 'lon', 'serialNo', 'verifyResult', 'test_user', 'status', 'created_at', 'updated_at')
|
| 176 | 190 |
list_filter = ('test_user', 'verifyResult', 'status')
|
@@ -185,4 +199,5 @@ admin.site.register(DistributorInfo, DistributorInfoAdmin) |
||
| 185 | 199 |
admin.site.register(SaleclerkInfo, SaleclerkInfoAdmin) |
| 186 | 200 |
# admin.site.register(BrandModelDistributorPriceInfo, BrandModelDistributorPriceInfoAdmin) |
| 187 | 201 |
admin.site.register(LatestAppInfo, LatestAppInfoAdmin) |
| 202 |
+admin.site.register(LatestAppScreenInfo, LatestAppScreenInfoAdmin) |
|
| 188 | 203 |
admin.site.register(ConsumeInfoSubmitLogInfo, ConsumeInfoSubmitLogInfoAdmin) |
@@ -402,6 +402,47 @@ class LatestAppInfo(BaseModelMixin): |
||
| 402 | 402 |
} |
| 403 | 403 |
|
| 404 | 404 |
|
| 405 |
+class LatestAppScreenInfo(BaseModelMixin): |
|
| 406 |
+ latest_adr_version_code = models.IntegerField(_(u'latest_adr_version_code'), default=0, help_text=u'最新安卓版本号') |
|
| 407 |
+ latest_adr_version_name = models.CharField(_(u'latest_adr_version_name'), max_length=16, blank=True, null=True, help_text=u'最新安卓版本名') |
|
| 408 |
+ latest_adr_app = models.FileField(_(u'latest_adr_app'), upload_to=upload_path, blank=True, null=True, help_text=u'最新版安卓 APP') |
|
| 409 |
+ latest_adr_url = models.URLField(_(u'latest_adr_url'), max_length=255, blank=True, null=True, help_text=u'最新版 APP 链接') |
|
| 410 |
+ |
|
| 411 |
+ latest_ios_version_code = models.IntegerField(_(u'latest_ios_version_code'), default=0, help_text=u'最新 iOS 版本号') |
|
| 412 |
+ latest_ios_version_name = models.CharField(_(u'latest_ios_version_name'), max_length=16, blank=True, null=True, help_text=u'最新 iOS 版本名') |
|
| 413 |
+ latest_ios_url = models.URLField(_(u'latest_ios_url'), max_length=255, blank=True, null=True, help_text=u'最新版 iOS 链接') |
|
| 414 |
+ |
|
| 415 |
+ class Meta: |
|
| 416 |
+ verbose_name = _(u'升级配置信息(数据大屏)') |
|
| 417 |
+ verbose_name_plural = _(u'升级配置信息(数据大屏)') |
|
| 418 |
+ |
|
| 419 |
+ def __unicode__(self): |
|
| 420 |
+ return u'{0.pk}'.format(self)
|
|
| 421 |
+ |
|
| 422 |
+ @property |
|
| 423 |
+ def final_latest_adr_url(self): |
|
| 424 |
+ return self.latest_adr_url or upload_file_url(self.latest_adr_app) |
|
| 425 |
+ |
|
| 426 |
+ @property |
|
| 427 |
+ def data(self): |
|
| 428 |
+ return {
|
|
| 429 |
+ 'latest_adr_version_code': self.latest_adr_version_code, |
|
| 430 |
+ 'latest_adr_version_name': self.latest_adr_version_name, |
|
| 431 |
+ 'latest_adr_url': self.final_latest_adr_url, |
|
| 432 |
+ 'latest_ios_version_code': self.latest_ios_version_code, |
|
| 433 |
+ 'latest_ios_version_name': self.latest_ios_version_name, |
|
| 434 |
+ 'latest_ios_url': self.latest_ios_url, |
|
| 435 |
+ } |
|
| 436 |
+ |
|
| 437 |
+ @property |
|
| 438 |
+ def adr(self): |
|
| 439 |
+ return {
|
|
| 440 |
+ 'latest_adr_version_code': self.latest_adr_version_code, |
|
| 441 |
+ 'latest_adr_version_name': self.latest_adr_version_name, |
|
| 442 |
+ 'latest_adr_url': self.final_latest_adr_url, |
|
| 443 |
+ } |
|
| 444 |
+ |
|
| 445 |
+ |
|
| 405 | 446 |
class ConsumeInfoSubmitLogInfo(BaseModelMixin): |
| 406 | 447 |
user_id = models.CharField(_(u'user_id'), max_length=32, blank=True, null=True, help_text=u'用户唯一标识', db_index=True) |
| 407 | 448 |
|
@@ -7,7 +7,7 @@ from django_logit import logit |
||
| 7 | 7 |
from django_response import response |
| 8 | 8 |
from ipaddr import client_ip |
| 9 | 9 |
from pywe_membercard import get_miniapp_extraData |
| 10 |
-from pywe_miniapp import get_userinfo, store_session_key, get_session_key |
|
| 10 |
+from pywe_miniapp import get_session_key, get_userinfo, store_session_key |
|
| 11 | 11 |
from pywe_storage import RedisStorage |
| 12 | 12 |
from TimeConvert import TimeConvert as tc |
| 13 | 13 |
|