You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

129 lines
4.5 KiB

4 months ago
package serviceGame
import (
"context"
"fmt"
"github.com/gogf/gf/v2/encoding/gcharset"
"github.com/gogf/gf/v2/encoding/gjson"
"github.com/gogf/gf/v2/frame/g"
4 months ago
"log"
"tyj_admin/api/v1/game"
"tyj_admin/internal/serviceGame/internal"
)
type IGameRank interface {
Get(ctx context.Context, req *game.GetRankReq) (res *game.GetRankRes, err error)
Update(ctx context.Context, req *game.UpdateRankReq) (res *game.UpdateRankRes, err error)
Insert(ctx context.Context, req *game.InsertRankReq) (res *game.InsertRankRes, err error)
Del(ctx context.Context, req *game.DelRankReq) (res *game.DelRankRes, err error)
Check(ctx context.Context, req *game.CheckRankReq) (res *game.CheckRankRes, err error)
GetAward(ctx context.Context, req *game.GetRankAwardReq) (res *game.GetRankAwardRes, err error)
UpdateAward(ctx context.Context, req *game.UpdateRankAwardReq) (res *game.UpdateRankAwardRes, err error)
InsertAward(ctx context.Context, req *game.InsertRankAwardReq) (res *game.InsertRankAwardRes, err error)
AddRankGroup(ctx context.Context, req *game.AddRankGroupReq) (res *game.AddRankGroupRes, err error)
GetGameRank(ctx context.Context, req *game.GetGameRankReq) (res *game.GetGameRankRes, err error)
DeleteGameRank(ctx context.Context, req *game.DeleteGameRankReq) (res *game.DeleteGameRankRes, err error)
4 months ago
}
type gameRankImpl struct {
}
var gameRankService = gameRankImpl{}
func GameRank() IGameRank {
return &gameRankService
}
func (r *gameRankImpl) GetAward(ctx context.Context, req *game.GetRankAwardReq) (res *game.GetRankAwardRes, err error) {
4 months ago
res = new(game.GetRankAwardRes)
res.RankAward, err = internal.GetRankAward(ctx, req.Id, req.Type)
log.Print("GetRankAward ", res)
return
}
func (r *gameRankImpl) UpdateAward(ctx context.Context, req *game.UpdateRankAwardReq) (res *game.UpdateRankAwardRes, err error) {
4 months ago
err = internal.UpdateRankAward(ctx, req.RankAward)
log.Print("UpdateRankAward", err)
return
}
func (r *gameRankImpl) InsertAward(ctx context.Context, req *game.InsertRankAwardReq) (res *game.InsertRankAwardRes, err error) {
4 months ago
err = internal.InsertRankAward(ctx, req.RankAward)
log.Print("InsertRankAward", err)
return
}
func (r *gameRankImpl) Get(ctx context.Context, req *game.GetRankReq) (res *game.GetRankRes, err error) {
4 months ago
res, err = internal.GetRank(ctx, req)
log.Print("GetRankAward ", res)
return
}
func (r *gameRankImpl) Update(ctx context.Context, req *game.UpdateRankReq) (res *game.UpdateRankRes, err error) {
4 months ago
err = internal.UpdateRank(ctx, req.Rank)
log.Print("UpdateRankAward", err)
return
}
func (r *gameRankImpl) Insert(ctx context.Context, req *game.InsertRankReq) (res *game.InsertRankRes, err error) {
4 months ago
err = internal.InsertRank(ctx, req.Rank)
log.Print("InsertRank", err)
return
}
func (r *gameRankImpl) Del(ctx context.Context, req *game.DelRankReq) (res *game.DelRankRes, err error) {
4 months ago
err = internal.DelRank(ctx, req.Rank)
log.Print("InsertRank", err)
return
}
func (r *gameRankImpl) Check(ctx context.Context, req *game.CheckRankReq) (res *game.CheckRankRes, err error) {
4 months ago
res = new(game.CheckRankRes)
res.Rank, res.StringId, err = internal.CheckRank(ctx, req.Rank)
log.Print("InsertRank", err)
return
}
func (r *gameRankImpl) AddRankGroup(ctx context.Context, req *game.AddRankGroupReq) (res *game.AddRankGroupRes, err error) {
4 months ago
res = new(game.AddRankGroupRes)
res, err = internal.AddRankGroup(ctx, req)
log.Print("InsertRank", err)
return
}
func (r *gameRankImpl) GetGameRank(ctx context.Context, req *game.GetGameRankReq) (res *game.GetGameRankRes, err error) {
res = new(game.GetGameRankRes)
res, err = internal.GetGameRank(ctx, req)
log.Print("GetGameRank", err)
return
}
func (r *gameRankImpl) DeleteGameRank(ctx context.Context, req *game.DeleteGameRankReq) (res *game.DeleteGameRankRes, err error) {
res = new(game.DeleteGameRankRes)
ip := internal.ServerConfig[fmt.Sprint(req.ServerId)]
url := "http://" + ip + "/deleteRank?unitId="
uid, _ := internal.GetIdToUid(ctx, req.Uid)
url += fmt.Sprint(uid)
bytes := g.Client().GetBytes(ctx, url)
fmt.Println("DeleteGameRank: ", url)
src := string(bytes)
if g.IsEmpty(src) {
g.Log().Printf(ctx, "%d DeleteGameRank: gerror.New(\"空回调,发送失败\")", req.ServerId)
return res, nil
}
srcCharset := "UTF-8"
tmp, _ := gcharset.ToUTF8(srcCharset, src)
fmt.Println("DeleteGameRank: ", tmp)
json, err := gjson.DecodeToJson(tmp)
if err != nil {
return
}
fmt.Println("DeleteGameRank: ", gjson.MustEncodeString(json))
if json.Get("Error").Int() == 200 {
res.Mess = json.Get("Message").String()
return
}
return
}