Эх сурвалжийг харах

修复体验AI套餐存在问题2

locky 3 жил өмнө
parent
commit
e95bc31b39

+ 9 - 9
Controller/AiController.py

@@ -369,12 +369,12 @@ class AiView(View):
         lang = request_dict.get('lang', 'en')
 
         # 使用redis设置唯一key加锁
-        # redisObj = RedisObject()
-        # redis_key = uid + 'do_experience_ai_order'
-        # isLock = redisObj.CONN.setnx(redis_key, 1)
-        # redisObj.CONN.expire(redis_key, 60)
-        # if not isLock:
-        #     return response.json(5)
+        redisObj = RedisObject()
+        redis_key = uid + 'do_experience_ai_order'
+        isLock = redisObj.CONN.setnx(redis_key, 1)
+        redisObj.CONN.expire(redis_key, 60)
+        if not isLock:
+            return response.json(5)
         try:
             if pay_type == 10:  # 判断是否已体验过套餐
                 exc_ai_qs = ExperienceAiModel.objects.filter(uid=uid, experience_type=0)
@@ -390,7 +390,7 @@ class AiView(View):
                 rank = cdk_qs[0]['rank__id']
 
             if uid is None or channel is None or pay_type is None or rank is None:
-                # redisObj.del_data(key=redis_key)
+                redisObj.del_data(key=redis_key)
                 return response.json(444)
 
             # 判断是否为主用户操作
@@ -437,12 +437,12 @@ class AiView(View):
                 elif pay_type == 11:
                     CDKcontextModel.objects.filter(cdk=cdk).update(is_activate=1, order=orderID)
 
-                # redisObj.del_data(key=redis_key)
+                redisObj.del_data(key=redis_key)
                 pay_ok_url = "{}cloudstorage/payOK?paytype={}&lang={}".format(SERVER_DOMAIN_SSL, pay_type, lang)
                 return response.json(0, pay_ok_url)
         except Exception as e:
             print(e)
-            # redisObj.del_data(key=redis_key)
+            redisObj.del_data(key=redis_key)
             return response.json(474)
 
     def do_create_pay_order(self, request_dict, request, userID, response):