Browse Source

新增ai订单列表

lang 3 years ago
parent
commit
306f5ce5a7
1 changed files with 49 additions and 1 deletions
  1. 49 1
      Controller/AiController.py

+ 49 - 1
Controller/AiController.py

@@ -112,6 +112,8 @@ class AiView(View):
                 return self.readInfo(userID, request_dict, response)
             elif operation == 'deleteInfo':  # 删除消息
                 return self.deleteInfo(userID, request_dict, response)
+            elif operation == 'queryorderlist':  # 查询订单
+                return self.do_querylist(userID, request_dict, response)
             else:
                 return response.json(414)
 
@@ -352,6 +354,52 @@ class AiView(View):
             return response.json(0)
 
 
+    def do_querylist(self, userID, request_dict, response):
+        page = request_dict.get('page', None)
+        line = request_dict.get('line', None)
+        uid = request_dict.get('uid', None)
+        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)
+            # return response.json(10, '订单不存在')
+        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})
+
     def do_create_pay_order(self, request_dict, userID, ip, response):
         uid = request_dict.get('uid', None)
         channel = request_dict.get('channel', None)
@@ -398,7 +446,7 @@ class AiView(View):
                                        desc=content, payType=pay_type, payTime=nowTime,
                                        price=price, currency=currency, addTime=nowTime, updTime=nowTime,
                                        pay_url='', commodity_code='', commodity_type=1,
-                                       ai_rank_id=ai_meal_id, rank_id=1, order_type=1)
+                                       ai_rank_id=ai_meal_id, rank_id=1, order_type=1, status=1)
             has = AiService.objects.filter(uid=uid, channel=channel, use_status=1)
             if has.exists():
                 use_status = 0