package library /* * 单个英雄剧情id 奖励 */ import ( "go_dreamfactory/comm" "go_dreamfactory/pb" "go_dreamfactory/utils" "strconv" "google.golang.org/protobuf/proto" ) //参数校验 func (this *apiComp) GetStoryRewardCheck(session comm.IUserSession, req *pb.LibraryGetStoryRewardReq) (code pb.ErrorCode) { if req.Hid == "" { code = pb.ErrorCode_ReqParameterError } return } func (this *apiComp) GetStoryReward(session comm.IUserSession, req *pb.LibraryGetStoryRewardReq) (code pb.ErrorCode, data proto.Message) { code = this.GetStoryRewardCheck(session, req) if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } _heroFetter := this.module.modelFetter.getOneHeroFetter(session.GetUserId(), req.Hid) if _heroFetter == nil { code = pb.ErrorCode_ReqParameterError return } conf := this.module.configure.GetLibraryHero(req.Hid) if req.History != 0 { for index, v := range conf.History { if utils.ToInt32(v) == req.History && conf.Favorlv[index] >= _heroFetter.Favorlv { for _, v1 := range _heroFetter.History { if v1 == req.History { code = pb.ErrorCode_ReqParameterError return } } } _heroFetter.History = append(_heroFetter.History, req.History) // 发奖 historyConf := this.configure.GetLibraryHistory(strconv.Itoa(int(req.History))) if historyConf != nil { this.module.DispenseRes(session, historyConf.Prize, true) } mapData := make(map[string]interface{}, 0) mapData["history"] = _heroFetter.History this.module.modelFetter.modifyHeroFetterDataByObjId(session.GetUserId(), _heroFetter.Id, mapData) } } else if req.Rightend != 0 { // 剧情奖励 if req.Rightend == conf.Rightend && _heroFetter.Stroyprize != conf.Rightend { _heroFetter.Stroyprize = conf.Rightend // 发奖 code = this.module.DispenseRes(session, conf.Stroyprize, true) if code != pb.ErrorCode_Success { this.module.Errorf("GetStoryReward err:add item : %v", conf.Stroyprize) } mapData := make(map[string]interface{}, 0) mapData["stroyprize"] = _heroFetter.Stroyprize this.module.modelFetter.modifyHeroFetterDataByObjId(session.GetUserId(), _heroFetter.Id, mapData) } } return }