package island import ( "go_dreamfactory/comm" "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" ) // 参数校验 func (this *apiComp) RefresHeroShopCheck(session comm.IUserSession, req *pb.IsLandRefresHeroShopReq) (errdata *pb.ErrorData) { return } //刷新商店 func (this *apiComp) RefresHeroShop(session comm.IUserSession, req *pb.IsLandRefresHeroShopReq) (errdata *pb.ErrorData) { var ( need []*cfg.Gameatn info *pb.DBIsland cards []string err error ) if errdata = this.RefresHeroShopCheck(session, req); errdata != nil { return } if info, err = this.module.model.getmodel(session.GetUserId()); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Message: err.Error(), } return } info.Refreshed++ pricekey := this.module.ModuleTools.GetGlobalConf().PuggsyBuy if res, err := this.module.ModuleTools.GetPriceGroupCost(pricekey, info.Refreshed); len(res) > 0 { need = append(need, res...) } else { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ConfigNoFound, Title: pb.ErrorCode_ConfigNoFound.ToString(), Message: err.Error(), } return } if errdata = this.module.ConsumeRes(session, need, true); errdata != nil { return } if cards, err = this.module.hero.GetRandomCardByCardPool(session.GetUserId(), 5); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Message: err.Error(), } return } info.Heroshop = make([]*pb.DBIslandShopItem, 5) for i, v := range cards { info.Heroshop[i] = &pb.DBIslandShopItem{ Cid: v, Buy: 0, } } this.module.model.Change(session.GetUserId(), map[string]interface{}{ "heroshop": info.Heroshop, "refreshed": info.Refreshed, }) session.SendMsg(string(this.module.GetType()), "refresheroshop", &pb.IsLandRefresHeroShopResp{Refreshed: info.Refreshed, Heroshop: info.Heroshop}) return }