activityinfo_model_uni_names

Kimi.Huang 6 lat temu
rodzic
commit
ded4db2cda
4 zmienionych plików z 28 dodań i 5 usunięć
  1. 1 1
      api/encrypt_views.py
  2. 1 1
      api/mch_views.py
  3. 21 0
      mch/migrations/0031_activityinfo_model_uni_names.py
  4. 5 3
      mch/models.py

+ 1 - 1
api/encrypt_views.py

@@ -110,7 +110,7 @@ def decrypt(request):
110 110
         mdli.save()
111 111
 
112 112
     act = ActivityInfo.objects.filter(status=True).order_by('-pk').first()
113
-    has_unexpired_activity = True if act and act.has_unexpired_activity else False
113
+    has_unexpired_activity = True if act and act.has_unexpired_activity(model.model_uni_name) else False
114 114
 
115 115
     return response(200, data={
116 116
         'plaintext': plaintext,

+ 1 - 1
api/mch_views.py

@@ -275,7 +275,7 @@ def consumer_info_api(request):
275 275
     ).exists()
276 276
 
277 277
     act = ActivityInfo.objects.filter(status=True).order_by('-pk').first()
278
-    during_activity = True if act and act.has_unexpired_activity else False
278
+    during_activity = True if act and act.has_unexpired_activity(model.model_uni_name) else False
279 279
 
280 280
     # 记录用户信息提交记录
281 281
     log = ConsumeInfoSubmitLogInfo.objects.create(

+ 21 - 0
mch/migrations/0031_activityinfo_model_uni_names.py

@@ -0,0 +1,21 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 1.11.20 on 2019-05-21 06:24
3
+from __future__ import unicode_literals
4
+
5
+from django.db import migrations
6
+import jsonfield.fields
7
+
8
+
9
+class Migration(migrations.Migration):
10
+
11
+    dependencies = [
12
+        ('mch', '0030_auto_20190301_1402'),
13
+    ]
14
+
15
+    operations = [
16
+        migrations.AddField(
17
+            model_name='activityinfo',
18
+            name='model_uni_names',
19
+            field=jsonfield.fields.JSONField(blank=True, default=[], help_text='\u578b\u53f7\u7edf\u4e00\u540d\u79f0\u5217\u8868', null=True, verbose_name='model_uni_names'),
20
+        ),
21
+    ]

+ 5 - 3
mch/models.py

@@ -5,6 +5,7 @@ from django.db import models
5 5
 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
+from jsonfield import JSONField
8 9
 from shortuuidfield import ShortUUIDField
9 10
 from TimeConvert import TimeConvert as tc
10 11
 
@@ -529,6 +530,8 @@ class ConsumeInfoSubmitLogInfo(BaseModelMixin):
529 530
 class ActivityInfo(BaseModelMixin):
530 531
     activity_name = models.CharField(_(u'activity_name'), max_length=255, blank=True, null=True, help_text=u'活动名称')
531 532
 
533
+    model_uni_names = JSONField(_(u'model_uni_names'), default=[], blank=True, null=True, help_text=u'型号统一名称列表')
534
+
532 535
     start_at = models.DateTimeField(_(u'start_at'), help_text=_(u'start_at'))
533 536
     end_at = models.DateTimeField(_(u'end_at'), help_text=_(u'end_at'))
534 537
 
@@ -539,6 +542,5 @@ class ActivityInfo(BaseModelMixin):
539 542
     def __unicode__(self):
540 543
         return unicode(self.pk)
541 544
 
542
-    @property
543
-    def has_unexpired_activity(self):
544
-        return self.start_at <= tc.utc_datetime() < self.end_at
545
+    def has_unexpired_activity(self, model_name):
546
+        return model_name in self.model_uni_names and self.start_at <= tc.utc_datetime() < self.end_at