|
@@ -84,6 +84,9 @@ class UnicomManageControllerView(View):
|
|
|
# 获取/筛选用户信息
|
|
|
elif operation == 'filter/user':
|
|
|
return self.get_user_info(request_dict, response)
|
|
|
+ # 删除卡信息
|
|
|
+ elif operation == 'delCardInfoByIccid':
|
|
|
+ return self.delete_combo(request, request_dict, response)
|
|
|
# 充值流量
|
|
|
elif operation == 'getFlowPackages':
|
|
|
return self.get_flow_packages(request_dict, response)
|
|
@@ -126,7 +129,7 @@ class UnicomManageControllerView(View):
|
|
|
return self.batch_order_flow_package(request, request_dict, response, userID)
|
|
|
elif operation == 'updateFlowComboById': # 根据ID更新流量套餐
|
|
|
return self.update_flow_combo_by_id(request_dict, response)
|
|
|
- if operation == 'verifyPackageExport':
|
|
|
+ elif operation == 'verifyPackageExport':
|
|
|
return self.verify_package_export_excel(request, request_dict, response)
|
|
|
elif operation == 'batchSerialNumberCombo': # 批量查询序列号绑定iccid情况
|
|
|
return self.batch_serial_number_combo(request, response)
|
|
@@ -339,6 +342,39 @@ class UnicomManageControllerView(View):
|
|
|
print(e)
|
|
|
return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
|
|
|
+ @staticmethod
|
|
|
+ def delete_combo(request, request_dict, response):
|
|
|
+ iccid = request_dict.get('iccid')
|
|
|
+ if not iccid:
|
|
|
+ return response.json(444, '缺少必要参数: iccid')
|
|
|
+
|
|
|
+ try:
|
|
|
+ with transaction.atomic():
|
|
|
+ # 查询设备记录
|
|
|
+ ud_qs = UnicomDeviceInfo.objects.filter(iccid=iccid)
|
|
|
+
|
|
|
+ if not ud_qs.exists():
|
|
|
+ return response.json(404, '未找到指定ICCID的物联卡信息')
|
|
|
+ # 删除设备信息
|
|
|
+ ud_qs.delete()
|
|
|
+ # 记录操作日志
|
|
|
+ ip = CommonService.get_ip_address(request)
|
|
|
+ log_data = {
|
|
|
+ 'ip': ip,
|
|
|
+ 'user_id': 1,
|
|
|
+ 'status': 200,
|
|
|
+ 'time': int(time.time()),
|
|
|
+ 'url': 'unicom/manage/delCardInfoByIccid',
|
|
|
+ 'content': json.dumps(request_dict, default=str),
|
|
|
+ 'operation': f'删除物联卡信息: ICCID={iccid}, 设备信息已脱敏',
|
|
|
+ }
|
|
|
+ LogModel.objects.create(**log_data)
|
|
|
+
|
|
|
+ return response.json(0, '删除成功')
|
|
|
+ except Exception as e:
|
|
|
+ LOGGER.error(f"删除ICCID未知错误: {str(e)}", exc_info=True)
|
|
|
+ return response.json(500, '系统内部错误,请联系管理员')
|
|
|
+
|
|
|
@staticmethod
|
|
|
def query_sql_4g():
|
|
|
"""
|
|
@@ -943,7 +979,8 @@ class UnicomManageControllerView(View):
|
|
|
re_data = {'iccid': iccid}
|
|
|
if card_type == 0:
|
|
|
|
|
|
- status_dict = {1: '已激活', 2: '可激活', 3: '已停用', 4: '已失效', 5: '可测试', 6: '库存', 7: '已更换', 8: '已清除'}
|
|
|
+ status_dict = {1: '已激活', 2: '可激活', 3: '已停用', 4: '已失效', 5: '可测试', 6: '库存', 7: '已更换',
|
|
|
+ 8: '已清除'}
|
|
|
result = UnicomObjeect().query_device_status(**re_data)
|
|
|
res_dict = UnicomObjeect().get_text_dict(result)
|
|
|
return status_dict.get(int(res_dict['data']['status']), 'N/A')
|
|
@@ -954,6 +991,7 @@ class UnicomManageControllerView(View):
|
|
|
data = {'iccid': iccid, 'operator': 3}
|
|
|
wx_tech = WXTechObject()
|
|
|
result = wx_tech.get_cards_info(**data)
|
|
|
+ LOGGER.info(f'查询iccid{iccid}状态结果:{result}')
|
|
|
return status_dict.get(int(result['data']['cardStatusCode']), 'N/A')
|
|
|
|
|
|
elif card_type == 3:
|
|
@@ -975,7 +1013,8 @@ class UnicomManageControllerView(View):
|
|
|
else:
|
|
|
return 'N/A'
|
|
|
except Exception as e:
|
|
|
- print(repr(e))
|
|
|
+ LOGGER.error('查询ICCID卡状态异常iccid:{},:errLine:{}, errMsg:{}'
|
|
|
+ .format(iccid, e.__traceback__.tb_lineno, repr(e)))
|
|
|
return 'N/A'
|
|
|
|
|
|
@classmethod
|
|
@@ -1585,14 +1624,17 @@ class UnicomManageControllerView(View):
|
|
|
return response.json(444)
|
|
|
|
|
|
try:
|
|
|
- # 读取序列号文件
|
|
|
- serial_numbers = [line.decode('utf-8').strip() for line in serial_number_file.readlines()]
|
|
|
- if all(len(serial_number) == 9 for serial_number in serial_numbers):
|
|
|
- thread = threading.Thread(target=cls.batch_order_flow,
|
|
|
- args=(serial_numbers, package_id, request, request_dict, user_id))
|
|
|
- thread.start()
|
|
|
- else:
|
|
|
- return response.json(10, "请导入9位序列号")
|
|
|
+ # 读取序列号文件并处理
|
|
|
+ serial_numbers = []
|
|
|
+ for line in serial_number_file.readlines():
|
|
|
+ # 去除空格并截取前9个字符
|
|
|
+ cleaned_line = line.decode('utf-8').strip().replace(' ', '')[0:9]
|
|
|
+ serial_numbers.append(cleaned_line)
|
|
|
+
|
|
|
+ thread = threading.Thread(target=cls.batch_order_flow,
|
|
|
+ args=(serial_numbers, package_id, request, request_dict, user_id))
|
|
|
+ thread.start()
|
|
|
+
|
|
|
return response.json(0)
|
|
|
|
|
|
except Exception as e:
|
|
@@ -1688,4 +1730,3 @@ class UnicomManageControllerView(View):
|
|
|
result_dict['no_iccid'].append(serial_no)
|
|
|
|
|
|
return response.json(0, result_dict)
|
|
|
-
|