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.
105 lines
3.1 KiB
105 lines
3.1 KiB
2 years ago
|
package serviceGame
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"encoding/json"
|
||
|
"github.com/gogf/gf/v2/crypto/gmd5"
|
||
|
"github.com/gogf/gf/v2/errors/gerror"
|
||
|
"tyj_admin/api/v1/game"
|
||
|
"tyj_admin/internal/serviceGame/internal"
|
||
|
)
|
||
|
|
||
|
type IGameManage interface {
|
||
|
ChangeGm(ctx context.Context, req *game.ChangeGmReq) (res *game.ChangeGmRes, err error)
|
||
|
ChangePwd(ctx context.Context, req *game.ResetPwdReq) (res *game.ResetPwdRes, err error)
|
||
|
MigrateRole(ctx context.Context, req *game.MigrateReq) (res *game.MigrateRes, err error)
|
||
|
SearchGm(ctx context.Context, req *game.SearchGmReq) (res *game.SearchGmRes, err error)
|
||
|
GetStatistics(ctx context.Context, req *game.StatisticsReq) (res *game.StatisticsRes, err error)
|
||
|
}
|
||
|
|
||
|
type gameManageImpl struct {
|
||
|
}
|
||
|
|
||
|
var gameManageService = gameManageImpl{}
|
||
|
|
||
|
func GameManage() IGameManage {
|
||
|
return &gameManageService
|
||
|
}
|
||
|
|
||
|
func (g *gameManageImpl) ChangePwd(ctx context.Context, req *game.ResetPwdReq) (res *game.ResetPwdRes, err error) {
|
||
|
pwd := gmd5.MustEncryptString(req.Pwd + "sdsd")
|
||
|
res, err = internal.ChangePwd(ctx, req.Account, pwd)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func (g *gameManageImpl) MigrateRole(ctx context.Context, req *game.MigrateReq) (res *game.MigrateRes, err error) {
|
||
|
res = new(game.MigrateRes)
|
||
|
res, err = internal.MigrateRole(ctx, req.SrcServerId, req.SrcUid, req.DesServerId, req.DesUid)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func (g *gameManageImpl) MigrateSearch(ctx context.Context, req *game.MigrateSearchReq) (res *game.MigrateSearchRes, err error) {
|
||
|
res = new(game.MigrateSearchRes)
|
||
|
srcRole, srcErr := internal.GetRoleDetail(ctx, req.SrcUid, req.SrcServerId)
|
||
|
if srcErr != nil {
|
||
|
err = srcErr
|
||
|
return
|
||
|
}
|
||
|
res.RoleList = append(res.RoleList, srcRole)
|
||
|
desRole, desErr := internal.GetRoleDetail(ctx, req.SrcUid, req.SrcServerId)
|
||
|
if desErr != nil {
|
||
|
err = desErr
|
||
|
return
|
||
|
}
|
||
|
res.RoleList = append(res.RoleList, desRole)
|
||
|
return
|
||
|
}
|
||
|
func (g *gameManageImpl) SearchGm(ctx context.Context, req *game.SearchGmReq) (res *game.SearchGmRes, err error) {
|
||
|
res = new(game.SearchGmRes)
|
||
|
res.Gm, err = internal.SearchGm(ctx, req.ServerId, req.Account)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func (g *gameManageImpl) ChangeGm(ctx context.Context, req *game.ChangeGmReq) (res *game.ChangeGmRes, err error) {
|
||
|
res = new(game.ChangeGmRes)
|
||
|
if req.ServerId == 0 {
|
||
|
res, err = internal.ChangeGm(ctx, req.Account, req.ChangeValue)
|
||
|
} else {
|
||
|
mqttGm := internal.MqttGm{}
|
||
|
mqttGm.Body.Uid = req.Account
|
||
|
mqttGm.Body.Gm = "gm"
|
||
|
mqttGm.Body.ModuleType = "changeGM"
|
||
|
mqttGm.ModuleId = "webadmin"
|
||
|
mqttGm.ReqId = 1
|
||
|
var js []byte
|
||
|
js, err = json.Marshal(mqttGm)
|
||
|
connectCh := make(chan bool)
|
||
|
server := "192.168.2.100:3005"
|
||
|
defer close(connectCh)
|
||
|
internal.SendMqtt(js, connectCh, server)
|
||
|
var result bool
|
||
|
for {
|
||
|
select {
|
||
|
case result = <-connectCh:
|
||
|
if result == false {
|
||
|
err = gerror.New("失败")
|
||
|
return
|
||
|
} else {
|
||
|
return
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return
|
||
|
|
||
|
}
|
||
|
|
||
|
func (g *gameManageImpl) GetStatistics(ctx context.Context, req *game.StatisticsReq) (res *game.StatisticsRes, err error) {
|
||
|
res = new(game.StatisticsRes)
|
||
|
|
||
|
res.RegisterNum, err = internal.GetRegisterNum(ctx, req.LowTime, req.UpTime)
|
||
|
internal.GetDeposit(ctx, req.LowTime, req.UpTime)
|
||
|
|
||
|
return
|
||
|
}
|