Merge branch 'tamron' of http://git.xfoto.com.cn/Kodo/kodo into tamron

FFIB 5 年之前
父节点
当前提交
7d8117bc3f
共有 2 个文件被更改,包括 50 次插入26 次删除
  1. 46 24
      api/encrypt_views.py
  2. 4 2
      api/urls.py

+ 46 - 24
api/encrypt_views.py

@@ -103,7 +103,7 @@ def encrypt(request):
103 103
 
104 104
 
105 105
 @logit(res=True)
106
-def decrypt(request):
106
+def decrypt(request, v='v2'):
107 107
     ciphertext = request.POST.get('ciphertext', '')
108 108
 
109 109
     prefix, cipherlen, ciphertext = ciphertext.split('+', 2)
@@ -145,16 +145,27 @@ def decrypt(request):
145 145
         mdli.decrypt_count += 1
146 146
         mdli.save()
147 147
 
148
-    act = ActivityInfo.objects.filter(status=True).order_by('-pk').first()
149
-    has_unexpired_activity = True if act and act.has_unexpired_activity(model.model_uni_name) else False
148
+    if v == 'v1':
149
+        act = ActivityInfo.objects.filter(status=True).order_by('-pk').first()
150
+        has_unexpired_activity = True if act and act.has_unexpired_activity(model.model_uni_name) else False
150 151
 
151
-    coupon_info = {
152
-        'coupon_expire_at': act.final_coupon_expire_at(created_at=None),
153
-        'coupon_value': act.coupon_value,
154
-    } if has_unexpired_activity else {
155
-        'coupon_expire_at': '',
156
-        'coupon_value': 0,
157
-    }
152
+        coupon_info = {
153
+            'coupon_expire_at': act.final_coupon_expire_at(created_at=None),
154
+            'coupon_value': act.coupon_value,
155
+        } if has_unexpired_activity else {
156
+            'coupon_expire_at': '',
157
+            'coupon_value': 0,
158
+        }
159
+
160
+    else:
161
+        activities = ActivityInfo.objects.filter(status=True).order_by('-pk')
162
+        unexpired_activities = [True if act and act.has_unexpired_activity(model.model_uni_name) else False for act in activities]
163
+        has_unexpired_activity = any(unexpired_activities)
164
+
165
+        coupon_info = [{
166
+            'coupon_expire_at': act.final_coupon_expire_at(created_at=None),
167
+            'coupon_value': act.coupon_value,
168
+        } for act in unexpired_activities]
158 169
 
159 170
     return response(200, data={
160 171
         'plaintext': plaintext,
@@ -168,8 +179,8 @@ def decrypt(request):
168 179
             'Model': (model.model_full_name or model.model_name) if model else '',
169 180
             'DistributorID': distributor_pk,
170 181
             'SerialNo': sn,
171
-            'img': model.imgdata1,
172
-            'img2': model.imgdata
182
+            'img': model.imgdata1 if model else '',
183
+            'img2': model.imgdata if model else {},
173 184
         },
174 185
         'has_unexpired_activity': has_unexpired_activity,
175 186
         'coupon_info': coupon_info,
@@ -177,7 +188,7 @@ def decrypt(request):
177 188
 
178 189
 
179 190
 @logit(res=True)
180
-def decrypt2(request):
191
+def decrypt2(request, v='v2'):
181 192
     code_ticket = request.POST.get('code_ticket', '')
182 193
     code = request.POST.get('code', '')
183 194
     user_id = request.POST.get('user_id', '')
@@ -241,16 +252,27 @@ def decrypt2(request):
241 252
         mdli.decrypt_count += 1
242 253
         mdli.save()
243 254
 
244
-    act = ActivityInfo.objects.filter(status=True).order_by('-pk').first()
245
-    has_unexpired_activity = True if act and act.has_unexpired_activity(model.model_uni_name) else False
255
+    if v == 'v1':
256
+        act = ActivityInfo.objects.filter(status=True).order_by('-pk').first()
257
+        has_unexpired_activity = True if act and act.has_unexpired_activity(model.model_uni_name) else False
258
+
259
+        coupon_info = {
260
+            'coupon_expire_at': act.final_coupon_expire_at(created_at=None),
261
+            'coupon_value': act.coupon_value,
262
+        } if has_unexpired_activity else {
263
+            'coupon_expire_at': '',
264
+            'coupon_value': 0,
265
+        }
266
+
267
+    else:
268
+        activities = ActivityInfo.objects.filter(status=True).order_by('-pk')
269
+        unexpired_activities = [True if act and act.has_unexpired_activity(model.model_uni_name) else False for act in activities]
270
+        has_unexpired_activity = any(unexpired_activities)
246 271
 
247
-    coupon_info = {
248
-        'coupon_expire_at': act.final_coupon_expire_at(created_at=None),
249
-        'coupon_value': act.coupon_value,
250
-    } if has_unexpired_activity else {
251
-        'coupon_expire_at': '',
252
-        'coupon_value': 0,
253
-    }
272
+        coupon_info = [{
273
+            'coupon_expire_at': act.final_coupon_expire_at(created_at=None),
274
+            'coupon_value': act.coupon_value,
275
+        } for act in unexpired_activities]
254 276
 
255 277
     return response(200, data={
256 278
         'plaintext': plaintext,
@@ -264,8 +286,8 @@ def decrypt2(request):
264 286
             'Model': (model.model_full_name or model.model_name) if model else '',
265 287
             'DistributorID': distributor_pk,
266 288
             'SerialNo': sn,
267
-            'img': model.imgdata1,
268
-            'img2': model.imgdata
289
+            'img': model.imgdata1 if model else '',
290
+            'img2': model.imgdata if model else {},
269 291
         },
270 292
         'has_unexpired_activity': has_unexpired_activity,
271 293
         'coupon_info': coupon_info,

+ 4 - 2
api/urls.py

@@ -208,8 +208,10 @@ urlpatterns += [
208 208
 
209 209
 urlpatterns += [
210 210
     url(r'^encrypt$', encrypt_views.encrypt, name='encrypt'),
211
-    url(r'^decrypt$', encrypt_views.decrypt, name='decrypt'),
212
-    url(r'^decrypt2$', encrypt_views.decrypt2, name='decrypt2'),
211
+    url(r'^decrypt$', encrypt_views.decrypt, {'v': 'v1'}, name='decrypt'),
212
+    url(r'^decrypt2$', encrypt_views.decrypt2, {'v': 'v1'}, name='decrypt2'),
213
+    url(r'^v2/decrypt$', encrypt_views.decrypt, {'v': 'v2'}, name='decrypt'),
214
+    url(r'^v2/decrypt2$', encrypt_views.decrypt2, {'v': 'v2'}, name='decrypt2'),
213 215
 ]
214 216
 
215 217
 urlpatterns += [