|
@@ -2,7 +2,7 @@
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
from django.views.generic.base import View
|
|
|
-from Model.models import Lang, AiStoreMeal, AiService
|
|
|
+from Model.models import Lang, AiStoreMeal, AiService, Order_Model
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
|
from Service.CommonService import CommonService
|
|
@@ -49,6 +49,9 @@ class AiServeView(View):
|
|
|
# 设备ai套餐相关
|
|
|
elif operation == 'getDeviceAiMealList':
|
|
|
return self.getDeviceAiMealList(request_dict, response)
|
|
|
+ # ai用户信息相关
|
|
|
+ elif operation == 'getAiUserList':
|
|
|
+ return self.getAiUserList(request_dict, response)
|
|
|
else:
|
|
|
return response.json(404)
|
|
|
|
|
@@ -329,3 +332,91 @@ class AiServeView(View):
|
|
|
except Exception as e:
|
|
|
print(e)
|
|
|
return response.json(500, repr(e))
|
|
|
+
|
|
|
+ def getAiUserList(self, request_dict, response):
|
|
|
+ username = request_dict.get('username', None)
|
|
|
+ NickName = request_dict.get('NickName', None)
|
|
|
+ uid = request_dict.get('uid', None)
|
|
|
+ payType = request_dict.get('payType', None)
|
|
|
+ status = request_dict.get('status', None)
|
|
|
+ use_status = request_dict.get('use_status', None)
|
|
|
+ addTimeRange = request_dict.getlist('addTimeRange[]', None)
|
|
|
+
|
|
|
+ pageNo = request_dict.get('pageNo', None)
|
|
|
+ pageSize = request_dict.get('pageSize', None)
|
|
|
+ if not all([pageNo, pageSize]):
|
|
|
+ return response.json(444)
|
|
|
+ page = int(pageNo)
|
|
|
+ line = int(pageSize)
|
|
|
+
|
|
|
+ try:
|
|
|
+ order_qs = Order_Model.objects.filter(
|
|
|
+ order_type=1).order_by('-addTime')
|
|
|
+ if username or NickName or uid or payType or status or use_status or addTimeRange:
|
|
|
+ if username:
|
|
|
+ order_qs = order_qs.filter(
|
|
|
+ userID__username__contains=username)
|
|
|
+ if NickName:
|
|
|
+ order_qs = order_qs.filter(
|
|
|
+ userID__NickName__contains=NickName)
|
|
|
+ if uid:
|
|
|
+ order_qs = order_qs.filter(UID__contains=uid)
|
|
|
+ if payType:
|
|
|
+ order_qs = order_qs.filter(payType=payType)
|
|
|
+ if status:
|
|
|
+ order_qs = order_qs.filter(status=status)
|
|
|
+ if use_status:
|
|
|
+ order_qs = order_qs.filter(use_status=use_status)
|
|
|
+ if addTimeRange:
|
|
|
+ addStartTime, addEndTime = int(
|
|
|
+ addTimeRange[0][:-3]), int(addTimeRange[1][:-3])
|
|
|
+ order_qs = order_qs.filter(
|
|
|
+ addTime__gte=addStartTime,
|
|
|
+ addTime__lte=addEndTime)
|
|
|
+ if not order_qs.exists():
|
|
|
+ return response.json(0, {'list': [], 'total': 0})
|
|
|
+ count = order_qs.count()
|
|
|
+ else:
|
|
|
+ count = Order_Model.objects.filter(order_type=1).count()
|
|
|
+ order_qs = order_qs.values(
|
|
|
+ 'userID__username',
|
|
|
+ 'userID__NickName',
|
|
|
+ 'UID',
|
|
|
+ 'channel',
|
|
|
+ 'orderID',
|
|
|
+ 'desc',
|
|
|
+ 'payType',
|
|
|
+ 'price',
|
|
|
+ 'status',
|
|
|
+ 'refunded_amount',
|
|
|
+ 'addTime',
|
|
|
+ 'updTime',
|
|
|
+ )[(page - 1) * line:page * line]
|
|
|
+ data_list = []
|
|
|
+ for order in order_qs:
|
|
|
+ data_dict = {
|
|
|
+ 'username': order['userID__username'],
|
|
|
+ 'NickName': order['userID__NickName'],
|
|
|
+ 'uid': order['UID'],
|
|
|
+ 'channel': order['channel'],
|
|
|
+ 'orderID': order['orderID'],
|
|
|
+ 'desc': order['desc'],
|
|
|
+ 'payType': order['payType'],
|
|
|
+ 'price': order['price'],
|
|
|
+ 'status': order['status'],
|
|
|
+ 'refunded_amount': order['refunded_amount'],
|
|
|
+ 'addTime': order['addTime'],
|
|
|
+ 'updTime': order['updTime'],
|
|
|
+ }
|
|
|
+ ai_service_qs = AiService.objects.filter(
|
|
|
+ orders_id=order['orderID']).values(
|
|
|
+ 'endTime', 'use_status')
|
|
|
+ if ai_service_qs.exists():
|
|
|
+ data_dict['endTime'] = ai_service_qs[0]['endTime']
|
|
|
+ data_dict['use_status'] = ai_service_qs[0]['use_status']
|
|
|
+ data_list.append(data_dict)
|
|
|
+ return response.json(
|
|
|
+ 0, {'list': data_list, 'total': count})
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, repr(e))
|