|
@@ -1101,3 +1101,42 @@ class UnicomComboView(View):
|
|
|
except Exception as e:
|
|
|
LOGGER.info('{}判断是否4G设备异常,errLine:{}, errMsg:{}'.format(serial_number, e.__traceback__.tb_lineno, repr(e)))
|
|
|
return False
|
|
|
+
|
|
|
+ @classmethod
|
|
|
+ def update_package_order(cls, request_dict, response):
|
|
|
+ iccid = request_dict.get('iccid', None)
|
|
|
+ result = cls.update_flow_package_order_by_iccid(iccid)
|
|
|
+ print(result)
|
|
|
+ return response.json(0)
|
|
|
+
|
|
|
+ @classmethod
|
|
|
+ def update_flow_package_order_by_iccid(cls, iccid):
|
|
|
+ """
|
|
|
+ 延长无限流量套餐
|
|
|
+ """
|
|
|
+ try:
|
|
|
+ LOGGER.info(f'更新流量套餐包有效期:iccid={iccid}')
|
|
|
+ package_info_qs = UnicomComboOrderInfo.objects.filter(iccid=iccid) \
|
|
|
+ .filter(~Q(combo__combo_type=4), ~Q(status=2)).order_by('created_time')
|
|
|
+ if not package_info_qs.exists():
|
|
|
+ return False
|
|
|
+ if package_info_qs.count() > 1:
|
|
|
+ a_time = 0
|
|
|
+ is_unlimited = 0
|
|
|
+ for item in package_info_qs:
|
|
|
+ if is_unlimited == 1 and item.combo.is_unlimited == 1:
|
|
|
+ activate_time = a_time - (3600 * 12)
|
|
|
+ expire_time = LocalDateTimeUtil.get_after_days_timestamp(a_time, item.combo.expiration_days)
|
|
|
+ UnicomComboOrderInfo.objects.filter(id=item.id) \
|
|
|
+ .update(activation_time=activate_time, expire_time=expire_time,
|
|
|
+ updated_time=int(time.time()))
|
|
|
+ LOGGER.info(f'有更新:iccid={iccid}')
|
|
|
+ is_unlimited = item.combo.is_unlimited
|
|
|
+ a_time = item.expire_time
|
|
|
+ return True
|
|
|
+
|
|
|
+ except Exception as e:
|
|
|
+ LOGGER.info(
|
|
|
+ '{}update_flow_package_order_by_iccid,errLine:{}, errMsg:{}'.format(iccid, e.__traceback__.tb_lineno,
|
|
|
+ repr(e)))
|
|
|
+ return False
|