|
@@ -14,7 +14,7 @@ from django.views import View
|
|
from Ansjer.config import LOGGER
|
|
from Ansjer.config import LOGGER
|
|
from Controller.UnicomCombo.UnicomComboController import UnicomComboView
|
|
from Controller.UnicomCombo.UnicomComboController import UnicomComboView
|
|
from Model.models import UnicomDeviceInfo, Order_Model, UnicomComboExperienceHistory, UnicomCombo, ExchangeCode, \
|
|
from Model.models import UnicomDeviceInfo, Order_Model, UnicomComboExperienceHistory, UnicomCombo, ExchangeCode, \
|
|
- LogModel, SerialNumberPackage
|
|
|
|
|
|
+ LogModel, SerialNumberPackage, UnicomComboOrderInfo
|
|
from Object.Enums.WXOperatorEnum import WXOperatorEnum
|
|
from Object.Enums.WXOperatorEnum import WXOperatorEnum
|
|
from Object.Enums.WXStartTypeEnum import WXStartTypeEnum
|
|
from Object.Enums.WXStartTypeEnum import WXStartTypeEnum
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.ResponseObject import ResponseObject
|
|
@@ -143,11 +143,23 @@ class WXTechControllerView(View):
|
|
experience_history_qs = UnicomComboExperienceHistory.objects.filter(iccid=iccid)
|
|
experience_history_qs = UnicomComboExperienceHistory.objects.filter(iccid=iccid)
|
|
if experience_history_qs.exists():
|
|
if experience_history_qs.exists():
|
|
return response.json(10062)
|
|
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)
|
|
return response.json(0, result)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
LOGGER.info('*****WXTechController.get_experience_package:errLine:{}, errMsg:{}'
|
|
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
|
|
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: # 珠海联通 鼎芯电信
|
|
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')
|
|
flow_combo_qs = UnicomCombo.objects.filter(combo_type=1, is_del=False, status=0).order_by('sort')
|
|
|
|
|
|
free_result = False
|
|
free_result = False
|