Browse Source

debug

master
linquan 1 month ago
parent
commit
c42ce5c24c
  1. 54
      internal/serviceGame/game_role.go
  2. 4
      internal/serviceGame/internal/basicinfo.go
  3. 15
      internal/serviceGame/internal/cdKey.go

54
internal/serviceGame/game_role.go

@ -87,58 +87,18 @@ var DateFormat = "2006-01-02"
func (s *gameRoleImpl) GetOnlineTopList(ctx context.Context, req *game.RoleOnlineTopReq) (res *game.RoleOnlineTopRes, err error) {
res = new(game.RoleOnlineTopRes)
fsql := fmt.Sprintf(`select num,server,channel,date from game_online where STR_TO_DATE(date, "%%Y-%%m-%%d")="%s" `, time.Now().Format(DateFormat))
fsql := fmt.Sprintf(`select max(num) as num,server,channel,date from game_online where STR_TO_DATE(date, "%%Y-%%m-%%d")="%s" `, time.Now().Format(DateFormat))
if req.ServerId != 0 {
fsql += fmt.Sprintf(" and server=%d ", req.ServerId)
fsql += fmt.Sprintf("and server=%d ", req.ServerId)
}
data := []game.RoleOnlineTop{}
err = g.Model().Raw(fsql).Scan(&data)
//g.Log().Printf(ctx, "res1: %v", gjson.MustEncodeString(data))
res1 := []game.RoleOnlineTop{}
for _, v := range data {
index := isContain(res1, v.Date, v.Server)
if index == -1 {
v1 := game.RoleOnlineTop{
Server: v.Server,
Date: v.Date,
Num: v.Num,
}
res1 = append(res1, v1)
} else {
res1[index].Num += v.Num
}
}
//g.Log().Printf(ctx, "res1: %v", gjson.MustEncodeString(res1))
for _, v := range res1 {
index := isContain(res.Onlines, "", v.Server)
if index == -1 {
v1 := game.RoleOnlineTop{
Server: v.Server,
Date: "",
Num: v.Num,
}
res.Onlines = append(res.Onlines, v1)
} else {
if res.Onlines[index].Num < v.Num {
res.Onlines[index].Num = v.Num
}
//g.Log().Printf(ctx, "v1: %v, v: %v", gjson.MustEncodeString(res.Onlines[index]), gjson.MustEncodeString(v))
}
}
g.Log().Printf(ctx, "res.Onlines: %v", gjson.MustEncodeString(res.Onlines))
fsql += "group by date,server,channel"
sSql := fmt.Sprintf(`select sum(b.num) as num,b.server,b.date from (%s) as b group by b.date,b.server`, fsql)
tsql := fmt.Sprintf(`select max(a.num) as num,a.server from (%s) as a group by a.server ORDER BY a.server asc`, sSql)
err = g.Model().Raw(tsql).Scan(&res.Onlines)
//g.Log().Printf(ctx, "res.Onlines: %v", gjson.MustEncodeString(res.Onlines))
return
}
func isContain(data []game.RoleOnlineTop, date string, server int) int {
for k, v := range data {
if date == v.Date && server == v.Server {
return k
}
}
return -1
}
func (s *gameRoleImpl) GetAccount(ctx context.Context, req *game.AccountReq) (res *game.AccountRes, err error) {
res, err = internal.GetAccount(ctx, req)
return

4
internal/serviceGame/internal/basicinfo.go

@ -910,8 +910,8 @@ func LoginOut(ctx context.Context, req *game.LoginOutReq) (res *game.LoginOutRes
})
}
}
if gtime.Timestamp()-online[req.Server] > 2 {
online[req.Server] = gtime.Timestamp()
if gtime.Now().Unix()-online[req.Server] > 5 {
online[req.Server] = gtime.Now().Unix()
var onlineData []entity.OnlineData
onlineModel := g.Model("login_out_log", "a").

15
internal/serviceGame/internal/cdKey.go

@ -5,7 +5,6 @@ import (
"crypto/md5"
"errors"
"fmt"
"github.com/gogf/gf/v2/encoding/gjson"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gfile"
"log"
@ -138,17 +137,25 @@ func GetGiftExchangeConfig(ctx context.Context, req *game.GetGiftExchangeListReq
}
res.Total, err = model.Count()
err = model.Page(req.PageNum, req.PageSize).OrderDesc("id").Scan(&res.List)
log.Println("GetGiftExchangeConfig: ", gjson.MustEncodeString(res))
//log.Println("GetGiftExchangeConfig: ", gjson.MustEncodeString(res))
return
}
var fileSize = map[string]*FileSize{}
type FileSize struct {
Size int64
Times int
}
func GetGiftExchange(ctx context.Context, req *game.GetGiftExchangeReq) (res *game.GetGiftExchangeRes, err error) {
res = new(game.GetGiftExchangeRes)
var path = gfile.Join(gfile.RealPath("download"), req.File)
log.Println("GetGiftExchange: ", req.File, path, gfile.Exists(path))
if gfile.Exists(path) {
//log.Println("GetGiftExchange: ", req.File, path, gfile.Exists(path))
if gfile.Exists(path) && gfile.Size(path) != 0 && fileSize[path] != nil && gfile.Size(path) == fileSize[path].Size {
res.State = 1
}
fileSize[path] = &FileSize{Size: gfile.Size(path), Times: 0}
return
}

Loading…
Cancel
Save