|
@@ -15,11 +15,12 @@ from django.http import HttpResponse, StreamingHttpResponse
|
|
from django.views.generic.base import View
|
|
from django.views.generic.base import View
|
|
from Model.models import VodBucketModel, CDKcontextModel, Store_Meal, Order_Model, \
|
|
from Model.models import VodBucketModel, CDKcontextModel, Store_Meal, Order_Model, \
|
|
UID_Bucket, ExperienceContextModel, Lang, CloudLogModel, UidSetModel, Unused_Uid_Meal, \
|
|
UID_Bucket, ExperienceContextModel, Lang, CloudLogModel, UidSetModel, Unused_Uid_Meal, \
|
|
- Device_Info, VodHlsModel, UnicomComboOrderInfo, Device_User
|
|
|
|
|
|
+ Device_Info, VodHlsModel, UnicomComboOrderInfo, Device_User, AiService
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.TokenObject import TokenObject
|
|
from Object.TokenObject import TokenObject
|
|
from Service.CommonService import CommonService
|
|
from Service.CommonService import CommonService
|
|
from django.db.models import F, Sum, Count
|
|
from django.db.models import F, Sum, Count
|
|
|
|
+from Controller.Cron.CronTaskController import CronUpdateDataView
|
|
|
|
|
|
|
|
|
|
class serveManagement(View):
|
|
class serveManagement(View):
|
|
@@ -1368,12 +1369,12 @@ class serveManagement(View):
|
|
if vod_hls_qs.exists():
|
|
if vod_hls_qs.exists():
|
|
level = '取消预警'
|
|
level = '取消预警'
|
|
else:
|
|
else:
|
|
- level = '1号预警'
|
|
|
|
|
|
+ level = '二号预警'
|
|
else:
|
|
else:
|
|
- level = '无预警'
|
|
|
|
|
|
+ level = '取消预警'
|
|
if day >= 25:
|
|
if day >= 25:
|
|
if vod_hls_qs.exists():
|
|
if vod_hls_qs.exists():
|
|
- level = '取消预警'
|
|
|
|
|
|
+ level = '二号预警'
|
|
else:
|
|
else:
|
|
startTime = uid_buncket['addTime'] # 开始时间
|
|
startTime = uid_buncket['addTime'] # 开始时间
|
|
nowTime = str(nowTime)
|
|
nowTime = str(nowTime)
|
|
@@ -1384,13 +1385,15 @@ class serveManagement(View):
|
|
startTime = datetime.datetime.strptime(startTime, '%Y-%m-%d %H:%M:%S') # 开始时间
|
|
startTime = datetime.datetime.strptime(startTime, '%Y-%m-%d %H:%M:%S') # 开始时间
|
|
nowTime = datetime.datetime.strptime(nowTime, '%Y-%m-%d %H:%M:%S') # 结束时间
|
|
nowTime = datetime.datetime.strptime(nowTime, '%Y-%m-%d %H:%M:%S') # 结束时间
|
|
day = (nowTime - startTime).days
|
|
day = (nowTime - startTime).days
|
|
- level = '2号预警'
|
|
|
|
|
|
+ level = '二号预警'
|
|
else:
|
|
else:
|
|
- level = '套餐过期'
|
|
|
|
- device_user = Device_User.objects.filter(device_info__UID=uid_buncket['uid']).values('username', 'userID')
|
|
|
|
|
|
+ level = '八号预警'
|
|
|
|
+ device_user = Device_User.objects.filter(device_info__UID=uid_buncket['uid']).values('username',
|
|
|
|
+ 'userID')
|
|
username = device_user[0]['username'] if device_user.exists() else ''
|
|
username = device_user[0]['username'] if device_user.exists() else ''
|
|
userID = device_user[0]['userID'] if device_user.exists() else ''
|
|
userID = device_user[0]['userID'] if device_user.exists() else ''
|
|
- order_qs = Order_Model.objects.filter(order_type=0, userID=userID).values('UID').annotate(count=Count('UID'))
|
|
|
|
|
|
+ order_qs = Order_Model.objects.filter(order_type=0, userID=userID).values('UID').annotate(
|
|
|
|
+ count=Count('UID'))
|
|
# 用户设备购买云存数量
|
|
# 用户设备购买云存数量
|
|
if not order_qs.exists():
|
|
if not order_qs.exists():
|
|
device_count = ''
|
|
device_count = ''
|
|
@@ -1433,27 +1436,36 @@ class serveManagement(View):
|
|
@param response:
|
|
@param response:
|
|
"""
|
|
"""
|
|
status = request_dict.get('status', None)
|
|
status = request_dict.get('status', None)
|
|
- if status != '1':
|
|
|
|
|
|
+ if status in [1, 5, 6, 7]: # 付款状态
|
|
return response.json(10059)
|
|
return response.json(10059)
|
|
uid = request_dict.get('uid', None)
|
|
uid = request_dict.get('uid', None)
|
|
orderID = request_dict.get('orderID', None)
|
|
orderID = request_dict.get('orderID', None)
|
|
orderType = request_dict.get('orderType', None)
|
|
orderType = request_dict.get('orderType', None)
|
|
- payType = request_dict.get('payType')
|
|
|
|
|
|
+ payType = request_dict.get('payType', None)
|
|
|
|
+ userName = request_dict.get('userName', None)
|
|
# 查询订单
|
|
# 查询订单
|
|
- if not all([orderID, orderType, uid]):
|
|
|
|
|
|
+ if not all([orderID, orderType, uid, userName]):
|
|
return response.json(444)
|
|
return response.json(444)
|
|
nowTime = int(time.time())
|
|
nowTime = int(time.time())
|
|
try:
|
|
try:
|
|
with transaction.atomic():
|
|
with transaction.atomic():
|
|
# 云存套餐
|
|
# 云存套餐
|
|
if orderType == '0' and payType != '10':
|
|
if orderType == '0' and payType != '10':
|
|
- order_qs = Order_Model.objects.filter(UID=uid)
|
|
|
|
- order_number = order_qs.count()
|
|
|
|
- if order_number == 1:
|
|
|
|
- UID_Bucket.objects.filter(uid=uid).update(endTime=nowTime)
|
|
|
|
|
|
+ order_qs = Order_Model.objects.filter(orderID=orderID, userID__username=userName, UID=uid).values(
|
|
|
|
+ 'rank_id')
|
|
|
|
+ if not order_qs.exists():
|
|
|
|
+ return response.json(14)
|
|
|
|
+ uid_bucket_qs = UID_Bucket.objects.filter(uid=uid, use_status=1).values('addTime', 'endTime')
|
|
|
|
+ uid_bucket_number = uid_bucket_qs.count()
|
|
|
|
+ if not uid_bucket_qs.exists():
|
|
|
|
+ return response.json(173)
|
|
|
|
+ # 判断订单是否唯一
|
|
|
|
+ if uid_bucket_number <= 1:
|
|
|
|
+ uid_bucket_qs.update(endTime=nowTime)
|
|
|
|
+ CronUpdateDataView.updateUnusedUidBucket(response)
|
|
return response.json(0)
|
|
return response.json(0)
|
|
- # 判断是否有未使用的设备关联套餐表
|
|
|
|
- order_qs = order_qs.filter(orderID=orderID).values('rank_id')
|
|
|
|
|
|
+ # 当设备套餐不唯一时
|
|
|
|
+ # 判断购买套餐类型
|
|
unused_uid_Meal_qs = Unused_Uid_Meal.objects.filter(uid=uid, bucket_id=order_qs[0]['rank_id'])
|
|
unused_uid_Meal_qs = Unused_Uid_Meal.objects.filter(uid=uid, bucket_id=order_qs[0]['rank_id'])
|
|
unused_uid_Meal_number = unused_uid_Meal_qs.count()
|
|
unused_uid_Meal_number = unused_uid_Meal_qs.count()
|
|
if unused_uid_Meal_number == 1:
|
|
if unused_uid_Meal_number == 1:
|
|
@@ -1462,27 +1474,31 @@ class serveManagement(View):
|
|
return response.json(10059) # 未使用套餐类型重复
|
|
return response.json(10059) # 未使用套餐类型重复
|
|
# AI套餐
|
|
# AI套餐
|
|
if orderType == '1' and payType != '10':
|
|
if orderType == '1' and payType != '10':
|
|
- order_qs = Order_Model.objects.filter(UID=uid)
|
|
|
|
- order_number = order_qs.count()
|
|
|
|
- if order_number == 1:
|
|
|
|
- UID_Bucket.objects.filter(uid=uid).update(endTime=nowTime)
|
|
|
|
- return response.json(0)
|
|
|
|
- # 判断是否有未使用的设备关联套餐表
|
|
|
|
- order_qs = order_qs.first(orderID=orderID).values('ai_rank_id')
|
|
|
|
- unused_uid_Meal_qs = Unused_Uid_Meal.objects.filter(uid=uid, bucket_id=order_qs[0]['ai_rank_id'])
|
|
|
|
- unused_uid_Meal_number = unused_uid_Meal_qs.count()
|
|
|
|
- if unused_uid_Meal_number == 1:
|
|
|
|
- unused_uid_Meal_qs.delete()
|
|
|
|
- return response.json(0)
|
|
|
|
- return response.json(10059) # 未使用套餐类型重复
|
|
|
|
|
|
+ return response.json(10059)
|
|
|
|
+ # order_qs = Order_Model.objects.filter(orderID=orderID, userID__username=userName, UID=uid).values(
|
|
|
|
+ # 'ai_rank_id')
|
|
|
|
+ # order_qs = order_qs.objects.filter(UID=uid)
|
|
|
|
+ # ai_service_qs = AiService.objects.filter(uid=uid, use_status=1).values('addTime', 'endTime')
|
|
|
|
+ # ai_service_number = ai_service_qs.count()
|
|
|
|
+ # if ai_service_number <= 1:
|
|
|
|
+ # ai_service_qs.update(endTime=nowTime)
|
|
|
|
+ # return response.json(0)
|
|
|
|
+ # # 当设备套餐不唯一时
|
|
|
|
+ # ai_service_qs = AiService.objects.filter(uid=uid, bucket_id=order_qs[0]['ai_rank_id'])
|
|
|
|
+ # ai_serverice_number = ai_service_qs.count()
|
|
|
|
+ # if ai_serverice_number == 1:
|
|
|
|
+ # ai_service_qs.update(endTime=nowTime)
|
|
|
|
+ # return response.json(0)
|
|
|
|
+ # return response.json(10059) # 未使用套餐类型重复
|
|
# 联通4G套餐
|
|
# 联通4G套餐
|
|
if orderType == '2' and payType != '10':
|
|
if orderType == '2' and payType != '10':
|
|
- unicom_combo_order_info_qs = UnicomComboOrderInfo.objects.filter(order_id=orderID).values(
|
|
|
|
- 'expire_time')
|
|
|
|
- if not unicom_combo_order_info_qs.exists():
|
|
|
|
- return response.json(173)
|
|
|
|
- unicom_combo_order_info_qs.update(expire_time=nowTime)
|
|
|
|
- return response.json(0)
|
|
|
|
|
|
+ return response.json(10059)
|
|
|
|
+ # unicom_combo_order_info_qs = UnicomComboOrderInfo.objects.filter(order_id=orderID & ~Q(status=2)).values(
|
|
|
|
+ # 'expire_time')
|
|
|
|
+ # if not unicom_combo_order_info_qs.exists():
|
|
|
|
+ # return response.json(173)
|
|
|
|
+ # unicom_combo_order_info_qs.update(expire_time=nowTime)
|
|
|
|
+ # return response.json(0)
|
|
return response.json(173)
|
|
return response.json(173)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
print(e)
|
|
print(e)
|