package parkour import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/mgo" "go_dreamfactory/pb" "go_dreamfactory/utils" ) //参数校验 func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.ParkourInfoReq) (errdata *pb.ErrorData) { return } ///匹配请求 func (this *apiComp) Info(session comm.IUserSession, req *pb.ParkourInfoReq) (errdata *pb.ErrorData) { var ( info *pb.DBParkour user *pb.DBUser dragon *pb.DBDragon dragons []*pb.DBDragon update map[string]interface{} = make(map[string]interface{}) err error ) if errdata = this.InfoCheck(session, req); errdata != nil { return } user, err = this.module.GetUserForSession(session) if err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } if info, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil && err != mgo.MongodbNil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } if info.Defmts == "" { //没有默认坐骑 if dragons, err = this.module.dragon.QueryBigDragonList(session.GetUserId()); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } if len(dragons) > 0 { info.Defmts = dragons[0].Id info.Property = dragons[0].Property info.Mount = dragons[0].Dragonid info.Mlv = dragons[0].Lv update["defmts"] = info.Defmts update["property"] = info.Property update["mount"] = info.Mount update["mlv"] = info.Mlv } } else { if dragon, err = this.module.dragon.QueryDragonById(session.GetUserId(), info.Defmts); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } info.Defmts = dragon.Id info.Property = dragon.Property info.Mount = dragon.Dragonid info.Mlv = dragon.Lv update["defmts"] = info.Defmts update["property"] = info.Property update["mount"] = info.Mount update["mlv"] = info.Mlv } if !utils.IsSameWeek(info.Weektime) { info.Weekintegral = 0 update["weekintegral"] = 0 } info.User = comm.GetUserBaseInfo(user) update["user"] = info.User if err = this.module.parkourComp.Change(session.GetUserId(), update); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } session.SendMsg(string(this.module.GetType()), "info", &pb.ParkourInfoResp{Info: info}) return }