|
@@ -113,10 +113,13 @@ class CloudVodView(View):
|
|
|
|
|
|
def do_meal_details(self, request_dict, userID, response):
|
|
|
did = request_dict.get('did', None)
|
|
|
- qs = Device_Info.objects.filter(userID_id=userID, id=did).values("UID")
|
|
|
- UID = qs[0]["UID"]
|
|
|
- dmqs = Device_Meal.objects.filter(uid=UID).values('rank', 'status', 'channel', 'add_time', 'update_time',
|
|
|
- 'end_time', 'rank__title')
|
|
|
+ uidf = Device_Info.objects.filter(userID_id=userID)
|
|
|
+ if did:
|
|
|
+ uidf.filter(id=did)
|
|
|
+ uids = uidf.values_list("UID",flat=True)
|
|
|
+ uid_list = list(uids)
|
|
|
+ dmqs = Device_Meal.objects.filter(uid__in=uid_list).values('rank', 'status', 'channel', 'add_time', 'update_time',
|
|
|
+ 'end_time', 'rank__title')
|
|
|
res = CommonService.qs_to_list(dmqs)
|
|
|
return response.json(0, res)
|
|
|
|
|
@@ -456,7 +459,8 @@ class CloudVodView(View):
|
|
|
bucket = oss2.Bucket(auth, endpoint, bucket_name)
|
|
|
m3u8 = '{uid}/vod{channel}/{daytime}/{time}/{time}.m3u8'. \
|
|
|
format(uid=UID, channel=channel, daytime=daytime, time=vod['time'])
|
|
|
- ts = '{uid}/vod{channel}/{daytime}/{time}/ts0.ts'.format(uid=UID, channel=channel, daytime=daytime,time=vod['time'])
|
|
|
+ ts = '{uid}/vod{channel}/{daytime}/{time}/ts0.ts'.format(uid=UID, channel=channel, daytime=daytime,
|
|
|
+ time=vod['time'])
|
|
|
url = bucket.sign_url('GET', m3u8, 3600, params={'x-oss-process': 'hls/sign'})
|
|
|
urllst = url.split('?')
|
|
|
url_start = urllib.parse.unquote(urllst[0])
|
|
@@ -464,5 +468,5 @@ class CloudVodView(View):
|
|
|
vod_play_url = '{url_start}?{url_end}'.format(url_start=url_start, url_end=url_end)
|
|
|
thumb = bucket.sign_url('GET', ts, 3600,
|
|
|
params={'x-oss-process': 'video/snapshot,t_10000,m_fast,w_300'})
|
|
|
- vod_play_list.append({'name': vod['time'], 'sign_url': vod_play_url, 'thumb': thumb})
|
|
|
+ vod_play_list.append({'name': vod['time'], 'sign_url': vod_play_url, 'thumb': thumb, 'sec': vod['sec']})
|
|
|
return response.json(0, vod_play_list)
|