| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package controller
- import (
- "f1-game/internal/code"
- "f1-game/internal/data"
- nameKey "f1-game/internal/name/key"
- msgWeb "f1-game/nodes/web/internal/message"
- clog "github.com/cherry-game/cherry/logger"
- cgin "github.com/cherry-game/components/gin"
- )
- type ServerController struct {
- cgin.BaseController
- }
- func (p *ServerController) Init() {
- p.GET("/server/list", p.list)
- p.GET("/server/list/:pid", p.list)
- }
- func (p *ServerController) list(c *cgin.Context) {
- pid := c.GetInt32(nameKey.PID, 0)
- if pid < 1 {
- clog.Infof("if pid < 1 {. params=%v", c.GetParams())
- code.JSONResult(c, code.PIDError)
- return
- }
- areaMap, found := data.Area.ListByPid(pid)
- if !found {
- clog.Infof("Area not found. params=%v", c.GetParams())
- code.JSONResult(c, code.PIDError)
- return
- }
- areaList := []*msgWeb.Area{}
- for _, area := range areaMap {
- if serverMap, found := data.AreaServer.ListByAreaID(area.AreaID); found {
- servers := []*msgWeb.AreaServer{}
- for _, server := range serverMap {
- servers = append(servers, &msgWeb.AreaServer{
- ServerID: server.ServerID,
- ServerName: server.ServerName,
- Status: server.Status,
- })
- }
- areaList = append(areaList, &msgWeb.Area{
- PID: area.Pid,
- AreaID: area.AreaID,
- AreaName: area.AreaName,
- Gate: area.Gate,
- ServerList: servers,
- })
- }
- }
- code.JSONResult(c, code.OK, areaList)
- }
|