Browse Source

更新

master
linquan 4 months ago
parent
commit
6ebeedbbb7
  1. 99
      api/v1/game/ccd.go
  2. 2
      api/v1/game/pub.go
  3. 1
      internal/cmd/cmd.go
  4. 20
      internal/controller/game_login_url.go
  5. 2
      internal/dao/internal/game_router.go
  6. 1
      internal/model/do/game_router.go
  7. 1
      internal/model/entity/game_router.go
  8. 20
      internal/serviceGame/internal/dbinit.go
  9. 111
      internal/serviceGame/loginUrl.go
  10. 2
      internal/serviceGame/order.go

99
api/v1/game/ccd.go

@ -2,6 +2,7 @@ package game
import (
"github.com/gogf/gf/v2/frame/g"
"tyj_admin/api/v1/common"
"tyj_admin/internal/model/entity"
)
@ -57,15 +58,6 @@ type GetLoginUrlRes struct {
Total int `json:"total"`
}
type GetServerConfigGeneralReq struct {
g.Meta `path:"/ServerConfig/getGeneral" tags:"登录地址" method:"post" summary:"ServerConfig"`
}
type GetServerConfigGeneralRes struct {
g.Meta `mime:"application/json"`
List []entity.GameServerJsonGeneral `json:"list"`
}
type GetAllLoginUrlReq struct {
g.Meta `path:"/loginUrl/getAllLoginUrl" tags:"登录地址" method:"post" summary:"allLoginUrl"`
}
@ -87,8 +79,42 @@ type AddLoginUrlReq struct {
type AddLoginUrlRes struct {
}
type AddNewLoginUrlReq struct {
g.Meta `path:"/loginUrl/addNewLoginUrl" tags:"登录地址" method:"post" summary:"添加loginUrl"`
Id int `p:"id"`
Host string `p:"host"`
Port int `p:"port"`
State int `p:"state"`
Recommend int `p:"recommend"`
Name string `p:"name"`
RechargeHost string `p:"rechargeHost"`
RechargePort int `p:"rechargePort"`
Area int `p:"area"`
IsShow int `p:"isShow"`
Channel string `p:"channel"`
GameDbUrl string `p:"gameDbUrl"`
GameDbName string `p:"gameDbName"`
Platform int `p:"platform"`
InnerIp string `p:"innerIp"`
CreateTime string `p:"createTime"`
Remark string `p:"remark"`
Difficulty int `p:"difficulty"`
}
type AddNewLoginUrlRes struct {
}
type GetServerConfigGeneralReq struct {
g.Meta `path:"/serverConfig/getGeneral" tags:"系统配置" method:"post" summary:"ServerConfig"`
}
type GetServerConfigGeneralRes struct {
g.Meta `mime:"application/json"`
List []entity.GameServerJsonGeneral `json:"list"`
}
type AddServerConfigGeneralReq struct {
g.Meta `path:"/ServerConfig/addGeneral" tags:"登录地址" method:"post" summary:"添加loginUrl"`
g.Meta `path:"/serverConfig/addGeneral" tags:"系统配置" method:"post" summary:"修改generalServerConfig"`
Id int `p:"id"`
BackstageRechargeUrl string `p:"backstageRechargeUrl"`
GmWhiteListUrl string `p:"gmWhiteListUrl"`
@ -101,6 +127,49 @@ type AddServerConfigGeneralReq struct {
type AddServerConfigGeneralRes struct {
}
type AddServerConfigReq struct {
g.Meta `path:"/serverConfig/add" tags:"服务器配置" method:"post" summary:"修改ServerConfig"`
Id int `p:"id"`
GameDbUrl string `p:"gameDbUrl"`
GameDbName string `p:"gameDbName"`
Platform int `p:"platform"`
InnerIp string `p:"innerIp"`
CreateTime string `p:"createTime"`
Remark string `p:"remark"`
Difficulty int `p:"difficulty"`
Channel string `p:"channel"`
}
type AddServerConfigRes struct {
}
type GetRouterReq struct {
g.Meta `path:"/serverConfig/getRouter" tags:"服务器配置" method:"post" summary:"router"`
common.PageReq
}
type GetRouterRes struct {
g.Meta `mime:"application/json"`
List []entity.GameRouter `json:"list"`
common.ListRes
}
type AddRouterReq struct {
g.Meta `path:"/serverConfig/updateRouter" tags:"服务器配置" method:"post" summary:"修改ServerConfig"`
Id int `p:"id"`
RealmIp string `p:"realmIp"`
RealmPort int `p:"realmPort"`
RealmStep int `p:"realmStep"`
RealmNum int `p:"realmNum"`
RouterIp string `p:"routerIp"`
RouterPort int `p:"routerPort"`
RouterStep int `p:"routerStep"`
RouterNum int `p:"routerNum"`
}
type AddRouterRes struct {
}
type DelLoginUrlReq struct {
g.Meta `path:"/loginUrl/delLoginUrl" tags:"登录地址" method:"post" summary:"删除loginUrl"`
Id uint64 `p:"id"`
@ -255,3 +324,13 @@ type GetAllCcdUrlRes struct {
g.Meta `mime:"application/json"`
List []entity.GameCcdVersion `json:"list"`
}
type GetServerVersionListReq struct {
g.Meta `path:"/server/getVersion" tags:"server" method:"get" summary:"getVersion"`
Server string `json:"serverId"`
}
type GetServerVersionListRes struct {
g.Meta `mime:"application/json"`
Version string `json:"version"`
}

2
api/v1/game/pub.go

@ -246,5 +246,5 @@ type GetServerConfigRes struct {
GameDbName string `json:"gameDbName" description:""`
Platform int `json:"platform" description:""`
InnerIp string `json:"innerIp" description:""`
CreateTime int64 `json:"createTime" description:""`
CreateTime int64 `json:"createTime" description:""`
}

1
internal/cmd/cmd.go

@ -21,7 +21,6 @@ var (
s.Group("/", func(group *ghttp.RouterGroup) {
router.BindController(group)
router.BindAnotherController(group)
})
//s.SetIndexFolder(true)

20
internal/controller/game_login_url.go

@ -51,3 +51,23 @@ func (c *loginUrlController) ReConfigServer(ctx context.Context, req *game.ReCon
res, err = serviceGame.GameLoginUrl().ReConfigServer(ctx, req)
return res, err
}
func (c *loginUrlController) GetRouter(ctx context.Context, req *game.GetRouterReq) (res *game.GetRouterRes, err error) {
res, err = serviceGame.GameLoginUrl().GetRouter(ctx, req)
return
}
func (c *loginUrlController) AddServerConfigGeneral(ctx context.Context, req *game.AddServerConfigGeneralReq) (res *game.AddServerConfigGeneralRes, err error) {
res, err = serviceGame.GameLoginUrl().AddServerConfigGeneral(ctx, req)
return
}
func (c *loginUrlController) AddServerConfig(ctx context.Context, req *game.AddServerConfigReq) (res *game.AddServerConfigRes, err error) {
res, err = serviceGame.GameLoginUrl().AddServerConfig(ctx, req)
return
}
func (c *loginUrlController) GetServerVersionList(ctx context.Context, req *game.GetServerVersionListReq) (res *game.GetServerVersionListRes, err error) {
res, err = serviceGame.GameLoginUrl().GetServerVersionList(ctx, req)
return res, err
}

2
internal/dao/internal/game_router.go

@ -21,7 +21,6 @@ type GameRouterDao struct {
// GameRouterColumns defines and stores column names for table game_router.
type GameRouterColumns struct {
Id string //
ServerId string //
RealmIp string //
RealmPort string //
RealmStep string //
@ -35,7 +34,6 @@ type GameRouterColumns struct {
// gameRouterColumns holds the columns for table game_router.
var gameRouterColumns = GameRouterColumns{
Id: "id",
ServerId: "server_id",
RealmIp: "realm_ip",
RealmPort: "realm_port",
RealmStep: "realm_step",

1
internal/model/do/game_router.go

@ -12,7 +12,6 @@ import (
type GameRouter struct {
g.Meta `orm:"table:game_router, do:true"`
Id interface{} //
ServerId interface{} //
RealmIp interface{} //
RealmPort interface{} //
RealmStep interface{} //

1
internal/model/entity/game_router.go

@ -7,7 +7,6 @@ package entity
// GameRouter is the golang structure for table game_router.
type GameRouter struct {
Id int `json:"id" description:""`
ServerId string `json:"serverId" description:""`
RealmIp string `json:"realmIp" description:""`
RealmPort int `json:"realmPort" description:""`
RealmStep int `json:"realmStep" description:""`

20
internal/serviceGame/internal/dbinit.go

@ -28,6 +28,7 @@ var (
ServerList []entity.GameLoginUrl
ChannelList []entity.GameChannelList
RechargeServer string
RouterServer string
Md5key string
CallbackKey string
)
@ -52,6 +53,11 @@ func init() {
RechargeServer = svCfg.String()
}
svCfg1, err := g.Cfg().Get(ctx, "game.routerServer")
if err == nil {
RouterServer = svCfg1.String()
}
md5keyCfg, err := g.Cfg().Get(ctx, "game.md5key")
if err == nil {
Md5key = md5keyCfg.String()
@ -141,7 +147,19 @@ func InitChannel(ctx context.Context) {
func InitRechargeServer(ctx context.Context) {
err := g.Try(ctx, func(ctx context.Context) {
url := "http://" + RechargeServer + "/serverInit"
url := RechargeServer + "/serverInit"
bytes := g.Client().PostBytes(ctx, url)
fmt.Printf("InitRechargeServer: %s, res: %v/n", RechargeServer, string(bytes))
})
if err != nil {
fmt.Println("InitRechargeServer: ", err)
}
}
func InitRouterServer(ctx context.Context) {
err := g.Try(ctx, func(ctx context.Context) {
url := RouterServer + "/resetRouter?md5=erweita0726"
bytes := g.Client().PostBytes(ctx, url)
fmt.Printf("InitRechargeServer: %s, res: %v/n", RechargeServer, string(bytes))
})

111
internal/serviceGame/loginUrl.go

@ -2,6 +2,8 @@ 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"
"log"
@ -9,7 +11,6 @@ import (
"tyj_admin/api/v1/game"
"tyj_admin/internal/consts"
"tyj_admin/internal/dao"
"tyj_admin/internal/model/do"
"tyj_admin/internal/model/entity"
"tyj_admin/internal/serviceGame/internal"
"tyj_admin/library/libUtils"
@ -28,6 +29,9 @@ type IGameLoginUrl interface {
ReConfigServer(ctx context.Context, req *game.ReConfigServerReq) (res *game.ReConfigServerRes, err error)
GetAllChannel(ctx context.Context, req *game.GetAllChannelReq) (res *game.GetAllChannelRes, err error)
GetAllCcdUrl(ctx context.Context, req *game.GetAllCcdUrlReq) (res *game.GetAllCcdUrlRes, err error)
AddServerConfig(ctx context.Context, req *game.AddServerConfigReq) (res *game.AddServerConfigRes, err error)
GetRouter(ctx context.Context, req *game.GetRouterReq) (res *game.GetRouterRes, err error)
GetServerVersionList(ctx context.Context, req *game.GetServerVersionListReq) (res *game.GetServerVersionListRes, err error)
}
type gameLoginUrlImpl struct {
@ -84,20 +88,18 @@ func (c *gameLoginUrlImpl) GetAllLoginUrl(ctx context.Context, req *game.GetAllL
func (c *gameLoginUrlImpl) AddLoginUrl(ctx context.Context, req *game.AddLoginUrlReq) (res *game.AddLoginUrlRes, err error) {
res = new(game.AddLoginUrlRes)
g.Try(ctx, func(ctx context.Context) {
err = g.Try(ctx, func(ctx context.Context) {
server := []entity.GameLoginUrl{}
model := dao.GameLoginUrl.Ctx(ctx)
model.WherePri(req.Id).Scan(&server)
if len(server) > 0 {
model.WherePri(req.Id).Update(g.Map{
_, err = model.WherePri(req.Id).Update(g.Map{
dao.GameLoginUrl.Columns().Id: req.Id,
dao.GameLoginUrl.Columns().Host: req.Host,
dao.GameLoginUrl.Columns().Port: req.Port,
dao.GameLoginUrl.Columns().State: req.State,
dao.GameLoginUrl.Columns().Recommend: req.Recommend,
})
} else {
_, err = model.Insert(&do.GameLoginUrl{Host: req.Host, Port: req.Port, Id: req.Id, State: req.State, Recommend: req.Recommend, Name: "", Difficulty: 1})
}
})
return
@ -213,6 +215,7 @@ func (c *gameLoginUrlImpl) ReConfigServer(ctx context.Context, req *game.ReConfi
internal.InitServer(ctx)
internal.InitRechargeServer(ctx)
internal.InitChannel(ctx)
internal.InitRouterServer(ctx)
return
}
@ -232,3 +235,101 @@ func (c *gameLoginUrlImpl) GetAllCcdUrl(ctx context.Context, req *game.GetAllCcd
})
return
}
func (c *gameLoginUrlImpl) GetRouter(ctx context.Context, req *game.GetRouterReq) (res *game.GetRouterRes, err error) {
g.Try(ctx, func(ctx context.Context) {
res = new(game.GetRouterRes)
model := dao.GameRouter.Ctx(ctx)
res.Total, err = model.Count()
liberr.ErrIsNil(ctx, err, "mysql err")
model = model.Page(req.PageNum, req.PageSize)
err = model.Scan(&res.List)
liberr.ErrIsNil(ctx, err, "mysql err")
})
return
}
func (c *gameLoginUrlImpl) AddServerConfig(ctx context.Context, req *game.AddServerConfigReq) (res *game.AddServerConfigRes, err error) {
res = new(game.AddServerConfigRes)
err = g.Try(ctx, func(ctx context.Context) {
server := []entity.GameLoginUrl{}
model := dao.GameLoginUrl.Ctx(ctx)
model.WherePri(req.Id).Scan(&server)
if len(server) > 0 {
_, err = model.WherePri(req.Id).Update(g.Map{
dao.GameLoginUrl.Columns().Id: req.Id,
dao.GameLoginUrl.Columns().GameDbUrl: req.GameDbUrl,
dao.GameLoginUrl.Columns().GameDbName: req.GameDbName,
dao.GameLoginUrl.Columns().Platform: req.Platform,
dao.GameLoginUrl.Columns().InnerIp: req.InnerIp,
dao.GameLoginUrl.Columns().CreateTime: req.CreateTime,
dao.GameLoginUrl.Columns().Difficulty: req.Difficulty,
dao.GameLoginUrl.Columns().Channel: req.Channel,
})
}
})
return
}
func (c *gameLoginUrlImpl) updateRouter(ctx context.Context, req *game.AddRouterReq) (res *game.AddRouterRes, err error) {
res = new(game.AddRouterRes)
err = g.Try(ctx, func(ctx context.Context) {
server := []entity.GameRouter{}
model := dao.GameRouter.Ctx(ctx)
model.WherePri(req.Id).Scan(&server)
if len(server) > 0 {
_, err = model.WherePri(req.Id).Update(g.Map{
dao.GameRouter.Columns().Id: req.Id,
dao.GameRouter.Columns().RealmIp: req.RealmIp,
dao.GameRouter.Columns().RealmPort: req.RealmPort,
dao.GameRouter.Columns().RealmNum: req.RealmNum,
dao.GameRouter.Columns().RealmStep: req.RealmStep,
dao.GameRouter.Columns().RouterIp: req.RouterIp,
dao.GameRouter.Columns().RouterPort: req.RouterPort,
dao.GameRouter.Columns().RouterNum: req.RouterNum,
dao.GameRouter.Columns().RouterStep: req.RouterStep,
})
} else {
_, err = model.Insert(g.Map{
dao.GameRouter.Columns().Id: req.Id,
dao.GameRouter.Columns().RealmIp: req.RealmIp,
dao.GameRouter.Columns().RealmPort: req.RealmPort,
dao.GameRouter.Columns().RealmNum: req.RealmNum,
dao.GameRouter.Columns().RealmStep: req.RealmStep,
dao.GameRouter.Columns().RouterIp: req.RouterIp,
dao.GameRouter.Columns().RouterPort: req.RouterPort,
dao.GameRouter.Columns().RouterNum: req.RouterNum,
dao.GameRouter.Columns().RouterStep: req.RouterStep,
})
}
})
return
}
func (c *gameLoginUrlImpl) GetServerVersionList(ctx context.Context, req *game.GetServerVersionListReq) (res *game.GetServerVersionListRes, err error) {
res = new(game.GetServerVersionListRes)
ip := internal.ServerConfig[fmt.Sprint(req.Server)]
url := "http://" + ip + "/get_version"
bytes := g.Client().GetBytes(ctx, url)
//fmt.Println("GetOnlineList: ", url, bytes)
src := string(bytes)
if g.IsEmpty(src) {
res.Version = "获取失败"
return
}
srcCharset := "UTF-8"
tmp, _ := gcharset.ToUTF8(srcCharset, src)
json, err := gjson.DecodeToJson(tmp)
if err != nil {
res.Version = "获取失败"
return
}
//fmt.Println("GetOnlineList - json: ", tmp, gjson.MustEncodeString(json.Get("Accounts").Array()))
if json.Get("Error").Int() == 200 {
res.Version = json.Get("Message").String()
} else {
res.Version = "获取失败"
}
return
}

2
internal/serviceGame/order.go

@ -161,7 +161,7 @@ func (o gameOrderImpl) Deposit(ctx context.Context, req *game.OrderDepositReq) (
recharge.GmMessage = encryptData(string(data))
recharge.Md5Sign = fmt.Sprintf("%x", md5.Sum([]byte(recharge.GmMessage+internal.Md5key)))
fmt.Println("Deposit - json: ", string(data), recharge.Md5Sign)
url := "http://" + internal.RechargeServer + "/gmPay/notify"
url := internal.RechargeServer + "/gmPay/notify"
rs, err := g.Client().Post(ctx, url, recharge)
if err != nil {
log.Println("Post 1 : ", req.Uid, url, gjson.MustEncodeString(recharge))

Loading…
Cancel
Save