From 513c2696d4e12d5079cbf49c6de39af35ab86379 Mon Sep 17 00:00:00 2001 From: czx <1216764150@qq.com> Date: Fri, 21 Apr 2023 23:53:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=EF=BC=8C?= =?UTF-8?q?=E6=AF=8F=E5=A4=A923=EF=BC=9A50=EF=BC=8C=E6=AF=8F=E4=B8=AA?= =?UTF-8?q?=E6=9C=8D=E6=8F=92=E5=85=A5=E4=B8=80=E6=9D=A1=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=B8=BA0=E7=9A=84=E7=AC=AC=E4=BA=8C=E5=A4=A9=E7=9A=84?= =?UTF-8?q?=E5=85=85=E5=80=BC=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/task/taskUtil.go | 61 +++++++++++++++++++++++++++++----------- 1 file changed, 44 insertions(+), 17 deletions(-) diff --git a/library/task/taskUtil.go b/library/task/taskUtil.go index 58f1d83..004ea79 100644 --- a/library/task/taskUtil.go +++ b/library/task/taskUtil.go @@ -48,6 +48,7 @@ func init() { 30分钟执行一次 */ // 统计充值人数、充值总额(刷新统计值) + gcron.AddSingleton("0 50 23 * * ?", initServerPayInfo) gcron.AddSingleton("0 0,30 * * * ?", StatisticalRecharge) gcron.AddSingleton("0 0,30 * * * ?", StatisticalRecharge_Server) @@ -641,7 +642,7 @@ func logCharge() { } // 拼接内容 bugType := "" - if (gconv.Int(pay.PayItem) >= 1 && gconv.Int(pay.PayItem) <= 6) { + if gconv.Int(pay.PayItem) >= 1 && gconv.Int(pay.PayItem) <= 6 { bugType = "1" } else { bugType = "2" @@ -657,8 +658,8 @@ func logCharge() { goodsId := strings.Split(baseReward, "#")[0] goodsName, _ := itemConfig.Get(gconv.String(goodsId)) // 还差付款渠道 - data := gconv.String(pay.Billno)+"\t"+gconv.String(pay.OpenId)+"\t"+gconv.String(goodsId)+"\t"+gconv.String(goodsName)+"\t"+bugType+"\t"+gconv.String(pay.Creattime)+"\t" + - ""+gconv.String(serverInfo.Timezone)+"\t"+gconv.String(serverInfo.Currency)+"\t"+gconv.String(pay.PayWay)+"\t"+gconv.String(pay.Money) + data := gconv.String(pay.Billno) + "\t" + gconv.String(pay.OpenId) + "\t" + gconv.String(goodsId) + "\t" + gconv.String(goodsName) + "\t" + bugType + "\t" + gconv.String(pay.Creattime) + "\t" + + "" + gconv.String(serverInfo.Timezone) + "\t" + gconv.String(serverInfo.Currency) + "\t" + gconv.String(pay.PayWay) + "\t" + gconv.String(pay.Money) w.Write([]string{data}) // 刷新缓冲 w.Flush() @@ -669,8 +670,8 @@ func logCharge() { goodsId := strings.Split(gconv.String(baseRewards), "#")[0] goodsName, _ := itemConfig.Get(gconv.String(goodsId)) // 还差付款渠道 - data := gconv.String(pay.Billno)+"\t"+gconv.String(pay.OpenId)+"\t"+gconv.String(goodsId)+"\t"+gconv.String(goodsName)+"\t"+bugType+"\t"+gconv.String(pay.Creattime)+"\t" + - ""+gconv.String(serverInfo.Timezone)+"\t"+gconv.String(serverInfo.Currency)+"\t"+gconv.String(pay.PayWay)+"\t"+gconv.String(pay.Money) + data := gconv.String(pay.Billno) + "\t" + gconv.String(pay.OpenId) + "\t" + gconv.String(goodsId) + "\t" + gconv.String(goodsName) + "\t" + bugType + "\t" + gconv.String(pay.Creattime) + "\t" + + "" + gconv.String(serverInfo.Timezone) + "\t" + gconv.String(serverInfo.Currency) + "\t" + gconv.String(pay.PayWay) + "\t" + gconv.String(pay.Money) w.Write([]string{data}) // 刷新缓冲 w.Flush() @@ -742,7 +743,7 @@ func logThrow() { } openIdMap.Set(itemLog.Uid, openId) } - data := openId+"\t"+gconv.String(itemLog.ItemId)+"\t"+gconv.String(gtime.NewFromTimeStamp(gconv.Int64(itemLog.Time)).Format("Y-m-d H:i:s"))+"\t"+gconv.String(serverInfo.Timezone)+"\t"+gconv.String(itemLog.ItemNum) + data := openId + "\t" + gconv.String(itemLog.ItemId) + "\t" + gconv.String(gtime.NewFromTimeStamp(gconv.Int64(itemLog.Time)).Format("Y-m-d H:i:s")) + "\t" + gconv.String(serverInfo.Timezone) + "\t" + gconv.String(itemLog.ItemNum) w.Write([]string{data}) // 刷新缓冲 w.Flush() @@ -810,10 +811,10 @@ func logGoods() { if len(split) == len(priceWeights) { for i := 0; i < len(split); i++ { percentage, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", gconv.Float64(priceWeights[i])/float64(totalWeight)), 64) - gainPrice, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", percentage * gconv.Float64(gconv.Map(rechargeCommodity)["Price"])), 64) + gainPrice, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", percentage*gconv.Float64(gconv.Map(rechargeCommodity)["Price"])), 64) coinName := "" - data := pay.OpenId+"\t"+strings.Split(split[i], "#")[0]+"\t"+pay.Creattime+"\t"+ - gconv.String(serverInfo.Timezone)+"\t"+gconv.String(strings.Split(split[i], "#")[1])+"\t0"+"\t"+gconv.String(gainPrice)+"\t"+coinName+"\t0" + data := pay.OpenId + "\t" + strings.Split(split[i], "#")[0] + "\t" + pay.Creattime + "\t" + + gconv.String(serverInfo.Timezone) + "\t" + gconv.String(strings.Split(split[i], "#")[1]) + "\t0" + "\t" + gconv.String(gainPrice) + "\t" + coinName + "\t0" w.Write([]string{data}) w.Flush() } @@ -822,8 +823,8 @@ func logGoods() { // 只有一条奖励 if strings.Contains(gconv.String(baseRewards), "#") { coinName := "" - data := pay.OpenId+"\t"+strings.Split(gconv.String(baseRewards), "#")[0]+"\t"+pay.Creattime+"\t"+ - gconv.String(serverInfo.Timezone)+"\t"+gconv.String(strings.Split(gconv.String(baseRewards), "#")[1])+"\t0"+"\t"+gconv.String(gconv.Float64(gconv.Map(rechargeCommodity)["Price"]))+"\t"+coinName+"\t0" + data := pay.OpenId + "\t" + strings.Split(gconv.String(baseRewards), "#")[0] + "\t" + pay.Creattime + "\t" + + gconv.String(serverInfo.Timezone) + "\t" + gconv.String(strings.Split(gconv.String(baseRewards), "#")[1]) + "\t0" + "\t" + gconv.String(gconv.Float64(gconv.Map(rechargeCommodity)["Price"])) + "\t" + coinName + "\t0" w.Write([]string{data}) w.Flush() } @@ -866,8 +867,8 @@ func logGoods() { coinName := "coinName" // coin_cost 游戏币消耗数量,如果非游戏币购买获得,则传0 coinCost := "coinCost" - data := openId+"\t"+gconv.String(itemLog.ItemId)+"\t"+gconv.String(gtime.NewFromTimeStamp(gconv.Int64(itemLog.Time)).Format("Y-m-d H:i:s"))+"\t"+ - gconv.String(serverInfo.Timezone)+"\t"+gconv.String(itemLog.ItemNum)+"\t"+gainSource+"\t"+gainPrice+"\t"+coinName+"\t"+coinCost + data := openId + "\t" + gconv.String(itemLog.ItemId) + "\t" + gconv.String(gtime.NewFromTimeStamp(gconv.Int64(itemLog.Time)).Format("Y-m-d H:i:s")) + "\t" + + gconv.String(serverInfo.Timezone) + "\t" + gconv.String(itemLog.ItemNum) + "\t" + gainSource + "\t" + gainPrice + "\t" + coinName + "\t" + coinCost w.Write([]string{data}) // 刷新缓冲 w.Flush() @@ -886,7 +887,6 @@ func goodsInfo() { fmt.Println("goodsInfo end") } - // 用户账号与角色对应关系表: log_role_{游戏名}.txt (按照月度级别) func logRole() { // 取配置中的游戏名 @@ -933,13 +933,40 @@ func logRole() { if len(list) > 0 { // 排序后 取第一条和最后一条分别为首充时间和最后一次充值时间 firstPayDay = gconv.String(gconv.Map(list[0])["creattime"]) - lastPayDay = gconv.String(gconv.Map(list[len(list) - 1])["creattime"]) + lastPayDay = gconv.String(gconv.Map(list[len(list)-1])["creattime"]) accountType = "1" } - data := gconv.String(userInfo.OpenId)+"\t"+gconv.String(userInfo.OpenId)+"\t"+firstPayDay+"\t"+lastPayDay+"\t"+accountType + data := gconv.String(userInfo.OpenId) + "\t" + gconv.String(userInfo.OpenId) + "\t" + firstPayDay + "\t" + lastPayDay + "\t" + accountType w.Write([]string{data}) // 刷新缓冲 w.Flush() } fmt.Println("logRole end") -} \ No newline at end of file +} + +func initServerPayInfo() { + bs := bson.D{} + serverInfoList := gameinfo.ModelServer.FindServerInfoList(bs) + for serverInfoList.Next(context.TODO()) { + var serverInfo gameinfo.ServerInfo + err := serverInfoList.Decode(&serverInfo) + if err != nil { + //log.Fatal(err) + log.Println(err) + continue + } + statisticalRecharge := gameinfo.StatisticalRecharge{} + tomorrow := time.Now().AddDate(0, 0, 1).Format("2006-01-02") + statisticalRecharge.CreatDay = tomorrow + //统计新增充值(当日注册且付费的人数和金额、付费次数) + statisticalRecharge.NewRechargeNum = gconv.Int(0) + statisticalRecharge.NewRechargeAmount = gconv.Float64(0) + statisticalRecharge.NewRechargeCount = gconv.Int(0) + //统计充值总数(人数和金额、付费次数) + statisticalRecharge.RechargeNum = gconv.Int(0) + statisticalRecharge.RechargeAmount = gconv.Float64(0) + statisticalRecharge.RechargeCount = gconv.Int(0) + gameinfo.ModelStatisticalRecharge.InsertAndUpdateStatisticalRecharge(statisticalRecharge.Id, statisticalRecharge, serverInfo.ServerId) + + } +}