package uigame import ( "go_dreamfactory/comm" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" ) //参数校验 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{} // ) 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 { 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 this.module.ModuleUser.ChangeUserExpand(session.GetUserId(), update) // 修改进度 } } } } } session.SendMsg(string(this.module.GetType()), "getlattice", &pb.UiGameGetLatticeResp{Data: hdData}) return }