Kaynağa Gözat

重置流量增加出厂流量重置

zhangdongming 1 yıl önce
ebeveyn
işleme
1630febc78

+ 8 - 2
AdminController/UnicomManageController.py

@@ -14,6 +14,7 @@ from decimal import Decimal
 import openpyxl
 import requests
 from django.db import transaction, connection
+from django.db.models import Q
 from django.http import HttpResponse
 from django.views.generic.base import View
 
@@ -89,7 +90,7 @@ class UnicomManageControllerView(View):
             elif operation == 'updateExchangeCode':  # 修改兑换码
                 return self.update_exchange_code(request_dict, response)
             elif operation == 'resetCardPackage':
-                return self.reset_card_package(request, request_dict, response)
+                return self.reset_card_package(request, request_dict, response, tko.user)
             elif operation == 'getPackageDetails':
                 return self.get_package_details(request_dict, response)
             elif operation == 'asyncUpdateStatus':
@@ -104,7 +105,7 @@ class UnicomManageControllerView(View):
                 return response.json(404)
 
     @classmethod
-    def reset_card_package(cls, request, request_dict, response):
+    def reset_card_package(cls, request, request_dict, response, user):
         try:
             serial_number = request_dict.get('serialNumber', None)
             if not serial_number:
@@ -113,6 +114,11 @@ class UnicomManageControllerView(View):
             now_time = int(time.time())
             if device_info_qs.exists():  # 首先查询SIM卡绑定信息是否存在
                 iccid = device_info_qs.first().iccid
+                # 根据序列号重置出厂流量套餐
+                serial_package_qs = SerialNumberPackage.objects.filter(~Q(status=1), serial_number=serial_number)
+                if serial_package_qs.exists():
+                    serial_package_qs.update(status=1, updated_time=now_time, updated_by=user)
+
                 if device_info_qs.first().card_type == 1:  # 五兴电信
                     data = {'iccids': iccid, 'operator': WXOperatorEnum.TELECOM.value}
                     wx_tech = WXTechObject()

+ 8 - 3
Controller/UnicomCombo/UnicomComboController.py

@@ -21,7 +21,7 @@ from django.views.generic.base import View
 from Ansjer.config import LOGGER
 from Model.models import UnicomDeviceInfo, UnicomCombo, Pay_Type, Order_Model, Store_Meal, AiStoreMeal, \
     UnicomComboOrderInfo, UnicomComboExperienceHistory, UnicomDeviceStatusChangePush, SysMsgModel, UnicomFlowPush, \
-    LogModel, DeviceLiveRestrict
+    LogModel, DeviceLiveRestrict, SerialNumberPackage
 from Object.EIoTClubObject import EIoTClubObject
 from Object.Enums.WXOperatorEnum import WXOperatorEnum
 from Object.RedisObject import RedisObject
@@ -298,13 +298,18 @@ class UnicomComboView(View):
                     cls.reset_telecom_user(serial_no)
                     device_info_qs.update(updated_time=now_time, user_id='')
                     return response.json(0)
-                key = 'ASJ:UNICOM:RESET:{}'.format(serial_no)
+                # 根据序列号重置出厂流量套餐
+                serial_package_qs = SerialNumberPackage.objects.filter(~Q(status=1), serial_number=serial_no)
+                if serial_package_qs.exists():
+                    serial_package_qs.update(status=1, updated_time=now_time, updated_by='operator')
+
                 flow_push_qs = UnicomFlowPush.objects.filter(serial_no=serial_no)
                 if flow_push_qs.exists():  # 删除流量预警推送
                     flow_push_qs.delete()
                 sys_msg_qs = SysMsgModel.objects.filter(uid=serial_no)
                 if sys_msg_qs.exists():  # 删除有关系统消息数据
                     sys_msg_qs.delete()
+
                 device_info_qs.update(status=1, updated_time=now_time, user_id='')
                 combo_order_qs = UnicomComboOrderInfo.objects.filter(iccid=iccid)
                 order_list = []
@@ -316,7 +321,7 @@ class UnicomComboView(View):
                 combo_experience_history_qs = UnicomComboExperienceHistory.objects.filter(iccid=iccid)
                 if combo_experience_history_qs.exists():
                     combo_experience_history_qs.delete()
-                redis.set_data(key, iccid, 60 * 30)  # 缓存当前SIM卡,记录为半个小时内无法赠送免费流量套餐。
+
                 UnicomObjeect().change_device_to_disable(iccid)
                 logger.info('4GResetFlow相关订单号:{}'.format(order_list))
                 describe = '重置4G流量序列号{},iccid:{}'.format(serial_no, iccid)