From ddc1a92e61dba8579e2bb7e4e4387ad440f3a5b4 Mon Sep 17 00:00:00 2001 From: hujiebin Date: Fri, 17 Mar 2023 14:38:44 +0800 Subject: [PATCH] Update group_activity_award.go --- script/group_activity_award.go | 44 +++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/script/group_activity_award.go b/script/group_activity_award.go index 07fbdbb..ed3c094 100644 --- a/script/group_activity_award.go +++ b/script/group_activity_award.go @@ -6,6 +6,7 @@ import ( "git.hilo.cn/hilo-common/script/model" "git.hilo.cn/hilo-common/script/mysql" "github.com/tealeg/xlsx" + "time" ) type GroupActivityAwardLog struct { @@ -30,10 +31,17 @@ type GroupActivityData struct { AwardGift3101Num int // 3101礼物id数量 AwardGift3091Num int // 3091礼物id数量 AwardPrice int // 总的礼物价值 + ActivityConsume uint64 // 活动流水 AwardTime string // 奖励时间 } -func ats3(a int) string { +type GroupActivity struct { + Id uint64 + StartAt int64 + EndAt int64 +} + +func ats3(a interface{}) string { return fmt.Sprintf("%d", a) } @@ -80,6 +88,28 @@ func main() { num3091 = a.Num } } + var groupActivity = new(GroupActivity) + if err := mysql.ProdReadOnlyDB.Model(GroupActivity{}).Where("id = ?", log.GroupActId).First(groupActivity).Error; err != nil { + panic(err) + } + start := time.UnixMilli(groupActivity.StartAt) + end := time.UnixMilli(groupActivity.EndAt) + type summary struct { + C uint32 + Consume uint64 + } + rows := make([]summary, 0) + if err := mysql.ProdReadOnlyDB.Table("gift_operate"). + Select("COUNT(DISTINCT(send_user_id)) AS c, SUM(send_user_diamond) AS Consume"). + Where("scene_type = 4 AND scene_uid = ?", log.ImGroupId). + Where("created_time BETWEEN ? AND ?", start, end). + Find(&rows).Error; err != nil { + panic(err) + } + consume := uint64(0) + if len(rows) > 0 { + consume = rows[0].Consume + } data = append(data, GroupActivityData{ Country: user.Country, Area: area, @@ -89,6 +119,7 @@ func main() { AwardGift3101Num: num3101, AwardGift3091Num: num3091, AwardPrice: num3111*10000 + num3101*3000 + num3091*1000, + ActivityConsume: consume, AwardTime: log.CreatedTime, }) } @@ -96,13 +127,14 @@ func main() { xlFile := xlsx.NewFile() sheet, _ := xlFile.AddSheet("charge") row := sheet.AddRow() - c1, c2, c3, c4, c5, c6, c7, c8, c9 := row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell() - c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value, c7.Value, c8.Value, c9.Value = "国家", "区域", "房主靓号", "群组靓号", "3111礼物数量", "3101礼物数量", "3091礼物数量", "总的礼物价值", "奖励时间" + c1, c2, c3, c4, c5, c6, c7, c8, c9, c10 := row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell() + c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value, c7.Value, c8.Value, c9.Value, c10.Value = + "国家", "区域", "房主靓号", "群组靓号", "3111礼物数量", "3101礼物数量", "3091礼物数量", "总的礼物价值", "活动流水", "奖励时间" for _, d := range data { row := sheet.AddRow() - c1, c2, c3, c4, c5, c6, c7, c8, c9 := row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell() - c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value, c7.Value, c8.Value, c9.Value = - d.Country, d.Area, d.OwnerCode, d.GroupCode, ats3(d.AwardGift3111Num), ats3(d.AwardGift3101Num), ats3(d.AwardGift3091Num), ats3(d.AwardPrice), d.AwardTime + c1, c2, c3, c4, c5, c6, c7, c8, c9, c10 := row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell() + c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value, c7.Value, c8.Value, c9.Value, c10.Value = + d.Country, d.Area, d.OwnerCode, d.GroupCode, ats3(d.AwardGift3111Num), ats3(d.AwardGift3101Num), ats3(d.AwardGift3091Num), ats3(d.AwardPrice), ats3(d.ActivityConsume), d.AwardTime } _ = xlFile.Save(excelFileName) } -- 2.22.0