add code_version

FFIB 5 gadi atpakaļ
vecāks
revīzija
03631cb847

+ 1 - 1
account/admin.py

@@ -9,7 +9,7 @@ from mch.models import ConsumeInfoSubmitLogInfo
9 9
 
10 10
 class UserInfoAdmin(ChangeOnlyModelAdmin, admin.ModelAdmin):
11 11
     list_display = ('user_id', 'nickname', 'phone', 'appid', 'unionid', 'openid', 'openid_miniapp', 'location', 'balance', 'integral', 'freeze_integral', 'user_status', 'test_user', 'status', 'created_at', 'updated_at')
12
-    list_filter = ('appid', 'subscribe', 'has_membercard', 'test_user', 'sex', 'user_status', 'status', 'code_version')
12
+    list_filter = ('appid', 'subscribe', 'has_membercard', 'test_user', 'sex', 'user_status', 'status', 'code_version', 'created_at')
13 13
     readonly_fields = ('user_id', )
14 14
     search_fields = ('user_id', 'username', 'unionid', 'openid', 'openid_miniapp', 'name', 'phone', 'location')
15 15
 

+ 1 - 0
api/encrypt_views.py

@@ -253,6 +253,7 @@ def decrypt2(request):
253 253
         'plaintext': plaintext,
254 254
         'logo_url': brand.brand_logo_url if brand else '',
255 255
         'model_imgs': model.images if model else [],
256
+        'code_version': mieli.version,
256 257
         'goodsInfo': {
257 258
             'BrandID': brand_pk,
258 259
             'Brand': brand.brand_name if brand else '',

+ 13 - 1
api/mch_views.py

@@ -11,6 +11,7 @@ from pywe_miniapp import get_phone_number
11 11
 from pywe_storage import RedisStorage
12 12
 from TimeConvert import TimeConvert as tc
13 13
 
14
+from logs.models import MchInfoEncryptLogInfo
14 15
 from account.models import UserInfo
15 16
 from integral.models import SaleclerkSubmitLogInfo
16 17
 from mch.models import (ActivityInfo, AdministratorInfo, BrandInfo, ConsumeInfoSubmitLogInfo, DistributorInfo,
@@ -220,8 +221,9 @@ def consumer_info_api(request):
220 221
     modelID = request.POST.get('ModelID', '')
221 222
     distributorID = request.POST.get('DistributorID', '')
222 223
     serialNo = request.POST.get('SerialNo', '')
223
-    verifyResult = request.POST.get('verifyResult', '')
224
+    verifyResult = request.POST.get('verifyResult', 0)
224 225
     purePhoneNumber = request.POST.get('purePhoneNumber', '')
226
+    code_version = request.POST.get('code_version', '')
225 227
 
226 228
     if lat == 'undefined':
227 229
         lat = .0
@@ -260,6 +262,15 @@ def consumer_info_api(request):
260 262
     except ValueError:
261 263
         return response(ProductModelStatusCode.MODEL_NOT_FOUND)
262 264
 
265
+    #是否是新二维码,即统览码2
266
+    if not code_version:
267
+        code_version = 1
268
+        code = filter(lambda ch: ch in '0123456789', serialNo)
269
+        encrypt_logs = MchInfoEncryptLogInfo.objects.filter(model_pk=model.pk, sn=code)
270
+
271
+        if encrypt_logs:
272
+            code_version = encrypt_logs[0].version
273
+
263 274
     # try:
264 275
     #     distributor = DistributorInfo.objects.get(pk=distributorID)
265 276
     # except DistributorInfo.DoesNotExist:
@@ -308,6 +319,7 @@ def consumer_info_api(request):
308 319
         coupon_expire_at=act.coupon_expire_at if during_activity else None,
309 320
         coupon_value=act.coupon_value if during_activity else 0,
310 321
         test_user=user.test_user,
322
+        code_version=code_version,
311 323
     )
312 324
 
313 325
     if not user.test_user and not dupload:

+ 1 - 1
mch/admin.py

@@ -222,7 +222,7 @@ class LatestAppScreenInfoAdmin(admin.ModelAdmin):
222 222
 
223 223
 class ConsumeInfoSubmitLogInfoAdmin(ReadOnlyModelAdmin, admin.ModelAdmin):
224 224
     list_display = ('user_id', 'phone', 'model_name', 'serialNo', 'dupload', 'submit_during_activity', 'has_used', 'created_at')
225
-    list_filter = ('brand_id', 'submit_during_activity', 'activity_id', 'dupload', 'test_user', 'verifyResult', 'has_used', 'status')
225
+    list_filter = ('brand_id', 'submit_during_activity', 'activity_id', 'dupload', 'test_user', 'verifyResult', 'has_used', 'status', 'code_version', 'created_at')
226 226
     search_fields = ('user_id', 'phone', 'serialNo', 'model_name')
227 227
 
228 228
 

+ 20 - 0
mch/migrations/0052_consumeinfosubmitloginfo_code_version.py

@@ -0,0 +1,20 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 1.11.26 on 2020-03-17 10:54
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', '0051_auto_20200314_2340'),
12
+    ]
13
+
14
+    operations = [
15
+        migrations.AddField(
16
+            model_name='consumeinfosubmitloginfo',
17
+            name='code_version',
18
+            field=models.IntegerField(db_index=True, default=1, help_text='\u7edf\u89c8\u7801\u7248\u672c', verbose_name='code_version'),
19
+        ),
20
+    ]

+ 2 - 0
mch/models.py

@@ -616,6 +616,8 @@ class ConsumeInfoSubmitLogInfo(BaseModelMixin):
616 616
     admin_id = models.CharField(_(u'admin_id'), max_length=32, blank=True, null=True, help_text=u'核销员唯一标识', db_index=True)
617 617
     used_at = models.DateTimeField(_(u'used_at'), blank=True, null=True, help_text=_(u'维修券核销时间'))
618 618
 
619
+    code_version = models.IntegerField(_(u'code_version'), default=1, help_text=u'统览码版本', db_index=True)
620
+
619 621
     test_user = models.BooleanField(_(u'test_user'), default=False, help_text=_(u'是否为测试用户'), db_index=True)
620 622
 
621 623
     class Meta:

+ 8 - 5
page/sale_views.py

@@ -44,6 +44,8 @@ def clerk_sale_submit_api(request):
44 44
 
45 45
     trackingNo = request.POST.get('trackingNo', '')
46 46
 
47
+    code_version = request.POST.get('code_version', 0)
48
+
47 49
     test_sn = serialNo in settings.TESTING_SNS
48 50
 
49 51
     if lat == 'undefined':
@@ -102,12 +104,13 @@ def clerk_sale_submit_api(request):
102 104
     has_scan = ConsumeInfoSubmitLogInfo.objects.filter(model_id=model.model_id, serialNo=serialNo).exists()
103 105
 
104 106
     #是否是新二维码,即统览码2
105
-    code_version = 1
106
-    code = filter(lambda ch: ch in '0123456789', serialNo)
107
-    encrypt_logs = MchInfoEncryptLogInfo.objects.filter(model_pk=model.pk, sn=code)
107
+    if not code_version:
108
+        code_version = 1
109
+        code = filter(lambda ch: ch in '0123456789', serialNo)
110
+        encrypt_logs = MchInfoEncryptLogInfo.objects.filter(model_pk=model.pk, sn=code)
108 111
 
109
-    if encrypt_logs:
110
-        code_version = encrypt_logs[0].version        
112
+        if encrypt_logs:
113
+            code_version = encrypt_logs[0].version
111 114
 
112 115
     # 店员提交记录
113 116
     ssli = SaleclerkSubmitLogInfo.objects.create(