|
@@ -9,7 +9,7 @@ import time
|
|
|
from django.db import transaction
|
|
|
from django.views.generic.base import View
|
|
|
|
|
|
-from Model.models import UnicomDeviceInfo, UnicomCombo, Pay_Type, UnicomComboOrderInfo, Device_User
|
|
|
+from Model.models import UnicomDeviceInfo, UnicomCombo, Pay_Type, UnicomComboOrderInfo, Device_User, Device_Info
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
|
|
|
|
|
@@ -63,6 +63,7 @@ class UnicomManageControllerView(View):
|
|
|
phone = request_dict.get('phone', None)
|
|
|
iccid = request_dict.get('iccid', None)
|
|
|
serial_no = request_dict.get('serialNo', None)
|
|
|
+ status = request_dict.get('status')
|
|
|
pageSize = request_dict.get('pageSize', None)
|
|
|
pageNo = request_dict.get('pageNo', None)
|
|
|
|
|
@@ -76,12 +77,14 @@ class UnicomManageControllerView(View):
|
|
|
unicom_device_qs = UnicomDeviceInfo.objects.all().order_by('-updated_time')
|
|
|
device_user_qs = Device_User.objects.filter().values(
|
|
|
'userID', 'NickName', 'phone')
|
|
|
+ if status:
|
|
|
+ unicom_device_qs = unicom_device_qs.filter(status=status)
|
|
|
if iccid:
|
|
|
- unicom_device_qs = unicom_device_qs.filter(iccid=iccid)
|
|
|
+ unicom_device_qs = unicom_device_qs.filter(iccid__icontains=iccid)
|
|
|
if serial_no:
|
|
|
- unicom_device_qs = unicom_device_qs.filter(serial_no=serial_no)
|
|
|
+ unicom_device_qs = unicom_device_qs.filter(serial_no__icontains=serial_no)
|
|
|
if NickName:
|
|
|
- device_user_qs = device_user_qs.filter(NickName=NickName)
|
|
|
+ device_user_qs = device_user_qs.filter(NickName__icontains=NickName)
|
|
|
if not device_user_qs.exists():
|
|
|
return response.json(0, [])
|
|
|
userID = device_user_qs.first()['userID']
|
|
@@ -101,21 +104,21 @@ class UnicomManageControllerView(View):
|
|
|
'serialNo': unicom_device.serial_no,
|
|
|
'userID': unicom_device.user_id,
|
|
|
'cardType': unicom_device.card_type,
|
|
|
- 'status':unicom_device.status,
|
|
|
+ 'status': unicom_device.status,
|
|
|
'mainCard': unicom_device.main_card,
|
|
|
'createdTime': unicom_device.created_time,
|
|
|
'updatedTime': unicom_device.updated_time
|
|
|
}
|
|
|
- device_user_qs = Device_User.objects.filter(userID=unicom_device.user_id).values('NickName', 'phone')
|
|
|
- data['NickName'] = device_user_qs[0]['NickName'] if device_user_qs.first() else ''
|
|
|
- data['phone'] = device_user_qs[0]['phone'] if device_user_qs.first() else ''
|
|
|
+ device_user_qs = Device_User.objects.filter(userID=unicom_device.user_id).values('username', 'NickName', 'phone')
|
|
|
+ data['userName'] = device_user_qs[0]['username'] if device_user_qs.exists() else ''
|
|
|
+ data['NickName'] = device_user_qs[0]['NickName'] if device_user_qs.exists() else ''
|
|
|
+ data['phone'] = device_user_qs[0]['phone'] if device_user_qs.exists() else ''
|
|
|
list_data.append(data)
|
|
|
return response.json(0, {'list': list_data, 'total': total})
|
|
|
except Exception as e:
|
|
|
print(e)
|
|
|
return response.json(500, repr(e))
|
|
|
|
|
|
-
|
|
|
@staticmethod
|
|
|
def get_order_info(request_dict, response):
|
|
|
"""
|
|
@@ -125,6 +128,7 @@ class UnicomManageControllerView(View):
|
|
|
@return:
|
|
|
serial_no 设备序列号
|
|
|
"""
|
|
|
+ UID = request_dict.get('uid', None)
|
|
|
serial_no = request_dict.get('serialNo', None)
|
|
|
status = request_dict.get('status', None)
|
|
|
pageNo = request_dict.get('pageNo', None)
|
|
@@ -137,19 +141,26 @@ class UnicomManageControllerView(View):
|
|
|
|
|
|
try:
|
|
|
combo_order_info_qs = UnicomComboOrderInfo.objects.all()
|
|
|
+ # 筛选查询
|
|
|
if serial_no:
|
|
|
- unicom_device_qs = UnicomDeviceInfo.objects.filter(serial_no=serial_no).values('serial_no', 'user_id',
|
|
|
- 'iccid')
|
|
|
+ unicom_device_qs = UnicomDeviceInfo.objects.filter(serial_no__icontains=serial_no).values('serial_no',
|
|
|
+ 'user_id',
|
|
|
+ 'iccid')
|
|
|
+ if not unicom_device_qs.exists():
|
|
|
+ return response.json(0, [])
|
|
|
+ combo_order_info_qs = combo_order_info_qs.filter(iccid__icontains=unicom_device_qs[0]['iccid'])
|
|
|
+ if UID:
|
|
|
+ device_qs = Device_Info.objects.filter(UID=UID).values('serial_number').distinct()
|
|
|
+ if not device_qs.exists():
|
|
|
+ return response.json(0, [])
|
|
|
+ unicom_device_qs = UnicomDeviceInfo.objects.filter(
|
|
|
+ serial_no__icontains=device_qs[0]['serial_number']).values('serial_no', 'user_id', 'iccid')
|
|
|
if not unicom_device_qs.exists():
|
|
|
return response.json(0, [])
|
|
|
- combo_order_info_qs = combo_order_info_qs.filter(iccid=unicom_device_qs[0]['iccid'])
|
|
|
+ combo_order_info_qs = combo_order_info_qs.filter(iccid__icontains=unicom_device_qs[0]['iccid'])
|
|
|
if status:
|
|
|
status = int(status)
|
|
|
- unicom_device_qs = UnicomDeviceInfo.objects.filter().values('serial_no', 'user_id',
|
|
|
- 'iccid').distinct()
|
|
|
combo_order_info_qs = combo_order_info_qs.filter(status=status)
|
|
|
- if not unicom_device_qs.exists():
|
|
|
- return response.json(0, [])
|
|
|
if not combo_order_info_qs.exists():
|
|
|
return response.json(0, [])
|
|
|
total = combo_order_info_qs.count()
|
|
@@ -168,18 +179,17 @@ class UnicomManageControllerView(View):
|
|
|
'createdTime': combo_order.created_time,
|
|
|
'updated_time': combo_order.updated_time}
|
|
|
unicom_combo_qs = UnicomCombo.objects.filter(id=combo_order.combo_id).values('combo_name')
|
|
|
- if unicom_combo_qs.exists():
|
|
|
- data['comboName'] = unicom_combo_qs[0]['combo_name']
|
|
|
- else:
|
|
|
- data['comboName'] = ''
|
|
|
- iccid = combo_order.iccid
|
|
|
- unicom_device_qs = UnicomDeviceInfo.objects.filter(iccid=iccid).values('user_id', 'serial_no')
|
|
|
- userID = unicom_device_qs[0]['user_id']
|
|
|
+ data['comboName'] = unicom_combo_qs[0]['combo_name'] if unicom_combo_qs.exists() else ''
|
|
|
+ unicom_device_qs = UnicomDeviceInfo.objects.filter(iccid__icontains=combo_order.iccid).values('user_id',
|
|
|
+ 'serial_no')
|
|
|
+ userID = unicom_device_qs[0]['user_id'] if unicom_device_qs.exists() else ''
|
|
|
device_user = Device_User.objects.filter(userID=userID).values('username')
|
|
|
if device_user.exists():
|
|
|
nick_name = device_user[0]['username']
|
|
|
data['userName'] = nick_name
|
|
|
- data['serialNo'] = unicom_device_qs[0]['serial_no']
|
|
|
+ data['serialNo'] = unicom_device_qs[0]['serial_no'] if unicom_device_qs.exists() else ''
|
|
|
+ device_qs = Device_Info.objects.filter(serial_number=unicom_device_qs[0]['serial_no']).values('UID')
|
|
|
+ data['UID'] = device_qs[0]['UID'] if device_qs.exists() else ''
|
|
|
data_list.append(data)
|
|
|
return response.json(0, {'list': data_list, 'total': total})
|
|
|
except Exception as e:
|
|
@@ -208,6 +218,7 @@ class UnicomManageControllerView(View):
|
|
|
price = request_dict.get('price', None)
|
|
|
remark = request_dict.get('remark', None)
|
|
|
is_show = request_dict.get('isShow', None)
|
|
|
+ virtualPrice = request_dict.get('virtualPrice', None)
|
|
|
|
|
|
if not all([pay_type, price, is_show, status, combo_type, flow_total, expiration_days, expiration_type]):
|
|
|
return response.json(444)
|
|
@@ -243,7 +254,8 @@ class UnicomManageControllerView(View):
|
|
|
'price': price,
|
|
|
'sort': sort,
|
|
|
'remark': remark if remark else '',
|
|
|
- 'is_show': is_show
|
|
|
+ 'is_show': is_show,
|
|
|
+ 'virtual_price': virtualPrice,
|
|
|
}
|
|
|
if unicom_combo_qs.filter(id=combo_id).exists():
|
|
|
re_data['updated_time'] = int(time.time())
|
|
@@ -280,7 +292,8 @@ class UnicomManageControllerView(View):
|
|
|
'expiration_days',
|
|
|
'expiration_type', 'price', 'is_unlimited',
|
|
|
'updated_time', 'created_time',
|
|
|
- 'remark', 'is_show', 'sort')[(page - 1) * line:page * line]
|
|
|
+ 'remark', 'is_show', 'sort', 'virtual_price')[
|
|
|
+ (page - 1) * line:page * line]
|
|
|
if not combo_qs.exists():
|
|
|
return response.json(0, [])
|
|
|
total = combo_qs.count()
|
|
@@ -305,6 +318,7 @@ class UnicomManageControllerView(View):
|
|
|
'remark': item['remark'],
|
|
|
'isShow': item['is_show'],
|
|
|
'payTypes': pay_type_list,
|
|
|
+ 'virtualPrice': item['virtual_price']
|
|
|
})
|
|
|
return response.json(0, {'list': combo_list, 'total': total})
|
|
|
except Exception as e:
|
|
@@ -323,7 +337,6 @@ class UnicomManageControllerView(View):
|
|
|
try:
|
|
|
pay_type_list = []
|
|
|
for pay_type in pay_type_qs:
|
|
|
- pay_type_qs.exists()
|
|
|
pay_type_list.append(pay_type)
|
|
|
return response.json(0, pay_type_list)
|
|
|
except Exception as e:
|
|
@@ -374,7 +387,6 @@ class UnicomManageControllerView(View):
|
|
|
|
|
|
list_data = []
|
|
|
unicom_combo_qs = UnicomCombo.objects.filter().values('id', 'combo_type', 'combo_name')
|
|
|
-
|
|
|
if not unicom_combo_qs.exists():
|
|
|
return response.json(173)
|
|
|
try:
|