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.
104 lines
3.1 KiB
104 lines
3.1 KiB
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 |
|
}
|
|
|