package expedition import ( "fmt" "go_dreamfactory/comm" "go_dreamfactory/lego/sys/log" "go_dreamfactory/pb" ) // 参数校验 func (this *apiComp) UpHeroCheck(session comm.IUserSession, req *pb.ExpeditionUpHeroReq) (errdata *pb.ErrorData) { return } // 获取工会boos战信息 func (this *apiComp) UpHero(session comm.IUserSession, req *pb.ExpeditionUpHeroReq) (errdata *pb.ErrorData) { var ( // conf *cfg.GameExpeditionBoosData member *pb.DBExpeditionMember info *pb.DBExpedition boos *pb.DBExpeditionBoos // heros []*pb.DBHero err error ) if errdata = this.UpHeroCheck(session, req); errdata != nil { return } lock, _ := this.module.modelExpedition.userlock(req.Guildid) err = lock.Lock() if err != nil { this.module.Error("公会战分布式锁 err!", log.Field{Key: "Guildid", Value: req.Guildid}, log.Field{Key: "err", Value: err.Error()}) return } defer lock.Unlock() if info, err = this.module.modelExpedition.getInfo(req.Guildid); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Message: err.Error(), } return } for _, v := range info.Boos { if v.Boosid == info.Currboos { boos = v } } if boos == nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_SystemError, Message: fmt.Sprintf("no found currboos:%d", info.Currboos), } return } // if conf, err = this.module.configure.getGameExpeditionBoosData(info.Currboos); err != nil { // errdata = &pb.ErrorData{ // Code: pb.ErrorCode_ConfigNoFound, // Message: err.Error(), // } // return // } // if heros, err = this.module.ModuleHero.QueryCrossMultipleHeroinfo(req.Heros); err != nil { // errdata = &pb.ErrorData{ // Code: pb.ErrorCode_DBError, // Message: err.Error(), // } // return // } member = &pb.DBExpeditionMember{ Uid: session.GetUserId(), Heros: req.Heros, Totalpower: 100, State: 1, } boos.Members[session.GetUserId()] = member this.module.modelExpedition.updateGuildGve(info) session.SendMsg(string(this.module.GetType()), "info", &pb.ExpeditionInfoResp{Info: info}) return }