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

修复获取ai开关存在问题,完善获取ai订单

locky 3 жил өмнө
parent
commit
0ddedc5bdd
1 өөрчлөгдсөн 43 нэмэгдсэн , 38 устгасан
  1. 43 38
      Controller/AiController.py

+ 43 - 38
Controller/AiController.py

@@ -272,7 +272,7 @@ class AiView(View):
         if not uid:
             return response.json(444)
         try:
-            ai_server_qs = AiService.objects.filter(uid=uid).values('detect_status', 'detect_group')
+            ai_server_qs = AiService.objects.filter(uid=uid, use_status=1).values('detect_status', 'detect_group')
             if not ai_server_qs.exists():
                 return response.json(173)
             res = {
@@ -320,43 +320,48 @@ class AiView(View):
         lang = request_dict.get('lang', 'en')
         if not page or not line:
             return response.json(444, 'page,line')
-        page = int(page)
-        line = int(line)
-        omqs = Order_Model.objects.filter(userID_id=userID, status=1, order_type=1)
-        # 筛选指定设备id的订单
-        if uid:
-            omqs.filter(UID=uid)
-        if not omqs.exists():
-            return response.json(173)
-        count = omqs.count()
-        omqs = omqs.annotate(rank__title=F('ai_rank__title'), rank__content=F('ai_rank__content'),
-                             rank__day=F('ai_rank__effective_day'), rank__price=F('ai_rank__price'),
-                             rank__expire=F('ai_rank__effective_day'), rank__id=F('ai_rank_id'), rank__currency=F('ai_rank__currency'))
-        order_ql = omqs[(page - 1) * line:page * line].values("orderID", "UID", "channel", "desc", "price", "currency",
-                                                              "addTime",
-                                                              "updTime", "paypal", "rank__day", "payType",
-                                                              "rank__price", "status",
-                                                              "rank__content", "rank__title", "rank__currency",
-                                                              "rank__expire", "ai_rank_id")
-        order_list = list(order_ql)
-        data = []
-        nowTime = int(time.time())
-        # 这里需要进行优化
-        uid_list = []
-        for od in order_list:
-            uid_list.append(od['UID'])
-        didqs = Device_Info.objects.filter(userID_id=userID, UID__in=uid_list).values('id', 'UID', 'Type')
-        for d in order_list:
-            if d['status'] == 0:
-                if d['addTime'] + 3600 < nowTime:
-                    d['status'] = 3
-            for did in didqs:
-                if d['UID'] == did['UID']:
-                    d['did'] = did['id']
-                    d['Type'] = did['Type']
-                    data.append(d)
-            # d['rank__lang__content'] = '月' if lang == 'cn' else 'month'
-        return response.json(0, {'data': data, 'count': count})
+
+        try:
+            page = int(page)
+            line = int(line)
+            omqs = Order_Model.objects.filter(userID_id=userID, status=1, order_type=1, ai_rank__lang__lang=lang)
+            # 筛选指定设备id的订单
+            if uid:
+                omqs.filter(UID=uid)
+            if not omqs.exists():
+                return response.json(173)
+            count = omqs.count()
+            omqs = omqs.annotate(rank__title=F('ai_rank__lang__title'), rank__content=F('ai_rank__lang__content'),
+                                 rank__day=F('ai_rank__effective_day'), rank__price=F('ai_rank__price'),
+                                 rank__expire=F('ai_rank__effective_day'), rank__id=F('ai_rank_id'), rank__currency=F('ai_rank__currency'))
+            order_ql = omqs[(page - 1) * line:page * line].values("orderID", "UID", "channel", "desc", "price", "currency",
+                                                                  "addTime",
+                                                                  "updTime", "paypal", "rank__day", "payType",
+                                                                  "rank__price", "status",
+                                                                  "rank__content", "rank__title", "rank__currency",
+                                                                  "rank__expire", "ai_rank_id")
+            order_list = list(order_ql)
+            data = []
+            nowTime = int(time.time())
+            # 这里需要进行优化
+            uid_list = []
+            for od in order_list:
+                uid_list.append(od['UID'])
+            didqs = Device_Info.objects.filter(userID_id=userID, UID__in=uid_list).values('id', 'UID', 'Type')
+            for d in order_list:
+                if d['status'] == 0:
+                    if d['addTime'] + 3600 < nowTime:
+                        d['status'] = 3
+                for did in didqs:
+                    if d['UID'] == did['UID']:
+                        d['did'] = did['id']
+                        d['Type'] = did['Type']
+                        data.append(d)
+                # d['rank__lang__content'] = '月' if lang == 'cn' else 'month'
+            return response.json(0, {'data': data, 'count': count})
+        except Exception as e:
+            print(e)
+        return response.json(500, repr(e))
 
     # 获取设备当前使用的ai套餐
     def getUsingPackage(self, request_dict, userID, response):