|
@@ -49,206 +49,44 @@ class UnicomComboView(View):
|
|
# 删除卡套餐
|
|
# 删除卡套餐
|
|
elif operation == 'dele/combo/info':
|
|
elif operation == 'dele/combo/info':
|
|
return self.combo_order_info(request_dict, response)
|
|
return self.combo_order_info(request_dict, response)
|
|
- # 筛选用户信息
|
|
|
|
- elif operation == 'filter/user':
|
|
|
|
- return self.get_user_info(request_dict, response)
|
|
|
|
-
|
|
|
|
- def get_user_info(self, request_dict, response):
|
|
|
|
- # print('request_dict: ', request_dict)
|
|
|
|
-
|
|
|
|
- # Unicom_comborOrder表查询
|
|
|
|
- status = request_dict.get('status', None)
|
|
|
|
- payType = request_dict.get('payType', None)
|
|
|
|
- price = request_dict.get('price', None)
|
|
|
|
- addTimeRange = request_dict.get('addTimeRange', None)
|
|
|
|
- endTimeRange = request_dict.get('endTimeRange', None)
|
|
|
|
-
|
|
|
|
- # UnicomDevice_info表查询
|
|
|
|
- iccid = request_dict.get('iccid', None)
|
|
|
|
- serialNo = request_dict.get('serialNo', None)
|
|
|
|
- userID = request_dict.get('userID', None)
|
|
|
|
-
|
|
|
|
- # Device_user查询
|
|
|
|
- phone = request_dict.get('phone', None)
|
|
|
|
- userEmail = request_dict.get('userEmail', None)
|
|
|
|
- dataJoined = request_dict.get('dataJoined', 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:
|
|
|
|
- unicom_device_qs = UnicomDeviceInfo.objects.all()
|
|
|
|
- if iccid:
|
|
|
|
- unicom_device_qs = unicom_device_qs.filter(iccid=iccid)
|
|
|
|
- if serialNo:
|
|
|
|
- unicom_device_qs = unicom_device_qs.filter(serial_no=serialNo)
|
|
|
|
- if userID:
|
|
|
|
- unicom_device_qs = unicom_device_qs.filter(user_id=userID)
|
|
|
|
- # if addTimeRange:
|
|
|
|
- # addStartTime, addEndTime = int(
|
|
|
|
- # addTimeRange[0][:-3]), int(addTimeRange[1][:-3])
|
|
|
|
- # unicom_combo_order_qs = unicom_combo_order_qs.filter(
|
|
|
|
- # activation_time__gte=addStartTime,
|
|
|
|
- # activation_time__lte=addEndTime)
|
|
|
|
- # if endTimeRange:
|
|
|
|
- # endStartTime, endEndTime = int(
|
|
|
|
- # endTimeRange[0][:-3]), int(endTimeRange[1][:-3])
|
|
|
|
- # unicom_combo_order_qs = unicom_combo_order_qs.filter(
|
|
|
|
- # activation_time__gte=endStartTime,
|
|
|
|
- # activation_time__lte=endEndTime)
|
|
|
|
-
|
|
|
|
- userID_list = []
|
|
|
|
- userID_set_dict = {}
|
|
|
|
- if userID and userID != ['']:
|
|
|
|
- device_user_qs = Device_User.objects.filter(user_id__in=userID).values('userID', 'phone', 'userEmail',
|
|
|
|
- 'data_joined').distinct()
|
|
|
|
- for device_user in device_user_qs:
|
|
|
|
- userID_list.append(device_user['iccid'])
|
|
|
|
- userID_set_dict[device_user['iccid']] = {
|
|
|
|
- 'userID': device_user['user_id'],
|
|
|
|
- 'phone': device_user['phone'],
|
|
|
|
- 'userEmail': device_user['userEmail'],
|
|
|
|
- 'dataJoined': device_user['data_joined'].strftime(
|
|
|
|
- "%Y-%m-%d %H:%M:%S")
|
|
|
|
- }
|
|
|
|
- unicom_device_qs = unicom_device_qs.filter(iccid__in=userID_list)
|
|
|
|
- else:
|
|
|
|
- device_user_qs = Device_User.objects.filter().values('userID', 'phone', 'userEmail',
|
|
|
|
- 'data_joined').distinct()
|
|
|
|
- for device_user in device_user_qs:
|
|
|
|
- userID_list.append(device_user['iccid'])
|
|
|
|
- userID_set_dict[device_user['iccid']] = {
|
|
|
|
- 'userID': device_user['user_id'],
|
|
|
|
- 'phone': device_user['phone'],
|
|
|
|
- 'userEmail': device_user['userEmail'],
|
|
|
|
- 'dataJoined': device_user['dataJoined'].strftime(
|
|
|
|
- "%Y-%m-%d %H:%M:%S")
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if not unicom_device_qs.exists():
|
|
|
|
- return response.json(0, [])
|
|
|
|
-
|
|
|
|
- unicom_combo_order_qs = UnicomComboOrderInfo.objects.filter(
|
|
|
|
- order_id__in=unicom_device_qs.values('iccid')).values('status', 'combo__pay_type', 'combo__price',
|
|
|
|
- 'activation_time', 'expire_time')
|
|
|
|
-
|
|
|
|
- if status or payType or addTimeRange or endTimeRange or price:
|
|
|
|
- if status:
|
|
|
|
- unicom_combo_order_qs = unicom_combo_order_qs.filter(status=status)
|
|
|
|
- if payType:
|
|
|
|
- unicom_combo_order_qs = unicom_combo_order_qs.filter(combo__pay_type=payType)
|
|
|
|
- if price:
|
|
|
|
- unicom_combo_order_qs = unicom_combo_order_qs.filter(combo__price=price)
|
|
|
|
- if addTimeRange:
|
|
|
|
- addStarTime, addEndTime = int(
|
|
|
|
- addTimeRange[0][-3]), int(addTimeRange[1][:-3])
|
|
|
|
- unicom_combo_order_qs = unicom_combo_order_qs.filter(
|
|
|
|
- activation_time=addStarTime,
|
|
|
|
- expire_time=addEndTime
|
|
|
|
- )
|
|
|
|
- if endTimeRange:
|
|
|
|
- endStartTimem, endEndTiem = int(
|
|
|
|
- endTimeRange[0][:-3]),int(endTimeRange[1][:-3])
|
|
|
|
- unicom_combo_order_qs = unicom_combo_order_qs.filter(
|
|
|
|
- activation_time=endStartTimem,
|
|
|
|
- expire_time=endEndTiem)
|
|
|
|
-
|
|
|
|
- list_data = []
|
|
|
|
- count = unicom_device_qs.count()
|
|
|
|
- unicom_device_qs = unicom_device_qs.order_by('-activation_time')[(page - 1) * line:page * line]
|
|
|
|
-
|
|
|
|
- for unicom_device in unicom_device_qs:
|
|
|
|
- endTime = time.strftime("%Y--%m--%d %H:%M:%S", time.localtime(unicom_device.endTime))
|
|
|
|
-
|
|
|
|
- unicom = unicom_device.iccid.upper()
|
|
|
|
- data = {
|
|
|
|
- 'iccid':unicom_device.iccid,
|
|
|
|
- 'serialNo':unicom_device.serial_no,
|
|
|
|
- 'userID':unicom_device.user_id
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- for unicom_combo_order in unicom_combo_order_qs.filter(
|
|
|
|
- order_id=unicom_device.iccid).values('status', 'combo__pay_type', 'combo__price',
|
|
|
|
- 'combo__combo_name', 'activation_time', 'expire_time'):
|
|
|
|
- data['status'] = unicom_combo_order['status']
|
|
|
|
- data['payType'] = unicom_combo_order['combo__pay_type']
|
|
|
|
- data['price'] = unicom_combo_order['combo__price']
|
|
|
|
- data['activationTime'] = unicom_combo_order['activation_time'].strftime(
|
|
|
|
- "%Y-%m-%d %H:%M:%S")
|
|
|
|
- data['expireTime'] = unicom_combo_order['expire_time'].strftime(
|
|
|
|
- "%Y-%m-%d %H:%M:%S")
|
|
|
|
- data['comboName'] = unicom_combo_order['combo__combo_name']
|
|
|
|
-
|
|
|
|
- if userID in userID_set_dict:
|
|
|
|
- data['userID'] = userID_set_dict['userID']
|
|
|
|
- data['phone'] = userID_set_dict['phone']
|
|
|
|
- data['userEmail'] = userID_set_dict['userEmail']
|
|
|
|
- data['dataJoined'] = userID_set_dict['dataJoined']
|
|
|
|
-
|
|
|
|
- list_data.append(data)
|
|
|
|
- return response.json(0, {'list': list_data, 'total': count})
|
|
|
|
- except Exception as e:
|
|
|
|
- print(e)
|
|
|
|
- return response.json(500, repr(e))
|
|
|
|
|
|
|
|
@staticmethod
|
|
@staticmethod
|
|
def get_user_combo(request_dict, response):
|
|
def get_user_combo(request_dict, response):
|
|
|
|
+ """
|
|
|
|
+ 定时检查是否有次月激活套餐
|
|
|
|
+ @param request_dict:
|
|
|
|
+ @param response:
|
|
|
|
+ @return:
|
|
|
|
+ """
|
|
pageNo = request_dict.get('pageNo', None)
|
|
pageNo = request_dict.get('pageNo', None)
|
|
pageSize = request_dict.get('pageSize', None)
|
|
pageSize = request_dict.get('pageSize', None)
|
|
if not all([pageNo, [pageSize]]):
|
|
if not all([pageNo, [pageSize]]):
|
|
return response.json(444)
|
|
return response.json(444)
|
|
page = int(pageNo)
|
|
page = int(pageNo)
|
|
line = int(pageSize)
|
|
line = int(pageSize)
|
|
- get_info_qs = UnicomComboOrderInfo.objects.filter().values(
|
|
|
|
- 'iccid', 'activation_time', 'expire_time', 'status',
|
|
|
|
- 'combo__combo_name',
|
|
|
|
- 'combo__pay_type__payment',
|
|
|
|
- 'combo__price'
|
|
|
|
|
|
+ # cardType:状态(0:联通,1:电信,2:移动)
|
|
|
|
+ # mainCard:状态(0:主卡,1:拔插卡)
|
|
|
|
+ get_info_qs = UnicomDeviceInfo.objects.filter().values(
|
|
|
|
+ 'iccid', 'serial_no', 'user_id', 'card_type', 'main_card', 'created_time'
|
|
)[(page - 1) * line:page * line]
|
|
)[(page - 1) * line:page * line]
|
|
total = get_info_qs.count()
|
|
total = get_info_qs.count()
|
|
try:
|
|
try:
|
|
res_list = []
|
|
res_list = []
|
|
for item in get_info_qs:
|
|
for item in get_info_qs:
|
|
res = {
|
|
res = {
|
|
- 'userID': '',
|
|
|
|
- 'phone': '',
|
|
|
|
- 'userEmail': '',
|
|
|
|
- 'serialNo': '',
|
|
|
|
- 'loginTime': '',
|
|
|
|
- 'iccid': '',
|
|
|
|
- 'openTime': '',
|
|
|
|
- 'endTime': '',
|
|
|
|
- 'status': '',
|
|
|
|
- 'comboName': '',
|
|
|
|
- 'payType': '',
|
|
|
|
- 'price': ''
|
|
|
|
-
|
|
|
|
|
|
+ 'userID': item['user_id'],
|
|
|
|
+ 'serialNo': item['serial_no'],
|
|
|
|
+ 'iccid': item['iccid'],
|
|
|
|
+ 'cardType': item['card_type'],
|
|
|
|
+ 'mainCard': item['main_card'],
|
|
|
|
+ 'createdTime': item['created_time']
|
|
}
|
|
}
|
|
- iccid = item['iccid']
|
|
|
|
- res['iccid'] = iccid
|
|
|
|
- res['openTime'] = item['activation_time']
|
|
|
|
- res['endTime'] = item['expire_time']
|
|
|
|
- res['status'] = item['status']
|
|
|
|
- res['comboName'] = item['combo__combo_name']
|
|
|
|
- res['payType'] = item['combo__pay_type__payment']
|
|
|
|
- res['price'] = item['combo__price']
|
|
|
|
- serial_no_qs = UnicomDeviceInfo.objects.filter(iccid=iccid).values('serial_no')
|
|
|
|
- # serial_no = serial_no_qs[0]['serial_no']
|
|
|
|
- res['serialNo'] = serial_no_qs.first()['serial_no']
|
|
|
|
- user_id_qs = UnicomDeviceInfo.objects.filter(iccid=iccid).values('user_id')
|
|
|
|
- user_id = user_id_qs[0]['user_id']
|
|
|
|
- if user_id_qs.exists():
|
|
|
|
- user_info_qs = Device_User.objects.filter(userID=user_id).values(
|
|
|
|
- 'userEmail', 'data_joined',
|
|
|
|
- 'phone')
|
|
|
|
- res['userID'] = user_id
|
|
|
|
- res['loginTime'] = user_info_qs.first()['data_joined'].strftime("%Y-%m-%d %H:%M:%S")
|
|
|
|
- res['userEmail'] = user_info_qs.first()['userEmail']
|
|
|
|
- res['phone'] = user_info_qs.first()['phone']
|
|
|
|
|
|
+ usreID = get_info_qs[0]['user_id']
|
|
|
|
+ user_info_qs = Device_User.objects.filter(userID=usreID).values(
|
|
|
|
+ 'NickName', 'phone')
|
|
|
|
+ res['userID'] = usreID
|
|
|
|
+ res['NickName'] = user_info_qs.first()['NickName']
|
|
|
|
+ res['phone'] = user_info_qs.first()['phone']
|
|
res_list.append(res)
|
|
res_list.append(res)
|
|
return response.json(0, {'list': res_list, 'total': total})
|
|
return response.json(0, {'list': res_list, 'total': total})
|
|
except Exception as e:
|
|
except Exception as e:
|
|
@@ -374,7 +212,8 @@ class UnicomComboView(View):
|
|
combo_list = []
|
|
combo_list = []
|
|
for item in combo_qs:
|
|
for item in combo_qs:
|
|
# 获取支付方式列表
|
|
# 获取支付方式列表
|
|
- pay_type_list = [pay_type['id'] for pay_type in UnicomCombo.objects.get(id=item['id']).pay_type.values('id')]
|
|
|
|
|
|
+ pay_type_list = [pay_type['id'] for pay_type in
|
|
|
|
+ UnicomCombo.objects.get(id=item['id']).pay_type.values('id')]
|
|
combo_list.append({
|
|
combo_list.append({
|
|
'id': item['id'],
|
|
'id': item['id'],
|
|
'comboName': item['combo_name'],
|
|
'comboName': item['combo_name'],
|