From e3f6ed80acb9f7c5a181e29a1d6e649a1b54a26c Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 5 Dec 2022 14:08:17 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=8E=92=E5=BA=8Fdesc=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/apps/vod/views2.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/apps/vod/views2.py b/server/apps/vod/views2.py index 208b268..5d65042 100644 --- a/server/apps/vod/views2.py +++ b/server/apps/vod/views2.py @@ -60,7 +60,7 @@ class AnalyseViewSet(GenericViewSet): left join vod_view2 v2 on v2.create_by_id = vi.create_by_id and v2.video_id = vi.video_id where vi.create_time >= %s and vi.create_time <= %s group by u.id - order by "观看完成视频总数" desc, "账号" + order by "观看完成视频总数" desc, "观看总时间" desc limit %s """ return Response(query_all_dict(sql_str, [vdata['start_time'], vdata['end_time'], vdata['limit']])) @@ -87,7 +87,7 @@ class AnalyseViewSet(GenericViewSet): left join vod_view2 v2 on v2.create_by_id = vi.create_by_id and v2.video_id = vi.video_id where vi.create_time >= %s and vi.create_time <= %s group by o.id - order by "观看完成视频总数" desc, o.sort + order by "观看完成视频总数" desc, "观看总时间" desc limit %s """ return Response(query_all_dict(sql_str, [vdata['start_time'], vdata['end_time'], vdata['limit']])) \ No newline at end of file From fc79e0b782b16f25a738a79655e0bf82c3f5b02a Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 5 Dec 2022 14:15:49 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E8=A7=82=E7=9C=8B=E4=BA=BA=E6=95=B0bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/apps/vod/serializers.py | 2 +- server/apps/vod/views.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/server/apps/vod/serializers.py b/server/apps/vod/serializers.py index 6c03717..5fcc67c 100644 --- a/server/apps/vod/serializers.py +++ b/server/apps/vod/serializers.py @@ -34,7 +34,7 @@ class VideoUpdateSerializer(serializers.ModelSerializer): class VideoListDetailSerializer(serializers.ModelSerializer): views_n = serializers.IntegerField(source='view1_video.views', read_only=True, label="总观看次数") - viewsp_n = serializers.IntegerField(source='view1_video.viewsp', read_only=True, label="总观看秒数") + viewsp_n = serializers.IntegerField(source='view1_video.viewsp', read_only=True, label="总观看人数") class Meta: model = Video exclude = ['mediaurl'] diff --git a/server/apps/vod/views.py b/server/apps/vod/views.py index 884a9e0..c0bd893 100644 --- a/server/apps/vod/views.py +++ b/server/apps/vod/views.py @@ -127,7 +127,7 @@ def cal_view1(vi: ViewItem): v1, _ = View1.objects.get_or_create(video=vi.video, defaults={"video": vi.video}) v2, _ = View2.objects.get_or_create(video=vi.video, create_by=vi.create_by, defaults={"video": vi.video, "create_by": vi.create_by}) v1.views = ViewItem.objects.filter(video=vi.video).count() - v1.viewp = View2.objects.filter(video=vi.video).count() + v1.viewsp = View2.objects.filter(video=vi.video).count() v1.save() def cal_view2(vi: ViewItem): From aa2c4d8d10d2f78fd43c149f9433a8a9d8ec8af1 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 5 Dec 2022 14:36:21 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=92=AD=E6=94=BE?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/apps/vod/views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/server/apps/vod/views.py b/server/apps/vod/views.py index c0bd893..6fadc33 100644 --- a/server/apps/vod/views.py +++ b/server/apps/vod/views.py @@ -204,7 +204,6 @@ class ViewItemViewSet(ListModelMixin, UpdateModelMixin, GenericViewSet): 完成播放 """ obj = self.get_object() - obj.current = 0 v2 = View2.objects.get(video=obj.video, create_by=obj.create_by) if v2.total_seconds >= obj.video.duration * 0.6: v2.is_completed = True From 949fd2c3a670d2d39820334db036b4baf3ecfbbe Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 21 Dec 2022 10:37:06 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E8=A7=82=E7=9C=8B=E7=BB=9F=E8=AE=A1bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/apps/vod/views2.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/apps/vod/views2.py b/server/apps/vod/views2.py index 5d65042..735f8a6 100644 --- a/server/apps/vod/views2.py +++ b/server/apps/vod/views2.py @@ -50,7 +50,7 @@ class AnalyseViewSet(GenericViewSet): sql_str = """select u.name as "姓名", u.username as "账号", - count(v2.is_completed is true) as "观看完成视频总数", + count(distinct v2.is_completed is true) as "观看完成视频总数", count(distinct vi.video_id) as "观看视频总数", count(vi.id) as "观看总次数" , sum(vi.total_seconds/60) as "观看总时间" @@ -76,7 +76,7 @@ class AnalyseViewSet(GenericViewSet): vdata = self.is_valid(request) sql_str = """select o.name as "单位名称", - count(v2.is_completed is true) as "观看完成视频总数", + count(distinct v2.is_completed is true) as "观看完成视频总数", count(distinct vi.video_id) as "观看视频总数", count(vi.id) as "观看总次数" , sum(vi.total_seconds/60) as "观看总时间" From b26f2b75f87f8e24de3f94cd634c4deb4f5cdba5 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 21 Dec 2022 10:46:13 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E8=A7=82=E7=9C=8B=E7=BB=9F=E8=AE=A1bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/apps/vod/views2.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/apps/vod/views2.py b/server/apps/vod/views2.py index 735f8a6..7a877ed 100644 --- a/server/apps/vod/views2.py +++ b/server/apps/vod/views2.py @@ -60,7 +60,7 @@ class AnalyseViewSet(GenericViewSet): left join vod_view2 v2 on v2.create_by_id = vi.create_by_id and v2.video_id = vi.video_id where vi.create_time >= %s and vi.create_time <= %s group by u.id - order by "观看完成视频总数" desc, "观看总时间" desc + order by "观看总时间" desc, "观看完成视频总数" desc limit %s """ return Response(query_all_dict(sql_str, [vdata['start_time'], vdata['end_time'], vdata['limit']])) @@ -87,7 +87,7 @@ class AnalyseViewSet(GenericViewSet): left join vod_view2 v2 on v2.create_by_id = vi.create_by_id and v2.video_id = vi.video_id where vi.create_time >= %s and vi.create_time <= %s group by o.id - order by "观看完成视频总数" desc, "观看总时间" desc + order by "观看总时间" desc, "观看完成视频总数" desc limit %s """ return Response(query_all_dict(sql_str, [vdata['start_time'], vdata['end_time'], vdata['limit']])) \ No newline at end of file