]> 127.0.0.1 Git - bili_danmu/.git/commitdiff
Improve 下播总结
authorqydysky <qydysky@foxmail.com>
Thu, 27 Jul 2023 05:33:56 +0000 (13:33 +0800)
committerqydysky <qydysky@foxmail.com>
Thu, 27 Jul 2023 05:33:56 +0000 (13:33 +0800)
Reply/F/liveOver/liveOver.go

index 890e143202f52654476b2e3300e1f61322237a14..4b4ead27fe6031bd5408dc12056bfde24f8afafb 100644 (file)
@@ -10,7 +10,7 @@ import (
 )
 
 func init() {
-       if e := comp.Put[c.Common](`bili_danmu.Reply.wsmsg.preparing.sumup`, sumup); e != nil {
+       if e := comp.Put[c.Common](`bili_danmu.Reply.wsmsg.preparing.liveOver.sumup`, sumup); e != nil {
                panic(e)
        }
 }
@@ -18,8 +18,16 @@ func init() {
 func sumup(ctx context.Context, ptr *c.Common) error {
        dura := time.Since(ptr.Live_Start_Time).Round(time.Second)
        if ptr.Live_Start_Time.IsZero() {
-               dura = 0
+               ptr.Log.Base(`功能`, `下播总结`).L(`I: `, fmt.Sprintf("%d 未直播", ptr.Roomid))
+       } else {
+               var pperm = float64(ptr.Watched) / float64(dura/time.Minute)
+               var yperm = float64(ptr.Rev) / float64(dura/time.Minute)
+               // 若是中途录制,则使用启动时间
+               if ptr.StartT.After(ptr.Live_Start_Time) {
+                       yperm = float64(ptr.Rev) / float64(time.Since(ptr.StartT).Round(time.Second)/time.Minute)
+               }
+               ptr.Log.Base(`功能`, `下播总结`).L(`I: `, fmt.Sprintf("%d 时长 %s 营收 %.2f元 %.2f元/分 人数 %d人 %.2f人/分", ptr.Roomid, dura, ptr.Rev, yperm, ptr.Watched, pperm))
+
        }
-       ptr.Log.Base(`功能`, `下播总结`).L(`I: `, fmt.Sprintf("%d 时长 %s 总营收 ¥%.2f 观看人数 %d", ptr.Roomid, dura, ptr.Rev, ptr.Watched))
        return nil
 }