瀏覽代碼

优化判断是否是电信卡

zhangdongming 6 天之前
父節點
當前提交
e5ad191cdc
共有 2 個文件被更改,包括 21 次插入1 次删除
  1. 7 0
      AdminController/UnicomManageController.py
  2. 14 1
      Controller/UnicomCombo/UnicomComboController.py

+ 7 - 0
AdminController/UnicomManageController.py

@@ -134,6 +134,8 @@ class UnicomManageControllerView(View):
                 return self.verify_package_export_excel(request, request_dict, response)
             elif operation == 'batchSerialNumberCombo':  # 批量查询序列号绑定iccid情况
                 return self.batch_serial_number_combo(request, response)
+            elif operation == 'querySimErrorLog':  # 查询SIM卡错误日志
+                return self.query_sim_error_log(request,request_dict, response)
             else:
                 return response.json(404)
 
@@ -1744,3 +1746,8 @@ class UnicomManageControllerView(View):
                 result_dict['no_iccid'].append(serial_no)
 
         return response.json(0, result_dict)
+
+
+    @classmethod
+    def query_sim_error_log(cls, request, request_dict, response):
+        return response.json(0, QuecCloudService.get_failure_logs())

+ 14 - 1
Controller/UnicomCombo/UnicomComboController.py

@@ -35,6 +35,18 @@ from Object.utils.PayUtil import PayService
 from Service.CommonService import CommonService
 from Service.QuecCloudService import QuecCloudService
 
+# 三大运营商ICCID前6位前缀字典(key:运营商名称,value:前缀集合)
+OPERATOR_ICCID_PREFIX = {
+    "中国移动": {'898600', '898602', '898604', '898607'},
+    "中国联通": {'898601', '898606', '898609'},
+    "中国电信": {'898603', '898611'}
+}
+
+# 单独提取各运营商前缀(按需使用,保持原代码兼容性)
+CHINA_MOBILE_ICCID_PREFIX = OPERATOR_ICCID_PREFIX["中国移动"]  # 中国移动前缀集合
+CHINA_UNICOM_ICCID_PREFIX = OPERATOR_ICCID_PREFIX["中国联通"]  # 中国联通前缀集合
+CHINA_TELECOM_ICCID_PREFIX = OPERATOR_ICCID_PREFIX["中国电信"]  # 中国电信前缀集合
+
 
 class UnicomComboView(View):
     def get(self, request, *args, **kwargs):
@@ -413,7 +425,8 @@ class UnicomComboView(View):
                                          ip, request_dict,
                                          '4G序列号{}绑定{},testFlowPackage{}'.format(serial_no, iccid, result))
                 return response.json(0)
-            elif QuecCloudService.is_quec_cloud_sim(iccid):  # 移远电信
+            elif (len(iccid) >= 6 and iccid[:6] in CHINA_TELECOM_ICCID_PREFIX
+                  and QuecCloudService.is_quec_cloud_sim(iccid)):  # 移远电信
                 params['card_type'] = 6
                 params['status'] = 2
                 params['iccid'] = iccid[0:19]