Эх сурвалжийг харах

根据ICCID删除卡用户信息

zhangdongming 2 сар өмнө
parent
commit
7c4b7981f5

+ 38 - 2
AdminController/UnicomManageController.py

@@ -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)
@@ -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')
@@ -1693,4 +1730,3 @@ class UnicomManageControllerView(View):
                 result_dict['no_iccid'].append(serial_no)
 
         return response.json(0, result_dict)
-