|
@@ -157,7 +157,7 @@ class WXTechControllerView(View):
|
|
|
@classmethod
|
|
|
def create_order_package(cls, user_id, request_dict, response, request):
|
|
|
"""
|
|
|
- 五兴电信领取1G15天流量体验包
|
|
|
+ 珠海联通、鼎芯电信、五兴电信 领取1G15天流量体验包
|
|
|
"""
|
|
|
try:
|
|
|
LOGGER.info('*****WXTechController.create_order_package:params:{}'.format(request_dict))
|
|
@@ -165,12 +165,14 @@ class WXTechControllerView(View):
|
|
|
operator = request_dict.get('operator', None)
|
|
|
if not all([operator, serial_no]):
|
|
|
return response.json(444)
|
|
|
+
|
|
|
serial_no = serial_no[0:9]
|
|
|
unicom_device_qs = UnicomDeviceInfo.objects.filter(serial_no=serial_no) \
|
|
|
.values('serial_no', 'user_id', 'iccid', 'card_type')
|
|
|
if not unicom_device_qs.exists():
|
|
|
return response.json(173)
|
|
|
unicom_device_qs = unicom_device_qs.first()
|
|
|
+
|
|
|
iccid = unicom_device_qs['iccid']
|
|
|
# 查看是否体验过免费套餐
|
|
|
experience_history_qs = UnicomComboExperienceHistory.objects.filter(iccid=iccid)
|
|
@@ -179,7 +181,7 @@ class WXTechControllerView(View):
|
|
|
ip = CommonService.get_ip_address(request)
|
|
|
experience_history_vo = {'iccid': iccid, 'experience_type': 0, 'do_time': int(time.time())}
|
|
|
app_user_id = unicom_device_qs['user_id'] if unicom_device_qs['user_id'] else user_id
|
|
|
- if unicom_device_qs['card_type'] == 0: # 珠海联通
|
|
|
+ if unicom_device_qs['card_type'] == 0 or unicom_device_qs['card_type'] == 3: # 珠海联通 鼎芯电信
|
|
|
|
|
|
flow_combo_qs = UnicomCombo.objects.filter(combo_type=1, is_del=False, status=0).order_by('sort')
|
|
|
|
|
@@ -313,9 +315,10 @@ class WXTechControllerView(View):
|
|
|
iccid = device_info_qs[0]['iccid']
|
|
|
# 兑换码套餐类型
|
|
|
card_type = device_info_qs[0]['card_type']
|
|
|
- if card_type == 0: # 联通无限流量兑换码
|
|
|
+ if card_type == 0 or card_type == 3: # 联通联通和鼎芯电信无限流量兑换码
|
|
|
+ order_type = 2 if card_type == 0 else 5
|
|
|
result = cls.exchange_unicom_package(serial_number, iccid,
|
|
|
- user_id, combo_id)
|
|
|
+ user_id, combo_id, order_type)
|
|
|
if result:
|
|
|
exchange_code_qs.update(status=True, updated_time=int(time.time()))
|
|
|
# 校验是否两个重叠无限流量套餐 修改套餐数据
|
|
@@ -345,10 +348,10 @@ class WXTechControllerView(View):
|
|
|
return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
|
|
|
@classmethod
|
|
|
- def exchange_unicom_package(cls, serial_number, iccid, user_id, combo_id):
|
|
|
+ def exchange_unicom_package(cls, serial_number, iccid, user_id, combo_id, order_type=2):
|
|
|
try:
|
|
|
# 通过兑换码创建订单记录
|
|
|
- order_id = cls.created_order(serial_number, user_id, 'ansjer', combo_id, 11, 2)
|
|
|
+ order_id = cls.created_order(serial_number, user_id, 'ansjer', combo_id, 11, order_type)
|
|
|
# 根据订单信息创建流量套餐包
|
|
|
UnicomComboView.create_combo_order_info(order_id, 0, iccid, combo_id)
|
|
|
return True
|
|
@@ -441,9 +444,10 @@ class WXTechControllerView(View):
|
|
|
n_time = int(time.time())
|
|
|
# 兑换码套餐类型
|
|
|
card_type = device_info_qs[0]['card_type']
|
|
|
- if card_type == 0: # 订购联通流量套餐
|
|
|
+ if card_type == 0 or card_type == 3: # 订购联通流量套餐
|
|
|
+ order_type = 2 if card_type == 0 else 5
|
|
|
result = cls.exchange_unicom_package(serial_number, iccid,
|
|
|
- user_id, combo_id)
|
|
|
+ user_id, combo_id, order_type)
|
|
|
serial_package_qs.update(status=2, updated_time=n_time, updated_by=user_id)
|
|
|
if result:
|
|
|
cls.save_log(ip, 10071, '{}领取{}成功{}'.format(serial_number, combo_name, user_id))
|
|
@@ -505,9 +509,10 @@ class WXTechControllerView(View):
|
|
|
|
|
|
# 兑换码套餐类型
|
|
|
card_type = device_info_qs[0]['card_type']
|
|
|
- if card_type == 0: # 订购联通流量套餐
|
|
|
+ if card_type == 0 or card_type == 3: # 订购联通流量套餐
|
|
|
+ order_type = 2 if card_type == 0 else 5
|
|
|
result = cls.exchange_unicom_package(serial_number, iccid,
|
|
|
- user_id, combo_id)
|
|
|
+ user_id, combo_id, order_type)
|
|
|
serial_package_qs.update(status=2, updated_time=n_time, updated_by=user_id)
|
|
|
if result:
|
|
|
cls.save_log(ip, 10071, '{}领取{}成功{}'.format(serial_number, combo_name, user_id))
|