diff --git a/client_mp/common/http.api.js b/client_mp/common/http.api.js index 6b6df20..6e53dce 100644 --- a/client_mp/common/http.api.js +++ b/client_mp/common/http.api.js @@ -43,7 +43,7 @@ const install = (Vue, vm) => { let getDocument = (params={})=>vm.$u.get('/quality/document/', params);//文档 let getVideos = (params={})=>vm.$u.get('/vod/video/', params);//点播视频 let getDickey = (params={})=>vm.$u.get('/system/dict/', params);//查询字典 - let addVodView =(id)=>vm.$u.post(`/vod/video/${id}/view/`);//新增观看次数 + let putMyVideoView =(id)=>vm.$u.post(`/vod/video/${id}/myview/`);//更新本人观看信息 vm.$u.api = {getUserInfo, getCode, codeLogin, @@ -64,7 +64,7 @@ const install = (Vue, vm) => { getDocument, getVideos, getDickey, - addVodView + putMyVideoView }; } diff --git a/server/apps/vod/views.py b/server/apps/vod/views.py index a0f1c4d..a0d5c1f 100644 --- a/server/apps/vod/views.py +++ b/server/apps/vod/views.py @@ -88,20 +88,18 @@ class MyViewRecordAPIView(APIView): def put(self, request, id, format=None): """ 更新该视频本人的观看信息 + params: {current:int} """ try: video = Video.objects.get(pk=id) except: return Response('视频不存在', status=HTTP_400_BAD_REQUEST) record = ViewRecord.objects.get_or_create(video=video, user=request.user, defaults={'video':video, 'user':request.user}) - if request.data: - serializer = VRecordUpdateSerializer(record, data=request.data) - serializer.is_valid(raise_exception=True) - if request.data.get('current', None): - record.current = request.data.get('current') - if timezone.now() > record.update_time + timedelta(hours=6): - record.views = record.views + 1 - record.save() + if request.data.get('current', None): + record.current = request.data.get('current') + if timezone.now() > record.update_time + timedelta(hours=6) or record.create_time == record.update_time: + record.views = record.views + 1 + record.save() return Response() class SignatureAPIView(APIView):