package uigame import ( "go_dreamfactory/comm" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" "go_dreamfactory/utils" ) //参数校验 func (this *apiComp) GetLatticeCheck(session comm.IUserSession, req *pb.UiGameGetLatticeReq) (errdata *pb.ErrorData) { return } func (this *apiComp) GetLattice(session comm.IUserSession, req *pb.UiGameGetLatticeReq) (errdata *pb.ErrorData) { if errdata = this.GetLatticeCheck(session, req); errdata != nil { return // 参数校验失败直接返回 } var ( activity *pb.DBHuodong err error hdData *pb.DBLatticeData // 玩家的活动数据 update map[string]interface{} // ) update = make(map[string]interface{}) curTime := configure.Now().Unix() if activity, err = this.module.ModuleActivity.GetHdInfoByHdId(req.Hdid); err != nil { // 活动不存在 errdata = &pb.ErrorData{ Code: pb.ErrorCode_ActivityInvalid, Title: pb.ErrorCode_ActivityInvalid.ToString(), } return } if activity.Stime > curTime || curTime > activity.Etime { // 不在活动范围内数据不给活动记录数据 errdata = &pb.ErrorData{ Code: pb.ErrorCode_ActivityNotIntime, Title: pb.ErrorCode_ActivityNotIntime.ToString(), } return } // 获取玩家活动数据 hdData, _ = this.module.modelLattice.getLatticeList(session.GetUserId(), activity.Id) if e, err := this.module.ModuleUser.GetUserExpand(session.GetUserId()); err == nil { if conf, err := this.module.configure.GetLatticeConsumConf(); err == nil { bchange := false // 清除每日获得的碎片数据 if !utils.IsToday(hdData.Lasttime) { hdData.Lasttime = configure.Now().Unix() hdData.Val = 0 update["val"] = hdData.Val update["lasttime"] = hdData.Lasttime bchange = true } if conf.Getmax > hdData.Val { // 超过今日上限 if e.ConsumPs/conf.Usepawer >= hdData.Val { hdData.Val = e.ConsumPs / conf.Usepawer if conf.Getmax < hdData.Val { // 超过今日上限 hdData.Val = conf.Getmax update["val"] = hdData.Val bchange = true } } } if bchange { this.module.modelLattice.modifyLatticeListByObjId(session.GetUserId(), update) } } } this.LatticeReward(session, &pb.UiGameLatticeRewardReq{ Hdid: "64d4b1f7510317d189bb6ee5", Id: 3, }) session.SendMsg(string(this.module.GetType()), "getlattice", &pb.UiGameGetLatticeResp{Data: hdData}) return }