|
@@ -191,7 +191,14 @@ class CloudStorageView(View):
|
|
|
device_info_qs = Device_Info.objects.filter(Q(UID=uid), Q(Type__lte=4) | Q(Type=10001))
|
|
|
if device_info_qs.exists():
|
|
|
return response.json(0)
|
|
|
-
|
|
|
+ # 查询设备像素
|
|
|
+ uid_set_qs = UidSetModel.objects.filter(uid=uid).values('ucode')
|
|
|
+ if not uid_set_qs.exists():
|
|
|
+ return response.json(173)
|
|
|
+ ucode = uid_set_qs[0]['ucode']
|
|
|
+ pixel_level = 0
|
|
|
+ if ucode and int(ucode[-5]) >= 8:
|
|
|
+ pixel_level = 1
|
|
|
store_qs = Store_Meal.objects.filter(Q(lang__lang=lang), Q(is_show=0), ~Q(pay_type='11')) # 过滤激活码、隐藏套餐
|
|
|
experience_context_qs = ExperienceContextModel.objects.filter(uid=uid, experience_type=0)
|
|
|
|
|
@@ -200,9 +207,9 @@ class CloudStorageView(View):
|
|
|
|
|
|
# 没体验过的设备只返回体验套餐,体验过的不返回体验套餐
|
|
|
if experience_context_qs.exists():
|
|
|
- store_qs = store_qs.filter(~Q(pay_type='10'))
|
|
|
+ store_qs = store_qs.filter(~Q(pay_type='10'), Q(pixel_level=pixel_level)) # 筛选像素等级
|
|
|
else:
|
|
|
- store_qs = store_qs.filter(pay_type='10')
|
|
|
+ store_qs = store_qs.filter(pay_type='10') # 体验套餐不区分像素等级
|
|
|
|
|
|
store_qs = store_qs.annotate(title=F('lang__title'), content=F('lang__content'),
|
|
|
discount_content=F('lang__discount_content'))
|
|
@@ -505,11 +512,18 @@ class CloudStorageView(View):
|
|
|
else:
|
|
|
type_list = [int(event_types)]
|
|
|
split_vod_hls_obj = SplitVodHlsObject()
|
|
|
- vod_hls_qs = split_vod_hls_obj.get_vod_hls_data(uid=uid, channel=channel,
|
|
|
- end_time__gte=now_time,
|
|
|
- start_time__range=(start_time, end_time),
|
|
|
- type_list=type_list) \
|
|
|
- .values("id", "start_time", "sec", "fg", "bucket_id")
|
|
|
+ if device_type == 34:
|
|
|
+ vod_hls_qs = split_vod_hls_obj.get_vod_hls_data(uid=uid,
|
|
|
+ end_time__gte=now_time,
|
|
|
+ start_time__range=(start_time, end_time),
|
|
|
+ type_list=type_list) \
|
|
|
+ .values("id", "start_time", "sec", "fg", "bucket_id")
|
|
|
+ else:
|
|
|
+ vod_hls_qs = split_vod_hls_obj.get_vod_hls_data(uid=uid, channel=channel,
|
|
|
+ end_time__gte=now_time,
|
|
|
+ start_time__range=(start_time, end_time),
|
|
|
+ type_list=type_list) \
|
|
|
+ .values("id", "start_time", "sec", "fg", "bucket_id")
|
|
|
|
|
|
vod_play_list = []
|
|
|
if not vod_hls_qs.exists():
|