瀏覽代碼

整合定时更新过期ai关联的未使用套餐状态接口

locky 3 年之前
父節點
當前提交
2654b4a069
共有 3 個文件被更改,包括 38 次插入20 次删除
  1. 0 1
      Ansjer/urls.py
  2. 1 17
      Controller/AiController.py
  3. 37 2
      Controller/Cron/CronTaskController.py

+ 0 - 1
Ansjer/urls.py

@@ -241,7 +241,6 @@ urlpatterns = [
 
     # AI服务
     url(r'^AiService/(?P<operation>.*)$', AiController.AiView.as_view()),
-    url('^ai/updateUnusedAi', AiController.updateUnusedAi),
 
     # 新增解密的接口
     url(r'^v3/account/changePwd$', UserController.v3ChangePwdView.as_view()),

+ 1 - 17
Controller/AiController.py

@@ -996,20 +996,4 @@ class AiView(View):
             print(e)
             return response.json(500, repr(e))
 
-# 如果ai套餐过期,更新未使用的关联套餐
-def updateUnusedAi(request):
-    now_time = int(time.time())
-    ai_service_qs = AiService.objects.filter(endTime__lte=now_time, use_status=1).values('id', 'uid')[0:200]
-    for ai_service in ai_service_qs:
-        try:
-            with transaction.atomic():
-                AiService.objects.filter(id=ai_service['id']).update(use_status=2)      # 更新过期ai订单状态
-                # 如果存在未使用套餐,更新为使用
-                unused_ai_service = AiService.objects.filter(uid=ai_service['uid'], use_status=0).order_by('addTime')[:1].values('id', 'endTime')
-                if unused_ai_service.exists():
-                    effective_day = unused_ai_service[0]['endTime']     # 未使用套餐的endTime在购买的时候保存为有效时间
-                    endTime = now_time + effective_day
-                    AiService.objects.filter(id=unused_ai_service[0]['id']).update(use_status=1, endTime=endTime, updTime=now_time)
-        except Exception as e:
-            continue
-    return HttpResponse()
+

+ 37 - 2
Controller/Cron/CronTaskController.py

@@ -13,7 +13,7 @@ from django.db import connection, connections, transaction
 from django.views import View
 
 from Model.models import Device_User, Device_Info, UidSetModel, UID_Bucket, Unused_Uid_Meal, Order_Model, StsCrdModel, \
-    VodHlsModel, ExperienceContextModel
+    VodHlsModel, ExperienceContextModel, AiService
 from Object.ResponseObject import ResponseObject
 from Object.utils import LocalDateTimeUtil
 from Service import CommonService
@@ -162,8 +162,10 @@ class CronUpdateDataView(View):
         response = ResponseObject()
         if operation == 'expiredUidBucket':   # 定时更新过期云存套餐状态
             return self.expiredUidBucket(response)
-        if operation == 'updateUnusedUidBucket':   # 定时更新过期云存关联的未使用套餐状态
+        elif operation == 'updateUnusedUidBucket':   # 定时更新过期云存关联的未使用套餐状态
             return self.updateUnusedUidBucket(response)
+        elif operation == 'updateUnusedAiService':   # 定时更新过期ai关联的未使用套餐状态
+            return self.updateUnusedAiService(response)
         else:
             return response.json(404)
 
@@ -219,3 +221,36 @@ class CronUpdateDataView(View):
             except Exception:
                 continue
         return response.json(0)
+
+    @staticmethod
+    def updateUnusedAiService(response):
+        now_time = int(time.time())
+        ai_service_qs = AiService.objects.filter(
+            endTime__lte=now_time,
+            use_status=1).values(
+            'id',
+            'uid')[
+            0:200]
+        for ai_service in ai_service_qs:
+            try:
+                with transaction.atomic():
+                    AiService.objects.filter(
+                        id=ai_service['id']).update(
+                        use_status=2)      # 更新过期ai订单状态
+                    # 如果存在未使用套餐,更新为使用
+                    unused_ai_service = AiService.objects.filter(
+                        uid=ai_service['uid'],
+                        use_status=0).order_by('addTime')[
+                        :1].values(
+                        'id',
+                        'endTime')
+                    if unused_ai_service.exists():
+                        # 未使用套餐的endTime在购买的时候保存为有效时间
+                        effective_day = unused_ai_service[0]['endTime']
+                        endTime = now_time + effective_day
+                        AiService.objects.filter(
+                            id=unused_ai_service[0]['id']).update(
+                            use_status=1, endTime=endTime, updTime=now_time)
+            except Exception:
+                continue
+        return response.json(0)