package horoscope import ( "go_dreamfactory/comm" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" cfg "go_dreamfactory/sys/configure/structs" "time" ) //参数校验 func (this *apiComp) ResetCheck(session comm.IUserSession, req *pb.HoroscopeResetReq) (errdata *pb.ErrorData) { return } ///获取自己的排行榜信息 func (this *apiComp) Reset(session comm.IUserSession, req *pb.HoroscopeResetReq) (errdata *pb.ErrorData) { var ( info *pb.DBHoroscope conf *cfg.GameGlobalData err error ) if errdata = this.ResetCheck(session, req); errdata != nil { return } if info, err = this.module.modelHoroscope.queryInfo(session.GetUserId()); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } conf = this.module.ModuleTools.GetGlobalConf() if info.Lastrest > 0 { if configure.Now().Sub(time.Unix(info.Lastrest, 0)).Seconds() < float64(conf.HoroscopeResetCd) { errdata = &pb.ErrorData{ Code: pb.ErrorCode_HoroscopeRestCDNoEnd, Title: pb.ErrorCode_HoroscopeRestCDNoEnd.ToString(), } return } } if errdata = this.module.ConsumeRes(session, []*cfg.Gameatn{conf.HoroscopeResetCost}, true); errdata != nil { return } res := make([]*cfg.Gameatn, 0) for _, v := range info.Consume { res = append(res, &cfg.Gameatn{ A: v.A, T: v.T, N: v.N, }) } if errdata = this.module.DispenseRes(session, res, true); errdata != nil { return } consume := info.Consume info.Nodes = make(map[int32]int32) info.Consume = make([]*pb.UserAssets, 0) info.Lastrest = configure.Now().Unix() if err = this.module.modelHoroscope.updateInfo(session, info); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } session.SendMsg(string(this.module.GetType()), "reset", &pb.HoroscopeResetResp{Issucc: true, Info: info, Award: consume}) go this.module.AsynHandleSession(session.Clone(), func(session comm.IUserSession) { this.module.WriteUserLog(session.GetUserId(), comm.GMResAddType, "HoroscopeResetReq", res) this.module.WriteUserLog(session.GetUserId(), comm.GMResDelType, "HoroscopeResetReq", conf.HoroscopeResetCost) }) return }