package plunder import ( "go_dreamfactory/comm" "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" ) func (this *apiComp) DevelopCheck(session comm.IUserSession, req *pb.PlunderDevelopReq) (errdata *pb.ErrorData) { return } // 获取基本信息 func (this *apiComp) Develop(session comm.IUserSession, req *pb.PlunderDevelopReq) (errdata *pb.ErrorData) { var ( err error list *pb.DBPlunder update map[string]interface{} conf *cfg.GamePlunderDevelopData ) if errdata = this.DevelopCheck(session, req); errdata != nil { return } update = make(map[string]interface{}) if list, err = this.module.modelPlunder.getPlunderData(session); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Message: err.Error(), } return } if conf, err = this.module.configure.getPlunderDevelopById(req.Cid); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ConfigNoFound, Message: err.Error(), } return } if _, ok := list.Develop[req.Cid]; ok { errdata = &pb.ErrorData{ Code: pb.ErrorCode_PlundeAlreadyLearn, Title: pb.ErrorCode_PlundeAlreadyLearn.ToString(), } return } // 校验前置任务 for _, v := range conf.Last { if _, ok := list.Develop[v]; !ok { errdata = &pb.ErrorData{ Code: pb.ErrorCode_PlundeAlreadyLearn, Title: pb.ErrorCode_PlundeAlreadyLearn.ToString(), } return } } if errdata = this.module.ConsumeRes(session, []*cfg.Gameatn{conf.Consume}, true); errdata != nil { return } list.Develop[req.Cid] = conf.Type update["develop"] = list.Develop this.module.modelPlunder.changePlunderData(session.GetUserId(), update) session.SendMsg(string(this.module.GetType()), "develop", &pb.PlunderDevelopResp{ Develop: list.Develop, }) return }