|
@@ -57,7 +57,7 @@ from Object.UidTokenObject import UidTokenObject
|
|
|
from Service.CommonService import CommonService
|
|
|
from Object.m3u8generate import PlaylistGenerator
|
|
|
from Object.WechatPayObject import WechatPayObject
|
|
|
-from django.db.models import Q, F, Count
|
|
|
+from django.db.models import Q, F, Count, Sum
|
|
|
from Controller.PaymentCycle import Paypal
|
|
|
from decimal import Decimal
|
|
|
from Ansjer.config import SERVER_TYPE
|
|
@@ -363,12 +363,21 @@ class AiView(View):
|
|
|
# dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1, vodPrimaryUserID=userID)
|
|
|
# if not dv_qs.exists():
|
|
|
# return response.json(12)
|
|
|
- ai_service_qs = AiService.objects.filter(uid=uid, use_status=1)
|
|
|
- if not ai_service_qs.exists():
|
|
|
- return response.json(0, [])
|
|
|
- ai_service_qs = ai_service_qs.order_by('addTime').annotate(bucket__content=F('orders__ai_rank__title')).\
|
|
|
- values('uid', 'use_status', 'endTime', 'bucket__content')
|
|
|
- return response.json(0, [ai_service_qs[0]])
|
|
|
+ try:
|
|
|
+ ai_service_qs = AiService.objects.filter(uid=uid, use_status=1)
|
|
|
+ if not ai_service_qs.exists():
|
|
|
+ return response.json(0, [])
|
|
|
+
|
|
|
+ # 计算套餐过期时间
|
|
|
+ sum_end_time = AiService.objects.filter(Q(uid=uid), ~Q(use_status=2)).aggregate(Sum('endTime'))['endTime__sum']
|
|
|
+ ai_service_qs = ai_service_qs.order_by('addTime').annotate(bucket__content=F('orders__ai_rank__title')).\
|
|
|
+ values('uid', 'use_status', 'bucket__content')
|
|
|
+ ai_service_data = ai_service_qs[0]
|
|
|
+ ai_service_data['endTime'] = sum_end_time
|
|
|
+ return response.json(0, [ai_service_data])
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, repr(e))
|
|
|
|
|
|
def do_create_pay_order(self, request_dict, request, userID, response):
|
|
|
uid = request_dict.get('uid', None)
|