Selaa lähdekoodia

修改领取出厂流量、修改套餐倒叙

zhangdongming 1 vuosi sitten
vanhempi
commit
07d12c09ad

+ 1 - 1
Controller/UnicomCombo/UnicomComboController.py

@@ -248,7 +248,7 @@ class UnicomComboView(View):
         combo_order_qs = UnicomComboOrderInfo.objects.filter(iccid=iccid, is_del=False, created_time__gt=before_days) \
             .values('iccid', 'status', 'combo__combo_name', 'combo__flow_total',
                     'combo__remark', 'combo__expiration_days', 'combo__expiration_type', 'flow_total_usage',
-                    'expire_time', 'combo__is_unlimited').order_by('sort')
+                    'expire_time', 'combo__is_unlimited').order_by('-expire_time')
         for item in combo_order_qs:
             combo_list.append({
                 'iccid': iccid,

+ 35 - 6
Controller/UnicomCombo/WXTechController.py

@@ -14,7 +14,7 @@ from django.views import View
 from Ansjer.config import LOGGER
 from Controller.UnicomCombo.UnicomComboController import UnicomComboView
 from Model.models import UnicomDeviceInfo, Order_Model, UnicomComboExperienceHistory, UnicomCombo, ExchangeCode, \
-    LogModel, SerialNumberPackage
+    LogModel, SerialNumberPackage, UnicomComboOrderInfo
 from Object.Enums.WXOperatorEnum import WXOperatorEnum
 from Object.Enums.WXStartTypeEnum import WXStartTypeEnum
 from Object.ResponseObject import ResponseObject
@@ -143,11 +143,23 @@ class WXTechControllerView(View):
             experience_history_qs = UnicomComboExperienceHistory.objects.filter(iccid=iccid)
             if experience_history_qs.exists():
                 return response.json(10062)
-            combo_info_qs = UnicomCombo.objects.filter(combo_type=1, status=0, is_del=False) \
-                .values('combo_name')
-            if not combo_info_qs.exists():
-                return response.json(173)
-            result = {'comboName': combo_info_qs[0]['combo_name']}
+
+            # 查询是否有绑定出厂无限流量
+            bind_package_qs = SerialNumberPackage.objects.filter(serial_number=serial_no, status=1) \
+                .values('serial_number', 'package_id')
+
+            if bind_package_qs.exists():
+                prefix_name = '免费领取'
+                combo_info_qs = UnicomCombo.objects.filter(id=bind_package_qs[0]['package_id']) \
+                    .values('combo_name')
+            else:  # 查询免费体验
+                combo_info_qs = UnicomCombo.objects.filter(combo_type=1, status=0, is_del=False) \
+                    .values('combo_name')
+                prefix_name = '领取'
+                if not combo_info_qs.exists():
+                    return response.json(173)
+
+            result = {'comboName': prefix_name + combo_info_qs[0]['combo_name']}
             return response.json(0, result)
         except Exception as e:
             LOGGER.info('*****WXTechController.get_experience_package:errLine:{}, errMsg:{}'
@@ -183,6 +195,23 @@ class WXTechControllerView(View):
             app_user_id = unicom_device_qs['user_id'] if unicom_device_qs['user_id'] else user_id
             if unicom_device_qs['card_type'] == 0 or unicom_device_qs['card_type'] == 3:  # 珠海联通 鼎芯电信
 
+                # 查询出厂绑定套餐
+                bind_package_qs = SerialNumberPackage.objects.filter(serial_number=serial_no, status=1)
+                # 存在出厂无限流量,则关闭生产测试流量进行激活 出厂流量
+                if bind_package_qs.exists():
+                    # 设置已用完并逻辑删除套餐
+                    UnicomComboOrderInfo.objects.filter(iccid=iccid) \
+                        .update(status=2, updated_time=int(time.time()), is_del=True)
+                    # 激活出厂流量套餐
+                    factory_result = cls.activate_flow_package(serial_no, ip, app_user_id)
+                    if factory_result:  # 成功则写入标记,已体验过流量
+                        UnicomComboExperienceHistory.objects.create(**experience_history_vo)
+                        if not unicom_device_qs['user_id']:
+                            UnicomDeviceInfo.objects.filter(iccid=iccid) \
+                                .update(user_id=app_user_id, updated_time=int(time.time()))
+                        cls.save_log(ip, 0, '{}激活免费套餐{},出厂无限流量{}'.format(serial_no, False, factory_result))
+                        return response.json(0)
+
                 flow_combo_qs = UnicomCombo.objects.filter(combo_type=1, is_del=False, status=0).order_by('sort')
 
                 free_result = False