|
11
|
+from mch.models import (ActivityInfo, AdministratorInfo, BrandInfo, ConsumeInfoSubmitLogInfo, DistributorInfo,
|
|
|
12
|
+ LatestAppInfo, LatestAppScreenInfo, ModelInfo, OperatorInfo, SaleclerkInfo)
|
|
13
|
13
|
|
|
14
|
14
|
|
|
15
|
15
|
class AdministratorInfoAdmin(admin.ModelAdmin):
|
|
|
|
@@ -185,6 +185,10 @@ class ConsumeInfoSubmitLogInfoAdmin(ReadOnlyModelAdmin, admin.ModelAdmin):
|
|
185
|
185
|
search_fields = ('user_id', 'phone', 'serialNo')
|
|
186
|
186
|
|
|
187
|
187
|
|
|
|
188
|
+class ActivityInfoAdmin(admin.ModelAdmin):
|
|
|
189
|
+ list_display = ('activity_name', 'start_at', 'end_at', 'status', 'created_at', 'updated_at')
|
|
|
190
|
+
|
|
|
191
|
+
|
|
188
|
192
|
admin.site.register(AdministratorInfo, AdministratorInfoAdmin)
|
|
189
|
193
|
admin.site.register(OperatorInfo, OperatorInfoAdmin)
|
|
190
|
194
|
admin.site.register(BrandInfo, BrandInfoAdmin)
|
|
|
|
@@ -196,3 +200,4 @@ admin.site.register(SaleclerkInfo, SaleclerkInfoAdmin)
|
|
196
|
200
|
admin.site.register(LatestAppInfo, LatestAppInfoAdmin)
|
|
197
|
201
|
admin.site.register(LatestAppScreenInfo, LatestAppScreenInfoAdmin)
|
|
198
|
202
|
admin.site.register(ConsumeInfoSubmitLogInfo, ConsumeInfoSubmitLogInfoAdmin)
|
|
|
203
|
+admin.site.register(ActivityInfo, ActivityInfoAdmin)
|
|
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+# -*- coding: utf-8 -*-
|
|
|
2
|
+# Generated by Django 1.11.20 on 2019-03-01 06:02
|
|
|
3
|
+from __future__ import unicode_literals
|
|
|
4
|
+
|
|
|
5
|
+from django.db import migrations, models
|
|
|
6
|
+
|
|
|
7
|
+
|
|
|
8
|
+class Migration(migrations.Migration):
|
|
|
9
|
+
|
|
|
10
|
+ dependencies = [
|
|
|
11
|
+ ('mch', '0029_auto_20181117_0052'),
|
|
|
12
|
+ ]
|
|
|
13
|
+
|
|
|
14
|
+ operations = [
|
|
|
15
|
+ migrations.CreateModel(
|
|
|
16
|
+ name='ActivityInfo',
|
|
|
17
|
+ fields=[
|
|
|
18
|
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
|
19
|
+ ('status', models.BooleanField(db_index=True, default=True, help_text='Status', verbose_name='status')),
|
|
|
20
|
+ ('created_at', models.DateTimeField(auto_now_add=True, help_text='Create Time', verbose_name='created_at')),
|
|
|
21
|
+ ('updated_at', models.DateTimeField(auto_now=True, help_text='Update Time', verbose_name='updated_at')),
|
|
|
22
|
+ ('activity_name', models.CharField(blank=True, help_text='\u6d3b\u52a8\u540d\u79f0', max_length=255, null=True, verbose_name='activity_name')),
|
|
|
23
|
+ ('start_at', models.DateTimeField(help_text='start_at', verbose_name='start_at')),
|
|
|
24
|
+ ('end_at', models.DateTimeField(help_text='end_at', verbose_name='end_at')),
|
|
|
25
|
+ ],
|
|
|
26
|
+ options={
|
|
|
27
|
+ 'verbose_name': '\u6d3b\u52a8\u4fe1\u606f',
|
|
|
28
|
+ 'verbose_name_plural': '\u6d3b\u52a8\u4fe1\u606f',
|
|
|
29
|
+ },
|
|
|
30
|
+ ),
|
|
|
31
|
+ migrations.AddField(
|
|
|
32
|
+ model_name='consumeinfosubmitloginfo',
|
|
|
33
|
+ name='submit_during_activity',
|
|
|
34
|
+ field=models.BooleanField(db_index=True, default=False, help_text='\u662f\u5426\u4e3a\u6d3b\u52a8\u671f\u95f4\u4e0a\u4f20', verbose_name='submit_during_activity'),
|
|
|
35
|
+ ),
|
|
|
36
|
+ ]
|
|
|
|
@@ -6,6 +6,7 @@ from django.utils.translation import ugettext_lazy as _
|
|
6
|
6
|
from django_models_ext import (BaseModelMixin, ProvinceShortModelMixin, SexModelMixin, upload_file_path,
|
|
7
|
7
|
upload_file_url, upload_path)
|
|
8
|
8
|
from shortuuidfield import ShortUUIDField
|
|
|
9
|
+from TimeConvert import TimeConvert as tc
|
|
9
|
10
|
|
|
10
|
11
|
|
|
11
|
12
|
class AdministratorInfo(BaseModelMixin):
|
|
|
|
@@ -490,6 +491,8 @@ class ConsumeInfoSubmitLogInfo(BaseModelMixin):
|
|
490
|
491
|
|
|
491
|
492
|
dupload = models.BooleanField(_(u'dupload'), default=False, help_text=_(u'是否为重复提交'), db_index=True)
|
|
492
|
493
|
|
|
|
494
|
+ submit_during_activity = models.BooleanField(_(u'submit_during_activity'), default=False, help_text=_(u'是否为活动期间上传'), db_index=True)
|
|
|
495
|
+
|
|
493
|
496
|
test_user = models.BooleanField(_(u'test_user'), default=False, help_text=_(u'是否为测试用户'), db_index=True)
|
|
494
|
497
|
|
|
495
|
498
|
class Meta:
|
|
|
|
@@ -519,4 +522,23 @@ class ConsumeInfoSubmitLogInfo(BaseModelMixin):
|
|
519
|
522
|
'model_info': self.model_info,
|
|
520
|
523
|
'serialNo': self.serialNo,
|
|
521
|
524
|
'verifyResult': self.verifyResult,
|
|
|
525
|
+ 'submit_during_activity': self.submit_during_activity,
|
|
522
|
526
|
}
|
|
|
527
|
+
|
|
|
528
|
+
|
|
|
529
|
+class ActivityInfo(BaseModelMixin):
|
|
|
530
|
+ activity_name = models.CharField(_(u'activity_name'), max_length=255, blank=True, null=True, help_text=u'活动名称')
|
|
|
531
|
+
|
|
|
532
|
+ start_at = models.DateTimeField(_(u'start_at'), help_text=_(u'start_at'))
|
|
|
533
|
+ end_at = models.DateTimeField(_(u'end_at'), help_text=_(u'end_at'))
|
|
|
534
|
+
|
|
|
535
|
+ class Meta:
|
|
|
536
|
+ verbose_name = _(u'活动信息')
|
|
|
537
|
+ verbose_name_plural = _(u'活动信息')
|
|
|
538
|
+
|
|
|
539
|
+ def __unicode__(self):
|
|
|
540
|
+ return unicode(self.pk)
|
|
|
541
|
+
|
|
|
542
|
+ @property
|
|
|
543
|
+ def has_unexpired_activity(self):
|
|
|
544
|
+ return self.start_at <= tc.utc_datetime() < self.end_at
|
|
|
|
@@ -9,9 +9,9 @@ isoweek==1.3.3
|
|
9
|
9
|
jsonfield==2.0.2
|
|
10
|
10
|
mock==2.0.0
|
|
11
|
11
|
monetary==1.0.2
|
|
12
|
|
-pysnippets==1.0.6
|
|
|
12
|
+pysnippets==1.0.8
|
|
13
|
13
|
qiniu==7.2.2
|
|
14
|
|
-requests==2.20.1
|
|
|
14
|
+requests==2.21.0
|
|
15
|
15
|
rlog==0.3
|
|
16
|
16
|
rsa==3.4.2
|
|
17
|
17
|
shortuuid==0.5.0
|
|
|
|
@@ -1,3 +1,3 @@
|
|
1
|
1
|
ipdb==0.11
|
|
2
|
|
-ipython==5.6.0
|
|
|
2
|
+ipython==5.8.0
|
|
3
|
3
|
uwsgi==2.0.17
|
|
|
|
@@ -1,4 +1,4 @@
|
|
1
|
|
-Django==1.11.16
|
|
|
1
|
+Django==1.11.20
|
|
2
|
2
|
django-admin==1.3.2
|
|
3
|
3
|
django-cors-headers==2.4.0
|
|
4
|
4
|
django-curtail-uuid==1.0.4
|
|
|
|
@@ -6,7 +6,7 @@ django-detect==1.0.8
|
|
6
|
6
|
django-file-md5==1.0.2
|
|
7
|
7
|
django-file-upload==1.1.0
|
|
8
|
8
|
django-ip==1.0.2
|
|
9
|
|
-django-json-render==1.0.1
|
|
|
9
|
+django-json-render==1.0.2
|
|
10
|
10
|
django-json-response==1.1.5
|
|
11
|
11
|
django-logit==1.1.3
|
|
12
|
12
|
django-mobi==0.1.7
|
|
|
|
@@ -1,3 +1,3 @@
|
|
1
|
|
-hiredis==0.3.0
|
|
|
1
|
+hiredis==1.0.0
|
|
2
|
2
|
redis==2.10.6
|
|
3
|
|
-redis-extensions==1.2.4
|
|
|
3
|
+redis-extensions==1.2.5
|