|
@@ -80,8 +80,6 @@ class serveManagement(View):
|
|
|
return self.getCdkList(userID, request_dict, response)
|
|
|
elif operation == 'createCdk':
|
|
|
return self.createCdk(request_dict, response)
|
|
|
- elif operation == 'getVodStoreMeal':
|
|
|
- return self.getVodStoreMeal(response)
|
|
|
elif operation == 'deleteCdk':
|
|
|
return self.deleteCdk(request_dict, response)
|
|
|
elif operation == 'downloadCDK':
|
|
@@ -575,39 +573,23 @@ class serveManagement(View):
|
|
|
print(e)
|
|
|
return response.json(500, repr(e))
|
|
|
|
|
|
- def getVodStoreMeal(self, response):
|
|
|
- try:
|
|
|
- store_meal = Store_Meal.objects.filter(Q(is_show=0), ~Q(commodity_code='paypal_cycle'),
|
|
|
- Q(lang__lang='cn')).values('id', 'lang__title', 'lang__content')
|
|
|
- if not store_meal.exists():
|
|
|
- return response.json(0, [])
|
|
|
- store_meal_list = []
|
|
|
- for item in store_meal:
|
|
|
- store_meal_list.append({'id': item['id'], 'title': item['lang__title'] + '--' + item['lang__content']})
|
|
|
- return response.json(0, store_meal_list)
|
|
|
- except Exception as e:
|
|
|
- return response.json(500, repr(e))
|
|
|
-
|
|
|
def createCdk(self, request_dict, response):
|
|
|
cdk_num = request_dict.get("cdknum", None)
|
|
|
mold = request_dict.get('mold', None)
|
|
|
order = request_dict.get('order', None)
|
|
|
- rank = request_dict.get('rank', None)
|
|
|
- if not all([cdk_num, rank]):
|
|
|
- return response.json(444, {'error param': 'cdknum or rank'})
|
|
|
- store_meal = Store_Meal.objects.filter(id=rank)
|
|
|
- # sm_qs = Store_Meal.objects.filter(
|
|
|
- # pay_type__payment='cdk_pay', bucket__mold=mold, is_show=0)
|
|
|
- if not store_meal.exists():
|
|
|
- return response.json(173)
|
|
|
cdk_list = []
|
|
|
+ sm_qs = Store_Meal.objects.filter(
|
|
|
+ pay_type__payment='cdk_pay', bucket__mold=mold, is_show=0)
|
|
|
+ if not sm_qs.exists():
|
|
|
+ return response.json(173)
|
|
|
+ rank = sm_qs[0].id
|
|
|
for i in range(int(cdk_num)):
|
|
|
- now_time = int(time.time())
|
|
|
+ nowTime = int(time.time())
|
|
|
cdk = hashlib.md5((str(uuid.uuid1()) +
|
|
|
- str(now_time)).encode('utf-8')).hexdigest()
|
|
|
+ str(nowTime)).encode('utf-8')).hexdigest()
|
|
|
cdk_model = CDKcontextModel(
|
|
|
cdk=cdk,
|
|
|
- create_time=now_time,
|
|
|
+ create_time=nowTime,
|
|
|
valid_time=0,
|
|
|
is_activate=0,
|
|
|
is_down=0,
|
|
@@ -666,6 +648,7 @@ class serveManagement(View):
|
|
|
status = request_dict.get('status', None)
|
|
|
timeRange = request_dict.getlist('timeRange[]', None)
|
|
|
orderType = request_dict.get('orderType', None)
|
|
|
+ serialNumber = request_dict.get('serialNumber', None)
|
|
|
|
|
|
if not all([pageNo, pageSize]):
|
|
|
return response.json(444)
|
|
@@ -691,6 +674,10 @@ class serveManagement(View):
|
|
|
omqs = omqs.filter(status=status)
|
|
|
if orderType:
|
|
|
omqs = omqs.filter(order_type=int(orderType))
|
|
|
+ if serialNumber:
|
|
|
+ device_info_qs = Device_Info.objects.filter(serial_number=serialNumber).values('UID')
|
|
|
+ uid = device_info_qs[0]['UID'] if device_info_qs.exists() else 'N/A'
|
|
|
+ omqs = omqs.filter(UID=uid)
|
|
|
if timeRange:
|
|
|
startTime, endTime = int(
|
|
|
timeRange[0][:-3]), int(timeRange[1][:-3])
|
|
@@ -729,27 +716,32 @@ class serveManagement(View):
|
|
|
'order_type': order['order_type'],
|
|
|
}
|
|
|
# 订单显示(或不显示)停用/退款功能
|
|
|
- if order['order_type'] == 0: # 云存
|
|
|
+ if order['order_type'] == 0: # 云存
|
|
|
uid_bucket = UID_Bucket.objects.filter(uid=order['UID']).values('use_status')
|
|
|
user_status = uid_bucket[0]['use_status'] if uid_bucket.exists() else ''
|
|
|
if user_status != '':
|
|
|
data['user_status'] = user_status
|
|
|
else:
|
|
|
data['user_status'] = 2
|
|
|
- elif order['order_type'] == 1: # ai
|
|
|
+ elif order['order_type'] == 1: # ai
|
|
|
ai_service_qs = AiService.objects.filter(
|
|
|
Q(orders_id=order['orderID']) & ~Q(use_status=2))
|
|
|
if ai_service_qs.exists():
|
|
|
data['user_status'] = 1
|
|
|
else:
|
|
|
data['user_status'] = 2
|
|
|
- elif order['order_type'] == 2: # 联通4G
|
|
|
+ elif order['order_type'] == 2: # 联通4G
|
|
|
unicom_combor_order_qs = UnicomComboOrderInfo.objects.filter(
|
|
|
Q(order_id=order['orderID']) & ~Q(status=2))
|
|
|
if unicom_combor_order_qs.exists():
|
|
|
data['user_status'] = 1
|
|
|
else:
|
|
|
data['user_status'] = 2
|
|
|
+ # 添加序列号
|
|
|
+ data['serial_number'] = 'N/A'
|
|
|
+ device_info_qs = Device_Info.objects.filter(UID=order['UID']).values('serial_number')
|
|
|
+ if device_info_qs.exists():
|
|
|
+ data['serial_number'] = device_info_qs[0]['serial_number'] if device_info_qs[0]['serial_number'] else 'N/A'
|
|
|
# 添加PayPal交易号字段
|
|
|
data['trade_no'] = 'N/A'
|
|
|
if data['payType'] == 1:
|
|
@@ -977,6 +969,9 @@ class serveManagement(View):
|
|
|
# 日志表查询
|
|
|
logTimeRange = request_dict.getlist('logTimeRange[]', None)
|
|
|
|
|
|
+ # 序列号查询
|
|
|
+ serialNumber = request_dict.get('serialNumber', None)
|
|
|
+
|
|
|
pageNo = request_dict.get('pageNo', None)
|
|
|
pageSize = request_dict.get('pageSize', None)
|
|
|
if not all([pageNo, pageSize]):
|
|
@@ -994,6 +989,10 @@ class serveManagement(View):
|
|
|
uid_bucket_qs = uid_bucket_qs.filter(use_status=use_status)
|
|
|
if has_unused:
|
|
|
uid_bucket_qs = uid_bucket_qs.filter(has_unused=has_unused)
|
|
|
+ if serialNumber:
|
|
|
+ device_info_qs = Device_Info.objects.filter(serial_number=serialNumber).values('UID')
|
|
|
+ uid = device_info_qs[0]['UID'] if device_info_qs.exists() else 'N/A'
|
|
|
+ uid_bucket_qs = uid_bucket_qs.filter(uid__icontains=uid)
|
|
|
if addTimeRange:
|
|
|
addStartTime, addEndTime = int(
|
|
|
addTimeRange[0][:-3]), int(addTimeRange[1][:-3])
|
|
@@ -1096,9 +1095,13 @@ class serveManagement(View):
|
|
|
'phone': order['userID__phone'],
|
|
|
'userEmail': order['userID__userEmail'],
|
|
|
'data_joined': order['userID__data_joined'].strftime("%Y-%m-%d %H:%M:%S"),
|
|
|
- 'playcount': cg_qs.filter(operation='cloudstorage/queryvodlist', uid=order['UID']).count()
|
|
|
+ 'playcount': cg_qs.filter(operation='cloudstorage/queryvodlist', uid=order['UID']).count(),
|
|
|
+ 'serial_number': 'N/A'
|
|
|
}
|
|
|
-
|
|
|
+ device_info_qs = Device_Info.objects.filter(UID=uid).values('serial_number')
|
|
|
+ if device_info_qs.exists():
|
|
|
+ data['serial_number'] = device_info_qs[0]['serial_number'] if device_info_qs[0][
|
|
|
+ 'serial_number'] else 'N/A'
|
|
|
if uid in uid_set_dict:
|
|
|
data['ucode'] = uid_set_dict[uid]['ucode']
|
|
|
data['version'] = uid_set_dict[uid]['version']
|