Browse Source

排查国内4G流量卡订单查询错误原因

guanhailong 2 years ago
parent
commit
43718ae356
2 changed files with 20 additions and 16 deletions
  1. 3 3
      AdminController/UnicomManageController.py
  2. 17 13
      Object/UnicomObject.py

+ 3 - 3
AdminController/UnicomManageController.py

@@ -258,8 +258,7 @@ class UnicomManageControllerView(View):
         """
         sql = 'SELECT '
         sql += 'du.username,du.phone,o.UID as uid,o.`status`,udi.serial_no as serialNo,o.orderID,o.`desc`, '
-        sql += 'o.price,uo.next_month_activate as nextActivate,uo.iccid,uo.`status` as useStatus, ' \
-               'uo.`flow_total_usage` as flowTotal, '
+        sql += 'o.price,uo.next_month_activate as nextActivate,uo.iccid,uo.`status` as useStatus,uo.`flow_total_usage`,'
         sql += 'uo.updated_time as upTime, uo.activation_time as acTime,uo.expire_time as epTime '
         sql += 'FROM orders o '
         sql += 'LEFT JOIN unicom_combo_order_info uo ON o.orderID = uo.order_id '
@@ -310,7 +309,8 @@ class UnicomManageControllerView(View):
                 order_dict = dict(zip(col_names, item))
                 if order_dict['status'] == 1:
                     total_flow = UnicomObjeect.current_sim_traffic_usage_details(order_dict['iccid'])  # 4G总值
-                    flow_total_usage = order_dict['flowTotal']  # 激活时当月已用流量
+                    total_flow = int(total_flow)
+                    flow_total_usage = order_dict['flow_total_usage']  # 激活时当月已用流量
                     if flow_total_usage == '':  # 判断数值是否为空
                         flow_total_usage = 0
                     flow_total_usage = float(flow_total_usage)

+ 17 - 13
Object/UnicomObject.py

@@ -359,16 +359,20 @@ class UnicomObjeect:
         @param icc_id:20位数字iccid
         @return: traffic
         """
-        redis = RedisObject()
-        traffic_key = 'ASJ:UNICOM:FLOW:{}'.format(icc_id)
-        traffic_sys = 'ASJ:SIM:TRAFFIC:{}'.format(icc_id)
-        traffic_val = redis.get_data(traffic_key)
-        if traffic_val:
-            traffic_dict = json.loads(traffic_val)
-            redis.set_data(key=traffic_sys, val=traffic_val, expire=60 * 60 * 24)
-        else:
-            traffic_val = redis.get_data(traffic_sys)
-            if not traffic_val:
-                return 0
-            traffic_dict = json.loads(traffic_val)
-        return traffic_dict['data']['flowTotalUsage']
+        try:
+            redis = RedisObject()
+            traffic_key = 'ASJ:UNICOM:FLOW:{}'.format(icc_id)
+            traffic_sys = 'ASJ:SIM:TRAFFIC:{}'.format(icc_id)
+            traffic_val = redis.get_data(traffic_key)
+            if traffic_val:
+                traffic_dict = json.loads(traffic_val)
+                redis.set_data(key=traffic_sys, val=traffic_val, expire=60 * 60 * 24)
+            else:
+                traffic_val = redis.get_data(traffic_sys)
+                if not traffic_val:
+                    return 0
+                traffic_dict = json.loads(traffic_val)
+            return traffic_dict['data']['flowTotalUsage']
+        except Exception as e:
+            meg = '异常详情,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e))
+            return meg