go_dreamfactory/modules/arena/api_setdattformt.go
2022-10-24 11:14:01 +08:00

51 lines
1.3 KiB
Go

package arena
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/pb"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) SetAttFormtCheck(session comm.IUserSession, req *pb.ArenaSetAttFormtReq) (code pb.ErrorCode) {
return
}
///设置防守阵型
func (this *apiComp) SetAttFormt(session comm.IUserSession, req *pb.ArenaSetAttFormtReq) (code pb.ErrorCode, data proto.Message) {
var (
info *pb.DBArenaUser
heros []*pb.DBHero
err error
)
if code = this.SetAttFormtCheck(session, req); code != pb.ErrorCode_Success {
return
}
if info, err = this.module.modelArena.queryPlayerInfo(session.GetUserId()); err != nil && err != mgo.MongodbNil {
code = pb.ErrorCode_DBError
return
}
if err == mgo.MongodbNil {
info = &pb.DBArenaUser{
Uid: session.GetUserId(),
}
}
if heros, err = this.module.modelArena.queryUserHeros(session.GetUserId(), req.Formt); err != nil {
code = pb.ErrorCode_DBError
return
}
info.Defend = &pb.DBPlayerBattleFormt{
Leadpos: req.Leadpos,
Formt: heros,
}
if err = this.module.modelArena.updateArenaUserInfo(info); err != nil {
code = pb.ErrorCode_DBError
return
}
session.SendMsg(string(this.module.GetType()), "setattformt", &pb.ArenaSetAttFormtResp{Issucc: true})
return
}