浏览代码

PC修改联通ICCID状态,增加删除体验套餐历史

zhangdongming 3 年之前
父节点
当前提交
f0c980e0f9
共有 1 个文件被更改,包括 16 次插入3 次删除
  1. 16 3
      Controller/UnicomCombo/UnicomComboController.py

+ 16 - 3
Controller/UnicomCombo/UnicomComboController.py

@@ -10,6 +10,7 @@ import datetime
 import json
 import logging
 import time
+import traceback
 from decimal import Decimal
 
 from django.db import transaction
@@ -179,17 +180,20 @@ class UnicomComboView(View):
     @classmethod
     def update_device_status(cls, request_dict, response):
         """
-        修改绑定设备状态
+        修改绑定设备状态,如产生免费套餐用量则删除
         @param request_dict:
         @param response:
         @return:
         """
+        logger = logging.getLogger('info')
+
         serial_no = request_dict.get('serialNo', None)
         iccid = request_dict.get('iccid', None)
         time_stamp = request_dict.get('timeStamp', None)
         sign = request_dict.get('sign', None)
         if not all([iccid, serial_no, sign, time_stamp]):
             return response.json(444)
+        logger.info('PC工具进入重置ICCID{}'.format(iccid))
         try:
             if not CommonService.check_time_stamp_token(sign, time_stamp):
                 return response.json(13)
@@ -198,10 +202,19 @@ class UnicomComboView(View):
                 device_info_qs = UnicomDeviceInfo.objects.filter(iccid=iccid, serial_no=serial_no)
                 if device_info_qs.exists():
                     device_info_qs.update(status=1, updated_time=now_time)
+                    combo_order_qs = UnicomComboOrderInfo.objects.filter(iccid=iccid)
+                    if combo_order_qs.exists():
+                        combo_order_qs.delete()
+                    combo_experience_history_qs = UnicomComboExperienceHistory.objects.filter(iccid=iccid)
+                    if combo_experience_history_qs.exists():
+                        combo_experience_history_qs.delete()
                 return response.json(0)
         except Exception as e:
-            print(e)
-            return response.json(177, repr(e))
+            print(e.args)
+            ex = traceback.format_exc()
+            print(ex)
+            logger.info('PC工具重置异常ICCID{},msg={}'.format(iccid, ex))
+            return response.json(177, ex)
 
     @classmethod
     def get_device_info(cls, request_dict, response):