package mainline import ( "go_dreamfactory/comm" "go_dreamfactory/pb" "go_dreamfactory/utils" ) // 参数校验 func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.MainlineInfoReq) (errdata *pb.ErrorData) { return } // /获取主线关卡信息 func (this *apiComp) Info(session comm.IUserSession, req *pb.MainlineInfoReq) (errdata *pb.ErrorData) { var ( info *pb.DBMainline err error progress []*pb.ConIProgress tasks map[int32]struct{} condiIds []int32 ) errdata = this.InfoCheck(session, req) if errdata != nil { return // 参数校验失败直接返回 } info, err = this.module.modelMline.getMainlineData(session.GetUserId()) if err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } if !utils.IsToday(info.Lastboosrefresh) { //不是同一天 if err = this.module.modelMline.randomboos(info); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ConfigNoFound, Title: pb.ErrorCode_ConfigNoFound.ToString(), Message: err.Error(), } return } if err = this.module.modelMline.Change(session.GetUserId(), map[string]interface{}{ "currbooschapter": info.Currbooschapter, "currboosmodel": info.Currboosmodel, "lastboosrefresh": info.Lastboosrefresh, }); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } } } tasks = this.module.configure.getChapteTasks() condiIds = make([]int32, 0, len(tasks)) for k, _ := range tasks { condiIds = append(condiIds, k) } if progress, err = this.module.ModuleBuried.CheckCondition(session.GetUserId(), condiIds...); err != nil { return } session.SendMsg(string(this.module.GetType()), "info", &pb.MainlineInfoResp{ Info: info, Conlds: progress, }) return }