Pārlūkot izejas kodu

修复体验套餐重复生成问题

locky 3 gadi atpakaļ
vecāks
revīzija
4a768a17de
1 mainītis faili ar 10 papildinājumiem un 2 dzēšanām
  1. 10 2
      Controller/CloudStorage.py

+ 10 - 2
Controller/CloudStorage.py

@@ -44,6 +44,7 @@ from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssC
 from Object.AWS.S3Email import S3Email
 from Object.AliPayObject import AliPayObject
 from Object.AliSmsObject import AliSmsObject
+from Object.RedisObject import RedisObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.UidTokenObject import UidTokenObject
@@ -1190,7 +1191,8 @@ class CloudStorageView(View):
         rank = request_dict.get('rank', None)
         cdk = request_dict.get('cdk', None)
         lang = request_dict.get('lang', 'en')
-        if cdk != None and pay_type == 11:
+
+        if cdk is not None and pay_type == 11:
             cdk_qs = CDKcontextModel.objects.filter(cdk=cdk).values('is_activate', 'rank__id', 'rank__commodity_code')
             if not cdk_qs.exists():
                 return response.json(10040)
@@ -1199,9 +1201,14 @@ class CloudStorageView(View):
             rank = cdk_qs[0]['rank__id']
             commodity_code = cdk_qs[0]['rank__commodity_code']
 
-        if uid == None or channel == None or commodity_code == None or pay_type == None or rank == None:
+        if uid is None or channel is None or commodity_code is None or pay_type is None or rank is None:
             return response.json(13, '参数有误.')
 
+        redisObj = RedisObject()
+        if redisObj.get_data(key=uid+'do_experience_order'):
+            return response.json(5)
+        redisObj.set_data(key=uid+'do_experience_order', val=uid, expire=300)
+
         dvq = Device_Info.objects.filter(UID=uid)
         dvq = dvq.filter(~Q(vodPrimaryUserID='')).values('vodPrimaryUserID')
         if dvq.exists():
@@ -1310,6 +1317,7 @@ class CloudStorageView(View):
                     sms = 'SMS_219748439'
 
                 self.do_vod_msg_Notice(uid, channel, userID, lang, sys_msg_text_list, sms)
+                redisObj.del_data(key=uid+'do_experience_order')
                 result = returnurl
                 return response.json(0, result)
         except Exception: