From 1d4baca598905ce1e94f889434f98533f3f1466b Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 9 Apr 2026 17:37:58 +0800 Subject: [PATCH] =?UTF-8?q?golang=E5=8D=8F=E8=AE=AE=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 + .../IntegratedTool/Go包生成工具说明.md | 37 + .../IntegratedTool/generate_go_package.py | 302 + .../启动Go包生成工具.bat | 13 + .../meowmentnet/GoUnusedProtection__.go | 5 + .../golang/meowmentnet/Network-consts.go | 33 + compiled_output/golang/meowmentnet/Network.go | 109841 +++++++++++++++ compiler/exe/thrift-go.exe | Bin 0 -> 3331072 bytes thrift-files/meowment-network/Network.thrift | 13 +- 9 files changed, 110240 insertions(+), 6 deletions(-) create mode 100644 PythonWorkSpace/IntegratedTool/Go包生成工具说明.md create mode 100644 PythonWorkSpace/IntegratedTool/generate_go_package.py create mode 100644 PythonWorkSpace/IntegratedTool/启动Go包生成工具.bat create mode 100644 compiled_output/golang/meowmentnet/GoUnusedProtection__.go create mode 100644 compiled_output/golang/meowmentnet/Network-consts.go create mode 100644 compiled_output/golang/meowmentnet/Network.go create mode 100644 compiler/exe/thrift-go.exe diff --git a/.gitignore b/.gitignore index 5666627..99f91b9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .vs compiler/cpp/compiler/Debug generated +tmp_go_check/meowmentnet/* +.vscode/* \ No newline at end of file diff --git a/PythonWorkSpace/IntegratedTool/Go包生成工具说明.md b/PythonWorkSpace/IntegratedTool/Go包生成工具说明.md new file mode 100644 index 0000000..16b6336 --- /dev/null +++ b/PythonWorkSpace/IntegratedTool/Go包生成工具说明.md @@ -0,0 +1,37 @@ +# Go 包生成工具 + +这个工具会批量读取 thrift-files/meowment-network 下的所有 thrift 文件,并生成一个统一的 Go 包目录。 + +默认输出位置: + +- compiled_output/golang/meowmentnet + +默认行为: + +- 自动优先使用仓库内的 compiler/exe/thrift.exe +- 如果仓库内编译器不可用,则回退到系统 PATH 中的 thrift +- 将全部 thrift 文件生成到同一个 Go package: meowmentnet +- 启用 ignore_initialisms,保留 Id、Uid 这类字段写法,不自动改成 ID、UID +- 生成完成后自动运行 gofmt +- 使用 --module 时会自动执行 go mod tidy + +直接运行: + +```bat +PythonWorkSpace\IntegratedTool\启动Go包生成工具.bat +``` + +常见参数: + +```bat +PythonWorkSpace\IntegratedTool\启动Go包生成工具.bat --output-dir D:\temp\meowmentnet +PythonWorkSpace\IntegratedTool\启动Go包生成工具.bat --package-name netpkg +PythonWorkSpace\IntegratedTool\启动Go包生成工具.bat --module github.com/yourname/meowmentnet +PythonWorkSpace\IntegratedTool\启动Go包生成工具.bat --compiler F:\Github\thrift\thrift.exe +``` + +如果你想把生成结果直接作为一个独立 Go module 使用,建议同时传入: + +```bat +PythonWorkSpace\IntegratedTool\启动Go包生成工具.bat --module github.com/yourname/meowmentnet --output-dir D:\work\meowmentnet +``` diff --git a/PythonWorkSpace/IntegratedTool/generate_go_package.py b/PythonWorkSpace/IntegratedTool/generate_go_package.py new file mode 100644 index 0000000..aeccf65 --- /dev/null +++ b/PythonWorkSpace/IntegratedTool/generate_go_package.py @@ -0,0 +1,302 @@ +"""Generate a Go package from thrift-files/meowment-network.""" + +from __future__ import annotations + +import argparse +import os +import shutil +import subprocess +import sys +import tempfile +from pathlib import Path +from typing import Iterable, Sequence + + +REPO_ROOT = Path(__file__).resolve().parents[2] +DEFAULT_SOURCE_DIR = REPO_ROOT / "thrift-files" / "meowment-network" +DEFAULT_OUTPUT_DIR = REPO_ROOT / "compiled_output" / "golang" / "meowmentnet" +DEFAULT_PACKAGE_NAME = "meowmentnet" +DEFAULT_THRIFT_IMPORT = "github.com/apache/thrift/lib/go/thrift" + + +class ToolError(RuntimeError): + pass + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser( + description="Generate a Go package from meowment-network thrift files.", + ) + parser.add_argument( + "--source-dir", + type=Path, + default=DEFAULT_SOURCE_DIR, + help="Directory containing .thrift files.", + ) + parser.add_argument( + "--output-dir", + type=Path, + default=DEFAULT_OUTPUT_DIR, + help="Destination directory of the generated Go package.", + ) + parser.add_argument( + "--package-name", + default=DEFAULT_PACKAGE_NAME, + help="Generated Go package name.", + ) + parser.add_argument( + "--compiler", + type=Path, + help="Explicit thrift compiler executable path.", + ) + parser.add_argument( + "--package-prefix", + default="", + help="Optional value passed to go:package_prefix=...", + ) + parser.add_argument( + "--thrift-import", + default=DEFAULT_THRIFT_IMPORT, + help="Import path of the Go thrift runtime.", + ) + parser.add_argument( + "--module", + default="", + help="If set, write a go.mod file with this module path.", + ) + parser.add_argument( + "--no-clean", + action="store_true", + help="Do not delete the existing output directory before copying files.", + ) + parser.add_argument( + "--skip-gofmt", + action="store_true", + help="Do not run gofmt after generation.", + ) + parser.add_argument( + "--skip-go-mod-tidy", + action="store_true", + help="Do not run go mod tidy after writing go.mod.", + ) + return parser.parse_args() + + +def candidate_compilers(explicit: Path | None) -> Iterable[Path]: + seen: set[str] = set() + + def emit(path: Path | None) -> Iterable[Path]: + if path is None: + return () + resolved = str(path) + if resolved in seen: + return () + seen.add(resolved) + return (path,) + + if explicit is not None: + yield from emit(explicit) + + env_compiler = Path(os.environ["THRIFT_COMPILER"]) if "THRIFT_COMPILER" in os.environ else None + yield from emit(env_compiler) + yield from emit(REPO_ROOT / "compiler" / "exe" / "thrift-go.exe") + + system_compiler = shutil.which("thrift") + if system_compiler: + yield from emit(Path(system_compiler)) + + +def probe_compiler(executable: Path) -> bool: + try: + completed = subprocess.run( + [str(executable), "-version"], + check=False, + capture_output=True, + text=True, + timeout=10, + ) + except OSError: + return False + except subprocess.TimeoutExpired: + return False + return completed.returncode == 0 + + +def resolve_compiler(explicit: Path | None) -> Path: + for compiler in candidate_compilers(explicit): + if probe_compiler(compiler): + return compiler + raise ToolError( + "No working thrift compiler was found. Use --compiler or set THRIFT_COMPILER." + ) + + +def find_thrift_files(source_dir: Path) -> list[Path]: + if not source_dir.exists(): + raise ToolError(f"Source directory does not exist: {source_dir}") + thrift_files = sorted(source_dir.glob("*.thrift")) + if not thrift_files: + raise ToolError(f"No .thrift files were found in: {source_dir}") + return thrift_files + + +def build_generator_option(args: argparse.Namespace) -> str: + options = [f"package={args.package_name}"] + options.append("ignore_initialisms") + if args.package_prefix: + options.append(f"package_prefix={normalize_package_prefix(args.package_prefix)}") + if args.thrift_import: + options.append(f"thrift_import={args.thrift_import}") + options.append("skip_remote") + return "go:" + ",".join(options) + + +def normalize_package_prefix(prefix: str) -> str: + normalized = prefix.strip() + if not normalized: + return normalized + return normalized if normalized.endswith("/") else normalized + "/" + + +def run_command(command: Sequence[str], cwd: Path) -> None: + completed = subprocess.run( + list(command), + cwd=str(cwd), + check=False, + capture_output=True, + text=True, + ) + if completed.returncode == 0: + return + + stdout = completed.stdout.strip() + stderr = completed.stderr.strip() + details = "\n".join(part for part in (stdout, stderr) if part) + if not details: + details = "The command exited with a non-zero status and produced no output." + raise ToolError(details) + + +def generate_go_sources( + compiler: Path, + source_dir: Path, + thrift_files: Sequence[Path], + package_name: str, + generator_option: str, + staging_root: Path, +) -> Path: + for thrift_file in thrift_files: + command = [ + str(compiler), + "-o", + str(staging_root), + "-strict", + "--gen", + generator_option, + str(thrift_file), + ] + try: + run_command(command, cwd=source_dir) + except ToolError as exc: + raise ToolError(f"Failed to generate {thrift_file.name}:\n{exc}") from exc + + package_dir = staging_root / "gen-go" / package_name + if not package_dir.exists(): + raise ToolError(f"Generated package directory not found: {package_dir}") + + return package_dir + + +def write_go_mod(output_dir: Path, module_name: str) -> None: + go_mod = output_dir / "go.mod" + go_mod.write_text( + "\n".join( + [ + f"module {module_name}", + "", + "go 1.22", + "", + "require github.com/apache/thrift v0.22.0", + "", + ] + ), + encoding="utf-8", + ) + + +def copy_output(staged_package_dir: Path, output_dir: Path, clean: bool) -> None: + if clean and output_dir.exists(): + shutil.rmtree(output_dir) + output_dir.parent.mkdir(parents=True, exist_ok=True) + shutil.copytree(staged_package_dir, output_dir, dirs_exist_ok=not clean) + + +def run_gofmt(output_dir: Path) -> None: + gofmt = shutil.which("gofmt") + if not gofmt: + print("[warn] gofmt was not found in PATH. Skipping formatting.") + return + + go_files = sorted(output_dir.glob("*.go")) + if not go_files: + return + + for go_file in go_files: + run_command([gofmt, "-w", str(go_file)], cwd=output_dir) + + +def run_go_mod_tidy(output_dir: Path) -> None: + go = shutil.which("go") + if not go: + print("[warn] go was not found in PATH. Skipping go mod tidy.") + return + + run_command([go, "mod", "tidy"], cwd=output_dir) + + +def validate_args(args: argparse.Namespace) -> None: + if not args.package_name.strip(): + raise ToolError("--package-name cannot be empty.") + + +def main() -> int: + args = parse_args() + try: + validate_args(args) + source_dir = args.source_dir.resolve() + output_dir = args.output_dir.resolve() + thrift_files = find_thrift_files(source_dir) + compiler = resolve_compiler(args.compiler.resolve() if args.compiler else None) + generator_option = build_generator_option(args) + with tempfile.TemporaryDirectory(prefix="thrift_go_") as tmp_dir: + staged_package_dir = generate_go_sources( + compiler=compiler, + source_dir=source_dir, + thrift_files=thrift_files, + package_name=args.package_name, + generator_option=generator_option, + staging_root=Path(tmp_dir), + ) + copy_output(staged_package_dir, output_dir, clean=not args.no_clean) + if args.module: + write_go_mod(output_dir, args.module) + if not args.skip_go_mod_tidy: + run_go_mod_tidy(output_dir) + if not args.skip_gofmt: + run_gofmt(output_dir) + + print(f"Compiler: {compiler}") + print(f"Source directory: {source_dir}") + print(f"Output directory: {output_dir}") + print(f"Package name: {args.package_name}") + print(f"Thrift files: {len(thrift_files)}") + if args.module: + print(f"go.mod: {args.module}") + return 0 + except ToolError as exc: + print(f"[error] {exc}", file=sys.stderr) + return 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/PythonWorkSpace/IntegratedTool/启动Go包生成工具.bat b/PythonWorkSpace/IntegratedTool/启动Go包生成工具.bat new file mode 100644 index 0000000..603de71 --- /dev/null +++ b/PythonWorkSpace/IntegratedTool/启动Go包生成工具.bat @@ -0,0 +1,13 @@ +@echo off +setlocal + +set SCRIPT_DIR=%~dp0 +set PYTHON_EXE=%SCRIPT_DIR%..\..\.venv\Scripts\python.exe + +if exist "%PYTHON_EXE%" ( + "%PYTHON_EXE%" "%SCRIPT_DIR%generate_go_package.py" %* +) else ( + python "%SCRIPT_DIR%generate_go_package.py" %* +) + +endlocal diff --git a/compiled_output/golang/meowmentnet/GoUnusedProtection__.go b/compiled_output/golang/meowmentnet/GoUnusedProtection__.go new file mode 100644 index 0000000..b756e61 --- /dev/null +++ b/compiled_output/golang/meowmentnet/GoUnusedProtection__.go @@ -0,0 +1,5 @@ +// Code generated by Thrift Compiler (0.22.0). DO NOT EDIT. + +package meowmentnet + +var GoUnusedProtection__ int diff --git a/compiled_output/golang/meowmentnet/Network-consts.go b/compiled_output/golang/meowmentnet/Network-consts.go new file mode 100644 index 0000000..9b197f5 --- /dev/null +++ b/compiled_output/golang/meowmentnet/Network-consts.go @@ -0,0 +1,33 @@ +// Code generated by Thrift Compiler (0.22.0). DO NOT EDIT. + +package meowmentnet + +import ( + "bytes" + "context" + "errors" + "fmt" + thrift "github.com/apache/thrift/lib/go/thrift" + "iter" + "log/slog" + "regexp" + "strings" + "time" +) + +// (needed to ensure safety because of naive import list construction.) +var _ = bytes.Equal +var _ = context.Background +var _ = errors.New +var _ = fmt.Printf +var _ = iter.Pull[int] +var _ = slog.Log +var _ = time.Now +var _ = thrift.ZERO + +// (needed by validator.) +var _ = strings.Contains +var _ = regexp.MatchString + +func init() { +} diff --git a/compiled_output/golang/meowmentnet/Network.go b/compiled_output/golang/meowmentnet/Network.go new file mode 100644 index 0000000..dfd59f9 --- /dev/null +++ b/compiled_output/golang/meowmentnet/Network.go @@ -0,0 +1,109841 @@ +// Code generated by Thrift Compiler (0.22.0). DO NOT EDIT. + +package meowmentnet + +import ( + "bytes" + "context" + "database/sql/driver" + "errors" + "fmt" + thrift "github.com/apache/thrift/lib/go/thrift" + "iter" + "log/slog" + "regexp" + "strings" + "time" +) + +// (needed to ensure safety because of naive import list construction.) +var _ = bytes.Equal +var _ = context.Background +var _ = errors.New +var _ = fmt.Printf +var _ = iter.Pull[int] +var _ = slog.Log +var _ = time.Now +var _ = thrift.ZERO + +// (needed by validator.) +var _ = strings.Contains +var _ = regexp.MatchString + +type ACTIVITY_TYPE int64 + +const ( + ACTIVITY_TYPE_DefaultType ACTIVITY_TYPE = 0 + ACTIVITY_TYPE_ActTypeMining ACTIVITY_TYPE = 1 + ACTIVITY_TYPE_ActTypeGuessColor ACTIVITY_TYPE = 2 + ACTIVITY_TYPE_ActTypeRace ACTIVITY_TYPE = 3 + ACTIVITY_TYPE_ActTypeDiscountGift ACTIVITY_TYPE = 4 + ACTIVITY_TYPE_ActTypeAddGift ACTIVITY_TYPE = 5 + ACTIVITY_TYPE_ActTypeSuperGift ACTIVITY_TYPE = 6 + ACTIVITY_TYPE_ActTypeCatnip ACTIVITY_TYPE = 7 + ACTIVITY_TYPE_ActTypePass ACTIVITY_TYPE = 8 +) + +var knownACTIVITY_TYPEValues = []ACTIVITY_TYPE{ + ACTIVITY_TYPE_DefaultType, + ACTIVITY_TYPE_ActTypeMining, + ACTIVITY_TYPE_ActTypeGuessColor, + ACTIVITY_TYPE_ActTypeRace, + ACTIVITY_TYPE_ActTypeDiscountGift, + ACTIVITY_TYPE_ActTypeAddGift, + ACTIVITY_TYPE_ActTypeSuperGift, + ACTIVITY_TYPE_ActTypeCatnip, + ACTIVITY_TYPE_ActTypePass, +} + +func ACTIVITY_TYPEValues() iter.Seq[ACTIVITY_TYPE] { + return func(yield func(ACTIVITY_TYPE) bool) { + for _, v := range knownACTIVITY_TYPEValues { + if !yield(v) { + return + } + } + } +} + +func (p ACTIVITY_TYPE) String() string { + switch p { + case ACTIVITY_TYPE_DefaultType: + return "DefaultType" + case ACTIVITY_TYPE_ActTypeMining: + return "ActTypeMining" + case ACTIVITY_TYPE_ActTypeGuessColor: + return "ActTypeGuessColor" + case ACTIVITY_TYPE_ActTypeRace: + return "ActTypeRace" + case ACTIVITY_TYPE_ActTypeDiscountGift: + return "ActTypeDiscountGift" + case ACTIVITY_TYPE_ActTypeAddGift: + return "ActTypeAddGift" + case ACTIVITY_TYPE_ActTypeSuperGift: + return "ActTypeSuperGift" + case ACTIVITY_TYPE_ActTypeCatnip: + return "ActTypeCatnip" + case ACTIVITY_TYPE_ActTypePass: + return "ActTypePass" + } + return "" +} + +func ACTIVITY_TYPEFromString(s string) (ACTIVITY_TYPE, error) { + switch s { + case "DefaultType": + return ACTIVITY_TYPE_DefaultType, nil + case "ActTypeMining": + return ACTIVITY_TYPE_ActTypeMining, nil + case "ActTypeGuessColor": + return ACTIVITY_TYPE_ActTypeGuessColor, nil + case "ActTypeRace": + return ACTIVITY_TYPE_ActTypeRace, nil + case "ActTypeDiscountGift": + return ACTIVITY_TYPE_ActTypeDiscountGift, nil + case "ActTypeAddGift": + return ACTIVITY_TYPE_ActTypeAddGift, nil + case "ActTypeSuperGift": + return ACTIVITY_TYPE_ActTypeSuperGift, nil + case "ActTypeCatnip": + return ACTIVITY_TYPE_ActTypeCatnip, nil + case "ActTypePass": + return ACTIVITY_TYPE_ActTypePass, nil + } + return ACTIVITY_TYPE(0), fmt.Errorf("not a valid ACTIVITY_TYPE string") +} + +func ACTIVITY_TYPEPtr(v ACTIVITY_TYPE) *ACTIVITY_TYPE { return &v } + +func (p ACTIVITY_TYPE) MarshalText() ([]byte, error) { + return []byte(p.String()), nil +} + +func (p *ACTIVITY_TYPE) UnmarshalText(text []byte) error { + q, err := ACTIVITY_TYPEFromString(string(text)) + if err != nil { + return err + } + *p = q + return nil +} + +func (p *ACTIVITY_TYPE) Scan(value interface{}) error { + v, ok := value.(int64) + if !ok { + return errors.New("Scan value is not int64") + } + *p = ACTIVITY_TYPE(v) + return nil +} + +func (p *ACTIVITY_TYPE) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type ActLogType int64 + +const ( + ActLogType_None ActLogType = 0 + ActLogType_FirstLogin ActLogType = 1 + ActLogType_CompleteRestroom ActLogType = 2 + ActLogType_CompleteRestaurant ActLogType = 3 + ActLogType_CompleteBathroom ActLogType = 4 + ActLogType_CompleteCloakroom ActLogType = 5 + ActLogType_GetNewAvatar ActLogType = 6 + ActLogType_GetNewAvatarFrame ActLogType = 7 + ActLogType_GetNewEmotion ActLogType = 8 + ActLogType_GetNewDecoration ActLogType = 9 + ActLogType_GetNewCostume ActLogType = 10 + ActLogType_CompleteCardAlbum ActLogType = 11 + ActLogType_CompleteAllCards ActLogType = 12 + ActLogType_GetChampionshipRank ActLogType = 13 + ActLogType_GetChampionshipPrize ActLogType = 14 + ActLogType_GetLimitedActivityPrize ActLogType = 15 + ActLogType_JoinFriendCoopActivity ActLogType = 16 + ActLogType_GetVisitGamePrize ActLogType = 17 + ActLogType_GetVisitGamePrize1 ActLogType = 18 + ActLogType_OpenPetTreasure ActLogType = 19 + ActLogType_VisitUpvote ActLogType = 20 + ActLogType_CompleteHandbookAchievement ActLogType = 21 + ActLogType_CompleteChapterScenes ActLogType = 22 + ActLogType_LostUserReturn ActLogType = 23 +) + +var knownActLogTypeValues = []ActLogType{ + ActLogType_None, + ActLogType_FirstLogin, + ActLogType_CompleteRestroom, + ActLogType_CompleteRestaurant, + ActLogType_CompleteBathroom, + ActLogType_CompleteCloakroom, + ActLogType_GetNewAvatar, + ActLogType_GetNewAvatarFrame, + ActLogType_GetNewEmotion, + ActLogType_GetNewDecoration, + ActLogType_GetNewCostume, + ActLogType_CompleteCardAlbum, + ActLogType_CompleteAllCards, + ActLogType_GetChampionshipRank, + ActLogType_GetChampionshipPrize, + ActLogType_GetLimitedActivityPrize, + ActLogType_JoinFriendCoopActivity, + ActLogType_GetVisitGamePrize, + ActLogType_GetVisitGamePrize1, + ActLogType_OpenPetTreasure, + ActLogType_VisitUpvote, + ActLogType_CompleteHandbookAchievement, + ActLogType_CompleteChapterScenes, + ActLogType_LostUserReturn, +} + +func ActLogTypeValues() iter.Seq[ActLogType] { + return func(yield func(ActLogType) bool) { + for _, v := range knownActLogTypeValues { + if !yield(v) { + return + } + } + } +} + +func (p ActLogType) String() string { + switch p { + case ActLogType_None: + return "None" + case ActLogType_FirstLogin: + return "FirstLogin" + case ActLogType_CompleteRestroom: + return "CompleteRestroom" + case ActLogType_CompleteRestaurant: + return "CompleteRestaurant" + case ActLogType_CompleteBathroom: + return "CompleteBathroom" + case ActLogType_CompleteCloakroom: + return "CompleteCloakroom" + case ActLogType_GetNewAvatar: + return "GetNewAvatar" + case ActLogType_GetNewAvatarFrame: + return "GetNewAvatarFrame" + case ActLogType_GetNewEmotion: + return "GetNewEmotion" + case ActLogType_GetNewDecoration: + return "GetNewDecoration" + case ActLogType_GetNewCostume: + return "GetNewCostume" + case ActLogType_CompleteCardAlbum: + return "CompleteCardAlbum" + case ActLogType_CompleteAllCards: + return "CompleteAllCards" + case ActLogType_GetChampionshipRank: + return "GetChampionshipRank" + case ActLogType_GetChampionshipPrize: + return "GetChampionshipPrize" + case ActLogType_GetLimitedActivityPrize: + return "GetLimitedActivityPrize" + case ActLogType_JoinFriendCoopActivity: + return "JoinFriendCoopActivity" + case ActLogType_GetVisitGamePrize: + return "GetVisitGamePrize" + case ActLogType_GetVisitGamePrize1: + return "GetVisitGamePrize1" + case ActLogType_OpenPetTreasure: + return "OpenPetTreasure" + case ActLogType_VisitUpvote: + return "VisitUpvote" + case ActLogType_CompleteHandbookAchievement: + return "CompleteHandbookAchievement" + case ActLogType_CompleteChapterScenes: + return "CompleteChapterScenes" + case ActLogType_LostUserReturn: + return "LostUserReturn" + } + return "" +} + +func ActLogTypeFromString(s string) (ActLogType, error) { + switch s { + case "None": + return ActLogType_None, nil + case "FirstLogin": + return ActLogType_FirstLogin, nil + case "CompleteRestroom": + return ActLogType_CompleteRestroom, nil + case "CompleteRestaurant": + return ActLogType_CompleteRestaurant, nil + case "CompleteBathroom": + return ActLogType_CompleteBathroom, nil + case "CompleteCloakroom": + return ActLogType_CompleteCloakroom, nil + case "GetNewAvatar": + return ActLogType_GetNewAvatar, nil + case "GetNewAvatarFrame": + return ActLogType_GetNewAvatarFrame, nil + case "GetNewEmotion": + return ActLogType_GetNewEmotion, nil + case "GetNewDecoration": + return ActLogType_GetNewDecoration, nil + case "GetNewCostume": + return ActLogType_GetNewCostume, nil + case "CompleteCardAlbum": + return ActLogType_CompleteCardAlbum, nil + case "CompleteAllCards": + return ActLogType_CompleteAllCards, nil + case "GetChampionshipRank": + return ActLogType_GetChampionshipRank, nil + case "GetChampionshipPrize": + return ActLogType_GetChampionshipPrize, nil + case "GetLimitedActivityPrize": + return ActLogType_GetLimitedActivityPrize, nil + case "JoinFriendCoopActivity": + return ActLogType_JoinFriendCoopActivity, nil + case "GetVisitGamePrize": + return ActLogType_GetVisitGamePrize, nil + case "GetVisitGamePrize1": + return ActLogType_GetVisitGamePrize1, nil + case "OpenPetTreasure": + return ActLogType_OpenPetTreasure, nil + case "VisitUpvote": + return ActLogType_VisitUpvote, nil + case "CompleteHandbookAchievement": + return ActLogType_CompleteHandbookAchievement, nil + case "CompleteChapterScenes": + return ActLogType_CompleteChapterScenes, nil + case "LostUserReturn": + return ActLogType_LostUserReturn, nil + } + return ActLogType(0), fmt.Errorf("not a valid ActLogType string") +} + +func ActLogTypePtr(v ActLogType) *ActLogType { return &v } + +func (p ActLogType) MarshalText() ([]byte, error) { + return []byte(p.String()), nil +} + +func (p *ActLogType) UnmarshalText(text []byte) error { + q, err := ActLogTypeFromString(string(text)) + if err != nil { + return err + } + *p = q + return nil +} + +func (p *ActLogType) Scan(value interface{}) error { + v, ok := value.(int64) + if !ok { + return errors.New("Scan value is not int64") + } + *p = ActLogType(v) + return nil +} + +func (p *ActLogType) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type CHESS_EX_TYPE int64 + +const ( + CHESS_EX_TYPE_ChessExNone CHESS_EX_TYPE = 0 + CHESS_EX_TYPE_ChessExBubble CHESS_EX_TYPE = 1 + CHESS_EX_TYPE_ChessExBox CHESS_EX_TYPE = 2 + CHESS_EX_TYPE_ChessExQuickBuy CHESS_EX_TYPE = 3 + CHESS_EX_TYPE_ChessExEvent CHESS_EX_TYPE = 4 + CHESS_EX_TYPE_ChessExEventLittleApprentice CHESS_EX_TYPE = 5 + CHESS_EX_TYPE_ChessExEmitRollback CHESS_EX_TYPE = 6 +) + +var knownCHESS_EX_TYPEValues = []CHESS_EX_TYPE{ + CHESS_EX_TYPE_ChessExNone, + CHESS_EX_TYPE_ChessExBubble, + CHESS_EX_TYPE_ChessExBox, + CHESS_EX_TYPE_ChessExQuickBuy, + CHESS_EX_TYPE_ChessExEvent, + CHESS_EX_TYPE_ChessExEventLittleApprentice, + CHESS_EX_TYPE_ChessExEmitRollback, +} + +func CHESS_EX_TYPEValues() iter.Seq[CHESS_EX_TYPE] { + return func(yield func(CHESS_EX_TYPE) bool) { + for _, v := range knownCHESS_EX_TYPEValues { + if !yield(v) { + return + } + } + } +} + +func (p CHESS_EX_TYPE) String() string { + switch p { + case CHESS_EX_TYPE_ChessExNone: + return "ChessExNone" + case CHESS_EX_TYPE_ChessExBubble: + return "ChessExBubble" + case CHESS_EX_TYPE_ChessExBox: + return "ChessExBox" + case CHESS_EX_TYPE_ChessExQuickBuy: + return "ChessExQuickBuy" + case CHESS_EX_TYPE_ChessExEvent: + return "ChessExEvent" + case CHESS_EX_TYPE_ChessExEventLittleApprentice: + return "ChessExEventLittleApprentice" + case CHESS_EX_TYPE_ChessExEmitRollback: + return "ChessExEmitRollback" + } + return "" +} + +func CHESS_EX_TYPEFromString(s string) (CHESS_EX_TYPE, error) { + switch s { + case "ChessExNone": + return CHESS_EX_TYPE_ChessExNone, nil + case "ChessExBubble": + return CHESS_EX_TYPE_ChessExBubble, nil + case "ChessExBox": + return CHESS_EX_TYPE_ChessExBox, nil + case "ChessExQuickBuy": + return CHESS_EX_TYPE_ChessExQuickBuy, nil + case "ChessExEvent": + return CHESS_EX_TYPE_ChessExEvent, nil + case "ChessExEventLittleApprentice": + return CHESS_EX_TYPE_ChessExEventLittleApprentice, nil + case "ChessExEmitRollback": + return CHESS_EX_TYPE_ChessExEmitRollback, nil + } + return CHESS_EX_TYPE(0), fmt.Errorf("not a valid CHESS_EX_TYPE string") +} + +func CHESS_EX_TYPEPtr(v CHESS_EX_TYPE) *CHESS_EX_TYPE { return &v } + +func (p CHESS_EX_TYPE) MarshalText() ([]byte, error) { + return []byte(p.String()), nil +} + +func (p *CHESS_EX_TYPE) UnmarshalText(text []byte) error { + q, err := CHESS_EX_TYPEFromString(string(text)) + if err != nil { + return err + } + *p = q + return nil +} + +func (p *CHESS_EX_TYPE) Scan(value interface{}) error { + v, ok := value.(int64) + if !ok { + return errors.New("Scan value is not int64") + } + *p = CHESS_EX_TYPE(v) + return nil +} + +func (p *CHESS_EX_TYPE) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type FRIEND_REPLY_HANDLE_ERR_TYPE int64 + +const ( + FRIEND_REPLY_HANDLE_ERR_TYPE_None FRIEND_REPLY_HANDLE_ERR_TYPE = 0 + FRIEND_REPLY_HANDLE_ERR_TYPE_Catnip FRIEND_REPLY_HANDLE_ERR_TYPE = 1 +) + +var knownFRIEND_REPLY_HANDLE_ERR_TYPEValues = []FRIEND_REPLY_HANDLE_ERR_TYPE{ + FRIEND_REPLY_HANDLE_ERR_TYPE_None, + FRIEND_REPLY_HANDLE_ERR_TYPE_Catnip, +} + +func FRIEND_REPLY_HANDLE_ERR_TYPEValues() iter.Seq[FRIEND_REPLY_HANDLE_ERR_TYPE] { + return func(yield func(FRIEND_REPLY_HANDLE_ERR_TYPE) bool) { + for _, v := range knownFRIEND_REPLY_HANDLE_ERR_TYPEValues { + if !yield(v) { + return + } + } + } +} + +func (p FRIEND_REPLY_HANDLE_ERR_TYPE) String() string { + switch p { + case FRIEND_REPLY_HANDLE_ERR_TYPE_None: + return "None" + case FRIEND_REPLY_HANDLE_ERR_TYPE_Catnip: + return "Catnip" + } + return "" +} + +func FRIEND_REPLY_HANDLE_ERR_TYPEFromString(s string) (FRIEND_REPLY_HANDLE_ERR_TYPE, error) { + switch s { + case "None": + return FRIEND_REPLY_HANDLE_ERR_TYPE_None, nil + case "Catnip": + return FRIEND_REPLY_HANDLE_ERR_TYPE_Catnip, nil + } + return FRIEND_REPLY_HANDLE_ERR_TYPE(0), fmt.Errorf("not a valid FRIEND_REPLY_HANDLE_ERR_TYPE string") +} + +func FRIEND_REPLY_HANDLE_ERR_TYPEPtr(v FRIEND_REPLY_HANDLE_ERR_TYPE) *FRIEND_REPLY_HANDLE_ERR_TYPE { + return &v +} + +func (p FRIEND_REPLY_HANDLE_ERR_TYPE) MarshalText() ([]byte, error) { + return []byte(p.String()), nil +} + +func (p *FRIEND_REPLY_HANDLE_ERR_TYPE) UnmarshalText(text []byte) error { + q, err := FRIEND_REPLY_HANDLE_ERR_TYPEFromString(string(text)) + if err != nil { + return err + } + *p = q + return nil +} + +func (p *FRIEND_REPLY_HANDLE_ERR_TYPE) Scan(value interface{}) error { + v, ok := value.(int64) + if !ok { + return errors.New("Scan value is not int64") + } + *p = FRIEND_REPLY_HANDLE_ERR_TYPE(v) + return nil +} + +func (p *FRIEND_REPLY_HANDLE_ERR_TYPE) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type FRIEND_REPLY_TYPE int64 + +const ( + FRIEND_REPLY_TYPE_None FRIEND_REPLY_TYPE = 0 + FRIEND_REPLY_TYPE_Greet FRIEND_REPLY_TYPE = 1 + FRIEND_REPLY_TYPE_ReturnGreet FRIEND_REPLY_TYPE = 2 + FRIEND_REPLY_TYPE_ReplyTypeCatnip FRIEND_REPLY_TYPE = 3 + FRIEND_REPLY_TYPE_ReplyTypeCatnipItems FRIEND_REPLY_TYPE = 4 +) + +var knownFRIEND_REPLY_TYPEValues = []FRIEND_REPLY_TYPE{ + FRIEND_REPLY_TYPE_None, + FRIEND_REPLY_TYPE_Greet, + FRIEND_REPLY_TYPE_ReturnGreet, + FRIEND_REPLY_TYPE_ReplyTypeCatnip, + FRIEND_REPLY_TYPE_ReplyTypeCatnipItems, +} + +func FRIEND_REPLY_TYPEValues() iter.Seq[FRIEND_REPLY_TYPE] { + return func(yield func(FRIEND_REPLY_TYPE) bool) { + for _, v := range knownFRIEND_REPLY_TYPEValues { + if !yield(v) { + return + } + } + } +} + +func (p FRIEND_REPLY_TYPE) String() string { + switch p { + case FRIEND_REPLY_TYPE_None: + return "None" + case FRIEND_REPLY_TYPE_Greet: + return "Greet" + case FRIEND_REPLY_TYPE_ReturnGreet: + return "ReturnGreet" + case FRIEND_REPLY_TYPE_ReplyTypeCatnip: + return "ReplyTypeCatnip" + case FRIEND_REPLY_TYPE_ReplyTypeCatnipItems: + return "ReplyTypeCatnipItems" + } + return "" +} + +func FRIEND_REPLY_TYPEFromString(s string) (FRIEND_REPLY_TYPE, error) { + switch s { + case "None": + return FRIEND_REPLY_TYPE_None, nil + case "Greet": + return FRIEND_REPLY_TYPE_Greet, nil + case "ReturnGreet": + return FRIEND_REPLY_TYPE_ReturnGreet, nil + case "ReplyTypeCatnip": + return FRIEND_REPLY_TYPE_ReplyTypeCatnip, nil + case "ReplyTypeCatnipItems": + return FRIEND_REPLY_TYPE_ReplyTypeCatnipItems, nil + } + return FRIEND_REPLY_TYPE(0), fmt.Errorf("not a valid FRIEND_REPLY_TYPE string") +} + +func FRIEND_REPLY_TYPEPtr(v FRIEND_REPLY_TYPE) *FRIEND_REPLY_TYPE { return &v } + +func (p FRIEND_REPLY_TYPE) MarshalText() ([]byte, error) { + return []byte(p.String()), nil +} + +func (p *FRIEND_REPLY_TYPE) UnmarshalText(text []byte) error { + q, err := FRIEND_REPLY_TYPEFromString(string(text)) + if err != nil { + return err + } + *p = q + return nil +} + +func (p *FRIEND_REPLY_TYPE) Scan(value interface{}) error { + v, ok := value.(int64) + if !ok { + return errors.New("Scan value is not int64") + } + *p = FRIEND_REPLY_TYPE(v) + return nil +} + +func (p *FRIEND_REPLY_TYPE) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type HANDLE_TYPE int64 + +const ( + HANDLE_TYPE_Add HANDLE_TYPE = 0 + HANDLE_TYPE_Compose HANDLE_TYPE = 1 + HANDLE_TYPE_Buy HANDLE_TYPE = 2 + HANDLE_TYPE_Sell HANDLE_TYPE = 3 + HANDLE_TYPE_Remove HANDLE_TYPE = 4 +) + +var knownHANDLE_TYPEValues = []HANDLE_TYPE{ + HANDLE_TYPE_Add, + HANDLE_TYPE_Compose, + HANDLE_TYPE_Buy, + HANDLE_TYPE_Sell, + HANDLE_TYPE_Remove, +} + +func HANDLE_TYPEValues() iter.Seq[HANDLE_TYPE] { + return func(yield func(HANDLE_TYPE) bool) { + for _, v := range knownHANDLE_TYPEValues { + if !yield(v) { + return + } + } + } +} + +func (p HANDLE_TYPE) String() string { + switch p { + case HANDLE_TYPE_Add: + return "Add" + case HANDLE_TYPE_Compose: + return "Compose" + case HANDLE_TYPE_Buy: + return "Buy" + case HANDLE_TYPE_Sell: + return "Sell" + case HANDLE_TYPE_Remove: + return "Remove" + } + return "" +} + +func HANDLE_TYPEFromString(s string) (HANDLE_TYPE, error) { + switch s { + case "Add": + return HANDLE_TYPE_Add, nil + case "Compose": + return HANDLE_TYPE_Compose, nil + case "Buy": + return HANDLE_TYPE_Buy, nil + case "Sell": + return HANDLE_TYPE_Sell, nil + case "Remove": + return HANDLE_TYPE_Remove, nil + } + return HANDLE_TYPE(0), fmt.Errorf("not a valid HANDLE_TYPE string") +} + +func HANDLE_TYPEPtr(v HANDLE_TYPE) *HANDLE_TYPE { return &v } + +func (p HANDLE_TYPE) MarshalText() ([]byte, error) { + return []byte(p.String()), nil +} + +func (p *HANDLE_TYPE) UnmarshalText(text []byte) error { + q, err := HANDLE_TYPEFromString(string(text)) + if err != nil { + return err + } + *p = q + return nil +} + +func (p *HANDLE_TYPE) Scan(value interface{}) error { + v, ok := value.(int64) + if !ok { + return errors.New("Scan value is not int64") + } + *p = HANDLE_TYPE(v) + return nil +} + +func (p *HANDLE_TYPE) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type ITEM_POP_LABEL int64 + +const ( + ITEM_POP_LABEL_Playroom ITEM_POP_LABEL = 0 + ITEM_POP_LABEL_PiggyBank ITEM_POP_LABEL = 1 + ITEM_POP_LABEL_Charge ITEM_POP_LABEL = 2 + ITEM_POP_LABEL_Endless ITEM_POP_LABEL = 3 + ITEM_POP_LABEL_LevUpReward ITEM_POP_LABEL = 4 + ITEM_POP_LABEL_HandleChess ITEM_POP_LABEL = 5 + ITEM_POP_LABEL_HandbookReward ITEM_POP_LABEL = 6 + ITEM_POP_LABEL_OrderReward ITEM_POP_LABEL = 7 + ITEM_POP_LABEL_DecorateCost ITEM_POP_LABEL = 8 + ITEM_POP_LABEL_DecorateAdd ITEM_POP_LABEL = 9 + ITEM_POP_LABEL_BuyChessBagGrid ITEM_POP_LABEL = 10 + ITEM_POP_LABEL_ChessEx ITEM_POP_LABEL = 11 + ITEM_POP_LABEL_CardCollectReward ITEM_POP_LABEL = 12 + ITEM_POP_LABEL_ExStarReward ITEM_POP_LABEL = 13 + ITEM_POP_LABEL_AllCollectReward ITEM_POP_LABEL = 14 + ITEM_POP_LABEL_GuideReward ITEM_POP_LABEL = 15 + ITEM_POP_LABEL_DailyTaskReward ITEM_POP_LABEL = 16 + ITEM_POP_LABEL_DailyWeekReward ITEM_POP_LABEL = 17 + ITEM_POP_LABEL_BuyEnergy ITEM_POP_LABEL = 18 + ITEM_POP_LABEL_SevenLoginRewardLabel ITEM_POP_LABEL = 19 + ITEM_POP_LABEL_MonthLoginReward ITEM_POP_LABEL = 20 + ITEM_POP_LABEL_FastProduceReward ITEM_POP_LABEL = 21 + ITEM_POP_LABEL_LimitSenceReward ITEM_POP_LABEL = 22 + ITEM_POP_LABEL_MailReward ITEM_POP_LABEL = 23 + ITEM_POP_LABEL_FreeShop ITEM_POP_LABEL = 24 + ITEM_POP_LABEL_ChessShop ITEM_POP_LABEL = 25 + ITEM_POP_LABEL_RefreshChessShop ITEM_POP_LABEL = 26 + ITEM_POP_LABEL_EndlessReward ITEM_POP_LABEL = 27 + ITEM_POP_LABEL_PiggyBankReward ITEM_POP_LABEL = 28 + ITEM_POP_LABEL_ChampshipReward ITEM_POP_LABEL = 29 + ITEM_POP_LABEL_LimitEventReward ITEM_POP_LABEL = 30 + ITEM_POP_LABEL_ChampshipRankReward ITEM_POP_LABEL = 31 + ITEM_POP_LABEL_invite ITEM_POP_LABEL = 32 + ITEM_POP_LABEL_SelectLimitEvent ITEM_POP_LABEL = 33 + ITEM_POP_LABEL_MiningTake ITEM_POP_LABEL = 34 + ITEM_POP_LABEL_MiningReward ITEM_POP_LABEL = 35 + ITEM_POP_LABEL_GuessColor ITEM_POP_LABEL = 36 + ITEM_POP_LABEL_GuessColorReward ITEM_POP_LABEL = 37 + ITEM_POP_LABEL_RaceReward ITEM_POP_LABEL = 38 + ITEM_POP_LABEL_PlayroomGame ITEM_POP_LABEL = 39 + ITEM_POP_LABEL_PlayroomDraw ITEM_POP_LABEL = 40 + ITEM_POP_LABEL_PlayroomChip ITEM_POP_LABEL = 41 + ITEM_POP_LABEL_PlayroomFlip ITEM_POP_LABEL = 42 + ITEM_POP_LABEL_FriendtreasureFilp ITEM_POP_LABEL = 43 + ITEM_POP_LABEL_FriendtreasureEnd ITEM_POP_LABEL = 44 + ITEM_POP_LABEL_Gm ITEM_POP_LABEL = 45 + ITEM_POP_LABEL_Friendtreasure ITEM_POP_LABEL = 46 + ITEM_POP_LABEL_CardHandbookReward ITEM_POP_LABEL = 47 + ITEM_POP_LABEL_LimitEventChestRain ITEM_POP_LABEL = 48 + ITEM_POP_LABEL_GetEnergyByAD ITEM_POP_LABEL = 49 + ITEM_POP_LABEL_SourceChest ITEM_POP_LABEL = 50 + ITEM_POP_LABEL_PlayroomBuyItem ITEM_POP_LABEL = 51 + ITEM_POP_LABEL_CardSeasonFirstReward ITEM_POP_LABEL = 52 + ITEM_POP_LABEL_AllCollectRewardHB ITEM_POP_LABEL = 53 + ITEM_POP_LABEL_PlayroomShop ITEM_POP_LABEL = 54 + ITEM_POP_LABEL_HandbookAllReward ITEM_POP_LABEL = 55 + ITEM_POP_LABEL_TLUpvote ITEM_POP_LABEL = 56 + ITEM_POP_LABEL_Collect ITEM_POP_LABEL = 57 + ITEM_POP_LABEL_ActivityGift ITEM_POP_LABEL = 58 + ITEM_POP_LABEL_ActivityReward ITEM_POP_LABEL = 59 + ITEM_POP_LABEL_CatTrickReward ITEM_POP_LABEL = 60 + ITEM_POP_LABEL_AddWish ITEM_POP_LABEL = 61 + ITEM_POP_LABEL_GetWish ITEM_POP_LABEL = 62 + ITEM_POP_LABEL_PlayroomTask ITEM_POP_LABEL = 63 + ITEM_POP_LABEL_PlayroomTaskReward ITEM_POP_LABEL = 64 + ITEM_POP_LABEL_PlayroomUpvote ITEM_POP_LABEL = 65 + ITEM_POP_LABEL_DecorateReward ITEM_POP_LABEL = 66 + ITEM_POP_LABEL_CatnipReward ITEM_POP_LABEL = 67 + ITEM_POP_LABEL_CatnipGrandReward ITEM_POP_LABEL = 68 + ITEM_POP_LABEL_CatnipPlay ITEM_POP_LABEL = 69 + ITEM_POP_LABEL_FriendTReward ITEM_POP_LABEL = 70 + ITEM_POP_LABEL_PetTheif ITEM_POP_LABEL = 71 + ITEM_POP_LABEL_GuideTaskReward ITEM_POP_LABEL = 72 + ITEM_POP_LABEL_GuideActiveReward ITEM_POP_LABEL = 73 + ITEM_POP_LABEL_PassCharge ITEM_POP_LABEL = 74 + ITEM_POP_LABEL_ActPassReward ITEM_POP_LABEL = 75 + ITEM_POP_LABEL_FriendReplyHandle ITEM_POP_LABEL = 76 + ITEM_POP_LABEL_GetChessRetireReward ITEM_POP_LABEL = 77 + ITEM_POP_LABEL_ApplyFriendSponsor ITEM_POP_LABEL = 78 + ITEM_POP_LABEL_PetFurShop ITEM_POP_LABEL = 79 + ITEM_POP_LABEL_ActTypeAddGift ITEM_POP_LABEL = 80 + ITEM_POP_LABEL_CatReturnGiftReward ITEM_POP_LABEL = 81 +) + +var knownITEM_POP_LABELValues = []ITEM_POP_LABEL{ + ITEM_POP_LABEL_Playroom, + ITEM_POP_LABEL_PiggyBank, + ITEM_POP_LABEL_Charge, + ITEM_POP_LABEL_Endless, + ITEM_POP_LABEL_LevUpReward, + ITEM_POP_LABEL_HandleChess, + ITEM_POP_LABEL_HandbookReward, + ITEM_POP_LABEL_OrderReward, + ITEM_POP_LABEL_DecorateCost, + ITEM_POP_LABEL_DecorateAdd, + ITEM_POP_LABEL_BuyChessBagGrid, + ITEM_POP_LABEL_ChessEx, + ITEM_POP_LABEL_CardCollectReward, + ITEM_POP_LABEL_ExStarReward, + ITEM_POP_LABEL_AllCollectReward, + ITEM_POP_LABEL_GuideReward, + ITEM_POP_LABEL_DailyTaskReward, + ITEM_POP_LABEL_DailyWeekReward, + ITEM_POP_LABEL_BuyEnergy, + ITEM_POP_LABEL_SevenLoginRewardLabel, + ITEM_POP_LABEL_MonthLoginReward, + ITEM_POP_LABEL_FastProduceReward, + ITEM_POP_LABEL_LimitSenceReward, + ITEM_POP_LABEL_MailReward, + ITEM_POP_LABEL_FreeShop, + ITEM_POP_LABEL_ChessShop, + ITEM_POP_LABEL_RefreshChessShop, + ITEM_POP_LABEL_EndlessReward, + ITEM_POP_LABEL_PiggyBankReward, + ITEM_POP_LABEL_ChampshipReward, + ITEM_POP_LABEL_LimitEventReward, + ITEM_POP_LABEL_ChampshipRankReward, + ITEM_POP_LABEL_invite, + ITEM_POP_LABEL_SelectLimitEvent, + ITEM_POP_LABEL_MiningTake, + ITEM_POP_LABEL_MiningReward, + ITEM_POP_LABEL_GuessColor, + ITEM_POP_LABEL_GuessColorReward, + ITEM_POP_LABEL_RaceReward, + ITEM_POP_LABEL_PlayroomGame, + ITEM_POP_LABEL_PlayroomDraw, + ITEM_POP_LABEL_PlayroomChip, + ITEM_POP_LABEL_PlayroomFlip, + ITEM_POP_LABEL_FriendtreasureFilp, + ITEM_POP_LABEL_FriendtreasureEnd, + ITEM_POP_LABEL_Gm, + ITEM_POP_LABEL_Friendtreasure, + ITEM_POP_LABEL_CardHandbookReward, + ITEM_POP_LABEL_LimitEventChestRain, + ITEM_POP_LABEL_GetEnergyByAD, + ITEM_POP_LABEL_SourceChest, + ITEM_POP_LABEL_PlayroomBuyItem, + ITEM_POP_LABEL_CardSeasonFirstReward, + ITEM_POP_LABEL_AllCollectRewardHB, + ITEM_POP_LABEL_PlayroomShop, + ITEM_POP_LABEL_HandbookAllReward, + ITEM_POP_LABEL_TLUpvote, + ITEM_POP_LABEL_Collect, + ITEM_POP_LABEL_ActivityGift, + ITEM_POP_LABEL_ActivityReward, + ITEM_POP_LABEL_CatTrickReward, + ITEM_POP_LABEL_AddWish, + ITEM_POP_LABEL_GetWish, + ITEM_POP_LABEL_PlayroomTask, + ITEM_POP_LABEL_PlayroomTaskReward, + ITEM_POP_LABEL_PlayroomUpvote, + ITEM_POP_LABEL_DecorateReward, + ITEM_POP_LABEL_CatnipReward, + ITEM_POP_LABEL_CatnipGrandReward, + ITEM_POP_LABEL_CatnipPlay, + ITEM_POP_LABEL_FriendTReward, + ITEM_POP_LABEL_PetTheif, + ITEM_POP_LABEL_GuideTaskReward, + ITEM_POP_LABEL_GuideActiveReward, + ITEM_POP_LABEL_PassCharge, + ITEM_POP_LABEL_ActPassReward, + ITEM_POP_LABEL_FriendReplyHandle, + ITEM_POP_LABEL_GetChessRetireReward, + ITEM_POP_LABEL_ApplyFriendSponsor, + ITEM_POP_LABEL_PetFurShop, + ITEM_POP_LABEL_ActTypeAddGift, + ITEM_POP_LABEL_CatReturnGiftReward, +} + +func ITEM_POP_LABELValues() iter.Seq[ITEM_POP_LABEL] { + return func(yield func(ITEM_POP_LABEL) bool) { + for _, v := range knownITEM_POP_LABELValues { + if !yield(v) { + return + } + } + } +} + +func (p ITEM_POP_LABEL) String() string { + switch p { + case ITEM_POP_LABEL_Playroom: + return "Playroom" + case ITEM_POP_LABEL_PiggyBank: + return "PiggyBank" + case ITEM_POP_LABEL_Charge: + return "Charge" + case ITEM_POP_LABEL_Endless: + return "Endless" + case ITEM_POP_LABEL_LevUpReward: + return "LevUpReward" + case ITEM_POP_LABEL_HandleChess: + return "HandleChess" + case ITEM_POP_LABEL_HandbookReward: + return "HandbookReward" + case ITEM_POP_LABEL_OrderReward: + return "OrderReward" + case ITEM_POP_LABEL_DecorateCost: + return "DecorateCost" + case ITEM_POP_LABEL_DecorateAdd: + return "DecorateAdd" + case ITEM_POP_LABEL_BuyChessBagGrid: + return "BuyChessBagGrid" + case ITEM_POP_LABEL_ChessEx: + return "ChessEx" + case ITEM_POP_LABEL_CardCollectReward: + return "CardCollectReward" + case ITEM_POP_LABEL_ExStarReward: + return "ExStarReward" + case ITEM_POP_LABEL_AllCollectReward: + return "AllCollectReward" + case ITEM_POP_LABEL_GuideReward: + return "GuideReward" + case ITEM_POP_LABEL_DailyTaskReward: + return "DailyTaskReward" + case ITEM_POP_LABEL_DailyWeekReward: + return "DailyWeekReward" + case ITEM_POP_LABEL_BuyEnergy: + return "BuyEnergy" + case ITEM_POP_LABEL_SevenLoginRewardLabel: + return "SevenLoginRewardLabel" + case ITEM_POP_LABEL_MonthLoginReward: + return "MonthLoginReward" + case ITEM_POP_LABEL_FastProduceReward: + return "FastProduceReward" + case ITEM_POP_LABEL_LimitSenceReward: + return "LimitSenceReward" + case ITEM_POP_LABEL_MailReward: + return "MailReward" + case ITEM_POP_LABEL_FreeShop: + return "FreeShop" + case ITEM_POP_LABEL_ChessShop: + return "ChessShop" + case ITEM_POP_LABEL_RefreshChessShop: + return "RefreshChessShop" + case ITEM_POP_LABEL_EndlessReward: + return "EndlessReward" + case ITEM_POP_LABEL_PiggyBankReward: + return "PiggyBankReward" + case ITEM_POP_LABEL_ChampshipReward: + return "ChampshipReward" + case ITEM_POP_LABEL_LimitEventReward: + return "LimitEventReward" + case ITEM_POP_LABEL_ChampshipRankReward: + return "ChampshipRankReward" + case ITEM_POP_LABEL_invite: + return "invite" + case ITEM_POP_LABEL_SelectLimitEvent: + return "SelectLimitEvent" + case ITEM_POP_LABEL_MiningTake: + return "MiningTake" + case ITEM_POP_LABEL_MiningReward: + return "MiningReward" + case ITEM_POP_LABEL_GuessColor: + return "GuessColor" + case ITEM_POP_LABEL_GuessColorReward: + return "GuessColorReward" + case ITEM_POP_LABEL_RaceReward: + return "RaceReward" + case ITEM_POP_LABEL_PlayroomGame: + return "PlayroomGame" + case ITEM_POP_LABEL_PlayroomDraw: + return "PlayroomDraw" + case ITEM_POP_LABEL_PlayroomChip: + return "PlayroomChip" + case ITEM_POP_LABEL_PlayroomFlip: + return "PlayroomFlip" + case ITEM_POP_LABEL_FriendtreasureFilp: + return "FriendtreasureFilp" + case ITEM_POP_LABEL_FriendtreasureEnd: + return "FriendtreasureEnd" + case ITEM_POP_LABEL_Gm: + return "Gm" + case ITEM_POP_LABEL_Friendtreasure: + return "Friendtreasure" + case ITEM_POP_LABEL_CardHandbookReward: + return "CardHandbookReward" + case ITEM_POP_LABEL_LimitEventChestRain: + return "LimitEventChestRain" + case ITEM_POP_LABEL_GetEnergyByAD: + return "GetEnergyByAD" + case ITEM_POP_LABEL_SourceChest: + return "SourceChest" + case ITEM_POP_LABEL_PlayroomBuyItem: + return "PlayroomBuyItem" + case ITEM_POP_LABEL_CardSeasonFirstReward: + return "CardSeasonFirstReward" + case ITEM_POP_LABEL_AllCollectRewardHB: + return "AllCollectRewardHB" + case ITEM_POP_LABEL_PlayroomShop: + return "PlayroomShop" + case ITEM_POP_LABEL_HandbookAllReward: + return "HandbookAllReward" + case ITEM_POP_LABEL_TLUpvote: + return "TLUpvote" + case ITEM_POP_LABEL_Collect: + return "Collect" + case ITEM_POP_LABEL_ActivityGift: + return "ActivityGift" + case ITEM_POP_LABEL_ActivityReward: + return "ActivityReward" + case ITEM_POP_LABEL_CatTrickReward: + return "CatTrickReward" + case ITEM_POP_LABEL_AddWish: + return "AddWish" + case ITEM_POP_LABEL_GetWish: + return "GetWish" + case ITEM_POP_LABEL_PlayroomTask: + return "PlayroomTask" + case ITEM_POP_LABEL_PlayroomTaskReward: + return "PlayroomTaskReward" + case ITEM_POP_LABEL_PlayroomUpvote: + return "PlayroomUpvote" + case ITEM_POP_LABEL_DecorateReward: + return "DecorateReward" + case ITEM_POP_LABEL_CatnipReward: + return "CatnipReward" + case ITEM_POP_LABEL_CatnipGrandReward: + return "CatnipGrandReward" + case ITEM_POP_LABEL_CatnipPlay: + return "CatnipPlay" + case ITEM_POP_LABEL_FriendTReward: + return "FriendTReward" + case ITEM_POP_LABEL_PetTheif: + return "PetTheif" + case ITEM_POP_LABEL_GuideTaskReward: + return "GuideTaskReward" + case ITEM_POP_LABEL_GuideActiveReward: + return "GuideActiveReward" + case ITEM_POP_LABEL_PassCharge: + return "PassCharge" + case ITEM_POP_LABEL_ActPassReward: + return "ActPassReward" + case ITEM_POP_LABEL_FriendReplyHandle: + return "FriendReplyHandle" + case ITEM_POP_LABEL_GetChessRetireReward: + return "GetChessRetireReward" + case ITEM_POP_LABEL_ApplyFriendSponsor: + return "ApplyFriendSponsor" + case ITEM_POP_LABEL_PetFurShop: + return "PetFurShop" + case ITEM_POP_LABEL_ActTypeAddGift: + return "ActTypeAddGift" + case ITEM_POP_LABEL_CatReturnGiftReward: + return "CatReturnGiftReward" + } + return "" +} + +func ITEM_POP_LABELFromString(s string) (ITEM_POP_LABEL, error) { + switch s { + case "Playroom": + return ITEM_POP_LABEL_Playroom, nil + case "PiggyBank": + return ITEM_POP_LABEL_PiggyBank, nil + case "Charge": + return ITEM_POP_LABEL_Charge, nil + case "Endless": + return ITEM_POP_LABEL_Endless, nil + case "LevUpReward": + return ITEM_POP_LABEL_LevUpReward, nil + case "HandleChess": + return ITEM_POP_LABEL_HandleChess, nil + case "HandbookReward": + return ITEM_POP_LABEL_HandbookReward, nil + case "OrderReward": + return ITEM_POP_LABEL_OrderReward, nil + case "DecorateCost": + return ITEM_POP_LABEL_DecorateCost, nil + case "DecorateAdd": + return ITEM_POP_LABEL_DecorateAdd, nil + case "BuyChessBagGrid": + return ITEM_POP_LABEL_BuyChessBagGrid, nil + case "ChessEx": + return ITEM_POP_LABEL_ChessEx, nil + case "CardCollectReward": + return ITEM_POP_LABEL_CardCollectReward, nil + case "ExStarReward": + return ITEM_POP_LABEL_ExStarReward, nil + case "AllCollectReward": + return ITEM_POP_LABEL_AllCollectReward, nil + case "GuideReward": + return ITEM_POP_LABEL_GuideReward, nil + case "DailyTaskReward": + return ITEM_POP_LABEL_DailyTaskReward, nil + case "DailyWeekReward": + return ITEM_POP_LABEL_DailyWeekReward, nil + case "BuyEnergy": + return ITEM_POP_LABEL_BuyEnergy, nil + case "SevenLoginRewardLabel": + return ITEM_POP_LABEL_SevenLoginRewardLabel, nil + case "MonthLoginReward": + return ITEM_POP_LABEL_MonthLoginReward, nil + case "FastProduceReward": + return ITEM_POP_LABEL_FastProduceReward, nil + case "LimitSenceReward": + return ITEM_POP_LABEL_LimitSenceReward, nil + case "MailReward": + return ITEM_POP_LABEL_MailReward, nil + case "FreeShop": + return ITEM_POP_LABEL_FreeShop, nil + case "ChessShop": + return ITEM_POP_LABEL_ChessShop, nil + case "RefreshChessShop": + return ITEM_POP_LABEL_RefreshChessShop, nil + case "EndlessReward": + return ITEM_POP_LABEL_EndlessReward, nil + case "PiggyBankReward": + return ITEM_POP_LABEL_PiggyBankReward, nil + case "ChampshipReward": + return ITEM_POP_LABEL_ChampshipReward, nil + case "LimitEventReward": + return ITEM_POP_LABEL_LimitEventReward, nil + case "ChampshipRankReward": + return ITEM_POP_LABEL_ChampshipRankReward, nil + case "invite": + return ITEM_POP_LABEL_invite, nil + case "SelectLimitEvent": + return ITEM_POP_LABEL_SelectLimitEvent, nil + case "MiningTake": + return ITEM_POP_LABEL_MiningTake, nil + case "MiningReward": + return ITEM_POP_LABEL_MiningReward, nil + case "GuessColor": + return ITEM_POP_LABEL_GuessColor, nil + case "GuessColorReward": + return ITEM_POP_LABEL_GuessColorReward, nil + case "RaceReward": + return ITEM_POP_LABEL_RaceReward, nil + case "PlayroomGame": + return ITEM_POP_LABEL_PlayroomGame, nil + case "PlayroomDraw": + return ITEM_POP_LABEL_PlayroomDraw, nil + case "PlayroomChip": + return ITEM_POP_LABEL_PlayroomChip, nil + case "PlayroomFlip": + return ITEM_POP_LABEL_PlayroomFlip, nil + case "FriendtreasureFilp": + return ITEM_POP_LABEL_FriendtreasureFilp, nil + case "FriendtreasureEnd": + return ITEM_POP_LABEL_FriendtreasureEnd, nil + case "Gm": + return ITEM_POP_LABEL_Gm, nil + case "Friendtreasure": + return ITEM_POP_LABEL_Friendtreasure, nil + case "CardHandbookReward": + return ITEM_POP_LABEL_CardHandbookReward, nil + case "LimitEventChestRain": + return ITEM_POP_LABEL_LimitEventChestRain, nil + case "GetEnergyByAD": + return ITEM_POP_LABEL_GetEnergyByAD, nil + case "SourceChest": + return ITEM_POP_LABEL_SourceChest, nil + case "PlayroomBuyItem": + return ITEM_POP_LABEL_PlayroomBuyItem, nil + case "CardSeasonFirstReward": + return ITEM_POP_LABEL_CardSeasonFirstReward, nil + case "AllCollectRewardHB": + return ITEM_POP_LABEL_AllCollectRewardHB, nil + case "PlayroomShop": + return ITEM_POP_LABEL_PlayroomShop, nil + case "HandbookAllReward": + return ITEM_POP_LABEL_HandbookAllReward, nil + case "TLUpvote": + return ITEM_POP_LABEL_TLUpvote, nil + case "Collect": + return ITEM_POP_LABEL_Collect, nil + case "ActivityGift": + return ITEM_POP_LABEL_ActivityGift, nil + case "ActivityReward": + return ITEM_POP_LABEL_ActivityReward, nil + case "CatTrickReward": + return ITEM_POP_LABEL_CatTrickReward, nil + case "AddWish": + return ITEM_POP_LABEL_AddWish, nil + case "GetWish": + return ITEM_POP_LABEL_GetWish, nil + case "PlayroomTask": + return ITEM_POP_LABEL_PlayroomTask, nil + case "PlayroomTaskReward": + return ITEM_POP_LABEL_PlayroomTaskReward, nil + case "PlayroomUpvote": + return ITEM_POP_LABEL_PlayroomUpvote, nil + case "DecorateReward": + return ITEM_POP_LABEL_DecorateReward, nil + case "CatnipReward": + return ITEM_POP_LABEL_CatnipReward, nil + case "CatnipGrandReward": + return ITEM_POP_LABEL_CatnipGrandReward, nil + case "CatnipPlay": + return ITEM_POP_LABEL_CatnipPlay, nil + case "FriendTReward": + return ITEM_POP_LABEL_FriendTReward, nil + case "PetTheif": + return ITEM_POP_LABEL_PetTheif, nil + case "GuideTaskReward": + return ITEM_POP_LABEL_GuideTaskReward, nil + case "GuideActiveReward": + return ITEM_POP_LABEL_GuideActiveReward, nil + case "PassCharge": + return ITEM_POP_LABEL_PassCharge, nil + case "ActPassReward": + return ITEM_POP_LABEL_ActPassReward, nil + case "FriendReplyHandle": + return ITEM_POP_LABEL_FriendReplyHandle, nil + case "GetChessRetireReward": + return ITEM_POP_LABEL_GetChessRetireReward, nil + case "ApplyFriendSponsor": + return ITEM_POP_LABEL_ApplyFriendSponsor, nil + case "PetFurShop": + return ITEM_POP_LABEL_PetFurShop, nil + case "ActTypeAddGift": + return ITEM_POP_LABEL_ActTypeAddGift, nil + case "CatReturnGiftReward": + return ITEM_POP_LABEL_CatReturnGiftReward, nil + } + return ITEM_POP_LABEL(0), fmt.Errorf("not a valid ITEM_POP_LABEL string") +} + +func ITEM_POP_LABELPtr(v ITEM_POP_LABEL) *ITEM_POP_LABEL { return &v } + +func (p ITEM_POP_LABEL) MarshalText() ([]byte, error) { + return []byte(p.String()), nil +} + +func (p *ITEM_POP_LABEL) UnmarshalText(text []byte) error { + q, err := ITEM_POP_LABELFromString(string(text)) + if err != nil { + return err + } + *p = q + return nil +} + +func (p *ITEM_POP_LABEL) Scan(value interface{}) error { + v, ok := value.(int64) + if !ok { + return errors.New("Scan value is not int64") + } + *p = ITEM_POP_LABEL(v) + return nil +} + +func (p *ITEM_POP_LABEL) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type ITEM_TYPE int64 + +const ( + ITEM_TYPE_Energy ITEM_TYPE = 0 + ITEM_TYPE_Star ITEM_TYPE = 1 + ITEM_TYPE_Diamond ITEM_TYPE = 2 +) + +var knownITEM_TYPEValues = []ITEM_TYPE{ + ITEM_TYPE_Energy, + ITEM_TYPE_Star, + ITEM_TYPE_Diamond, +} + +func ITEM_TYPEValues() iter.Seq[ITEM_TYPE] { + return func(yield func(ITEM_TYPE) bool) { + for _, v := range knownITEM_TYPEValues { + if !yield(v) { + return + } + } + } +} + +func (p ITEM_TYPE) String() string { + switch p { + case ITEM_TYPE_Energy: + return "Energy" + case ITEM_TYPE_Star: + return "Star" + case ITEM_TYPE_Diamond: + return "Diamond" + } + return "" +} + +func ITEM_TYPEFromString(s string) (ITEM_TYPE, error) { + switch s { + case "Energy": + return ITEM_TYPE_Energy, nil + case "Star": + return ITEM_TYPE_Star, nil + case "Diamond": + return ITEM_TYPE_Diamond, nil + } + return ITEM_TYPE(0), fmt.Errorf("not a valid ITEM_TYPE string") +} + +func ITEM_TYPEPtr(v ITEM_TYPE) *ITEM_TYPE { return &v } + +func (p ITEM_TYPE) MarshalText() ([]byte, error) { + return []byte(p.String()), nil +} + +func (p *ITEM_TYPE) UnmarshalText(text []byte) error { + q, err := ITEM_TYPEFromString(string(text)) + if err != nil { + return err + } + *p = q + return nil +} + +func (p *ITEM_TYPE) Scan(value interface{}) error { + v, ok := value.(int64) + if !ok { + return errors.New("Scan value is not int64") + } + *p = ITEM_TYPE(v) + return nil +} + +func (p *ITEM_TYPE) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type LANG_TYPE int64 + +const ( + LANG_TYPE_LangCn LANG_TYPE = 0 + LANG_TYPE_LangEn LANG_TYPE = 1 + LANG_TYPE_LangPtbr LANG_TYPE = 2 + LANG_TYPE_LangEsLatam LANG_TYPE = 3 +) + +var knownLANG_TYPEValues = []LANG_TYPE{ + LANG_TYPE_LangCn, + LANG_TYPE_LangEn, + LANG_TYPE_LangPtbr, + LANG_TYPE_LangEsLatam, +} + +func LANG_TYPEValues() iter.Seq[LANG_TYPE] { + return func(yield func(LANG_TYPE) bool) { + for _, v := range knownLANG_TYPEValues { + if !yield(v) { + return + } + } + } +} + +func (p LANG_TYPE) String() string { + switch p { + case LANG_TYPE_LangCn: + return "LangCn" + case LANG_TYPE_LangEn: + return "LangEn" + case LANG_TYPE_LangPtbr: + return "LangPtbr" + case LANG_TYPE_LangEsLatam: + return "LangEsLatam" + } + return "" +} + +func LANG_TYPEFromString(s string) (LANG_TYPE, error) { + switch s { + case "LangCn": + return LANG_TYPE_LangCn, nil + case "LangEn": + return LANG_TYPE_LangEn, nil + case "LangPtbr": + return LANG_TYPE_LangPtbr, nil + case "LangEsLatam": + return LANG_TYPE_LangEsLatam, nil + } + return LANG_TYPE(0), fmt.Errorf("not a valid LANG_TYPE string") +} + +func LANG_TYPEPtr(v LANG_TYPE) *LANG_TYPE { return &v } + +func (p LANG_TYPE) MarshalText() ([]byte, error) { + return []byte(p.String()), nil +} + +func (p *LANG_TYPE) UnmarshalText(text []byte) error { + q, err := LANG_TYPEFromString(string(text)) + if err != nil { + return err + } + *p = q + return nil +} + +func (p *LANG_TYPE) Scan(value interface{}) error { + v, ok := value.(int64) + if !ok { + return errors.New("Scan value is not int64") + } + *p = LANG_TYPE(v) + return nil +} + +func (p *LANG_TYPE) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type LOGIN_TYPE int64 + +const ( + LOGIN_TYPE_AccountLogin LOGIN_TYPE = 0 + LOGIN_TYPE_CodeLogin LOGIN_TYPE = 1 + LOGIN_TYPE_DeviceLogin LOGIN_TYPE = 2 + LOGIN_TYPE_SdkLogin LOGIN_TYPE = 3 +) + +var knownLOGIN_TYPEValues = []LOGIN_TYPE{ + LOGIN_TYPE_AccountLogin, + LOGIN_TYPE_CodeLogin, + LOGIN_TYPE_DeviceLogin, + LOGIN_TYPE_SdkLogin, +} + +func LOGIN_TYPEValues() iter.Seq[LOGIN_TYPE] { + return func(yield func(LOGIN_TYPE) bool) { + for _, v := range knownLOGIN_TYPEValues { + if !yield(v) { + return + } + } + } +} + +func (p LOGIN_TYPE) String() string { + switch p { + case LOGIN_TYPE_AccountLogin: + return "AccountLogin" + case LOGIN_TYPE_CodeLogin: + return "CodeLogin" + case LOGIN_TYPE_DeviceLogin: + return "DeviceLogin" + case LOGIN_TYPE_SdkLogin: + return "SdkLogin" + } + return "" +} + +func LOGIN_TYPEFromString(s string) (LOGIN_TYPE, error) { + switch s { + case "AccountLogin": + return LOGIN_TYPE_AccountLogin, nil + case "CodeLogin": + return LOGIN_TYPE_CodeLogin, nil + case "DeviceLogin": + return LOGIN_TYPE_DeviceLogin, nil + case "SdkLogin": + return LOGIN_TYPE_SdkLogin, nil + } + return LOGIN_TYPE(0), fmt.Errorf("not a valid LOGIN_TYPE string") +} + +func LOGIN_TYPEPtr(v LOGIN_TYPE) *LOGIN_TYPE { return &v } + +func (p LOGIN_TYPE) MarshalText() ([]byte, error) { + return []byte(p.String()), nil +} + +func (p *LOGIN_TYPE) UnmarshalText(text []byte) error { + q, err := LOGIN_TYPEFromString(string(text)) + if err != nil { + return err + } + *p = q + return nil +} + +func (p *LOGIN_TYPE) Scan(value interface{}) error { + v, ok := value.(int64) + if !ok { + return errors.New("Scan value is not int64") + } + *p = LOGIN_TYPE(v) + return nil +} + +func (p *LOGIN_TYPE) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type LimitEventParam int64 + +const ( + LimitEventParam_LepNone LimitEventParam = 0 + LimitEventParam_CatTrickEnergy LimitEventParam = 1 + LimitEventParam_CatTrickType LimitEventParam = 2 + LimitEventParam_PaybackDayCount LimitEventParam = 3 + LimitEventParam_LuckyCatEarnings LimitEventParam = 4 + LimitEventParam_SenceDashTimes LimitEventParam = 5 +) + +var knownLimitEventParamValues = []LimitEventParam{ + LimitEventParam_LepNone, + LimitEventParam_CatTrickEnergy, + LimitEventParam_CatTrickType, + LimitEventParam_PaybackDayCount, + LimitEventParam_LuckyCatEarnings, + LimitEventParam_SenceDashTimes, +} + +func LimitEventParamValues() iter.Seq[LimitEventParam] { + return func(yield func(LimitEventParam) bool) { + for _, v := range knownLimitEventParamValues { + if !yield(v) { + return + } + } + } +} + +func (p LimitEventParam) String() string { + switch p { + case LimitEventParam_LepNone: + return "LepNone" + case LimitEventParam_CatTrickEnergy: + return "CatTrickEnergy" + case LimitEventParam_CatTrickType: + return "CatTrickType" + case LimitEventParam_PaybackDayCount: + return "PaybackDayCount" + case LimitEventParam_LuckyCatEarnings: + return "LuckyCatEarnings" + case LimitEventParam_SenceDashTimes: + return "SenceDashTimes" + } + return "" +} + +func LimitEventParamFromString(s string) (LimitEventParam, error) { + switch s { + case "LepNone": + return LimitEventParam_LepNone, nil + case "CatTrickEnergy": + return LimitEventParam_CatTrickEnergy, nil + case "CatTrickType": + return LimitEventParam_CatTrickType, nil + case "PaybackDayCount": + return LimitEventParam_PaybackDayCount, nil + case "LuckyCatEarnings": + return LimitEventParam_LuckyCatEarnings, nil + case "SenceDashTimes": + return LimitEventParam_SenceDashTimes, nil + } + return LimitEventParam(0), fmt.Errorf("not a valid LimitEventParam string") +} + +func LimitEventParamPtr(v LimitEventParam) *LimitEventParam { return &v } + +func (p LimitEventParam) MarshalText() ([]byte, error) { + return []byte(p.String()), nil +} + +func (p *LimitEventParam) UnmarshalText(text []byte) error { + q, err := LimitEventParamFromString(string(text)) + if err != nil { + return err + } + *p = q + return nil +} + +func (p *LimitEventParam) Scan(value interface{}) error { + v, ok := value.(int64) + if !ok { + return errors.New("Scan value is not int64") + } + *p = LimitEventParam(v) + return nil +} + +func (p *LimitEventParam) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type ORDER_TYPE int64 + +const ( + ORDER_TYPE_Default ORDER_TYPE = 0 + ORDER_TYPE_CommonType ORDER_TYPE = 1 + ORDER_TYPE_ExtraType ORDER_TYPE = 2 + ORDER_TYPE_SuperType ORDER_TYPE = 3 + ORDER_TYPE_PreheatType ORDER_TYPE = 4 + ORDER_TYPE_TriggerType ORDER_TYPE = 5 + ORDER_TYPE_CleanType ORDER_TYPE = 6 + ORDER_TYPE_CleanOrderType ORDER_TYPE = 7 + ORDER_TYPE_CleanType2 ORDER_TYPE = 8 + ORDER_TYPE_ComfortType ORDER_TYPE = 9 + ORDER_TYPE_GuideType ORDER_TYPE = 10 + ORDER_TYPE_PetType ORDER_TYPE = 11 + ORDER_TYPE_PreviewType ORDER_TYPE = 12 + ORDER_TYPE_FixedType ORDER_TYPE = 13 + ORDER_TYPE_PlayroomType ORDER_TYPE = 14 +) + +var knownORDER_TYPEValues = []ORDER_TYPE{ + ORDER_TYPE_Default, + ORDER_TYPE_CommonType, + ORDER_TYPE_ExtraType, + ORDER_TYPE_SuperType, + ORDER_TYPE_PreheatType, + ORDER_TYPE_TriggerType, + ORDER_TYPE_CleanType, + ORDER_TYPE_CleanOrderType, + ORDER_TYPE_CleanType2, + ORDER_TYPE_ComfortType, + ORDER_TYPE_GuideType, + ORDER_TYPE_PetType, + ORDER_TYPE_PreviewType, + ORDER_TYPE_FixedType, + ORDER_TYPE_PlayroomType, +} + +func ORDER_TYPEValues() iter.Seq[ORDER_TYPE] { + return func(yield func(ORDER_TYPE) bool) { + for _, v := range knownORDER_TYPEValues { + if !yield(v) { + return + } + } + } +} + +func (p ORDER_TYPE) String() string { + switch p { + case ORDER_TYPE_Default: + return "Default" + case ORDER_TYPE_CommonType: + return "CommonType" + case ORDER_TYPE_ExtraType: + return "ExtraType" + case ORDER_TYPE_SuperType: + return "SuperType" + case ORDER_TYPE_PreheatType: + return "PreheatType" + case ORDER_TYPE_TriggerType: + return "TriggerType" + case ORDER_TYPE_CleanType: + return "CleanType" + case ORDER_TYPE_CleanOrderType: + return "CleanOrderType" + case ORDER_TYPE_CleanType2: + return "CleanType2" + case ORDER_TYPE_ComfortType: + return "ComfortType" + case ORDER_TYPE_GuideType: + return "GuideType" + case ORDER_TYPE_PetType: + return "PetType" + case ORDER_TYPE_PreviewType: + return "PreviewType" + case ORDER_TYPE_FixedType: + return "FixedType" + case ORDER_TYPE_PlayroomType: + return "PlayroomType" + } + return "" +} + +func ORDER_TYPEFromString(s string) (ORDER_TYPE, error) { + switch s { + case "Default": + return ORDER_TYPE_Default, nil + case "CommonType": + return ORDER_TYPE_CommonType, nil + case "ExtraType": + return ORDER_TYPE_ExtraType, nil + case "SuperType": + return ORDER_TYPE_SuperType, nil + case "PreheatType": + return ORDER_TYPE_PreheatType, nil + case "TriggerType": + return ORDER_TYPE_TriggerType, nil + case "CleanType": + return ORDER_TYPE_CleanType, nil + case "CleanOrderType": + return ORDER_TYPE_CleanOrderType, nil + case "CleanType2": + return ORDER_TYPE_CleanType2, nil + case "ComfortType": + return ORDER_TYPE_ComfortType, nil + case "GuideType": + return ORDER_TYPE_GuideType, nil + case "PetType": + return ORDER_TYPE_PetType, nil + case "PreviewType": + return ORDER_TYPE_PreviewType, nil + case "FixedType": + return ORDER_TYPE_FixedType, nil + case "PlayroomType": + return ORDER_TYPE_PlayroomType, nil + } + return ORDER_TYPE(0), fmt.Errorf("not a valid ORDER_TYPE string") +} + +func ORDER_TYPEPtr(v ORDER_TYPE) *ORDER_TYPE { return &v } + +func (p ORDER_TYPE) MarshalText() ([]byte, error) { + return []byte(p.String()), nil +} + +func (p *ORDER_TYPE) UnmarshalText(text []byte) error { + q, err := ORDER_TYPEFromString(string(text)) + if err != nil { + return err + } + *p = q + return nil +} + +func (p *ORDER_TYPE) Scan(value interface{}) error { + v, ok := value.(int64) + if !ok { + return errors.New("Scan value is not int64") + } + *p = ORDER_TYPE(v) + return nil +} + +func (p *ORDER_TYPE) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type RES_CODE int64 + +const ( + RES_CODE_Fail RES_CODE = 0 + RES_CODE_Success RES_CODE = 1 + RES_CODE_ProtocolErrorAccountExist RES_CODE = 100 + RES_CODE_ProtocolErrorAccountOrPwdError RES_CODE = 101 + RES_CODE_ProtocolErrorAccountOrPwdShort RES_CODE = 102 + RES_CODE_ProtocolErrorAccountFail RES_CODE = 103 + RES_CODE_ProtocolErrorAccountNoExsit RES_CODE = 104 + RES_CODE_ProtocolErrorAccountCodeError RES_CODE = 105 + RES_CODE_ProtocolErrorAccountDeviceError RES_CODE = 106 + RES_CODE_ProtocolErrorIdNotVerify RES_CODE = 107 + RES_CODE_ProtocolErrorIdVerifyError RES_CODE = 108 +) + +var knownRES_CODEValues = []RES_CODE{ + RES_CODE_Fail, + RES_CODE_Success, + RES_CODE_ProtocolErrorAccountExist, + RES_CODE_ProtocolErrorAccountOrPwdError, + RES_CODE_ProtocolErrorAccountOrPwdShort, + RES_CODE_ProtocolErrorAccountFail, + RES_CODE_ProtocolErrorAccountNoExsit, + RES_CODE_ProtocolErrorAccountCodeError, + RES_CODE_ProtocolErrorAccountDeviceError, + RES_CODE_ProtocolErrorIdNotVerify, + RES_CODE_ProtocolErrorIdVerifyError, +} + +func RES_CODEValues() iter.Seq[RES_CODE] { + return func(yield func(RES_CODE) bool) { + for _, v := range knownRES_CODEValues { + if !yield(v) { + return + } + } + } +} + +func (p RES_CODE) String() string { + switch p { + case RES_CODE_Fail: + return "Fail" + case RES_CODE_Success: + return "Success" + case RES_CODE_ProtocolErrorAccountExist: + return "ProtocolErrorAccountExist" + case RES_CODE_ProtocolErrorAccountOrPwdError: + return "ProtocolErrorAccountOrPwdError" + case RES_CODE_ProtocolErrorAccountOrPwdShort: + return "ProtocolErrorAccountOrPwdShort" + case RES_CODE_ProtocolErrorAccountFail: + return "ProtocolErrorAccountFail" + case RES_CODE_ProtocolErrorAccountNoExsit: + return "ProtocolErrorAccountNoExsit" + case RES_CODE_ProtocolErrorAccountCodeError: + return "ProtocolErrorAccountCodeError" + case RES_CODE_ProtocolErrorAccountDeviceError: + return "ProtocolErrorAccountDeviceError" + case RES_CODE_ProtocolErrorIdNotVerify: + return "ProtocolErrorIdNotVerify" + case RES_CODE_ProtocolErrorIdVerifyError: + return "ProtocolErrorIdVerifyError" + } + return "" +} + +func RES_CODEFromString(s string) (RES_CODE, error) { + switch s { + case "Fail": + return RES_CODE_Fail, nil + case "Success": + return RES_CODE_Success, nil + case "ProtocolErrorAccountExist": + return RES_CODE_ProtocolErrorAccountExist, nil + case "ProtocolErrorAccountOrPwdError": + return RES_CODE_ProtocolErrorAccountOrPwdError, nil + case "ProtocolErrorAccountOrPwdShort": + return RES_CODE_ProtocolErrorAccountOrPwdShort, nil + case "ProtocolErrorAccountFail": + return RES_CODE_ProtocolErrorAccountFail, nil + case "ProtocolErrorAccountNoExsit": + return RES_CODE_ProtocolErrorAccountNoExsit, nil + case "ProtocolErrorAccountCodeError": + return RES_CODE_ProtocolErrorAccountCodeError, nil + case "ProtocolErrorAccountDeviceError": + return RES_CODE_ProtocolErrorAccountDeviceError, nil + case "ProtocolErrorIdNotVerify": + return RES_CODE_ProtocolErrorIdNotVerify, nil + case "ProtocolErrorIdVerifyError": + return RES_CODE_ProtocolErrorIdVerifyError, nil + } + return RES_CODE(0), fmt.Errorf("not a valid RES_CODE string") +} + +func RES_CODEPtr(v RES_CODE) *RES_CODE { return &v } + +func (p RES_CODE) MarshalText() ([]byte, error) { + return []byte(p.String()), nil +} + +func (p *RES_CODE) UnmarshalText(text []byte) error { + q, err := RES_CODEFromString(string(text)) + if err != nil { + return err + } + *p = q + return nil +} + +func (p *RES_CODE) Scan(value interface{}) error { + v, ok := value.(int64) + if !ok { + return errors.New("Scan value is not int64") + } + *p = RES_CODE(v) + return nil +} + +func (p *RES_CODE) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type TIME_LINE_TYPE int64 + +const ( + TIME_LINE_TYPE_Default TIME_LINE_TYPE = 0 + TIME_LINE_TYPE_LogTypeFriendApply TIME_LINE_TYPE = 1 + TIME_LINE_TYPE_LogTypeFriendBecome TIME_LINE_TYPE = 2 + TIME_LINE_TYPE_LogTypeCardExSend TIME_LINE_TYPE = 3 + TIME_LINE_TYPE_LogTypeCardSend TIME_LINE_TYPE = 4 + TIME_LINE_TYPE_LogTypeCardGive TIME_LINE_TYPE = 5 + TIME_LINE_TYPE_LogTypeCardSelectGet TIME_LINE_TYPE = 6 + TIME_LINE_TYPE_LogTypeCardAcceptGive TIME_LINE_TYPE = 7 + TIME_LINE_TYPE_LogTypeCardExGet TIME_LINE_TYPE = 8 + TIME_LINE_TYPE_LogTypeCardSelectSend TIME_LINE_TYPE = 9 + TIME_LINE_TYPE_LogTypeCardExSuccess1 TIME_LINE_TYPE = 10 + TIME_LINE_TYPE_LogTypeCardExSuccess2 TIME_LINE_TYPE = 11 + TIME_LINE_TYPE_LogTypeFriendDelete TIME_LINE_TYPE = 14 + TIME_LINE_TYPE_LogTypePlayroomVisit TIME_LINE_TYPE = 15 + TIME_LINE_TYPE_LogTypeHandbook TIME_LINE_TYPE = 16 + TIME_LINE_TYPE_LogTypeHandbookUpvote TIME_LINE_TYPE = 17 + TIME_LINE_TYPE_LogTypeChargeSend TIME_LINE_TYPE = 18 + TIME_LINE_TYPE_LogTypeChargeReceived TIME_LINE_TYPE = 19 + TIME_LINE_TYPE_LogTypeWish TIME_LINE_TYPE = 20 + TIME_LINE_TYPE_LogTypeFriendBecomeNpc TIME_LINE_TYPE = 21 + TIME_LINE_TYPE_LogTypePlayroomUpvote TIME_LINE_TYPE = 22 + TIME_LINE_TYPE_LogTypePlayroomChampship TIME_LINE_TYPE = 23 + TIME_LINE_TYPE_LogTypeTreasure TIME_LINE_TYPE = 24 + TIME_LINE_TYPE_LogTypeCardSendAccept TIME_LINE_TYPE = 25 + TIME_LINE_TYPE_LogTypePlayroomCatWin TIME_LINE_TYPE = 26 + TIME_LINE_TYPE_LogTypePlayroomCatLose TIME_LINE_TYPE = 27 + TIME_LINE_TYPE_LogTypeCardGiveAccept TIME_LINE_TYPE = 28 + TIME_LINE_TYPE_LogTypeFriendInvite TIME_LINE_TYPE = 29 + TIME_LINE_TYPE_LogTypeTreasureHelp TIME_LINE_TYPE = 30 + TIME_LINE_TYPE_LogTypeFriendSponsor TIME_LINE_TYPE = 31 + TIME_LINE_TYPE_LogTypeFriendSponsorGet TIME_LINE_TYPE = 32 + TIME_LINE_TYPE_LogTypePlayroomBankruptcy TIME_LINE_TYPE = 33 +) + +var knownTIME_LINE_TYPEValues = []TIME_LINE_TYPE{ + TIME_LINE_TYPE_Default, + TIME_LINE_TYPE_LogTypeFriendApply, + TIME_LINE_TYPE_LogTypeFriendBecome, + TIME_LINE_TYPE_LogTypeCardExSend, + TIME_LINE_TYPE_LogTypeCardSend, + TIME_LINE_TYPE_LogTypeCardGive, + TIME_LINE_TYPE_LogTypeCardSelectGet, + TIME_LINE_TYPE_LogTypeCardAcceptGive, + TIME_LINE_TYPE_LogTypeCardExGet, + TIME_LINE_TYPE_LogTypeCardSelectSend, + TIME_LINE_TYPE_LogTypeCardExSuccess1, + TIME_LINE_TYPE_LogTypeCardExSuccess2, + TIME_LINE_TYPE_LogTypeFriendDelete, + TIME_LINE_TYPE_LogTypePlayroomVisit, + TIME_LINE_TYPE_LogTypeHandbook, + TIME_LINE_TYPE_LogTypeHandbookUpvote, + TIME_LINE_TYPE_LogTypeChargeSend, + TIME_LINE_TYPE_LogTypeChargeReceived, + TIME_LINE_TYPE_LogTypeWish, + TIME_LINE_TYPE_LogTypeFriendBecomeNpc, + TIME_LINE_TYPE_LogTypePlayroomUpvote, + TIME_LINE_TYPE_LogTypePlayroomChampship, + TIME_LINE_TYPE_LogTypeTreasure, + TIME_LINE_TYPE_LogTypeCardSendAccept, + TIME_LINE_TYPE_LogTypePlayroomCatWin, + TIME_LINE_TYPE_LogTypePlayroomCatLose, + TIME_LINE_TYPE_LogTypeCardGiveAccept, + TIME_LINE_TYPE_LogTypeFriendInvite, + TIME_LINE_TYPE_LogTypeTreasureHelp, + TIME_LINE_TYPE_LogTypeFriendSponsor, + TIME_LINE_TYPE_LogTypeFriendSponsorGet, + TIME_LINE_TYPE_LogTypePlayroomBankruptcy, +} + +func TIME_LINE_TYPEValues() iter.Seq[TIME_LINE_TYPE] { + return func(yield func(TIME_LINE_TYPE) bool) { + for _, v := range knownTIME_LINE_TYPEValues { + if !yield(v) { + return + } + } + } +} + +func (p TIME_LINE_TYPE) String() string { + switch p { + case TIME_LINE_TYPE_Default: + return "Default" + case TIME_LINE_TYPE_LogTypeFriendApply: + return "LogTypeFriendApply" + case TIME_LINE_TYPE_LogTypeFriendBecome: + return "LogTypeFriendBecome" + case TIME_LINE_TYPE_LogTypeCardExSend: + return "LogTypeCardExSend" + case TIME_LINE_TYPE_LogTypeCardSend: + return "LogTypeCardSend" + case TIME_LINE_TYPE_LogTypeCardGive: + return "LogTypeCardGive" + case TIME_LINE_TYPE_LogTypeCardSelectGet: + return "LogTypeCardSelectGet" + case TIME_LINE_TYPE_LogTypeCardAcceptGive: + return "LogTypeCardAcceptGive" + case TIME_LINE_TYPE_LogTypeCardExGet: + return "LogTypeCardExGet" + case TIME_LINE_TYPE_LogTypeCardSelectSend: + return "LogTypeCardSelectSend" + case TIME_LINE_TYPE_LogTypeCardExSuccess1: + return "LogTypeCardExSuccess1" + case TIME_LINE_TYPE_LogTypeCardExSuccess2: + return "LogTypeCardExSuccess2" + case TIME_LINE_TYPE_LogTypeFriendDelete: + return "LogTypeFriendDelete" + case TIME_LINE_TYPE_LogTypePlayroomVisit: + return "LogTypePlayroomVisit" + case TIME_LINE_TYPE_LogTypeHandbook: + return "LogTypeHandbook" + case TIME_LINE_TYPE_LogTypeHandbookUpvote: + return "LogTypeHandbookUpvote" + case TIME_LINE_TYPE_LogTypeChargeSend: + return "LogTypeChargeSend" + case TIME_LINE_TYPE_LogTypeChargeReceived: + return "LogTypeChargeReceived" + case TIME_LINE_TYPE_LogTypeWish: + return "LogTypeWish" + case TIME_LINE_TYPE_LogTypeFriendBecomeNpc: + return "LogTypeFriendBecomeNpc" + case TIME_LINE_TYPE_LogTypePlayroomUpvote: + return "LogTypePlayroomUpvote" + case TIME_LINE_TYPE_LogTypePlayroomChampship: + return "LogTypePlayroomChampship" + case TIME_LINE_TYPE_LogTypeTreasure: + return "LogTypeTreasure" + case TIME_LINE_TYPE_LogTypeCardSendAccept: + return "LogTypeCardSendAccept" + case TIME_LINE_TYPE_LogTypePlayroomCatWin: + return "LogTypePlayroomCatWin" + case TIME_LINE_TYPE_LogTypePlayroomCatLose: + return "LogTypePlayroomCatLose" + case TIME_LINE_TYPE_LogTypeCardGiveAccept: + return "LogTypeCardGiveAccept" + case TIME_LINE_TYPE_LogTypeFriendInvite: + return "LogTypeFriendInvite" + case TIME_LINE_TYPE_LogTypeTreasureHelp: + return "LogTypeTreasureHelp" + case TIME_LINE_TYPE_LogTypeFriendSponsor: + return "LogTypeFriendSponsor" + case TIME_LINE_TYPE_LogTypeFriendSponsorGet: + return "LogTypeFriendSponsorGet" + case TIME_LINE_TYPE_LogTypePlayroomBankruptcy: + return "LogTypePlayroomBankruptcy" + } + return "" +} + +func TIME_LINE_TYPEFromString(s string) (TIME_LINE_TYPE, error) { + switch s { + case "Default": + return TIME_LINE_TYPE_Default, nil + case "LogTypeFriendApply": + return TIME_LINE_TYPE_LogTypeFriendApply, nil + case "LogTypeFriendBecome": + return TIME_LINE_TYPE_LogTypeFriendBecome, nil + case "LogTypeCardExSend": + return TIME_LINE_TYPE_LogTypeCardExSend, nil + case "LogTypeCardSend": + return TIME_LINE_TYPE_LogTypeCardSend, nil + case "LogTypeCardGive": + return TIME_LINE_TYPE_LogTypeCardGive, nil + case "LogTypeCardSelectGet": + return TIME_LINE_TYPE_LogTypeCardSelectGet, nil + case "LogTypeCardAcceptGive": + return TIME_LINE_TYPE_LogTypeCardAcceptGive, nil + case "LogTypeCardExGet": + return TIME_LINE_TYPE_LogTypeCardExGet, nil + case "LogTypeCardSelectSend": + return TIME_LINE_TYPE_LogTypeCardSelectSend, nil + case "LogTypeCardExSuccess1": + return TIME_LINE_TYPE_LogTypeCardExSuccess1, nil + case "LogTypeCardExSuccess2": + return TIME_LINE_TYPE_LogTypeCardExSuccess2, nil + case "LogTypeFriendDelete": + return TIME_LINE_TYPE_LogTypeFriendDelete, nil + case "LogTypePlayroomVisit": + return TIME_LINE_TYPE_LogTypePlayroomVisit, nil + case "LogTypeHandbook": + return TIME_LINE_TYPE_LogTypeHandbook, nil + case "LogTypeHandbookUpvote": + return TIME_LINE_TYPE_LogTypeHandbookUpvote, nil + case "LogTypeChargeSend": + return TIME_LINE_TYPE_LogTypeChargeSend, nil + case "LogTypeChargeReceived": + return TIME_LINE_TYPE_LogTypeChargeReceived, nil + case "LogTypeWish": + return TIME_LINE_TYPE_LogTypeWish, nil + case "LogTypeFriendBecomeNpc": + return TIME_LINE_TYPE_LogTypeFriendBecomeNpc, nil + case "LogTypePlayroomUpvote": + return TIME_LINE_TYPE_LogTypePlayroomUpvote, nil + case "LogTypePlayroomChampship": + return TIME_LINE_TYPE_LogTypePlayroomChampship, nil + case "LogTypeTreasure": + return TIME_LINE_TYPE_LogTypeTreasure, nil + case "LogTypeCardSendAccept": + return TIME_LINE_TYPE_LogTypeCardSendAccept, nil + case "LogTypePlayroomCatWin": + return TIME_LINE_TYPE_LogTypePlayroomCatWin, nil + case "LogTypePlayroomCatLose": + return TIME_LINE_TYPE_LogTypePlayroomCatLose, nil + case "LogTypeCardGiveAccept": + return TIME_LINE_TYPE_LogTypeCardGiveAccept, nil + case "LogTypeFriendInvite": + return TIME_LINE_TYPE_LogTypeFriendInvite, nil + case "LogTypeTreasureHelp": + return TIME_LINE_TYPE_LogTypeTreasureHelp, nil + case "LogTypeFriendSponsor": + return TIME_LINE_TYPE_LogTypeFriendSponsor, nil + case "LogTypeFriendSponsorGet": + return TIME_LINE_TYPE_LogTypeFriendSponsorGet, nil + case "LogTypePlayroomBankruptcy": + return TIME_LINE_TYPE_LogTypePlayroomBankruptcy, nil + } + return TIME_LINE_TYPE(0), fmt.Errorf("not a valid TIME_LINE_TYPE string") +} + +func TIME_LINE_TYPEPtr(v TIME_LINE_TYPE) *TIME_LINE_TYPE { return &v } + +func (p TIME_LINE_TYPE) MarshalText() ([]byte, error) { + return []byte(p.String()), nil +} + +func (p *TIME_LINE_TYPE) UnmarshalText(text []byte) error { + q, err := TIME_LINE_TYPEFromString(string(text)) + if err != nil { + return err + } + *p = q + return nil +} + +func (p *TIME_LINE_TYPE) Scan(value interface{}) error { + v, ok := value.(int64) + if !ok { + return errors.New("Scan value is not int64") + } + *p = TIME_LINE_TYPE(v) + return nil +} + +func (p *TIME_LINE_TYPE) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +// Attributes: +// - Type +// - Time +// - Param +// +type ActLog struct { + Type int32 `thrift:"Type,1" db:"Type" json:"Type"` + Time int64 `thrift:"Time,2" db:"Time" json:"Time"` + Param string `thrift:"Param,3" db:"Param" json:"Param"` +} + +func NewActLog() *ActLog { + return &ActLog{} +} + +func (p *ActLog) GetType() int32 { + return p.Type +} + +func (p *ActLog) GetTime() int64 { + return p.Time +} + +func (p *ActLog) GetParam() string { + return p.Param +} + +func (p *ActLog) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ActLog) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ActLog) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Time = v + } + return nil +} + +func (p *ActLog) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Param = v + } + return nil +} + +func (p *ActLog) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ActLog"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ActLog) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Type: ", p), err) + } + return err +} + +func (p *ActLog) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Time", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Time: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Time)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Time (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Time: ", p), err) + } + return err +} + +func (p *ActLog) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Param", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Param: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Param)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Param (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Param: ", p), err) + } + return err +} + +func (p *ActLog) Equals(other *ActLog) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Type != other.Type { + return false + } + if p.Time != other.Time { + return false + } + if p.Param != other.Param { + return false + } + return true +} + +func (p *ActLog) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ActLog(%+v)", *p) +} + +func (p *ActLog) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ActLog", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ActLog)(nil) + +func (p *ActLog) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Type +// - Starttime +// - Endtime +// - Level +// - Title +// - MailTitle +// - MailContent +// - RewardItem +// - Extra +// +type ActivityCfg struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Type int32 `thrift:"Type,2" db:"Type" json:"Type"` + Starttime int64 `thrift:"Starttime,3" db:"Starttime" json:"Starttime"` + Endtime int64 `thrift:"Endtime,4" db:"Endtime" json:"Endtime"` + Level int32 `thrift:"Level,5" db:"Level" json:"Level"` + Title string `thrift:"Title,6" db:"Title" json:"Title"` + MailTitle string `thrift:"MailTitle,7" db:"MailTitle" json:"MailTitle"` + MailContent string `thrift:"MailContent,8" db:"MailContent" json:"MailContent"` + RewardItem string `thrift:"RewardItem,9" db:"RewardItem" json:"RewardItem"` + Extra string `thrift:"Extra,10" db:"Extra" json:"Extra"` +} + +func NewActivityCfg() *ActivityCfg { + return &ActivityCfg{} +} + +func (p *ActivityCfg) GetId() int32 { + return p.Id +} + +func (p *ActivityCfg) GetType() int32 { + return p.Type +} + +func (p *ActivityCfg) GetStarttime() int64 { + return p.Starttime +} + +func (p *ActivityCfg) GetEndtime() int64 { + return p.Endtime +} + +func (p *ActivityCfg) GetLevel() int32 { + return p.Level +} + +func (p *ActivityCfg) GetTitle() string { + return p.Title +} + +func (p *ActivityCfg) GetMailTitle() string { + return p.MailTitle +} + +func (p *ActivityCfg) GetMailContent() string { + return p.MailContent +} + +func (p *ActivityCfg) GetRewardItem() string { + return p.RewardItem +} + +func (p *ActivityCfg) GetExtra() string { + return p.Extra +} + +func (p *ActivityCfg) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I64 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.STRING { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.STRING { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.STRING { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.STRING { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.STRING { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ActivityCfg) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ActivityCfg) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ActivityCfg) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Starttime = v + } + return nil +} + +func (p *ActivityCfg) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Endtime = v + } + return nil +} + +func (p *ActivityCfg) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Level = v + } + return nil +} + +func (p *ActivityCfg) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.Title = v + } + return nil +} + +func (p *ActivityCfg) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.MailTitle = v + } + return nil +} + +func (p *ActivityCfg) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.MailContent = v + } + return nil +} + +func (p *ActivityCfg) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 9: ", err) + } else { + p.RewardItem = v + } + return nil +} + +func (p *ActivityCfg) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 10: ", err) + } else { + p.Extra = v + } + return nil +} + +func (p *ActivityCfg) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ActivityCfg"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ActivityCfg) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ActivityCfg) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Type: ", p), err) + } + return err +} + +func (p *ActivityCfg) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Starttime", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Starttime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Starttime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Starttime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Starttime: ", p), err) + } + return err +} + +func (p *ActivityCfg) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Endtime", thrift.I64, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Endtime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Endtime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Endtime (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Endtime: ", p), err) + } + return err +} + +func (p *ActivityCfg) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Level", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Level: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Level)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Level (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Level: ", p), err) + } + return err +} + +func (p *ActivityCfg) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Title", thrift.STRING, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Title: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Title)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Title (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Title: ", p), err) + } + return err +} + +func (p *ActivityCfg) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MailTitle", thrift.STRING, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:MailTitle: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.MailTitle)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.MailTitle (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:MailTitle: ", p), err) + } + return err +} + +func (p *ActivityCfg) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MailContent", thrift.STRING, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:MailContent: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.MailContent)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.MailContent (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:MailContent: ", p), err) + } + return err +} + +func (p *ActivityCfg) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "RewardItem", thrift.STRING, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:RewardItem: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.RewardItem)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.RewardItem (9) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:RewardItem: ", p), err) + } + return err +} + +func (p *ActivityCfg) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Extra", thrift.STRING, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:Extra: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Extra)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Extra (10) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:Extra: ", p), err) + } + return err +} + +func (p *ActivityCfg) Equals(other *ActivityCfg) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Type != other.Type { + return false + } + if p.Starttime != other.Starttime { + return false + } + if p.Endtime != other.Endtime { + return false + } + if p.Level != other.Level { + return false + } + if p.Title != other.Title { + return false + } + if p.MailTitle != other.MailTitle { + return false + } + if p.MailContent != other.MailContent { + return false + } + if p.RewardItem != other.RewardItem { + return false + } + if p.Extra != other.Extra { + return false + } + return true +} + +func (p *ActivityCfg) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ActivityCfg(%+v)", *p) +} + +func (p *ActivityCfg) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ActivityCfg", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ActivityCfg)(nil) + +func (p *ActivityCfg) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Type +// - StartTime +// - EndTime +// - Status +// - Title +// - Red +// +type ActivityInfo struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Type int32 `thrift:"Type,2" db:"Type" json:"Type"` + StartTime int32 `thrift:"StartTime,3" db:"StartTime" json:"StartTime"` + EndTime int32 `thrift:"EndTime,4" db:"EndTime" json:"EndTime"` + Status int32 `thrift:"Status,5" db:"Status" json:"Status"` + Title string `thrift:"Title,6" db:"Title" json:"Title"` + Red int32 `thrift:"Red,7" db:"Red" json:"Red"` +} + +func NewActivityInfo() *ActivityInfo { + return &ActivityInfo{} +} + +func (p *ActivityInfo) GetId() int32 { + return p.Id +} + +func (p *ActivityInfo) GetType() int32 { + return p.Type +} + +func (p *ActivityInfo) GetStartTime() int32 { + return p.StartTime +} + +func (p *ActivityInfo) GetEndTime() int32 { + return p.EndTime +} + +func (p *ActivityInfo) GetStatus() int32 { + return p.Status +} + +func (p *ActivityInfo) GetTitle() string { + return p.Title +} + +func (p *ActivityInfo) GetRed() int32 { + return p.Red +} + +func (p *ActivityInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.STRING { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.I32 { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ActivityInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ActivityInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ActivityInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.StartTime = v + } + return nil +} + +func (p *ActivityInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *ActivityInfo) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ActivityInfo) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.Title = v + } + return nil +} + +func (p *ActivityInfo) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.Red = v + } + return nil +} + +func (p *ActivityInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ActivityInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ActivityInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ActivityInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Type: ", p), err) + } + return err +} + +func (p *ActivityInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "StartTime", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:StartTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.StartTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.StartTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:StartTime: ", p), err) + } + return err +} + +func (p *ActivityInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:EndTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:EndTime: ", p), err) + } + return err +} + +func (p *ActivityInfo) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Status: ", p), err) + } + return err +} + +func (p *ActivityInfo) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Title", thrift.STRING, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Title: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Title)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Title (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Title: ", p), err) + } + return err +} + +func (p *ActivityInfo) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Red", thrift.I32, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:Red: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Red)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Red (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:Red: ", p), err) + } + return err +} + +func (p *ActivityInfo) Equals(other *ActivityInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Type != other.Type { + return false + } + if p.StartTime != other.StartTime { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.Status != other.Status { + return false + } + if p.Title != other.Title { + return false + } + if p.Red != other.Red { + return false + } + return true +} + +func (p *ActivityInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ActivityInfo(%+v)", *p) +} + +func (p *ActivityInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ActivityInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ActivityInfo)(nil) + +func (p *ActivityInfo) Validate() error { + return nil +} + +// Attributes: +// - Info +// +type ActivityNotify struct { + Info *ActivityInfo `thrift:"Info,1" db:"Info" json:"Info"` +} + +func NewActivityNotify() *ActivityNotify { + return &ActivityNotify{} +} + +var ActivityNotify_Info_DEFAULT *ActivityInfo + +func (p *ActivityNotify) GetInfo() *ActivityInfo { + if !p.IsSetInfo() { + return ActivityNotify_Info_DEFAULT + } + return p.Info +} + +func (p *ActivityNotify) IsSetInfo() bool { + return p.Info != nil +} + +func (p *ActivityNotify) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ActivityNotify) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Info = &ActivityInfo{} + if err := p.Info.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Info), err) + } + return nil +} + +func (p *ActivityNotify) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ActivityNotify"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ActivityNotify) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Info", thrift.STRUCT, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Info: ", p), err) + } + if err := p.Info.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Info), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Info: ", p), err) + } + return err +} + +func (p *ActivityNotify) Equals(other *ActivityNotify) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if !p.Info.Equals(other.Info) { + return false + } + return true +} + +func (p *ActivityNotify) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ActivityNotify(%+v)", *p) +} + +func (p *ActivityNotify) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ActivityNotify", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ActivityNotify)(nil) + +func (p *ActivityNotify) Validate() error { + return nil +} + +// Attributes: +// - Watch +// - LastWatch +// - ItemId +// +type AdItem struct { + Watch int32 `thrift:"Watch,1" db:"Watch" json:"Watch"` + LastWatch int32 `thrift:"LastWatch,2" db:"LastWatch" json:"LastWatch"` + ItemId int32 `thrift:"ItemId,3" db:"ItemId" json:"ItemId"` +} + +func NewAdItem() *AdItem { + return &AdItem{} +} + +func (p *AdItem) GetWatch() int32 { + return p.Watch +} + +func (p *AdItem) GetLastWatch() int32 { + return p.LastWatch +} + +func (p *AdItem) GetItemId() int32 { + return p.ItemId +} + +func (p *AdItem) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *AdItem) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Watch = v + } + return nil +} + +func (p *AdItem) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.LastWatch = v + } + return nil +} + +func (p *AdItem) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.ItemId = v + } + return nil +} + +func (p *AdItem) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "AdItem"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *AdItem) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Watch", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Watch: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Watch)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Watch (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Watch: ", p), err) + } + return err +} + +func (p *AdItem) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "LastWatch", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:LastWatch: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.LastWatch)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.LastWatch (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:LastWatch: ", p), err) + } + return err +} + +func (p *AdItem) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ItemId", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ItemId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ItemId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ItemId (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ItemId: ", p), err) + } + return err +} + +func (p *AdItem) Equals(other *AdItem) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Watch != other.Watch { + return false + } + if p.LastWatch != other.LastWatch { + return false + } + if p.ItemId != other.ItemId { + return false + } + return true +} + +func (p *AdItem) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("AdItem(%+v)", *p) +} + +func (p *AdItem) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.AdItem", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*AdItem)(nil) + +func (p *AdItem) Validate() error { + return nil +} + +// Attributes: +// - Func +// - Info +// +type AdminReq struct { + Func string `thrift:"Func,1" db:"Func" json:"Func"` + Info []byte `thrift:"Info,2" db:"Info" json:"Info"` +} + +func NewAdminReq() *AdminReq { + return &AdminReq{} +} + +func (p *AdminReq) GetFunc() string { + return p.Func +} + +func (p *AdminReq) GetInfo() []byte { + return p.Info +} + +func (p *AdminReq) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *AdminReq) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Func = v + } + return nil +} + +func (p *AdminReq) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBinary(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Info = v + } + return nil +} + +func (p *AdminReq) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "AdminReq"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *AdminReq) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Func", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Func: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Func)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Func (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Func: ", p), err) + } + return err +} + +func (p *AdminReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Info", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Info: ", p), err) + } + if err := oprot.WriteBinary(ctx, p.Info); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Info (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Info: ", p), err) + } + return err +} + +func (p *AdminReq) Equals(other *AdminReq) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Func != other.Func { + return false + } + if bytes.Compare(p.Info, other.Info) != 0 { + return false + } + return true +} + +func (p *AdminReq) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("AdminReq(%+v)", *p) +} + +func (p *AdminReq) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.AdminReq", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*AdminReq)(nil) + +func (p *AdminReq) Validate() error { + return nil +} + +// Attributes: +// - Func +// - Info +// +type AdminRes struct { + Func string `thrift:"Func,1" db:"Func" json:"Func"` + Info string `thrift:"Info,2" db:"Info" json:"Info"` +} + +func NewAdminRes() *AdminRes { + return &AdminRes{} +} + +func (p *AdminRes) GetFunc() string { + return p.Func +} + +func (p *AdminRes) GetInfo() string { + return p.Info +} + +func (p *AdminRes) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *AdminRes) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Func = v + } + return nil +} + +func (p *AdminRes) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Info = v + } + return nil +} + +func (p *AdminRes) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "AdminRes"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *AdminRes) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Func", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Func: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Func)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Func (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Func: ", p), err) + } + return err +} + +func (p *AdminRes) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Info", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Info: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Info)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Info (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Info: ", p), err) + } + return err +} + +func (p *AdminRes) Equals(other *AdminRes) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Func != other.Func { + return false + } + if p.Info != other.Info { + return false + } + return true +} + +func (p *AdminRes) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("AdminRes(%+v)", *p) +} + +func (p *AdminRes) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.AdminRes", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*AdminRes)(nil) + +func (p *AdminRes) Validate() error { + return nil +} + +// Attributes: +// - Id +// - EndTime +// - AddTime +// +type AvatarInfo struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + EndTime int64 `thrift:"EndTime,2" db:"EndTime" json:"EndTime"` + AddTime int64 `thrift:"AddTime,3" db:"AddTime" json:"AddTime"` +} + +func NewAvatarInfo() *AvatarInfo { + return &AvatarInfo{} +} + +func (p *AvatarInfo) GetId() int32 { + return p.Id +} + +func (p *AvatarInfo) GetEndTime() int64 { + return p.EndTime +} + +func (p *AvatarInfo) GetAddTime() int64 { + return p.AddTime +} + +func (p *AvatarInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *AvatarInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *AvatarInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *AvatarInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.AddTime = v + } + return nil +} + +func (p *AvatarInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "AvatarInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *AvatarInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *AvatarInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:EndTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:EndTime: ", p), err) + } + return err +} + +func (p *AvatarInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AddTime", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:AddTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.AddTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AddTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:AddTime: ", p), err) + } + return err +} + +func (p *AvatarInfo) Equals(other *AvatarInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.AddTime != other.AddTime { + return false + } + return true +} + +func (p *AvatarInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("AvatarInfo(%+v)", *p) +} + +func (p *AvatarInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.AvatarInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*AvatarInfo)(nil) + +func (p *AvatarInfo) Validate() error { + return nil +} + +// Attributes: +// - EnergyMul +// - IsFirstBuy +// - EnergyBuy +// - EnergyAD +// - Lang +// +type BaseInfo struct { + EnergyMul int32 `thrift:"EnergyMul,1" db:"EnergyMul" json:"EnergyMul"` + IsFirstBuy bool `thrift:"IsFirstBuy,2" db:"IsFirstBuy" json:"IsFirstBuy"` + EnergyBuy int32 `thrift:"EnergyBuy,3" db:"EnergyBuy" json:"EnergyBuy"` + EnergyAD int32 `thrift:"EnergyAD,4" db:"EnergyAD" json:"EnergyAD"` + Lang LANG_TYPE `thrift:"Lang,5" db:"Lang" json:"Lang"` +} + +func NewBaseInfo() *BaseInfo { + return &BaseInfo{} +} + +func (p *BaseInfo) GetEnergyMul() int32 { + return p.EnergyMul +} + +func (p *BaseInfo) GetIsFirstBuy() bool { + return p.IsFirstBuy +} + +func (p *BaseInfo) GetEnergyBuy() int32 { + return p.EnergyBuy +} + +func (p *BaseInfo) GetEnergyAD() int32 { + return p.EnergyAD +} + +func (p *BaseInfo) GetLang() LANG_TYPE { + return p.Lang +} + +func (p *BaseInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *BaseInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.EnergyMul = v + } + return nil +} + +func (p *BaseInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.IsFirstBuy = v + } + return nil +} + +func (p *BaseInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.EnergyBuy = v + } + return nil +} + +func (p *BaseInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.EnergyAD = v + } + return nil +} + +func (p *BaseInfo) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + temp := LANG_TYPE(v) + p.Lang = temp + } + return nil +} + +func (p *BaseInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "BaseInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *BaseInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EnergyMul", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:EnergyMul: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EnergyMul)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EnergyMul (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:EnergyMul: ", p), err) + } + return err +} + +func (p *BaseInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "IsFirstBuy", thrift.BOOL, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:IsFirstBuy: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.IsFirstBuy)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.IsFirstBuy (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:IsFirstBuy: ", p), err) + } + return err +} + +func (p *BaseInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EnergyBuy", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:EnergyBuy: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EnergyBuy)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EnergyBuy (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:EnergyBuy: ", p), err) + } + return err +} + +func (p *BaseInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EnergyAD", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:EnergyAD: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EnergyAD)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EnergyAD (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:EnergyAD: ", p), err) + } + return err +} + +func (p *BaseInfo) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Lang", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Lang: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Lang)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Lang (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Lang: ", p), err) + } + return err +} + +func (p *BaseInfo) Equals(other *BaseInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.EnergyMul != other.EnergyMul { + return false + } + if p.IsFirstBuy != other.IsFirstBuy { + return false + } + if p.EnergyBuy != other.EnergyBuy { + return false + } + if p.EnergyAD != other.EnergyAD { + return false + } + if p.Lang != other.Lang { + return false + } + return true +} + +func (p *BaseInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("BaseInfo(%+v)", *p) +} + +func (p *BaseInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.BaseInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*BaseInfo)(nil) + +func (p *BaseInfo) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Count +// +type Card struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Count int32 `thrift:"Count,2" db:"Count" json:"Count"` +} + +func NewCard() *Card { + return &Card{} +} + +func (p *Card) GetId() int32 { + return p.Id +} + +func (p *Card) GetCount() int32 { + return p.Count +} + +func (p *Card) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *Card) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *Card) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Count = v + } + return nil +} + +func (p *Card) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "Card"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *Card) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *Card) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Count", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Count: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Count)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Count (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Count: ", p), err) + } + return err +} + +func (p *Card) Equals(other *Card) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Count != other.Count { + return false + } + return true +} + +func (p *Card) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("Card(%+v)", *p) +} + +func (p *Card) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.Card", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*Card)(nil) + +func (p *Card) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Card +// +type CardPack struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Card []int32 `thrift:"Card,2" db:"Card" json:"Card"` +} + +func NewCardPack() *CardPack { + return &CardPack{} +} + +func (p *CardPack) GetId() int32 { + return p.Id +} + +func (p *CardPack) GetCard() []int32 { + return p.Card +} + +func (p *CardPack) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *CardPack) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *CardPack) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.Card = tSlice + for i := 0; i < size; i++ { + var _elem0 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem0 = v + } + p.Card = append(p.Card, _elem0) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *CardPack) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "CardPack"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *CardPack) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *CardPack) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Card", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Card: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.Card)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Card { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Card: ", p), err) + } + return err +} + +func (p *CardPack) Equals(other *CardPack) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if len(p.Card) != len(other.Card) { + return false + } + for i, _tgt := range p.Card { + _src1 := other.Card[i] + if _tgt != _src1 { + return false + } + } + return true +} + +func (p *CardPack) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CardPack(%+v)", *p) +} + +func (p *CardPack) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.CardPack", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*CardPack)(nil) + +func (p *CardPack) Validate() error { + return nil +} + +// Attributes: +// - Skin +// - Prob +// - RewardList +// - ClearTime +// +type CatReturnGiftCfg struct { + Skin int32 `thrift:"Skin,1" db:"Skin" json:"Skin"` + Prob int32 `thrift:"Prob,2" db:"Prob" json:"Prob"` + RewardList []*CatReturnGiftCfgReward `thrift:"RewardList,3" db:"RewardList" json:"RewardList"` + ClearTime int32 `thrift:"ClearTime,4" db:"ClearTime" json:"ClearTime"` +} + +func NewCatReturnGiftCfg() *CatReturnGiftCfg { + return &CatReturnGiftCfg{} +} + +func (p *CatReturnGiftCfg) GetSkin() int32 { + return p.Skin +} + +func (p *CatReturnGiftCfg) GetProb() int32 { + return p.Prob +} + +func (p *CatReturnGiftCfg) GetRewardList() []*CatReturnGiftCfgReward { + return p.RewardList +} + +func (p *CatReturnGiftCfg) GetClearTime() int32 { + return p.ClearTime +} + +func (p *CatReturnGiftCfg) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *CatReturnGiftCfg) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Skin = v + } + return nil +} + +func (p *CatReturnGiftCfg) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Prob = v + } + return nil +} + +func (p *CatReturnGiftCfg) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*CatReturnGiftCfgReward, 0, size) + p.RewardList = tSlice + for i := 0; i < size; i++ { + _elem2 := &CatReturnGiftCfgReward{} + if err := _elem2.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem2), err) + } + p.RewardList = append(p.RewardList, _elem2) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *CatReturnGiftCfg) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.ClearTime = v + } + return nil +} + +func (p *CatReturnGiftCfg) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "CatReturnGiftCfg"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *CatReturnGiftCfg) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Skin", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Skin: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Skin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Skin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Skin: ", p), err) + } + return err +} + +func (p *CatReturnGiftCfg) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Prob", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Prob: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Prob)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Prob (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Prob: ", p), err) + } + return err +} + +func (p *CatReturnGiftCfg) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "RewardList", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:RewardList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.RewardList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.RewardList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:RewardList: ", p), err) + } + return err +} + +func (p *CatReturnGiftCfg) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ClearTime", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:ClearTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ClearTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ClearTime (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:ClearTime: ", p), err) + } + return err +} + +func (p *CatReturnGiftCfg) Equals(other *CatReturnGiftCfg) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Skin != other.Skin { + return false + } + if p.Prob != other.Prob { + return false + } + if len(p.RewardList) != len(other.RewardList) { + return false + } + for i, _tgt := range p.RewardList { + _src3 := other.RewardList[i] + if !_tgt.Equals(_src3) { + return false + } + } + if p.ClearTime != other.ClearTime { + return false + } + return true +} + +func (p *CatReturnGiftCfg) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CatReturnGiftCfg(%+v)", *p) +} + +func (p *CatReturnGiftCfg) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.CatReturnGiftCfg", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*CatReturnGiftCfg)(nil) + +func (p *CatReturnGiftCfg) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Score +// - Reward +// - Total +// +type CatReturnGiftCfgReward struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Score int32 `thrift:"Score,2" db:"Score" json:"Score"` + Reward []*ItemInfo `thrift:"Reward,3" db:"Reward" json:"Reward"` + Total int32 `thrift:"Total,4" db:"Total" json:"Total"` +} + +func NewCatReturnGiftCfgReward() *CatReturnGiftCfgReward { + return &CatReturnGiftCfgReward{} +} + +func (p *CatReturnGiftCfgReward) GetId() int32 { + return p.Id +} + +func (p *CatReturnGiftCfgReward) GetScore() int32 { + return p.Score +} + +func (p *CatReturnGiftCfgReward) GetReward() []*ItemInfo { + return p.Reward +} + +func (p *CatReturnGiftCfgReward) GetTotal() int32 { + return p.Total +} + +func (p *CatReturnGiftCfgReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *CatReturnGiftCfgReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *CatReturnGiftCfgReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Score = v + } + return nil +} + +func (p *CatReturnGiftCfgReward) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Reward = tSlice + for i := 0; i < size; i++ { + _elem4 := &ItemInfo{} + if err := _elem4.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem4), err) + } + p.Reward = append(p.Reward, _elem4) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *CatReturnGiftCfgReward) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Total = v + } + return nil +} + +func (p *CatReturnGiftCfgReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "CatReturnGiftCfgReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *CatReturnGiftCfgReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *CatReturnGiftCfgReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Score", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Score: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Score)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Score (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Score: ", p), err) + } + return err +} + +func (p *CatReturnGiftCfgReward) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Reward", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Reward: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Reward)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Reward { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Reward: ", p), err) + } + return err +} + +func (p *CatReturnGiftCfgReward) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Total", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Total: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Total)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Total (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Total: ", p), err) + } + return err +} + +func (p *CatReturnGiftCfgReward) Equals(other *CatReturnGiftCfgReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Score != other.Score { + return false + } + if len(p.Reward) != len(other.Reward) { + return false + } + for i, _tgt := range p.Reward { + _src5 := other.Reward[i] + if !_tgt.Equals(_src5) { + return false + } + } + if p.Total != other.Total { + return false + } + return true +} + +func (p *CatReturnGiftCfgReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CatReturnGiftCfgReward(%+v)", *p) +} + +func (p *CatReturnGiftCfgReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.CatReturnGiftCfgReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*CatReturnGiftCfgReward)(nil) + +func (p *CatReturnGiftCfgReward) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Status +// - Progress +// - Reward +// - Partner +// - Emoji +// - SendEmoji +// - FriendProgress +// +type CatnipGame struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Status int32 `thrift:"Status,2" db:"Status" json:"Status"` + Progress int32 `thrift:"Progress,3" db:"Progress" json:"Progress"` + Reward []int32 `thrift:"Reward,4" db:"Reward" json:"Reward"` + Partner *ResPlayerSimple `thrift:"Partner,5" db:"Partner" json:"Partner"` + Emoji int32 `thrift:"Emoji,6" db:"Emoji" json:"Emoji"` + SendEmoji int32 `thrift:"SendEmoji,7" db:"SendEmoji" json:"SendEmoji"` + FriendProgress int32 `thrift:"FriendProgress,8" db:"FriendProgress" json:"FriendProgress"` +} + +func NewCatnipGame() *CatnipGame { + return &CatnipGame{} +} + +func (p *CatnipGame) GetId() int32 { + return p.Id +} + +func (p *CatnipGame) GetStatus() int32 { + return p.Status +} + +func (p *CatnipGame) GetProgress() int32 { + return p.Progress +} + +func (p *CatnipGame) GetReward() []int32 { + return p.Reward +} + +var CatnipGame_Partner_DEFAULT *ResPlayerSimple + +func (p *CatnipGame) GetPartner() *ResPlayerSimple { + if !p.IsSetPartner() { + return CatnipGame_Partner_DEFAULT + } + return p.Partner +} + +func (p *CatnipGame) GetEmoji() int32 { + return p.Emoji +} + +func (p *CatnipGame) GetSendEmoji() int32 { + return p.SendEmoji +} + +func (p *CatnipGame) GetFriendProgress() int32 { + return p.FriendProgress +} + +func (p *CatnipGame) IsSetPartner() bool { + return p.Partner != nil +} + +func (p *CatnipGame) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.I32 { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.I32 { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *CatnipGame) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *CatnipGame) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *CatnipGame) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Progress = v + } + return nil +} + +func (p *CatnipGame) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.Reward = tSlice + for i := 0; i < size; i++ { + var _elem6 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem6 = v + } + p.Reward = append(p.Reward, _elem6) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *CatnipGame) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + p.Partner = &ResPlayerSimple{} + if err := p.Partner.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Partner), err) + } + return nil +} + +func (p *CatnipGame) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.Emoji = v + } + return nil +} + +func (p *CatnipGame) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.SendEmoji = v + } + return nil +} + +func (p *CatnipGame) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.FriendProgress = v + } + return nil +} + +func (p *CatnipGame) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "CatnipGame"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *CatnipGame) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *CatnipGame) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Status: ", p), err) + } + return err +} + +func (p *CatnipGame) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Progress", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Progress: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Progress)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Progress (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Progress: ", p), err) + } + return err +} + +func (p *CatnipGame) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Reward", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Reward: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.Reward)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Reward { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Reward: ", p), err) + } + return err +} + +func (p *CatnipGame) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Partner", thrift.STRUCT, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Partner: ", p), err) + } + if err := p.Partner.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Partner), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Partner: ", p), err) + } + return err +} + +func (p *CatnipGame) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Emoji", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Emoji: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Emoji)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Emoji (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Emoji: ", p), err) + } + return err +} + +func (p *CatnipGame) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "SendEmoji", thrift.I32, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:SendEmoji: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.SendEmoji)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.SendEmoji (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:SendEmoji: ", p), err) + } + return err +} + +func (p *CatnipGame) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FriendProgress", thrift.I32, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:FriendProgress: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.FriendProgress)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.FriendProgress (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:FriendProgress: ", p), err) + } + return err +} + +func (p *CatnipGame) Equals(other *CatnipGame) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Status != other.Status { + return false + } + if p.Progress != other.Progress { + return false + } + if len(p.Reward) != len(other.Reward) { + return false + } + for i, _tgt := range p.Reward { + _src7 := other.Reward[i] + if _tgt != _src7 { + return false + } + } + if !p.Partner.Equals(other.Partner) { + return false + } + if p.Emoji != other.Emoji { + return false + } + if p.SendEmoji != other.SendEmoji { + return false + } + if p.FriendProgress != other.FriendProgress { + return false + } + return true +} + +func (p *CatnipGame) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CatnipGame(%+v)", *p) +} + +func (p *CatnipGame) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.CatnipGame", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*CatnipGame)(nil) + +func (p *CatnipGame) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - Time +// - Type +// - Player +// +type CatnipInvite struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + Time int64 `thrift:"Time,2" db:"Time" json:"Time"` + Type int32 `thrift:"Type,3" db:"Type" json:"Type"` + Player *ResPlayerSimple `thrift:"Player,4" db:"Player" json:"Player"` +} + +func NewCatnipInvite() *CatnipInvite { + return &CatnipInvite{} +} + +func (p *CatnipInvite) GetUid() int64 { + return p.Uid +} + +func (p *CatnipInvite) GetTime() int64 { + return p.Time +} + +func (p *CatnipInvite) GetType() int32 { + return p.Type +} + +var CatnipInvite_Player_DEFAULT *ResPlayerSimple + +func (p *CatnipInvite) GetPlayer() *ResPlayerSimple { + if !p.IsSetPlayer() { + return CatnipInvite_Player_DEFAULT + } + return p.Player +} + +func (p *CatnipInvite) IsSetPlayer() bool { + return p.Player != nil +} + +func (p *CatnipInvite) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *CatnipInvite) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *CatnipInvite) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Time = v + } + return nil +} + +func (p *CatnipInvite) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *CatnipInvite) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + p.Player = &ResPlayerSimple{} + if err := p.Player.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Player), err) + } + return nil +} + +func (p *CatnipInvite) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "CatnipInvite"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *CatnipInvite) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *CatnipInvite) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Time", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Time: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Time)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Time (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Time: ", p), err) + } + return err +} + +func (p *CatnipInvite) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Type: ", p), err) + } + return err +} + +func (p *CatnipInvite) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Player", thrift.STRUCT, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Player: ", p), err) + } + if err := p.Player.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Player), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Player: ", p), err) + } + return err +} + +func (p *CatnipInvite) Equals(other *CatnipInvite) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.Time != other.Time { + return false + } + if p.Type != other.Type { + return false + } + if !p.Player.Equals(other.Player) { + return false + } + return true +} + +func (p *CatnipInvite) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CatnipInvite(%+v)", *p) +} + +func (p *CatnipInvite) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.CatnipInvite", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*CatnipInvite)(nil) + +func (p *CatnipInvite) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Skin +// - JackpotList +// - RankList +// +type ChampionshipCfg struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Skin int32 `thrift:"Skin,2" db:"Skin" json:"Skin"` + JackpotList []*ChampionshipCfgJackpot `thrift:"JackpotList,3" db:"JackpotList" json:"JackpotList"` + RankList []*ChampionshipCfgRank `thrift:"RankList,4" db:"RankList" json:"RankList"` +} + +func NewChampionshipCfg() *ChampionshipCfg { + return &ChampionshipCfg{} +} + +func (p *ChampionshipCfg) GetId() int32 { + return p.Id +} + +func (p *ChampionshipCfg) GetSkin() int32 { + return p.Skin +} + +func (p *ChampionshipCfg) GetJackpotList() []*ChampionshipCfgJackpot { + return p.JackpotList +} + +func (p *ChampionshipCfg) GetRankList() []*ChampionshipCfgRank { + return p.RankList +} + +func (p *ChampionshipCfg) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ChampionshipCfg) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ChampionshipCfg) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Skin = v + } + return nil +} + +func (p *ChampionshipCfg) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ChampionshipCfgJackpot, 0, size) + p.JackpotList = tSlice + for i := 0; i < size; i++ { + _elem8 := &ChampionshipCfgJackpot{} + if err := _elem8.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem8), err) + } + p.JackpotList = append(p.JackpotList, _elem8) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ChampionshipCfg) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ChampionshipCfgRank, 0, size) + p.RankList = tSlice + for i := 0; i < size; i++ { + _elem9 := &ChampionshipCfgRank{} + if err := _elem9.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem9), err) + } + p.RankList = append(p.RankList, _elem9) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ChampionshipCfg) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ChampionshipCfg"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ChampionshipCfg) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ChampionshipCfg) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Skin", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Skin: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Skin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Skin (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Skin: ", p), err) + } + return err +} + +func (p *ChampionshipCfg) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "JackpotList", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:JackpotList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.JackpotList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.JackpotList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:JackpotList: ", p), err) + } + return err +} + +func (p *ChampionshipCfg) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "RankList", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:RankList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.RankList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.RankList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:RankList: ", p), err) + } + return err +} + +func (p *ChampionshipCfg) Equals(other *ChampionshipCfg) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Skin != other.Skin { + return false + } + if len(p.JackpotList) != len(other.JackpotList) { + return false + } + for i, _tgt := range p.JackpotList { + _src10 := other.JackpotList[i] + if !_tgt.Equals(_src10) { + return false + } + } + if len(p.RankList) != len(other.RankList) { + return false + } + for i, _tgt := range p.RankList { + _src11 := other.RankList[i] + if !_tgt.Equals(_src11) { + return false + } + } + return true +} + +func (p *ChampionshipCfg) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ChampionshipCfg(%+v)", *p) +} + +func (p *ChampionshipCfg) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ChampionshipCfg", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ChampionshipCfg)(nil) + +func (p *ChampionshipCfg) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Score +// - Total +// - Items +// - StarReward +// +type ChampionshipCfgJackpot struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Score int32 `thrift:"Score,2" db:"Score" json:"Score"` + Total int32 `thrift:"Total,3" db:"Total" json:"Total"` + Items []*ItemInfo `thrift:"Items,4" db:"Items" json:"Items"` + StarReward int32 `thrift:"StarReward,5" db:"StarReward" json:"StarReward"` +} + +func NewChampionshipCfgJackpot() *ChampionshipCfgJackpot { + return &ChampionshipCfgJackpot{} +} + +func (p *ChampionshipCfgJackpot) GetId() int32 { + return p.Id +} + +func (p *ChampionshipCfgJackpot) GetScore() int32 { + return p.Score +} + +func (p *ChampionshipCfgJackpot) GetTotal() int32 { + return p.Total +} + +func (p *ChampionshipCfgJackpot) GetItems() []*ItemInfo { + return p.Items +} + +func (p *ChampionshipCfgJackpot) GetStarReward() int32 { + return p.StarReward +} + +func (p *ChampionshipCfgJackpot) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ChampionshipCfgJackpot) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ChampionshipCfgJackpot) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Score = v + } + return nil +} + +func (p *ChampionshipCfgJackpot) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Total = v + } + return nil +} + +func (p *ChampionshipCfgJackpot) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem12 := &ItemInfo{} + if err := _elem12.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem12), err) + } + p.Items = append(p.Items, _elem12) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ChampionshipCfgJackpot) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.StarReward = v + } + return nil +} + +func (p *ChampionshipCfgJackpot) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ChampionshipCfgJackpot"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ChampionshipCfgJackpot) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ChampionshipCfgJackpot) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Score", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Score: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Score)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Score (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Score: ", p), err) + } + return err +} + +func (p *ChampionshipCfgJackpot) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Total", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Total: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Total)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Total (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Total: ", p), err) + } + return err +} + +func (p *ChampionshipCfgJackpot) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Items: ", p), err) + } + return err +} + +func (p *ChampionshipCfgJackpot) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "StarReward", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:StarReward: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.StarReward)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.StarReward (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:StarReward: ", p), err) + } + return err +} + +func (p *ChampionshipCfgJackpot) Equals(other *ChampionshipCfgJackpot) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Score != other.Score { + return false + } + if p.Total != other.Total { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src13 := other.Items[i] + if !_tgt.Equals(_src13) { + return false + } + } + if p.StarReward != other.StarReward { + return false + } + return true +} + +func (p *ChampionshipCfgJackpot) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ChampionshipCfgJackpot(%+v)", *p) +} + +func (p *ChampionshipCfgJackpot) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ChampionshipCfgJackpot", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ChampionshipCfgJackpot)(nil) + +func (p *ChampionshipCfgJackpot) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Min +// - Max +// - Items +// +type ChampionshipCfgRank struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Min int32 `thrift:"Min,2" db:"Min" json:"Min"` + Max int32 `thrift:"Max,3" db:"Max" json:"Max"` + Items []*ItemInfo `thrift:"Items,4" db:"Items" json:"Items"` +} + +func NewChampionshipCfgRank() *ChampionshipCfgRank { + return &ChampionshipCfgRank{} +} + +func (p *ChampionshipCfgRank) GetId() int32 { + return p.Id +} + +func (p *ChampionshipCfgRank) GetMin() int32 { + return p.Min +} + +func (p *ChampionshipCfgRank) GetMax() int32 { + return p.Max +} + +func (p *ChampionshipCfgRank) GetItems() []*ItemInfo { + return p.Items +} + +func (p *ChampionshipCfgRank) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ChampionshipCfgRank) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ChampionshipCfgRank) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Min = v + } + return nil +} + +func (p *ChampionshipCfgRank) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Max = v + } + return nil +} + +func (p *ChampionshipCfgRank) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem14 := &ItemInfo{} + if err := _elem14.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem14), err) + } + p.Items = append(p.Items, _elem14) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ChampionshipCfgRank) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ChampionshipCfgRank"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ChampionshipCfgRank) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ChampionshipCfgRank) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Min", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Min: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Min)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Min (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Min: ", p), err) + } + return err +} + +func (p *ChampionshipCfgRank) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Max", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Max: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Max)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Max (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Max: ", p), err) + } + return err +} + +func (p *ChampionshipCfgRank) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Items: ", p), err) + } + return err +} + +func (p *ChampionshipCfgRank) Equals(other *ChampionshipCfgRank) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Min != other.Min { + return false + } + if p.Max != other.Max { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src15 := other.Items[i] + if !_tgt.Equals(_src15) { + return false + } + } + return true +} + +func (p *ChampionshipCfgRank) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ChampionshipCfgRank(%+v)", *p) +} + +func (p *ChampionshipCfgRank) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ChampionshipCfgRank", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ChampionshipCfgRank)(nil) + +func (p *ChampionshipCfgRank) Validate() error { + return nil +} + +// Attributes: +// - ChessBagGrids +// - ChessBuyCnt +// - ChessFreeCnt +// +type ChessBag struct { + ChessBagGrids []*ChessBagGrid `thrift:"ChessBagGrids,1" db:"ChessBagGrids" json:"ChessBagGrids"` + ChessBuyCnt int32 `thrift:"ChessBuyCnt,2" db:"ChessBuyCnt" json:"ChessBuyCnt"` + ChessFreeCnt int32 `thrift:"ChessFreeCnt,3" db:"ChessFreeCnt" json:"ChessFreeCnt"` +} + +func NewChessBag() *ChessBag { + return &ChessBag{} +} + +func (p *ChessBag) GetChessBagGrids() []*ChessBagGrid { + return p.ChessBagGrids +} + +func (p *ChessBag) GetChessBuyCnt() int32 { + return p.ChessBuyCnt +} + +func (p *ChessBag) GetChessFreeCnt() int32 { + return p.ChessFreeCnt +} + +func (p *ChessBag) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ChessBag) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ChessBagGrid, 0, size) + p.ChessBagGrids = tSlice + for i := 0; i < size; i++ { + _elem16 := &ChessBagGrid{} + if err := _elem16.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem16), err) + } + p.ChessBagGrids = append(p.ChessBagGrids, _elem16) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ChessBag) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.ChessBuyCnt = v + } + return nil +} + +func (p *ChessBag) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.ChessFreeCnt = v + } + return nil +} + +func (p *ChessBag) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ChessBag"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ChessBag) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessBagGrids", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ChessBagGrids: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.ChessBagGrids)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ChessBagGrids { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ChessBagGrids: ", p), err) + } + return err +} + +func (p *ChessBag) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessBuyCnt", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:ChessBuyCnt: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChessBuyCnt)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChessBuyCnt (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:ChessBuyCnt: ", p), err) + } + return err +} + +func (p *ChessBag) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessFreeCnt", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ChessFreeCnt: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChessFreeCnt)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChessFreeCnt (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ChessFreeCnt: ", p), err) + } + return err +} + +func (p *ChessBag) Equals(other *ChessBag) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.ChessBagGrids) != len(other.ChessBagGrids) { + return false + } + for i, _tgt := range p.ChessBagGrids { + _src17 := other.ChessBagGrids[i] + if !_tgt.Equals(_src17) { + return false + } + } + if p.ChessBuyCnt != other.ChessBuyCnt { + return false + } + if p.ChessFreeCnt != other.ChessFreeCnt { + return false + } + return true +} + +func (p *ChessBag) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ChessBag(%+v)", *p) +} + +func (p *ChessBag) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ChessBag", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ChessBag)(nil) + +func (p *ChessBag) Validate() error { + return nil +} + +// Attributes: +// - Id +// - ChessId +// - EmitId +// +type ChessBagGrid struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + ChessId int32 `thrift:"ChessId,2" db:"ChessId" json:"ChessId"` + EmitId int32 `thrift:"EmitId,3" db:"EmitId" json:"EmitId"` +} + +func NewChessBagGrid() *ChessBagGrid { + return &ChessBagGrid{} +} + +func (p *ChessBagGrid) GetId() int32 { + return p.Id +} + +func (p *ChessBagGrid) GetChessId() int32 { + return p.ChessId +} + +func (p *ChessBagGrid) GetEmitId() int32 { + return p.EmitId +} + +func (p *ChessBagGrid) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ChessBagGrid) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ChessBagGrid) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.ChessId = v + } + return nil +} + +func (p *ChessBagGrid) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.EmitId = v + } + return nil +} + +func (p *ChessBagGrid) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ChessBagGrid"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ChessBagGrid) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ChessBagGrid) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:ChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChessId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChessId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:ChessId: ", p), err) + } + return err +} + +func (p *ChessBagGrid) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EmitId", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:EmitId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EmitId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EmitId (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:EmitId: ", p), err) + } + return err +} + +func (p *ChessBagGrid) Equals(other *ChessBagGrid) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.ChessId != other.ChessId { + return false + } + if p.EmitId != other.EmitId { + return false + } + return true +} + +func (p *ChessBagGrid) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ChessBagGrid(%+v)", *p) +} + +func (p *ChessBagGrid) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ChessBagGrid", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ChessBagGrid)(nil) + +func (p *ChessBagGrid) Validate() error { + return nil +} + +// Attributes: +// - Type +// - Emit +// - ChessId +// - Id +// - ActType +// +type ChessHandle struct { + Type HANDLE_TYPE `thrift:"type,1" db:"type" json:"type"` + Emit int32 `thrift:"Emit,2" db:"Emit" json:"Emit"` + ChessId int32 `thrift:"ChessId,3" db:"ChessId" json:"ChessId"` + Id int32 `thrift:"Id,4" db:"Id" json:"Id"` + ActType []int32 `thrift:"ActType,5" db:"ActType" json:"ActType"` +} + +func NewChessHandle() *ChessHandle { + return &ChessHandle{} +} + +func (p *ChessHandle) GetType() HANDLE_TYPE { + return p.Type +} + +func (p *ChessHandle) GetEmit() int32 { + return p.Emit +} + +func (p *ChessHandle) GetChessId() int32 { + return p.ChessId +} + +func (p *ChessHandle) GetId() int32 { + return p.Id +} + +func (p *ChessHandle) GetActType() []int32 { + return p.ActType +} + +func (p *ChessHandle) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.LIST { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ChessHandle) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := HANDLE_TYPE(v) + p.Type = temp + } + return nil +} + +func (p *ChessHandle) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Emit = v + } + return nil +} + +func (p *ChessHandle) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.ChessId = v + } + return nil +} + +func (p *ChessHandle) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ChessHandle) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.ActType = tSlice + for i := 0; i < size; i++ { + var _elem18 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem18 = v + } + p.ActType = append(p.ActType, _elem18) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ChessHandle) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ChessHandle"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ChessHandle) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "type", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.type (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:type: ", p), err) + } + return err +} + +func (p *ChessHandle) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Emit", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Emit: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Emit)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Emit (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Emit: ", p), err) + } + return err +} + +func (p *ChessHandle) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessId", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChessId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChessId (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ChessId: ", p), err) + } + return err +} + +func (p *ChessHandle) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Id: ", p), err) + } + return err +} + +func (p *ChessHandle) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ActType", thrift.LIST, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:ActType: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.ActType)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ActType { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:ActType: ", p), err) + } + return err +} + +func (p *ChessHandle) Equals(other *ChessHandle) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Type != other.Type { + return false + } + if p.Emit != other.Emit { + return false + } + if p.ChessId != other.ChessId { + return false + } + if p.Id != other.Id { + return false + } + if len(p.ActType) != len(other.ActType) { + return false + } + for i, _tgt := range p.ActType { + _src19 := other.ActType[i] + if _tgt != _src19 { + return false + } + } + return true +} + +func (p *ChessHandle) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ChessHandle(%+v)", *p) +} + +func (p *ChessHandle) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ChessHandle", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ChessHandle)(nil) + +func (p *ChessHandle) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - EmojiId +// +type ChipInfo struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + EmojiId int32 `thrift:"EmojiId,2" db:"EmojiId" json:"EmojiId"` +} + +func NewChipInfo() *ChipInfo { + return &ChipInfo{} +} + +func (p *ChipInfo) GetUid() int64 { + return p.Uid +} + +func (p *ChipInfo) GetEmojiId() int32 { + return p.EmojiId +} + +func (p *ChipInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ChipInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ChipInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.EmojiId = v + } + return nil +} + +func (p *ChipInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ChipInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ChipInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ChipInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EmojiId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:EmojiId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EmojiId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EmojiId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:EmojiId: ", p), err) + } + return err +} + +func (p *ChipInfo) Equals(other *ChipInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.EmojiId != other.EmojiId { + return false + } + return true +} + +func (p *ChipInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ChipInfo(%+v)", *p) +} + +func (p *ChipInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ChipInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ChipInfo)(nil) + +func (p *ChipInfo) Validate() error { + return nil +} + +// Attributes: +// - Func +// - Cid +// - Info +// - SessionId +// - GatewayId +// - UserId +// - UserBase +// +type ClientReq struct { + Func string `thrift:"func,1" db:"func" json:"func"` + Cid string `thrift:"cid,2" db:"cid" json:"cid"` + Info []byte `thrift:"info,3" db:"info" json:"info"` + SessionId string `thrift:"sessionId,4" db:"sessionId" json:"sessionId"` + GatewayId string `thrift:"gatewayId,5" db:"gatewayId" json:"gatewayId"` + UserId string `thrift:"userId,6" db:"userId" json:"userId"` + UserBase string `thrift:"userBase,7" db:"userBase" json:"userBase"` +} + +func NewClientReq() *ClientReq { + return &ClientReq{} +} + +func (p *ClientReq) GetFunc() string { + return p.Func +} + +func (p *ClientReq) GetCid() string { + return p.Cid +} + +func (p *ClientReq) GetInfo() []byte { + return p.Info +} + +func (p *ClientReq) GetSessionId() string { + return p.SessionId +} + +func (p *ClientReq) GetGatewayId() string { + return p.GatewayId +} + +func (p *ClientReq) GetUserId() string { + return p.UserId +} + +func (p *ClientReq) GetUserBase() string { + return p.UserBase +} + +func (p *ClientReq) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.STRING { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.STRING { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.STRING { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.STRING { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ClientReq) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Func = v + } + return nil +} + +func (p *ClientReq) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Cid = v + } + return nil +} + +func (p *ClientReq) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBinary(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Info = v + } + return nil +} + +func (p *ClientReq) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.SessionId = v + } + return nil +} + +func (p *ClientReq) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.GatewayId = v + } + return nil +} + +func (p *ClientReq) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.UserId = v + } + return nil +} + +func (p *ClientReq) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.UserBase = v + } + return nil +} + +func (p *ClientReq) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ClientReq"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ClientReq) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "func", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:func: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Func)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.func (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:func: ", p), err) + } + return err +} + +func (p *ClientReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "cid", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:cid: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Cid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.cid (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:cid: ", p), err) + } + return err +} + +func (p *ClientReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "info", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:info: ", p), err) + } + if err := oprot.WriteBinary(ctx, p.Info); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.info (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:info: ", p), err) + } + return err +} + +func (p *ClientReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "sessionId", thrift.STRING, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:sessionId: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.SessionId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.sessionId (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:sessionId: ", p), err) + } + return err +} + +func (p *ClientReq) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "gatewayId", thrift.STRING, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:gatewayId: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.GatewayId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.gatewayId (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:gatewayId: ", p), err) + } + return err +} + +func (p *ClientReq) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "userId", thrift.STRING, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:userId: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.UserId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.userId (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:userId: ", p), err) + } + return err +} + +func (p *ClientReq) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "userBase", thrift.STRING, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:userBase: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.UserBase)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.userBase (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:userBase: ", p), err) + } + return err +} + +func (p *ClientReq) Equals(other *ClientReq) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Func != other.Func { + return false + } + if p.Cid != other.Cid { + return false + } + if bytes.Compare(p.Info, other.Info) != 0 { + return false + } + if p.SessionId != other.SessionId { + return false + } + if p.GatewayId != other.GatewayId { + return false + } + if p.UserId != other.UserId { + return false + } + if p.UserBase != other.UserBase { + return false + } + return true +} + +func (p *ClientReq) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ClientReq(%+v)", *p) +} + +func (p *ClientReq) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ClientReq", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ClientReq)(nil) + +func (p *ClientReq) Validate() error { + return nil +} + +// Attributes: +// - Func +// - Cid +// - Info +// +type ClientRes struct { + Func string `thrift:"func,1" db:"func" json:"func"` + Cid string `thrift:"cid,2" db:"cid" json:"cid"` + Info []byte `thrift:"info,3" db:"info" json:"info"` +} + +func NewClientRes() *ClientRes { + return &ClientRes{} +} + +func (p *ClientRes) GetFunc() string { + return p.Func +} + +func (p *ClientRes) GetCid() string { + return p.Cid +} + +func (p *ClientRes) GetInfo() []byte { + return p.Info +} + +func (p *ClientRes) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ClientRes) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Func = v + } + return nil +} + +func (p *ClientRes) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Cid = v + } + return nil +} + +func (p *ClientRes) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBinary(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Info = v + } + return nil +} + +func (p *ClientRes) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ClientRes"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ClientRes) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "func", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:func: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Func)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.func (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:func: ", p), err) + } + return err +} + +func (p *ClientRes) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "cid", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:cid: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Cid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.cid (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:cid: ", p), err) + } + return err +} + +func (p *ClientRes) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "info", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:info: ", p), err) + } + if err := oprot.WriteBinary(ctx, p.Info); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.info (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:info: ", p), err) + } + return err +} + +func (p *ClientRes) Equals(other *ClientRes) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Func != other.Func { + return false + } + if p.Cid != other.Cid { + return false + } + if bytes.Compare(p.Info, other.Info) != 0 { + return false + } + return true +} + +func (p *ClientRes) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ClientRes(%+v)", *p) +} + +func (p *ClientRes) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ClientRes", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ClientRes)(nil) + +func (p *ClientRes) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Items +// +type CollectItem struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Items []*ItemInfo `thrift:"Items,2" db:"Items" json:"Items"` +} + +func NewCollectItem() *CollectItem { + return &CollectItem{} +} + +func (p *CollectItem) GetId() int32 { + return p.Id +} + +func (p *CollectItem) GetItems() []*ItemInfo { + return p.Items +} + +func (p *CollectItem) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *CollectItem) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *CollectItem) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem20 := &ItemInfo{} + if err := _elem20.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem20), err) + } + p.Items = append(p.Items, _elem20) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *CollectItem) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "CollectItem"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *CollectItem) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *CollectItem) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Items: ", p), err) + } + return err +} + +func (p *CollectItem) Equals(other *CollectItem) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src21 := other.Items[i] + if !_tgt.Equals(_src21) { + return false + } + } + return true +} + +func (p *CollectItem) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CollectItem(%+v)", *p) +} + +func (p *CollectItem) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.CollectItem", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*CollectItem)(nil) + +func (p *CollectItem) Validate() error { + return nil +} + +// Attributes: +// - Status +// - UnLock +// - Progress +// - Items +// - Id +// - Index +// +type DailyTask struct { + Status int32 `thrift:"Status,1" db:"Status" json:"Status"` + UnLock bool `thrift:"UnLock,2" db:"UnLock" json:"UnLock"` + Progress *QuestProgress `thrift:"Progress,3" db:"Progress" json:"Progress"` + Items []*ItemInfo `thrift:"Items,4" db:"Items" json:"Items"` + Id int32 `thrift:"Id,5" db:"Id" json:"Id"` + Index int32 `thrift:"Index,6" db:"Index" json:"Index"` +} + +func NewDailyTask() *DailyTask { + return &DailyTask{} +} + +func (p *DailyTask) GetStatus() int32 { + return p.Status +} + +func (p *DailyTask) GetUnLock() bool { + return p.UnLock +} + +var DailyTask_Progress_DEFAULT *QuestProgress + +func (p *DailyTask) GetProgress() *QuestProgress { + if !p.IsSetProgress() { + return DailyTask_Progress_DEFAULT + } + return p.Progress +} + +func (p *DailyTask) GetItems() []*ItemInfo { + return p.Items +} + +func (p *DailyTask) GetId() int32 { + return p.Id +} + +func (p *DailyTask) GetIndex() int32 { + return p.Index +} + +func (p *DailyTask) IsSetProgress() bool { + return p.Progress != nil +} + +func (p *DailyTask) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *DailyTask) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *DailyTask) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.UnLock = v + } + return nil +} + +func (p *DailyTask) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + p.Progress = &QuestProgress{} + if err := p.Progress.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Progress), err) + } + return nil +} + +func (p *DailyTask) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem22 := &ItemInfo{} + if err := _elem22.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem22), err) + } + p.Items = append(p.Items, _elem22) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *DailyTask) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *DailyTask) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.Index = v + } + return nil +} + +func (p *DailyTask) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "DailyTask"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *DailyTask) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Status: ", p), err) + } + return err +} + +func (p *DailyTask) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "UnLock", thrift.BOOL, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:UnLock: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.UnLock)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.UnLock (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:UnLock: ", p), err) + } + return err +} + +func (p *DailyTask) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Progress", thrift.STRUCT, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Progress: ", p), err) + } + if err := p.Progress.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Progress), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Progress: ", p), err) + } + return err +} + +func (p *DailyTask) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Items: ", p), err) + } + return err +} + +func (p *DailyTask) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Id: ", p), err) + } + return err +} + +func (p *DailyTask) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Index", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Index: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Index)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Index (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Index: ", p), err) + } + return err +} + +func (p *DailyTask) Equals(other *DailyTask) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Status != other.Status { + return false + } + if p.UnLock != other.UnLock { + return false + } + if !p.Progress.Equals(other.Progress) { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src23 := other.Items[i] + if !_tgt.Equals(_src23) { + return false + } + } + if p.Id != other.Id { + return false + } + if p.Index != other.Index { + return false + } + return true +} + +func (p *DailyTask) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("DailyTask(%+v)", *p) +} + +func (p *DailyTask) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.DailyTask", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*DailyTask)(nil) + +func (p *DailyTask) Validate() error { + return nil +} + +// Attributes: +// - Items +// - Status +// - NeedActive +// +type DailyWeek struct { + Items []*ItemInfo `thrift:"Items,1" db:"Items" json:"Items"` + Status bool `thrift:"Status,2" db:"Status" json:"Status"` + NeedActive int32 `thrift:"NeedActive,3" db:"NeedActive" json:"NeedActive"` +} + +func NewDailyWeek() *DailyWeek { + return &DailyWeek{} +} + +func (p *DailyWeek) GetItems() []*ItemInfo { + return p.Items +} + +func (p *DailyWeek) GetStatus() bool { + return p.Status +} + +func (p *DailyWeek) GetNeedActive() int32 { + return p.NeedActive +} + +func (p *DailyWeek) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *DailyWeek) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem24 := &ItemInfo{} + if err := _elem24.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem24), err) + } + p.Items = append(p.Items, _elem24) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *DailyWeek) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *DailyWeek) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.NeedActive = v + } + return nil +} + +func (p *DailyWeek) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "DailyWeek"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *DailyWeek) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Items: ", p), err) + } + return err +} + +func (p *DailyWeek) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.BOOL, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Status: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Status: ", p), err) + } + return err +} + +func (p *DailyWeek) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "NeedActive", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:NeedActive: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.NeedActive)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.NeedActive (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:NeedActive: ", p), err) + } + return err +} + +func (p *DailyWeek) Equals(other *DailyWeek) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src25 := other.Items[i] + if !_tgt.Equals(_src25) { + return false + } + } + if p.Status != other.Status { + return false + } + if p.NeedActive != other.NeedActive { + return false + } + return true +} + +func (p *DailyWeek) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("DailyWeek(%+v)", *p) +} + +func (p *DailyWeek) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.DailyWeek", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*DailyWeek)(nil) + +func (p *DailyWeek) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Items +// +type DecoratePart struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Items []*ItemInfo `thrift:"Items,2" db:"Items" json:"Items"` +} + +func NewDecoratePart() *DecoratePart { + return &DecoratePart{} +} + +func (p *DecoratePart) GetId() int32 { + return p.Id +} + +func (p *DecoratePart) GetItems() []*ItemInfo { + return p.Items +} + +func (p *DecoratePart) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *DecoratePart) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *DecoratePart) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem26 := &ItemInfo{} + if err := _elem26.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem26), err) + } + p.Items = append(p.Items, _elem26) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *DecoratePart) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "DecoratePart"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *DecoratePart) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *DecoratePart) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Items: ", p), err) + } + return err +} + +func (p *DecoratePart) Equals(other *DecoratePart) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src27 := other.Items[i] + if !_tgt.Equals(_src27) { + return false + } + } + return true +} + +func (p *DecoratePart) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("DecoratePart(%+v)", *p) +} + +func (p *DecoratePart) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.DecoratePart", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*DecoratePart)(nil) + +func (p *DecoratePart) Validate() error { + return nil +} + +// Attributes: +// - Id +// - EndTime +// - AddTime +// +type EmojiInfo struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + EndTime int64 `thrift:"EndTime,2" db:"EndTime" json:"EndTime"` + AddTime int64 `thrift:"AddTime,3" db:"AddTime" json:"AddTime"` +} + +func NewEmojiInfo() *EmojiInfo { + return &EmojiInfo{} +} + +func (p *EmojiInfo) GetId() int32 { + return p.Id +} + +func (p *EmojiInfo) GetEndTime() int64 { + return p.EndTime +} + +func (p *EmojiInfo) GetAddTime() int64 { + return p.AddTime +} + +func (p *EmojiInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *EmojiInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *EmojiInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *EmojiInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.AddTime = v + } + return nil +} + +func (p *EmojiInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "EmojiInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *EmojiInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *EmojiInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:EndTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:EndTime: ", p), err) + } + return err +} + +func (p *EmojiInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AddTime", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:AddTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.AddTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AddTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:AddTime: ", p), err) + } + return err +} + +func (p *EmojiInfo) Equals(other *EmojiInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.AddTime != other.AddTime { + return false + } + return true +} + +func (p *EmojiInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("EmojiInfo(%+v)", *p) +} + +func (p *EmojiInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.EmojiInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*EmojiInfo)(nil) + +func (p *EmojiInfo) Validate() error { + return nil +} + +// Attributes: +// - Id +// - EndTime +// - AddTime +// +type FaceInfo struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + EndTime int64 `thrift:"EndTime,2" db:"EndTime" json:"EndTime"` + AddTime int64 `thrift:"AddTime,3" db:"AddTime" json:"AddTime"` +} + +func NewFaceInfo() *FaceInfo { + return &FaceInfo{} +} + +func (p *FaceInfo) GetId() int32 { + return p.Id +} + +func (p *FaceInfo) GetEndTime() int64 { + return p.EndTime +} + +func (p *FaceInfo) GetAddTime() int64 { + return p.AddTime +} + +func (p *FaceInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *FaceInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *FaceInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *FaceInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.AddTime = v + } + return nil +} + +func (p *FaceInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "FaceInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *FaceInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *FaceInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:EndTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:EndTime: ", p), err) + } + return err +} + +func (p *FaceInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AddTime", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:AddTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.AddTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AddTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:AddTime: ", p), err) + } + return err +} + +func (p *FaceInfo) Equals(other *FaceInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.AddTime != other.AddTime { + return false + } + return true +} + +func (p *FaceInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("FaceInfo(%+v)", *p) +} + +func (p *FaceInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.FaceInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*FaceInfo)(nil) + +func (p *FaceInfo) Validate() error { + return nil +} + +type ForceKickOut struct { +} + +func NewForceKickOut() *ForceKickOut { + return &ForceKickOut{} +} + +func (p *ForceKickOut) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ForceKickOut) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ForceKickOut"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ForceKickOut) Equals(other *ForceKickOut) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ForceKickOut) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ForceKickOut(%+v)", *p) +} + +func (p *ForceKickOut) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ForceKickOut", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ForceKickOut)(nil) + +func (p *ForceKickOut) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Type +// - Items +// +type FriendBubbleInfo struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Type int32 `thrift:"Type,2" db:"Type" json:"Type"` + Items []*ItemInfo `thrift:"Items,3" db:"Items" json:"Items"` +} + +func NewFriendBubbleInfo() *FriendBubbleInfo { + return &FriendBubbleInfo{} +} + +func (p *FriendBubbleInfo) GetId() int32 { + return p.Id +} + +func (p *FriendBubbleInfo) GetType() int32 { + return p.Type +} + +func (p *FriendBubbleInfo) GetItems() []*ItemInfo { + return p.Items +} + +func (p *FriendBubbleInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *FriendBubbleInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *FriendBubbleInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *FriendBubbleInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem28 := &ItemInfo{} + if err := _elem28.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem28), err) + } + p.Items = append(p.Items, _elem28) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *FriendBubbleInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "FriendBubbleInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *FriendBubbleInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *FriendBubbleInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Type: ", p), err) + } + return err +} + +func (p *FriendBubbleInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Items: ", p), err) + } + return err +} + +func (p *FriendBubbleInfo) Equals(other *FriendBubbleInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Type != other.Type { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src29 := other.Items[i] + if !_tgt.Equals(_src29) { + return false + } + } + return true +} + +func (p *FriendBubbleInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("FriendBubbleInfo(%+v)", *p) +} + +func (p *FriendBubbleInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.FriendBubbleInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*FriendBubbleInfo)(nil) + +func (p *FriendBubbleInfo) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - Name +// - Face +// - Avatar +// - Times +// +type FriendRoom struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + Name string `thrift:"Name,2" db:"Name" json:"Name"` + Face int32 `thrift:"Face,3" db:"Face" json:"Face"` + Avatar int32 `thrift:"Avatar,4" db:"Avatar" json:"Avatar"` + Times int32 `thrift:"Times,5" db:"Times" json:"Times"` +} + +func NewFriendRoom() *FriendRoom { + return &FriendRoom{} +} + +func (p *FriendRoom) GetUid() int64 { + return p.Uid +} + +func (p *FriendRoom) GetName() string { + return p.Name +} + +func (p *FriendRoom) GetFace() int32 { + return p.Face +} + +func (p *FriendRoom) GetAvatar() int32 { + return p.Avatar +} + +func (p *FriendRoom) GetTimes() int32 { + return p.Times +} + +func (p *FriendRoom) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *FriendRoom) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *FriendRoom) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Name = v + } + return nil +} + +func (p *FriendRoom) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Face = v + } + return nil +} + +func (p *FriendRoom) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Avatar = v + } + return nil +} + +func (p *FriendRoom) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Times = v + } + return nil +} + +func (p *FriendRoom) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "FriendRoom"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *FriendRoom) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *FriendRoom) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Name", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Name: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Name)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Name (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Name: ", p), err) + } + return err +} + +func (p *FriendRoom) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Face", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Face: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Face)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Face (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Face: ", p), err) + } + return err +} + +func (p *FriendRoom) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Avatar", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Avatar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Avatar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Avatar (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Avatar: ", p), err) + } + return err +} + +func (p *FriendRoom) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Times", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Times: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Times)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Times (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Times: ", p), err) + } + return err +} + +func (p *FriendRoom) Equals(other *FriendRoom) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.Name != other.Name { + return false + } + if p.Face != other.Face { + return false + } + if p.Avatar != other.Avatar { + return false + } + if p.Times != other.Times { + return false + } + return true +} + +func (p *FriendRoom) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("FriendRoom(%+v)", *p) +} + +func (p *FriendRoom) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.FriendRoom", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*FriendRoom)(nil) + +func (p *FriendRoom) Validate() error { + return nil +} + +// Attributes: +// - Map +// +type GuessColorInfo struct { + Map map[int32]int32 `thrift:"Map,1" db:"Map" json:"Map"` +} + +func NewGuessColorInfo() *GuessColorInfo { + return &GuessColorInfo{} +} + +func (p *GuessColorInfo) GetMap() map[int32]int32 { + return p.Map +} + +func (p *GuessColorInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *GuessColorInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Map = tMap + for i := 0; i < size; i++ { + var _key30 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key30 = v + } + var _val31 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val31 = v + } + p.Map[_key30] = _val31 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *GuessColorInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "GuessColorInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *GuessColorInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Map", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Map: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Map)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Map { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Map: ", p), err) + } + return err +} + +func (p *GuessColorInfo) Equals(other *GuessColorInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Map) != len(other.Map) { + return false + } + for k, _tgt := range p.Map { + _src32 := other.Map[k] + if _tgt != _src32 { + return false + } + } + return true +} + +func (p *GuessColorInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("GuessColorInfo(%+v)", *p) +} + +func (p *GuessColorInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.GuessColorInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*GuessColorInfo)(nil) + +func (p *GuessColorInfo) Validate() error { + return nil +} + +// Attributes: +// - Status +// - Progress +// - Id +// +type GuideTask struct { + Status int32 `thrift:"Status,1" db:"Status" json:"Status"` + Progress *QuestProgress `thrift:"Progress,2" db:"Progress" json:"Progress"` + Id int32 `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewGuideTask() *GuideTask { + return &GuideTask{} +} + +func (p *GuideTask) GetStatus() int32 { + return p.Status +} + +var GuideTask_Progress_DEFAULT *QuestProgress + +func (p *GuideTask) GetProgress() *QuestProgress { + if !p.IsSetProgress() { + return GuideTask_Progress_DEFAULT + } + return p.Progress +} + +func (p *GuideTask) GetId() int32 { + return p.Id +} + +func (p *GuideTask) IsSetProgress() bool { + return p.Progress != nil +} + +func (p *GuideTask) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *GuideTask) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *GuideTask) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + p.Progress = &QuestProgress{} + if err := p.Progress.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Progress), err) + } + return nil +} + +func (p *GuideTask) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *GuideTask) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "GuideTask"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *GuideTask) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Status: ", p), err) + } + return err +} + +func (p *GuideTask) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Progress", thrift.STRUCT, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Progress: ", p), err) + } + if err := p.Progress.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Progress), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Progress: ", p), err) + } + return err +} + +func (p *GuideTask) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *GuideTask) Equals(other *GuideTask) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Status != other.Status { + return false + } + if !p.Progress.Equals(other.Progress) { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *GuideTask) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("GuideTask(%+v)", *p) +} + +func (p *GuideTask) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.GuideTask", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*GuideTask)(nil) + +func (p *GuideTask) Validate() error { + return nil +} + +// Attributes: +// - Handbooks +// - Collect +// +type Handbook struct { + Handbooks []*HandbookInfo `thrift:"Handbooks,1" db:"Handbooks" json:"Handbooks"` + Collect []string `thrift:"Collect,2" db:"Collect" json:"Collect"` +} + +func NewHandbook() *Handbook { + return &Handbook{} +} + +func (p *Handbook) GetHandbooks() []*HandbookInfo { + return p.Handbooks +} + +func (p *Handbook) GetCollect() []string { + return p.Collect +} + +func (p *Handbook) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *Handbook) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*HandbookInfo, 0, size) + p.Handbooks = tSlice + for i := 0; i < size; i++ { + _elem33 := &HandbookInfo{} + if err := _elem33.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem33), err) + } + p.Handbooks = append(p.Handbooks, _elem33) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *Handbook) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]string, 0, size) + p.Collect = tSlice + for i := 0; i < size; i++ { + var _elem34 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem34 = v + } + p.Collect = append(p.Collect, _elem34) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *Handbook) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "Handbook"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *Handbook) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Handbooks", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Handbooks: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Handbooks)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Handbooks { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Handbooks: ", p), err) + } + return err +} + +func (p *Handbook) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Collect", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Collect: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.Collect)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Collect { + if err := oprot.WriteString(ctx, string(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Collect: ", p), err) + } + return err +} + +func (p *Handbook) Equals(other *Handbook) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Handbooks) != len(other.Handbooks) { + return false + } + for i, _tgt := range p.Handbooks { + _src35 := other.Handbooks[i] + if !_tgt.Equals(_src35) { + return false + } + } + if len(p.Collect) != len(other.Collect) { + return false + } + for i, _tgt := range p.Collect { + _src36 := other.Collect[i] + if _tgt != _src36 { + return false + } + } + return true +} + +func (p *Handbook) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("Handbook(%+v)", *p) +} + +func (p *Handbook) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.Handbook", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*Handbook)(nil) + +func (p *Handbook) Validate() error { + return nil +} + +// Attributes: +// - ChessId +// - Status +// +type HandbookInfo struct { + ChessId int32 `thrift:"ChessId,1" db:"ChessId" json:"ChessId"` + Status int32 `thrift:"Status,2" db:"Status" json:"Status"` +} + +func NewHandbookInfo() *HandbookInfo { + return &HandbookInfo{} +} + +func (p *HandbookInfo) GetChessId() int32 { + return p.ChessId +} + +func (p *HandbookInfo) GetStatus() int32 { + return p.Status +} + +func (p *HandbookInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *HandbookInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ChessId = v + } + return nil +} + +func (p *HandbookInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *HandbookInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "HandbookInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *HandbookInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChessId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChessId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ChessId: ", p), err) + } + return err +} + +func (p *HandbookInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Status: ", p), err) + } + return err +} + +func (p *HandbookInfo) Equals(other *HandbookInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ChessId != other.ChessId { + return false + } + if p.Status != other.Status { + return false + } + return true +} + +func (p *HandbookInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("HandbookInfo(%+v)", *p) +} + +func (p *HandbookInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.HandbookInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*HandbookInfo)(nil) + +func (p *HandbookInfo) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Num +// +type ItemInfo struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Num int32 `thrift:"Num,2" db:"Num" json:"Num"` +} + +func NewItemInfo() *ItemInfo { + return &ItemInfo{} +} + +func (p *ItemInfo) GetId() int32 { + return p.Id +} + +func (p *ItemInfo) GetNum() int32 { + return p.Num +} + +func (p *ItemInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ItemInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ItemInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Num = v + } + return nil +} + +func (p *ItemInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ItemInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ItemInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ItemInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Num", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Num: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Num)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Num (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Num: ", p), err) + } + return err +} + +func (p *ItemInfo) Equals(other *ItemInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Num != other.Num { + return false + } + return true +} + +func (p *ItemInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ItemInfo(%+v)", *p) +} + +func (p *ItemInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ItemInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ItemInfo)(nil) + +func (p *ItemInfo) Validate() error { + return nil +} + +// Attributes: +// - List +// +type ItemList struct { + List []*ItemInfo `thrift:"List,1" db:"List" json:"List"` +} + +func NewItemList() *ItemList { + return &ItemList{} +} + +func (p *ItemList) GetList() []*ItemInfo { + return p.List +} + +func (p *ItemList) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ItemList) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.List = tSlice + for i := 0; i < size; i++ { + _elem37 := &ItemInfo{} + if err := _elem37.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem37), err) + } + p.List = append(p.List, _elem37) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ItemList) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ItemList"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ItemList) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "List", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:List: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.List)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.List { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:List: ", p), err) + } + return err +} + +func (p *ItemList) Equals(other *ItemList) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.List) != len(other.List) { + return false + } + for i, _tgt := range p.List { + _src38 := other.List[i] + if !_tgt.Equals(_src38) { + return false + } + } + return true +} + +func (p *ItemList) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ItemList(%+v)", *p) +} + +func (p *ItemList) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ItemList", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ItemList)(nil) + +func (p *ItemList) Validate() error { + return nil +} + +// Attributes: +// - Item +// +type ItemNotify struct { + Item map[int32]int32 `thrift:"Item,1" db:"Item" json:"Item"` +} + +func NewItemNotify() *ItemNotify { + return &ItemNotify{} +} + +func (p *ItemNotify) GetItem() map[int32]int32 { + return p.Item +} + +func (p *ItemNotify) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ItemNotify) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Item = tMap + for i := 0; i < size; i++ { + var _key39 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key39 = v + } + var _val40 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val40 = v + } + p.Item[_key39] = _val40 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ItemNotify) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ItemNotify"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ItemNotify) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Item", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Item: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Item)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Item { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Item: ", p), err) + } + return err +} + +func (p *ItemNotify) Equals(other *ItemNotify) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Item) != len(other.Item) { + return false + } + for k, _tgt := range p.Item { + _src41 := other.Item[k] + if _tgt != _src41 { + return false + } + } + return true +} + +func (p *ItemNotify) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ItemNotify(%+v)", *p) +} + +func (p *ItemNotify) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ItemNotify", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ItemNotify)(nil) + +func (p *ItemNotify) Validate() error { + return nil +} + +// Attributes: +// - EndTime +// - Cd +// - Mul +// - StartTime +// - Param +// - ShowTime +// +type LimitEvent struct { + EndTime int32 `thrift:"EndTime,1" db:"EndTime" json:"EndTime"` + Cd int32 `thrift:"Cd,2" db:"Cd" json:"Cd"` + Mul float64 `thrift:"mul,3" db:"mul" json:"mul"` + StartTime int32 `thrift:"StartTime,4" db:"StartTime" json:"StartTime"` + Param map[string]int32 `thrift:"Param,5" db:"Param" json:"Param"` + ShowTime int32 `thrift:"ShowTime,6" db:"ShowTime" json:"ShowTime"` +} + +func NewLimitEvent() *LimitEvent { + return &LimitEvent{} +} + +func (p *LimitEvent) GetEndTime() int32 { + return p.EndTime +} + +func (p *LimitEvent) GetCd() int32 { + return p.Cd +} + +func (p *LimitEvent) GetMul() float64 { + return p.Mul +} + +func (p *LimitEvent) GetStartTime() int32 { + return p.StartTime +} + +func (p *LimitEvent) GetParam() map[string]int32 { + return p.Param +} + +func (p *LimitEvent) GetShowTime() int32 { + return p.ShowTime +} + +func (p *LimitEvent) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.DOUBLE { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.MAP { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *LimitEvent) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *LimitEvent) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Cd = v + } + return nil +} + +func (p *LimitEvent) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadDouble(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Mul = v + } + return nil +} + +func (p *LimitEvent) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.StartTime = v + } + return nil +} + +func (p *LimitEvent) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.Param = tMap + for i := 0; i < size; i++ { + var _key42 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key42 = v + } + var _val43 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val43 = v + } + p.Param[_key42] = _val43 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *LimitEvent) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.ShowTime = v + } + return nil +} + +func (p *LimitEvent) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "LimitEvent"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *LimitEvent) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:EndTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:EndTime: ", p), err) + } + return err +} + +func (p *LimitEvent) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Cd", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Cd: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Cd)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Cd (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Cd: ", p), err) + } + return err +} + +func (p *LimitEvent) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "mul", thrift.DOUBLE, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:mul: ", p), err) + } + if err := oprot.WriteDouble(ctx, float64(p.Mul)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.mul (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:mul: ", p), err) + } + return err +} + +func (p *LimitEvent) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "StartTime", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:StartTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.StartTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.StartTime (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:StartTime: ", p), err) + } + return err +} + +func (p *LimitEvent) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Param", thrift.MAP, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Param: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.Param)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Param { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Param: ", p), err) + } + return err +} + +func (p *LimitEvent) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ShowTime", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:ShowTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ShowTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ShowTime (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:ShowTime: ", p), err) + } + return err +} + +func (p *LimitEvent) Equals(other *LimitEvent) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.Cd != other.Cd { + return false + } + if p.Mul != other.Mul { + return false + } + if p.StartTime != other.StartTime { + return false + } + if len(p.Param) != len(other.Param) { + return false + } + for k, _tgt := range p.Param { + _src44 := other.Param[k] + if _tgt != _src44 { + return false + } + } + if p.ShowTime != other.ShowTime { + return false + } + return true +} + +func (p *LimitEvent) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("LimitEvent(%+v)", *p) +} + +func (p *LimitEvent) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.LimitEvent", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*LimitEvent)(nil) + +func (p *LimitEvent) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Type +// - EndTime +// - Cd +// +type LimitEventNotify struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Type int32 `thrift:"Type,2" db:"Type" json:"Type"` + EndTime int32 `thrift:"EndTime,3" db:"EndTime" json:"EndTime"` + Cd int32 `thrift:"Cd,4" db:"Cd" json:"Cd"` +} + +func NewLimitEventNotify() *LimitEventNotify { + return &LimitEventNotify{} +} + +func (p *LimitEventNotify) GetId() int32 { + return p.Id +} + +func (p *LimitEventNotify) GetType() int32 { + return p.Type +} + +func (p *LimitEventNotify) GetEndTime() int32 { + return p.EndTime +} + +func (p *LimitEventNotify) GetCd() int32 { + return p.Cd +} + +func (p *LimitEventNotify) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *LimitEventNotify) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *LimitEventNotify) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *LimitEventNotify) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *LimitEventNotify) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Cd = v + } + return nil +} + +func (p *LimitEventNotify) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "LimitEventNotify"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *LimitEventNotify) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *LimitEventNotify) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Type: ", p), err) + } + return err +} + +func (p *LimitEventNotify) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:EndTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:EndTime: ", p), err) + } + return err +} + +func (p *LimitEventNotify) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Cd", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Cd: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Cd)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Cd (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Cd: ", p), err) + } + return err +} + +func (p *LimitEventNotify) Equals(other *LimitEventNotify) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Type != other.Type { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.Cd != other.Cd { + return false + } + return true +} + +func (p *LimitEventNotify) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("LimitEventNotify(%+v)", *p) +} + +func (p *LimitEventNotify) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.LimitEventNotify", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*LimitEventNotify)(nil) + +func (p *LimitEventNotify) Validate() error { + return nil +} + +// Attributes: +// - WorkTime +// - RemainTime +// +type LogoutPetWork struct { + WorkTime int64 `thrift:"WorkTime,1" db:"WorkTime" json:"WorkTime"` + RemainTime int64 `thrift:"RemainTime,2" db:"RemainTime" json:"RemainTime"` +} + +func NewLogoutPetWork() *LogoutPetWork { + return &LogoutPetWork{} +} + +func (p *LogoutPetWork) GetWorkTime() int64 { + return p.WorkTime +} + +func (p *LogoutPetWork) GetRemainTime() int64 { + return p.RemainTime +} + +func (p *LogoutPetWork) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *LogoutPetWork) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.WorkTime = v + } + return nil +} + +func (p *LogoutPetWork) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.RemainTime = v + } + return nil +} + +func (p *LogoutPetWork) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "LogoutPetWork"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *LogoutPetWork) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "WorkTime", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:WorkTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.WorkTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.WorkTime (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:WorkTime: ", p), err) + } + return err +} + +func (p *LogoutPetWork) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "RemainTime", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:RemainTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.RemainTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.RemainTime (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:RemainTime: ", p), err) + } + return err +} + +func (p *LogoutPetWork) Equals(other *LogoutPetWork) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.WorkTime != other.WorkTime { + return false + } + if p.RemainTime != other.RemainTime { + return false + } + return true +} + +func (p *LogoutPetWork) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("LogoutPetWork(%+v)", *p) +} + +func (p *LogoutPetWork) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.LogoutPetWork", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*LogoutPetWork)(nil) + +func (p *LogoutPetWork) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Title +// - Content +// - Time +// - Status +// - Items +// - Type +// - TitleEn +// - ContentEn +// - SubTitle +// - SubTitleEn +// - TitlePtBr +// - ContentPtBr +// - SubTitlePtBr +// - TitleEsLa +// - SubTitleEsLa +// - ContentEsLa +// +type MailInfo struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Title string `thrift:"Title,2" db:"Title" json:"Title"` + Content string `thrift:"Content,3" db:"Content" json:"Content"` + Time int32 `thrift:"Time,4" db:"Time" json:"Time"` + Status int32 `thrift:"Status,5" db:"Status" json:"Status"` + Items []*ItemInfo `thrift:"Items,6" db:"Items" json:"Items"` + Type int32 `thrift:"Type,7" db:"Type" json:"Type"` + TitleEn string `thrift:"TitleEn,8" db:"TitleEn" json:"TitleEn"` + ContentEn string `thrift:"ContentEn,9" db:"ContentEn" json:"ContentEn"` + SubTitle string `thrift:"SubTitle,10" db:"SubTitle" json:"SubTitle"` + SubTitleEn string `thrift:"SubTitleEn,11" db:"SubTitleEn" json:"SubTitleEn"` + TitlePtBr string `thrift:"TitlePtBr,12" db:"TitlePtBr" json:"TitlePtBr"` + ContentPtBr string `thrift:"ContentPtBr,13" db:"ContentPtBr" json:"ContentPtBr"` + SubTitlePtBr string `thrift:"SubTitlePtBr,14" db:"SubTitlePtBr" json:"SubTitlePtBr"` + TitleEsLa string `thrift:"TitleEsLa,15" db:"TitleEsLa" json:"TitleEsLa"` + SubTitleEsLa string `thrift:"SubTitleEsLa,16" db:"SubTitleEsLa" json:"SubTitleEsLa"` + ContentEsLa string `thrift:"ContentEsLa,17" db:"ContentEsLa" json:"ContentEsLa"` +} + +func NewMailInfo() *MailInfo { + return &MailInfo{} +} + +func (p *MailInfo) GetId() int32 { + return p.Id +} + +func (p *MailInfo) GetTitle() string { + return p.Title +} + +func (p *MailInfo) GetContent() string { + return p.Content +} + +func (p *MailInfo) GetTime() int32 { + return p.Time +} + +func (p *MailInfo) GetStatus() int32 { + return p.Status +} + +func (p *MailInfo) GetItems() []*ItemInfo { + return p.Items +} + +func (p *MailInfo) GetType() int32 { + return p.Type +} + +func (p *MailInfo) GetTitleEn() string { + return p.TitleEn +} + +func (p *MailInfo) GetContentEn() string { + return p.ContentEn +} + +func (p *MailInfo) GetSubTitle() string { + return p.SubTitle +} + +func (p *MailInfo) GetSubTitleEn() string { + return p.SubTitleEn +} + +func (p *MailInfo) GetTitlePtBr() string { + return p.TitlePtBr +} + +func (p *MailInfo) GetContentPtBr() string { + return p.ContentPtBr +} + +func (p *MailInfo) GetSubTitlePtBr() string { + return p.SubTitlePtBr +} + +func (p *MailInfo) GetTitleEsLa() string { + return p.TitleEsLa +} + +func (p *MailInfo) GetSubTitleEsLa() string { + return p.SubTitleEsLa +} + +func (p *MailInfo) GetContentEsLa() string { + return p.ContentEsLa +} + +func (p *MailInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.LIST { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.I32 { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.STRING { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.STRING { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.STRING { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 11: + if fieldTypeId == thrift.STRING { + if err := p.ReadField11(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 12: + if fieldTypeId == thrift.STRING { + if err := p.ReadField12(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 13: + if fieldTypeId == thrift.STRING { + if err := p.ReadField13(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 14: + if fieldTypeId == thrift.STRING { + if err := p.ReadField14(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 15: + if fieldTypeId == thrift.STRING { + if err := p.ReadField15(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 16: + if fieldTypeId == thrift.STRING { + if err := p.ReadField16(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 17: + if fieldTypeId == thrift.STRING { + if err := p.ReadField17(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *MailInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *MailInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Title = v + } + return nil +} + +func (p *MailInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Content = v + } + return nil +} + +func (p *MailInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Time = v + } + return nil +} + +func (p *MailInfo) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *MailInfo) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem45 := &ItemInfo{} + if err := _elem45.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem45), err) + } + p.Items = append(p.Items, _elem45) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *MailInfo) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *MailInfo) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.TitleEn = v + } + return nil +} + +func (p *MailInfo) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 9: ", err) + } else { + p.ContentEn = v + } + return nil +} + +func (p *MailInfo) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 10: ", err) + } else { + p.SubTitle = v + } + return nil +} + +func (p *MailInfo) ReadField11(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 11: ", err) + } else { + p.SubTitleEn = v + } + return nil +} + +func (p *MailInfo) ReadField12(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 12: ", err) + } else { + p.TitlePtBr = v + } + return nil +} + +func (p *MailInfo) ReadField13(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 13: ", err) + } else { + p.ContentPtBr = v + } + return nil +} + +func (p *MailInfo) ReadField14(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 14: ", err) + } else { + p.SubTitlePtBr = v + } + return nil +} + +func (p *MailInfo) ReadField15(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 15: ", err) + } else { + p.TitleEsLa = v + } + return nil +} + +func (p *MailInfo) ReadField16(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 16: ", err) + } else { + p.SubTitleEsLa = v + } + return nil +} + +func (p *MailInfo) ReadField17(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 17: ", err) + } else { + p.ContentEsLa = v + } + return nil +} + +func (p *MailInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "MailInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + if err := p.writeField11(ctx, oprot); err != nil { + return err + } + if err := p.writeField12(ctx, oprot); err != nil { + return err + } + if err := p.writeField13(ctx, oprot); err != nil { + return err + } + if err := p.writeField14(ctx, oprot); err != nil { + return err + } + if err := p.writeField15(ctx, oprot); err != nil { + return err + } + if err := p.writeField16(ctx, oprot); err != nil { + return err + } + if err := p.writeField17(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *MailInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *MailInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Title", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Title: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Title)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Title (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Title: ", p), err) + } + return err +} + +func (p *MailInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Content", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Content: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Content)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Content (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Content: ", p), err) + } + return err +} + +func (p *MailInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Time", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Time: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Time)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Time (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Time: ", p), err) + } + return err +} + +func (p *MailInfo) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Status: ", p), err) + } + return err +} + +func (p *MailInfo) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Items: ", p), err) + } + return err +} + +func (p *MailInfo) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:Type: ", p), err) + } + return err +} + +func (p *MailInfo) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "TitleEn", thrift.STRING, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:TitleEn: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.TitleEn)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.TitleEn (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:TitleEn: ", p), err) + } + return err +} + +func (p *MailInfo) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ContentEn", thrift.STRING, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:ContentEn: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.ContentEn)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ContentEn (9) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:ContentEn: ", p), err) + } + return err +} + +func (p *MailInfo) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "SubTitle", thrift.STRING, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:SubTitle: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.SubTitle)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.SubTitle (10) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:SubTitle: ", p), err) + } + return err +} + +func (p *MailInfo) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "SubTitleEn", thrift.STRING, 11); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:SubTitleEn: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.SubTitleEn)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.SubTitleEn (11) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 11:SubTitleEn: ", p), err) + } + return err +} + +func (p *MailInfo) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "TitlePtBr", thrift.STRING, 12); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:TitlePtBr: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.TitlePtBr)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.TitlePtBr (12) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 12:TitlePtBr: ", p), err) + } + return err +} + +func (p *MailInfo) writeField13(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ContentPtBr", thrift.STRING, 13); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 13:ContentPtBr: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.ContentPtBr)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ContentPtBr (13) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 13:ContentPtBr: ", p), err) + } + return err +} + +func (p *MailInfo) writeField14(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "SubTitlePtBr", thrift.STRING, 14); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 14:SubTitlePtBr: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.SubTitlePtBr)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.SubTitlePtBr (14) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 14:SubTitlePtBr: ", p), err) + } + return err +} + +func (p *MailInfo) writeField15(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "TitleEsLa", thrift.STRING, 15); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 15:TitleEsLa: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.TitleEsLa)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.TitleEsLa (15) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 15:TitleEsLa: ", p), err) + } + return err +} + +func (p *MailInfo) writeField16(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "SubTitleEsLa", thrift.STRING, 16); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 16:SubTitleEsLa: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.SubTitleEsLa)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.SubTitleEsLa (16) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 16:SubTitleEsLa: ", p), err) + } + return err +} + +func (p *MailInfo) writeField17(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ContentEsLa", thrift.STRING, 17); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 17:ContentEsLa: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.ContentEsLa)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ContentEsLa (17) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 17:ContentEsLa: ", p), err) + } + return err +} + +func (p *MailInfo) Equals(other *MailInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Title != other.Title { + return false + } + if p.Content != other.Content { + return false + } + if p.Time != other.Time { + return false + } + if p.Status != other.Status { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src46 := other.Items[i] + if !_tgt.Equals(_src46) { + return false + } + } + if p.Type != other.Type { + return false + } + if p.TitleEn != other.TitleEn { + return false + } + if p.ContentEn != other.ContentEn { + return false + } + if p.SubTitle != other.SubTitle { + return false + } + if p.SubTitleEn != other.SubTitleEn { + return false + } + if p.TitlePtBr != other.TitlePtBr { + return false + } + if p.ContentPtBr != other.ContentPtBr { + return false + } + if p.SubTitlePtBr != other.SubTitlePtBr { + return false + } + if p.TitleEsLa != other.TitleEsLa { + return false + } + if p.SubTitleEsLa != other.SubTitleEsLa { + return false + } + if p.ContentEsLa != other.ContentEsLa { + return false + } + return true +} + +func (p *MailInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("MailInfo(%+v)", *p) +} + +func (p *MailInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.MailInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*MailInfo)(nil) + +func (p *MailInfo) Validate() error { + return nil +} + +// Attributes: +// - Info +// +type MailNotify struct { + Info *MailInfo `thrift:"Info,1" db:"Info" json:"Info"` +} + +func NewMailNotify() *MailNotify { + return &MailNotify{} +} + +var MailNotify_Info_DEFAULT *MailInfo + +func (p *MailNotify) GetInfo() *MailInfo { + if !p.IsSetInfo() { + return MailNotify_Info_DEFAULT + } + return p.Info +} + +func (p *MailNotify) IsSetInfo() bool { + return p.Info != nil +} + +func (p *MailNotify) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *MailNotify) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Info = &MailInfo{} + if err := p.Info.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Info), err) + } + return nil +} + +func (p *MailNotify) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "MailNotify"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *MailNotify) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Info", thrift.STRUCT, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Info: ", p), err) + } + if err := p.Info.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Info), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Info: ", p), err) + } + return err +} + +func (p *MailNotify) Equals(other *MailNotify) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if !p.Info.Equals(other.Info) { + return false + } + return true +} + +func (p *MailNotify) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("MailNotify(%+v)", *p) +} + +func (p *MailNotify) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.MailNotify", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*MailNotify)(nil) + +func (p *MailNotify) Validate() error { + return nil +} + +// Attributes: +// - Area +// +type MinigCfgGem struct { + Area string `thrift:"Area,1" db:"Area" json:"Area"` +} + +func NewMinigCfgGem() *MinigCfgGem { + return &MinigCfgGem{} +} + +func (p *MinigCfgGem) GetArea() string { + return p.Area +} + +func (p *MinigCfgGem) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *MinigCfgGem) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Area = v + } + return nil +} + +func (p *MinigCfgGem) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "MinigCfgGem"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *MinigCfgGem) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Area", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Area: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Area)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Area (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Area: ", p), err) + } + return err +} + +func (p *MinigCfgGem) Equals(other *MinigCfgGem) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Area != other.Area { + return false + } + return true +} + +func (p *MinigCfgGem) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("MinigCfgGem(%+v)", *p) +} + +func (p *MinigCfgGem) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.MinigCfgGem", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*MinigCfgGem)(nil) + +func (p *MinigCfgGem) Validate() error { + return nil +} + +// Attributes: +// - Name +// - PassNum +// - ItemCost +// - ItemId +// - StartItemnum +// - Gem +// - Jackpot +// - Pass +// +type MiningCfg struct { + Name string `thrift:"Name,1" db:"Name" json:"Name"` + PassNum int32 `thrift:"PassNum,2" db:"PassNum" json:"PassNum"` + ItemCost []*ItemInfo `thrift:"itemCost,3" db:"itemCost" json:"itemCost"` + ItemId int32 `thrift:"ItemId,4" db:"ItemId" json:"ItemId"` + StartItemnum int32 `thrift:"startItemnum,5" db:"startItemnum" json:"startItemnum"` + Gem map[string]*MinigCfgGem `thrift:"Gem,6" db:"Gem" json:"Gem"` + Jackpot map[string]*MiningCfgJackpot `thrift:"Jackpot,7" db:"Jackpot" json:"Jackpot"` + Pass map[string]*MiningCfgPass `thrift:"Pass,8" db:"Pass" json:"Pass"` +} + +func NewMiningCfg() *MiningCfg { + return &MiningCfg{} +} + +func (p *MiningCfg) GetName() string { + return p.Name +} + +func (p *MiningCfg) GetPassNum() int32 { + return p.PassNum +} + +func (p *MiningCfg) GetItemCost() []*ItemInfo { + return p.ItemCost +} + +func (p *MiningCfg) GetItemId() int32 { + return p.ItemId +} + +func (p *MiningCfg) GetStartItemnum() int32 { + return p.StartItemnum +} + +func (p *MiningCfg) GetGem() map[string]*MinigCfgGem { + return p.Gem +} + +func (p *MiningCfg) GetJackpot() map[string]*MiningCfgJackpot { + return p.Jackpot +} + +func (p *MiningCfg) GetPass() map[string]*MiningCfgPass { + return p.Pass +} + +func (p *MiningCfg) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.MAP { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.MAP { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.MAP { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *MiningCfg) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Name = v + } + return nil +} + +func (p *MiningCfg) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.PassNum = v + } + return nil +} + +func (p *MiningCfg) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.ItemCost = tSlice + for i := 0; i < size; i++ { + _elem47 := &ItemInfo{} + if err := _elem47.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem47), err) + } + p.ItemCost = append(p.ItemCost, _elem47) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *MiningCfg) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.ItemId = v + } + return nil +} + +func (p *MiningCfg) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.StartItemnum = v + } + return nil +} + +func (p *MiningCfg) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]*MinigCfgGem, size) + p.Gem = tMap + for i := 0; i < size; i++ { + var _key48 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key48 = v + } + _val49 := &MinigCfgGem{} + if err := _val49.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val49), err) + } + p.Gem[_key48] = _val49 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *MiningCfg) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]*MiningCfgJackpot, size) + p.Jackpot = tMap + for i := 0; i < size; i++ { + var _key50 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key50 = v + } + _val51 := &MiningCfgJackpot{} + if err := _val51.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val51), err) + } + p.Jackpot[_key50] = _val51 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *MiningCfg) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]*MiningCfgPass, size) + p.Pass = tMap + for i := 0; i < size; i++ { + var _key52 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key52 = v + } + _val53 := &MiningCfgPass{} + if err := _val53.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val53), err) + } + p.Pass[_key52] = _val53 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *MiningCfg) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "MiningCfg"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *MiningCfg) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Name", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Name: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Name)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Name (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Name: ", p), err) + } + return err +} + +func (p *MiningCfg) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PassNum", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:PassNum: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.PassNum)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.PassNum (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:PassNum: ", p), err) + } + return err +} + +func (p *MiningCfg) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "itemCost", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:itemCost: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.ItemCost)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ItemCost { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:itemCost: ", p), err) + } + return err +} + +func (p *MiningCfg) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ItemId", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:ItemId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ItemId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ItemId (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:ItemId: ", p), err) + } + return err +} + +func (p *MiningCfg) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "startItemnum", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:startItemnum: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.StartItemnum)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.startItemnum (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:startItemnum: ", p), err) + } + return err +} + +func (p *MiningCfg) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Gem", thrift.MAP, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Gem: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRUCT, len(p.Gem)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Gem { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Gem: ", p), err) + } + return err +} + +func (p *MiningCfg) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Jackpot", thrift.MAP, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:Jackpot: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRUCT, len(p.Jackpot)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Jackpot { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:Jackpot: ", p), err) + } + return err +} + +func (p *MiningCfg) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Pass", thrift.MAP, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:Pass: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRUCT, len(p.Pass)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Pass { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:Pass: ", p), err) + } + return err +} + +func (p *MiningCfg) Equals(other *MiningCfg) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Name != other.Name { + return false + } + if p.PassNum != other.PassNum { + return false + } + if len(p.ItemCost) != len(other.ItemCost) { + return false + } + for i, _tgt := range p.ItemCost { + _src54 := other.ItemCost[i] + if !_tgt.Equals(_src54) { + return false + } + } + if p.ItemId != other.ItemId { + return false + } + if p.StartItemnum != other.StartItemnum { + return false + } + if len(p.Gem) != len(other.Gem) { + return false + } + for k, _tgt := range p.Gem { + _src55 := other.Gem[k] + if !_tgt.Equals(_src55) { + return false + } + } + if len(p.Jackpot) != len(other.Jackpot) { + return false + } + for k, _tgt := range p.Jackpot { + _src56 := other.Jackpot[k] + if !_tgt.Equals(_src56) { + return false + } + } + if len(p.Pass) != len(other.Pass) { + return false + } + for k, _tgt := range p.Pass { + _src57 := other.Pass[k] + if !_tgt.Equals(_src57) { + return false + } + } + return true +} + +func (p *MiningCfg) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("MiningCfg(%+v)", *p) +} + +func (p *MiningCfg) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.MiningCfg", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*MiningCfg)(nil) + +func (p *MiningCfg) Validate() error { + return nil +} + +// Attributes: +// - Prob +// - Items +// +type MiningCfgJackpot struct { + Prob int32 `thrift:"Prob,1" db:"Prob" json:"Prob"` + Items []*ItemInfo `thrift:"Items,2" db:"Items" json:"Items"` +} + +func NewMiningCfgJackpot() *MiningCfgJackpot { + return &MiningCfgJackpot{} +} + +func (p *MiningCfgJackpot) GetProb() int32 { + return p.Prob +} + +func (p *MiningCfgJackpot) GetItems() []*ItemInfo { + return p.Items +} + +func (p *MiningCfgJackpot) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *MiningCfgJackpot) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Prob = v + } + return nil +} + +func (p *MiningCfgJackpot) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem58 := &ItemInfo{} + if err := _elem58.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem58), err) + } + p.Items = append(p.Items, _elem58) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *MiningCfgJackpot) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "MiningCfgJackpot"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *MiningCfgJackpot) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Prob", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Prob: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Prob)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Prob (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Prob: ", p), err) + } + return err +} + +func (p *MiningCfgJackpot) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Items: ", p), err) + } + return err +} + +func (p *MiningCfgJackpot) Equals(other *MiningCfgJackpot) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Prob != other.Prob { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src59 := other.Items[i] + if !_tgt.Equals(_src59) { + return false + } + } + return true +} + +func (p *MiningCfgJackpot) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("MiningCfgJackpot(%+v)", *p) +} + +func (p *MiningCfgJackpot) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.MiningCfgJackpot", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*MiningCfgJackpot)(nil) + +func (p *MiningCfgJackpot) Validate() error { + return nil +} + +// Attributes: +// - Items +// - Area +// - Gem +// - StarReward +// +type MiningCfgPass struct { + Items []*ItemInfo `thrift:"Items,1" db:"Items" json:"Items"` + Area string `thrift:"Area,2" db:"Area" json:"Area"` + Gem int32 `thrift:"Gem,3" db:"Gem" json:"Gem"` + StarReward int32 `thrift:"StarReward,4" db:"StarReward" json:"StarReward"` +} + +func NewMiningCfgPass() *MiningCfgPass { + return &MiningCfgPass{} +} + +func (p *MiningCfgPass) GetItems() []*ItemInfo { + return p.Items +} + +func (p *MiningCfgPass) GetArea() string { + return p.Area +} + +func (p *MiningCfgPass) GetGem() int32 { + return p.Gem +} + +func (p *MiningCfgPass) GetStarReward() int32 { + return p.StarReward +} + +func (p *MiningCfgPass) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *MiningCfgPass) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem60 := &ItemInfo{} + if err := _elem60.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem60), err) + } + p.Items = append(p.Items, _elem60) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *MiningCfgPass) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Area = v + } + return nil +} + +func (p *MiningCfgPass) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Gem = v + } + return nil +} + +func (p *MiningCfgPass) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.StarReward = v + } + return nil +} + +func (p *MiningCfgPass) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "MiningCfgPass"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *MiningCfgPass) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Items: ", p), err) + } + return err +} + +func (p *MiningCfgPass) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Area", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Area: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Area)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Area (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Area: ", p), err) + } + return err +} + +func (p *MiningCfgPass) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Gem", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Gem: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Gem)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Gem (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Gem: ", p), err) + } + return err +} + +func (p *MiningCfgPass) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "StarReward", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:StarReward: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.StarReward)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.StarReward (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:StarReward: ", p), err) + } + return err +} + +func (p *MiningCfgPass) Equals(other *MiningCfgPass) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src61 := other.Items[i] + if !_tgt.Equals(_src61) { + return false + } + } + if p.Area != other.Area { + return false + } + if p.Gem != other.Gem { + return false + } + if p.StarReward != other.StarReward { + return false + } + return true +} + +func (p *MiningCfgPass) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("MiningCfgPass(%+v)", *p) +} + +func (p *MiningCfgPass) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.MiningCfgPass", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*MiningCfgPass)(nil) + +func (p *MiningCfgPass) Validate() error { + return nil +} + +// Attributes: +// - WorkOutline +// +type NofiPlayroomStatus struct { + WorkOutline int32 `thrift:"WorkOutline,1" db:"WorkOutline" json:"WorkOutline"` +} + +func NewNofiPlayroomStatus() *NofiPlayroomStatus { + return &NofiPlayroomStatus{} +} + +func (p *NofiPlayroomStatus) GetWorkOutline() int32 { + return p.WorkOutline +} + +func (p *NofiPlayroomStatus) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *NofiPlayroomStatus) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.WorkOutline = v + } + return nil +} + +func (p *NofiPlayroomStatus) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "NofiPlayroomStatus"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *NofiPlayroomStatus) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "WorkOutline", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:WorkOutline: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.WorkOutline)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.WorkOutline (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:WorkOutline: ", p), err) + } + return err +} + +func (p *NofiPlayroomStatus) Equals(other *NofiPlayroomStatus) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.WorkOutline != other.WorkOutline { + return false + } + return true +} + +func (p *NofiPlayroomStatus) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("NofiPlayroomStatus(%+v)", *p) +} + +func (p *NofiPlayroomStatus) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.NofiPlayroomStatus", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*NofiPlayroomStatus)(nil) + +func (p *NofiPlayroomStatus) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Red +// +type NotifyActRed struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Red int32 `thrift:"Red,2" db:"Red" json:"Red"` +} + +func NewNotifyActRed() *NotifyActRed { + return &NotifyActRed{} +} + +func (p *NotifyActRed) GetId() int32 { + return p.Id +} + +func (p *NotifyActRed) GetRed() int32 { + return p.Red +} + +func (p *NotifyActRed) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *NotifyActRed) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *NotifyActRed) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Red = v + } + return nil +} + +func (p *NotifyActRed) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "NotifyActRed"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *NotifyActRed) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *NotifyActRed) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Red", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Red: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Red)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Red (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Red: ", p), err) + } + return err +} + +func (p *NotifyActRed) Equals(other *NotifyActRed) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Red != other.Red { + return false + } + return true +} + +func (p *NotifyActRed) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("NotifyActRed(%+v)", *p) +} + +func (p *NotifyActRed) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.NotifyActRed", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*NotifyActRed)(nil) + +func (p *NotifyActRed) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - AddCnt +// +type NotifyAddEnergy struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + AddCnt int32 `thrift:"addCnt,2" db:"addCnt" json:"addCnt"` +} + +func NewNotifyAddEnergy() *NotifyAddEnergy { + return &NotifyAddEnergy{} +} + +func (p *NotifyAddEnergy) GetDwUin() int64 { + return p.DwUin +} + +func (p *NotifyAddEnergy) GetAddCnt() int32 { + return p.AddCnt +} + +func (p *NotifyAddEnergy) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *NotifyAddEnergy) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *NotifyAddEnergy) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.AddCnt = v + } + return nil +} + +func (p *NotifyAddEnergy) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "NotifyAddEnergy"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *NotifyAddEnergy) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *NotifyAddEnergy) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "addCnt", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:addCnt: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.AddCnt)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.addCnt (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:addCnt: ", p), err) + } + return err +} + +func (p *NotifyAddEnergy) Equals(other *NotifyAddEnergy) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.AddCnt != other.AddCnt { + return false + } + return true +} + +func (p *NotifyAddEnergy) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("NotifyAddEnergy(%+v)", *p) +} + +func (p *NotifyAddEnergy) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.NotifyAddEnergy", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*NotifyAddEnergy)(nil) + +func (p *NotifyAddEnergy) Validate() error { + return nil +} + +// Attributes: +// - Info +// +type NotifyFriendCard struct { + Info *ResFriendCard `thrift:"Info,1" db:"Info" json:"Info"` +} + +func NewNotifyFriendCard() *NotifyFriendCard { + return &NotifyFriendCard{} +} + +var NotifyFriendCard_Info_DEFAULT *ResFriendCard + +func (p *NotifyFriendCard) GetInfo() *ResFriendCard { + if !p.IsSetInfo() { + return NotifyFriendCard_Info_DEFAULT + } + return p.Info +} + +func (p *NotifyFriendCard) IsSetInfo() bool { + return p.Info != nil +} + +func (p *NotifyFriendCard) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *NotifyFriendCard) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Info = &ResFriendCard{} + if err := p.Info.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Info), err) + } + return nil +} + +func (p *NotifyFriendCard) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "NotifyFriendCard"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *NotifyFriendCard) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Info", thrift.STRUCT, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Info: ", p), err) + } + if err := p.Info.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Info), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Info: ", p), err) + } + return err +} + +func (p *NotifyFriendCard) Equals(other *NotifyFriendCard) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if !p.Info.Equals(other.Info) { + return false + } + return true +} + +func (p *NotifyFriendCard) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("NotifyFriendCard(%+v)", *p) +} + +func (p *NotifyFriendCard) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.NotifyFriendCard", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*NotifyFriendCard)(nil) + +func (p *NotifyFriendCard) Validate() error { + return nil +} + +// Attributes: +// - Info +// - Bubble +// +type NotifyFriendLog struct { + Info *ResFriendLog `thrift:"info,1" db:"info" json:"info"` + Bubble *FriendBubbleInfo `thrift:"Bubble,2" db:"Bubble" json:"Bubble"` +} + +func NewNotifyFriendLog() *NotifyFriendLog { + return &NotifyFriendLog{} +} + +var NotifyFriendLog_Info_DEFAULT *ResFriendLog + +func (p *NotifyFriendLog) GetInfo() *ResFriendLog { + if !p.IsSetInfo() { + return NotifyFriendLog_Info_DEFAULT + } + return p.Info +} + +var NotifyFriendLog_Bubble_DEFAULT *FriendBubbleInfo + +func (p *NotifyFriendLog) GetBubble() *FriendBubbleInfo { + if !p.IsSetBubble() { + return NotifyFriendLog_Bubble_DEFAULT + } + return p.Bubble +} + +func (p *NotifyFriendLog) IsSetInfo() bool { + return p.Info != nil +} + +func (p *NotifyFriendLog) IsSetBubble() bool { + return p.Bubble != nil +} + +func (p *NotifyFriendLog) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *NotifyFriendLog) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Info = &ResFriendLog{} + if err := p.Info.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Info), err) + } + return nil +} + +func (p *NotifyFriendLog) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + p.Bubble = &FriendBubbleInfo{} + if err := p.Bubble.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Bubble), err) + } + return nil +} + +func (p *NotifyFriendLog) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "NotifyFriendLog"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *NotifyFriendLog) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "info", thrift.STRUCT, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:info: ", p), err) + } + if err := p.Info.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Info), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:info: ", p), err) + } + return err +} + +func (p *NotifyFriendLog) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Bubble", thrift.STRUCT, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Bubble: ", p), err) + } + if err := p.Bubble.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Bubble), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Bubble: ", p), err) + } + return err +} + +func (p *NotifyFriendLog) Equals(other *NotifyFriendLog) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if !p.Info.Equals(other.Info) { + return false + } + if !p.Bubble.Equals(other.Bubble) { + return false + } + return true +} + +func (p *NotifyFriendLog) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("NotifyFriendLog(%+v)", *p) +} + +func (p *NotifyFriendLog) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.NotifyFriendLog", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*NotifyFriendLog)(nil) + +func (p *NotifyFriendLog) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// - IdLists +// +type NotifyInvitedSuccess struct { + ResultCode int32 `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` + IdLists []int32 `thrift:"IdLists,2" db:"IdLists" json:"IdLists"` +} + +func NewNotifyInvitedSuccess() *NotifyInvitedSuccess { + return &NotifyInvitedSuccess{} +} + +func (p *NotifyInvitedSuccess) GetResultCode() int32 { + return p.ResultCode +} + +func (p *NotifyInvitedSuccess) GetIdLists() []int32 { + return p.IdLists +} + +func (p *NotifyInvitedSuccess) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *NotifyInvitedSuccess) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ResultCode = v + } + return nil +} + +func (p *NotifyInvitedSuccess) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.IdLists = tSlice + for i := 0; i < size; i++ { + var _elem62 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem62 = v + } + p.IdLists = append(p.IdLists, _elem62) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *NotifyInvitedSuccess) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "NotifyInvitedSuccess"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *NotifyInvitedSuccess) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *NotifyInvitedSuccess) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "IdLists", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:IdLists: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.IdLists)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.IdLists { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:IdLists: ", p), err) + } + return err +} + +func (p *NotifyInvitedSuccess) Equals(other *NotifyInvitedSuccess) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + if len(p.IdLists) != len(other.IdLists) { + return false + } + for i, _tgt := range p.IdLists { + _src63 := other.IdLists[i] + if _tgt != _src63 { + return false + } + } + return true +} + +func (p *NotifyInvitedSuccess) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("NotifyInvitedSuccess(%+v)", *p) +} + +func (p *NotifyInvitedSuccess) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.NotifyInvitedSuccess", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*NotifyInvitedSuccess)(nil) + +func (p *NotifyInvitedSuccess) Validate() error { + return nil +} + +// Attributes: +// - Player +// +type NotifyPlayroomBroken struct { + Player *ResPlayerSimple `thrift:"Player,1" db:"Player" json:"Player"` +} + +func NewNotifyPlayroomBroken() *NotifyPlayroomBroken { + return &NotifyPlayroomBroken{} +} + +var NotifyPlayroomBroken_Player_DEFAULT *ResPlayerSimple + +func (p *NotifyPlayroomBroken) GetPlayer() *ResPlayerSimple { + if !p.IsSetPlayer() { + return NotifyPlayroomBroken_Player_DEFAULT + } + return p.Player +} + +func (p *NotifyPlayroomBroken) IsSetPlayer() bool { + return p.Player != nil +} + +func (p *NotifyPlayroomBroken) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *NotifyPlayroomBroken) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Player = &ResPlayerSimple{} + if err := p.Player.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Player), err) + } + return nil +} + +func (p *NotifyPlayroomBroken) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "NotifyPlayroomBroken"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *NotifyPlayroomBroken) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Player", thrift.STRUCT, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Player: ", p), err) + } + if err := p.Player.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Player), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Player: ", p), err) + } + return err +} + +func (p *NotifyPlayroomBroken) Equals(other *NotifyPlayroomBroken) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if !p.Player.Equals(other.Player) { + return false + } + return true +} + +func (p *NotifyPlayroomBroken) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("NotifyPlayroomBroken(%+v)", *p) +} + +func (p *NotifyPlayroomBroken) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.NotifyPlayroomBroken", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*NotifyPlayroomBroken)(nil) + +func (p *NotifyPlayroomBroken) Validate() error { + return nil +} + +// Attributes: +// - Kiss +// +type NotifyPlayroomKiss struct { + Kiss int32 `thrift:"Kiss,1" db:"Kiss" json:"Kiss"` +} + +func NewNotifyPlayroomKiss() *NotifyPlayroomKiss { + return &NotifyPlayroomKiss{} +} + +func (p *NotifyPlayroomKiss) GetKiss() int32 { + return p.Kiss +} + +func (p *NotifyPlayroomKiss) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *NotifyPlayroomKiss) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Kiss = v + } + return nil +} + +func (p *NotifyPlayroomKiss) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "NotifyPlayroomKiss"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *NotifyPlayroomKiss) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Kiss", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Kiss: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Kiss)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Kiss (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Kiss: ", p), err) + } + return err +} + +func (p *NotifyPlayroomKiss) Equals(other *NotifyPlayroomKiss) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Kiss != other.Kiss { + return false + } + return true +} + +func (p *NotifyPlayroomKiss) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("NotifyPlayroomKiss(%+v)", *p) +} + +func (p *NotifyPlayroomKiss) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.NotifyPlayroomKiss", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*NotifyPlayroomKiss)(nil) + +func (p *NotifyPlayroomKiss) Validate() error { + return nil +} + +// Attributes: +// - LoseItem +// - Chip +// - Revenge +// +type NotifyPlayroomLose struct { + LoseItem []*ItemInfo `thrift:"LoseItem,1" db:"LoseItem" json:"LoseItem"` + Chip []*ChipInfo `thrift:"Chip,2" db:"Chip" json:"Chip"` + Revenge int64 `thrift:"Revenge,3" db:"Revenge" json:"Revenge"` +} + +func NewNotifyPlayroomLose() *NotifyPlayroomLose { + return &NotifyPlayroomLose{} +} + +func (p *NotifyPlayroomLose) GetLoseItem() []*ItemInfo { + return p.LoseItem +} + +func (p *NotifyPlayroomLose) GetChip() []*ChipInfo { + return p.Chip +} + +func (p *NotifyPlayroomLose) GetRevenge() int64 { + return p.Revenge +} + +func (p *NotifyPlayroomLose) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *NotifyPlayroomLose) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.LoseItem = tSlice + for i := 0; i < size; i++ { + _elem64 := &ItemInfo{} + if err := _elem64.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem64), err) + } + p.LoseItem = append(p.LoseItem, _elem64) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *NotifyPlayroomLose) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ChipInfo, 0, size) + p.Chip = tSlice + for i := 0; i < size; i++ { + _elem65 := &ChipInfo{} + if err := _elem65.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem65), err) + } + p.Chip = append(p.Chip, _elem65) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *NotifyPlayroomLose) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Revenge = v + } + return nil +} + +func (p *NotifyPlayroomLose) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "NotifyPlayroomLose"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *NotifyPlayroomLose) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "LoseItem", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:LoseItem: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.LoseItem)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.LoseItem { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:LoseItem: ", p), err) + } + return err +} + +func (p *NotifyPlayroomLose) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Chip", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Chip: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Chip)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Chip { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Chip: ", p), err) + } + return err +} + +func (p *NotifyPlayroomLose) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Revenge", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Revenge: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Revenge)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Revenge (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Revenge: ", p), err) + } + return err +} + +func (p *NotifyPlayroomLose) Equals(other *NotifyPlayroomLose) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.LoseItem) != len(other.LoseItem) { + return false + } + for i, _tgt := range p.LoseItem { + _src66 := other.LoseItem[i] + if !_tgt.Equals(_src66) { + return false + } + } + if len(p.Chip) != len(other.Chip) { + return false + } + for i, _tgt := range p.Chip { + _src67 := other.Chip[i] + if !_tgt.Equals(_src67) { + return false + } + } + if p.Revenge != other.Revenge { + return false + } + return true +} + +func (p *NotifyPlayroomLose) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("NotifyPlayroomLose(%+v)", *p) +} + +func (p *NotifyPlayroomLose) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.NotifyPlayroomLose", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*NotifyPlayroomLose)(nil) + +func (p *NotifyPlayroomLose) Validate() error { + return nil +} + +// Attributes: +// - AllMood +// - Mood +// - Physiology +// - AdItem +// +type NotifyPlayroomMood struct { + AllMood int32 `thrift:"AllMood,1" db:"AllMood" json:"AllMood"` + Mood map[int32]int32 `thrift:"Mood,2" db:"Mood" json:"Mood"` + Physiology map[int32]int32 `thrift:"Physiology,3" db:"Physiology" json:"Physiology"` + AdItem []*AdItem `thrift:"AdItem,4" db:"AdItem" json:"AdItem"` +} + +func NewNotifyPlayroomMood() *NotifyPlayroomMood { + return &NotifyPlayroomMood{} +} + +func (p *NotifyPlayroomMood) GetAllMood() int32 { + return p.AllMood +} + +func (p *NotifyPlayroomMood) GetMood() map[int32]int32 { + return p.Mood +} + +func (p *NotifyPlayroomMood) GetPhysiology() map[int32]int32 { + return p.Physiology +} + +func (p *NotifyPlayroomMood) GetAdItem() []*AdItem { + return p.AdItem +} + +func (p *NotifyPlayroomMood) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.MAP { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *NotifyPlayroomMood) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.AllMood = v + } + return nil +} + +func (p *NotifyPlayroomMood) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Mood = tMap + for i := 0; i < size; i++ { + var _key68 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key68 = v + } + var _val69 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val69 = v + } + p.Mood[_key68] = _val69 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *NotifyPlayroomMood) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Physiology = tMap + for i := 0; i < size; i++ { + var _key70 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key70 = v + } + var _val71 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val71 = v + } + p.Physiology[_key70] = _val71 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *NotifyPlayroomMood) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*AdItem, 0, size) + p.AdItem = tSlice + for i := 0; i < size; i++ { + _elem72 := &AdItem{} + if err := _elem72.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem72), err) + } + p.AdItem = append(p.AdItem, _elem72) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *NotifyPlayroomMood) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "NotifyPlayroomMood"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *NotifyPlayroomMood) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AllMood", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:AllMood: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.AllMood)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AllMood (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:AllMood: ", p), err) + } + return err +} + +func (p *NotifyPlayroomMood) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Mood", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Mood: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Mood)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Mood { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Mood: ", p), err) + } + return err +} + +func (p *NotifyPlayroomMood) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Physiology", thrift.MAP, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Physiology: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Physiology)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Physiology { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Physiology: ", p), err) + } + return err +} + +func (p *NotifyPlayroomMood) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AdItem", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:AdItem: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.AdItem)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.AdItem { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:AdItem: ", p), err) + } + return err +} + +func (p *NotifyPlayroomMood) Equals(other *NotifyPlayroomMood) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.AllMood != other.AllMood { + return false + } + if len(p.Mood) != len(other.Mood) { + return false + } + for k, _tgt := range p.Mood { + _src73 := other.Mood[k] + if _tgt != _src73 { + return false + } + } + if len(p.Physiology) != len(other.Physiology) { + return false + } + for k, _tgt := range p.Physiology { + _src74 := other.Physiology[k] + if _tgt != _src74 { + return false + } + } + if len(p.AdItem) != len(other.AdItem) { + return false + } + for i, _tgt := range p.AdItem { + _src75 := other.AdItem[i] + if !_tgt.Equals(_src75) { + return false + } + } + return true +} + +func (p *NotifyPlayroomMood) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("NotifyPlayroomMood(%+v)", *p) +} + +func (p *NotifyPlayroomMood) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.NotifyPlayroomMood", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*NotifyPlayroomMood)(nil) + +func (p *NotifyPlayroomMood) Validate() error { + return nil +} + +// Attributes: +// - DailyTask +// - DailyTaskReward +// +type NotifyPlayroomTask struct { + DailyTask []*DailyTask `thrift:"DailyTask,1" db:"DailyTask" json:"DailyTask"` + DailyTaskReward []int32 `thrift:"DailyTaskReward,2" db:"DailyTaskReward" json:"DailyTaskReward"` +} + +func NewNotifyPlayroomTask() *NotifyPlayroomTask { + return &NotifyPlayroomTask{} +} + +func (p *NotifyPlayroomTask) GetDailyTask() []*DailyTask { + return p.DailyTask +} + +func (p *NotifyPlayroomTask) GetDailyTaskReward() []int32 { + return p.DailyTaskReward +} + +func (p *NotifyPlayroomTask) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *NotifyPlayroomTask) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*DailyTask, 0, size) + p.DailyTask = tSlice + for i := 0; i < size; i++ { + _elem76 := &DailyTask{} + if err := _elem76.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem76), err) + } + p.DailyTask = append(p.DailyTask, _elem76) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *NotifyPlayroomTask) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.DailyTaskReward = tSlice + for i := 0; i < size; i++ { + var _elem77 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem77 = v + } + p.DailyTaskReward = append(p.DailyTaskReward, _elem77) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *NotifyPlayroomTask) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "NotifyPlayroomTask"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *NotifyPlayroomTask) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "DailyTask", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:DailyTask: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.DailyTask)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.DailyTask { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:DailyTask: ", p), err) + } + return err +} + +func (p *NotifyPlayroomTask) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "DailyTaskReward", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:DailyTaskReward: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.DailyTaskReward)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.DailyTaskReward { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:DailyTaskReward: ", p), err) + } + return err +} + +func (p *NotifyPlayroomTask) Equals(other *NotifyPlayroomTask) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.DailyTask) != len(other.DailyTask) { + return false + } + for i, _tgt := range p.DailyTask { + _src78 := other.DailyTask[i] + if !_tgt.Equals(_src78) { + return false + } + } + if len(p.DailyTaskReward) != len(other.DailyTaskReward) { + return false + } + for i, _tgt := range p.DailyTaskReward { + _src79 := other.DailyTaskReward[i] + if _tgt != _src79 { + return false + } + } + return true +} + +func (p *NotifyPlayroomTask) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("NotifyPlayroomTask(%+v)", *p) +} + +func (p *NotifyPlayroomTask) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.NotifyPlayroomTask", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*NotifyPlayroomTask)(nil) + +func (p *NotifyPlayroomTask) Validate() error { + return nil +} + +// Attributes: +// - StartTime +// - WorkStatus +// +type NotifyPlayroomWork struct { + StartTime int32 `thrift:"StartTime,1" db:"StartTime" json:"StartTime"` + WorkStatus int32 `thrift:"WorkStatus,2" db:"WorkStatus" json:"WorkStatus"` +} + +func NewNotifyPlayroomWork() *NotifyPlayroomWork { + return &NotifyPlayroomWork{} +} + +func (p *NotifyPlayroomWork) GetStartTime() int32 { + return p.StartTime +} + +func (p *NotifyPlayroomWork) GetWorkStatus() int32 { + return p.WorkStatus +} + +func (p *NotifyPlayroomWork) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *NotifyPlayroomWork) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.StartTime = v + } + return nil +} + +func (p *NotifyPlayroomWork) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.WorkStatus = v + } + return nil +} + +func (p *NotifyPlayroomWork) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "NotifyPlayroomWork"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *NotifyPlayroomWork) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "StartTime", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:StartTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.StartTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.StartTime (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:StartTime: ", p), err) + } + return err +} + +func (p *NotifyPlayroomWork) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "WorkStatus", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:WorkStatus: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.WorkStatus)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.WorkStatus (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:WorkStatus: ", p), err) + } + return err +} + +func (p *NotifyPlayroomWork) Equals(other *NotifyPlayroomWork) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.StartTime != other.StartTime { + return false + } + if p.WorkStatus != other.WorkStatus { + return false + } + return true +} + +func (p *NotifyPlayroomWork) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("NotifyPlayroomWork(%+v)", *p) +} + +func (p *NotifyPlayroomWork) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.NotifyPlayroomWork", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*NotifyPlayroomWork)(nil) + +func (p *NotifyPlayroomWork) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - CurCnt +// +type NotifyRenewBuyEnergyCnt struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + CurCnt int32 `thrift:"CurCnt,2" db:"CurCnt" json:"CurCnt"` +} + +func NewNotifyRenewBuyEnergyCnt() *NotifyRenewBuyEnergyCnt { + return &NotifyRenewBuyEnergyCnt{} +} + +func (p *NotifyRenewBuyEnergyCnt) GetDwUin() int64 { + return p.DwUin +} + +func (p *NotifyRenewBuyEnergyCnt) GetCurCnt() int32 { + return p.CurCnt +} + +func (p *NotifyRenewBuyEnergyCnt) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *NotifyRenewBuyEnergyCnt) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *NotifyRenewBuyEnergyCnt) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.CurCnt = v + } + return nil +} + +func (p *NotifyRenewBuyEnergyCnt) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "NotifyRenewBuyEnergyCnt"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *NotifyRenewBuyEnergyCnt) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *NotifyRenewBuyEnergyCnt) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CurCnt", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:CurCnt: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.CurCnt)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.CurCnt (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:CurCnt: ", p), err) + } + return err +} + +func (p *NotifyRenewBuyEnergyCnt) Equals(other *NotifyRenewBuyEnergyCnt) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.CurCnt != other.CurCnt { + return false + } + return true +} + +func (p *NotifyRenewBuyEnergyCnt) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("NotifyRenewBuyEnergyCnt(%+v)", *p) +} + +func (p *NotifyRenewBuyEnergyCnt) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.NotifyRenewBuyEnergyCnt", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*NotifyRenewBuyEnergyCnt)(nil) + +func (p *NotifyRenewBuyEnergyCnt) Validate() error { + return nil +} + +// Attributes: +// - Id +// - ChessId +// - Type +// - Items +// +type Order struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + ChessId []int32 `thrift:"ChessId,2" db:"ChessId" json:"ChessId"` + Type int32 `thrift:"type,3" db:"type" json:"type"` + Items []*ItemInfo `thrift:"Items,4" db:"Items" json:"Items"` +} + +func NewOrder() *Order { + return &Order{} +} + +func (p *Order) GetId() int32 { + return p.Id +} + +func (p *Order) GetChessId() []int32 { + return p.ChessId +} + +func (p *Order) GetType() int32 { + return p.Type +} + +func (p *Order) GetItems() []*ItemInfo { + return p.Items +} + +func (p *Order) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *Order) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *Order) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.ChessId = tSlice + for i := 0; i < size; i++ { + var _elem80 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem80 = v + } + p.ChessId = append(p.ChessId, _elem80) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *Order) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *Order) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem81 := &ItemInfo{} + if err := _elem81.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem81), err) + } + p.Items = append(p.Items, _elem81) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *Order) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "Order"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *Order) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *Order) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessId", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:ChessId: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.ChessId)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ChessId { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:ChessId: ", p), err) + } + return err +} + +func (p *Order) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "type", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.type (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:type: ", p), err) + } + return err +} + +func (p *Order) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Items: ", p), err) + } + return err +} + +func (p *Order) Equals(other *Order) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if len(p.ChessId) != len(other.ChessId) { + return false + } + for i, _tgt := range p.ChessId { + _src82 := other.ChessId[i] + if _tgt != _src82 { + return false + } + } + if p.Type != other.Type { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src83 := other.Items[i] + if !_tgt.Equals(_src83) { + return false + } + } + return true +} + +func (p *Order) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("Order(%+v)", *p) +} + +func (p *Order) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.Order", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*Order)(nil) + +func (p *Order) Validate() error { + return nil +} + +// Attributes: +// - PartBagGrids +// +type PartBag struct { + PartBagGrids []*PartBagGrid `thrift:"PartBagGrids,1" db:"PartBagGrids" json:"PartBagGrids"` +} + +func NewPartBag() *PartBag { + return &PartBag{} +} + +func (p *PartBag) GetPartBagGrids() []*PartBagGrid { + return p.PartBagGrids +} + +func (p *PartBag) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *PartBag) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*PartBagGrid, 0, size) + p.PartBagGrids = tSlice + for i := 0; i < size; i++ { + _elem84 := &PartBagGrid{} + if err := _elem84.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem84), err) + } + p.PartBagGrids = append(p.PartBagGrids, _elem84) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *PartBag) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "PartBag"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *PartBag) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PartBagGrids", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:PartBagGrids: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.PartBagGrids)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.PartBagGrids { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:PartBagGrids: ", p), err) + } + return err +} + +func (p *PartBag) Equals(other *PartBag) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.PartBagGrids) != len(other.PartBagGrids) { + return false + } + for i, _tgt := range p.PartBagGrids { + _src85 := other.PartBagGrids[i] + if !_tgt.Equals(_src85) { + return false + } + } + return true +} + +func (p *PartBag) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("PartBag(%+v)", *p) +} + +func (p *PartBag) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.PartBag", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*PartBag)(nil) + +func (p *PartBag) Validate() error { + return nil +} + +// Attributes: +// - PartId +// - Count +// +type PartBagGrid struct { + PartId int32 `thrift:"PartId,1" db:"PartId" json:"PartId"` + Count int32 `thrift:"Count,2" db:"Count" json:"Count"` +} + +func NewPartBagGrid() *PartBagGrid { + return &PartBagGrid{} +} + +func (p *PartBagGrid) GetPartId() int32 { + return p.PartId +} + +func (p *PartBagGrid) GetCount() int32 { + return p.Count +} + +func (p *PartBagGrid) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *PartBagGrid) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.PartId = v + } + return nil +} + +func (p *PartBagGrid) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Count = v + } + return nil +} + +func (p *PartBagGrid) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "PartBagGrid"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *PartBagGrid) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PartId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:PartId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.PartId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.PartId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:PartId: ", p), err) + } + return err +} + +func (p *PartBagGrid) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Count", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Count: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Count)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Count (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Count: ", p), err) + } + return err +} + +func (p *PartBagGrid) Equals(other *PartBagGrid) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.PartId != other.PartId { + return false + } + if p.Count != other.Count { + return false + } + return true +} + +func (p *PartBagGrid) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("PartBagGrid(%+v)", *p) +} + +func (p *PartBagGrid) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.PartBagGrid", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*PartBagGrid)(nil) + +func (p *PartBagGrid) Validate() error { + return nil +} + +// Attributes: +// - Id +// - EndTime +// - AddTime +// - Label +// +type PlayroomAirInfo struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + EndTime int64 `thrift:"EndTime,2" db:"EndTime" json:"EndTime"` + AddTime int64 `thrift:"AddTime,3" db:"AddTime" json:"AddTime"` + Label string `thrift:"Label,4" db:"Label" json:"Label"` +} + +func NewPlayroomAirInfo() *PlayroomAirInfo { + return &PlayroomAirInfo{} +} + +func (p *PlayroomAirInfo) GetId() int32 { + return p.Id +} + +func (p *PlayroomAirInfo) GetEndTime() int64 { + return p.EndTime +} + +func (p *PlayroomAirInfo) GetAddTime() int64 { + return p.AddTime +} + +func (p *PlayroomAirInfo) GetLabel() string { + return p.Label +} + +func (p *PlayroomAirInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.STRING { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *PlayroomAirInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *PlayroomAirInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *PlayroomAirInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.AddTime = v + } + return nil +} + +func (p *PlayroomAirInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Label = v + } + return nil +} + +func (p *PlayroomAirInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "PlayroomAirInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *PlayroomAirInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *PlayroomAirInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:EndTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:EndTime: ", p), err) + } + return err +} + +func (p *PlayroomAirInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AddTime", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:AddTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.AddTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AddTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:AddTime: ", p), err) + } + return err +} + +func (p *PlayroomAirInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Label", thrift.STRING, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Label: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Label)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Label (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Label: ", p), err) + } + return err +} + +func (p *PlayroomAirInfo) Equals(other *PlayroomAirInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.AddTime != other.AddTime { + return false + } + if p.Label != other.Label { + return false + } + return true +} + +func (p *PlayroomAirInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("PlayroomAirInfo(%+v)", *p) +} + +func (p *PlayroomAirInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.PlayroomAirInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*PlayroomAirInfo)(nil) + +func (p *PlayroomAirInfo) Validate() error { + return nil +} + +// Attributes: +// - Id +// - EndTime +// - AddTime +// - Label +// +type PlayroomCollectInfo struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + EndTime int64 `thrift:"EndTime,2" db:"EndTime" json:"EndTime"` + AddTime int64 `thrift:"AddTime,3" db:"AddTime" json:"AddTime"` + Label string `thrift:"Label,4" db:"Label" json:"Label"` +} + +func NewPlayroomCollectInfo() *PlayroomCollectInfo { + return &PlayroomCollectInfo{} +} + +func (p *PlayroomCollectInfo) GetId() int32 { + return p.Id +} + +func (p *PlayroomCollectInfo) GetEndTime() int64 { + return p.EndTime +} + +func (p *PlayroomCollectInfo) GetAddTime() int64 { + return p.AddTime +} + +func (p *PlayroomCollectInfo) GetLabel() string { + return p.Label +} + +func (p *PlayroomCollectInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.STRING { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *PlayroomCollectInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *PlayroomCollectInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *PlayroomCollectInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.AddTime = v + } + return nil +} + +func (p *PlayroomCollectInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Label = v + } + return nil +} + +func (p *PlayroomCollectInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "PlayroomCollectInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *PlayroomCollectInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *PlayroomCollectInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:EndTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:EndTime: ", p), err) + } + return err +} + +func (p *PlayroomCollectInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AddTime", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:AddTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.AddTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AddTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:AddTime: ", p), err) + } + return err +} + +func (p *PlayroomCollectInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Label", thrift.STRING, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Label: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Label)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Label (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Label: ", p), err) + } + return err +} + +func (p *PlayroomCollectInfo) Equals(other *PlayroomCollectInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.AddTime != other.AddTime { + return false + } + if p.Label != other.Label { + return false + } + return true +} + +func (p *PlayroomCollectInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("PlayroomCollectInfo(%+v)", *p) +} + +func (p *PlayroomCollectInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.PlayroomCollectInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*PlayroomCollectInfo)(nil) + +func (p *PlayroomCollectInfo) Validate() error { + return nil +} + +// Attributes: +// - List +// +type PlayroomDress struct { + List []*PlayroomDressInfo `thrift:"List,1" db:"List" json:"List"` +} + +func NewPlayroomDress() *PlayroomDress { + return &PlayroomDress{} +} + +func (p *PlayroomDress) GetList() []*PlayroomDressInfo { + return p.List +} + +func (p *PlayroomDress) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *PlayroomDress) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*PlayroomDressInfo, 0, size) + p.List = tSlice + for i := 0; i < size; i++ { + _elem86 := &PlayroomDressInfo{} + if err := _elem86.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem86), err) + } + p.List = append(p.List, _elem86) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *PlayroomDress) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "PlayroomDress"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *PlayroomDress) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "List", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:List: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.List)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.List { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:List: ", p), err) + } + return err +} + +func (p *PlayroomDress) Equals(other *PlayroomDress) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.List) != len(other.List) { + return false + } + for i, _tgt := range p.List { + _src87 := other.List[i] + if !_tgt.Equals(_src87) { + return false + } + } + return true +} + +func (p *PlayroomDress) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("PlayroomDress(%+v)", *p) +} + +func (p *PlayroomDress) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.PlayroomDress", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*PlayroomDress)(nil) + +func (p *PlayroomDress) Validate() error { + return nil +} + +// Attributes: +// - Id +// - EndTime +// - AddTime +// - Label +// +type PlayroomDressInfo struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + EndTime int64 `thrift:"EndTime,2" db:"EndTime" json:"EndTime"` + AddTime int64 `thrift:"AddTime,3" db:"AddTime" json:"AddTime"` + Label string `thrift:"Label,4" db:"Label" json:"Label"` +} + +func NewPlayroomDressInfo() *PlayroomDressInfo { + return &PlayroomDressInfo{} +} + +func (p *PlayroomDressInfo) GetId() int32 { + return p.Id +} + +func (p *PlayroomDressInfo) GetEndTime() int64 { + return p.EndTime +} + +func (p *PlayroomDressInfo) GetAddTime() int64 { + return p.AddTime +} + +func (p *PlayroomDressInfo) GetLabel() string { + return p.Label +} + +func (p *PlayroomDressInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.STRING { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *PlayroomDressInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *PlayroomDressInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *PlayroomDressInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.AddTime = v + } + return nil +} + +func (p *PlayroomDressInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Label = v + } + return nil +} + +func (p *PlayroomDressInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "PlayroomDressInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *PlayroomDressInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *PlayroomDressInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:EndTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:EndTime: ", p), err) + } + return err +} + +func (p *PlayroomDressInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AddTime", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:AddTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.AddTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AddTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:AddTime: ", p), err) + } + return err +} + +func (p *PlayroomDressInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Label", thrift.STRING, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Label: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Label)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Label (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Label: ", p), err) + } + return err +} + +func (p *PlayroomDressInfo) Equals(other *PlayroomDressInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.AddTime != other.AddTime { + return false + } + if p.Label != other.Label { + return false + } + return true +} + +func (p *PlayroomDressInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("PlayroomDressInfo(%+v)", *p) +} + +func (p *PlayroomDressInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.PlayroomDressInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*PlayroomDressInfo)(nil) + +func (p *PlayroomDressInfo) Validate() error { + return nil +} + +// Attributes: +// - Label +// - Num +// - Target +// - Status +// - Param +// +type QuestProgress struct { + Label string `thrift:"Label,1" db:"Label" json:"Label"` + Num int32 `thrift:"Num,2" db:"Num" json:"Num"` + Target int32 `thrift:"Target,3" db:"Target" json:"Target"` + Status bool `thrift:"Status,4" db:"Status" json:"Status"` + Param int32 `thrift:"Param,5" db:"Param" json:"Param"` +} + +func NewQuestProgress() *QuestProgress { + return &QuestProgress{} +} + +func (p *QuestProgress) GetLabel() string { + return p.Label +} + +func (p *QuestProgress) GetNum() int32 { + return p.Num +} + +func (p *QuestProgress) GetTarget() int32 { + return p.Target +} + +func (p *QuestProgress) GetStatus() bool { + return p.Status +} + +func (p *QuestProgress) GetParam() int32 { + return p.Param +} + +func (p *QuestProgress) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *QuestProgress) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Label = v + } + return nil +} + +func (p *QuestProgress) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Num = v + } + return nil +} + +func (p *QuestProgress) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Target = v + } + return nil +} + +func (p *QuestProgress) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *QuestProgress) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Param = v + } + return nil +} + +func (p *QuestProgress) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "QuestProgress"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *QuestProgress) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Label", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Label: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Label)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Label (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Label: ", p), err) + } + return err +} + +func (p *QuestProgress) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Num", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Num: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Num)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Num (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Num: ", p), err) + } + return err +} + +func (p *QuestProgress) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Target", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Target: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Target)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Target (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Target: ", p), err) + } + return err +} + +func (p *QuestProgress) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.BOOL, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Status: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Status: ", p), err) + } + return err +} + +func (p *QuestProgress) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Param", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Param: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Param)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Param (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Param: ", p), err) + } + return err +} + +func (p *QuestProgress) Equals(other *QuestProgress) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Label != other.Label { + return false + } + if p.Num != other.Num { + return false + } + if p.Target != other.Target { + return false + } + if p.Status != other.Status { + return false + } + if p.Param != other.Param { + return false + } + return true +} + +func (p *QuestProgress) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("QuestProgress(%+v)", *p) +} + +func (p *QuestProgress) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.QuestProgress", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*QuestProgress)(nil) + +func (p *QuestProgress) Validate() error { + return nil +} + +// Attributes: +// - Type +// +type RegHandbookAllReward struct { + Type string `thrift:"Type,1" db:"Type" json:"Type"` +} + +func NewRegHandbookAllReward() *RegHandbookAllReward { + return &RegHandbookAllReward{} +} + +func (p *RegHandbookAllReward) GetType() string { + return p.Type +} + +func (p *RegHandbookAllReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *RegHandbookAllReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *RegHandbookAllReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "RegHandbookAllReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *RegHandbookAllReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Type: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Type: ", p), err) + } + return err +} + +func (p *RegHandbookAllReward) Equals(other *RegHandbookAllReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Type != other.Type { + return false + } + return true +} + +func (p *RegHandbookAllReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("RegHandbookAllReward(%+v)", *p) +} + +func (p *RegHandbookAllReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.RegHandbookAllReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*RegHandbookAllReward)(nil) + +func (p *RegHandbookAllReward) Validate() error { + return nil +} + +type ReqActPass struct { +} + +func NewReqActPass() *ReqActPass { + return &ReqActPass{} +} + +func (p *ReqActPass) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqActPass) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqActPass"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqActPass) Equals(other *ReqActPass) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqActPass) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqActPass(%+v)", *p) +} + +func (p *ReqActPass) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqActPass", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqActPass)(nil) + +func (p *ReqActPass) Validate() error { + return nil +} + +type ReqActPassReward struct { +} + +func NewReqActPassReward() *ReqActPassReward { + return &ReqActPassReward{} +} + +func (p *ReqActPassReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqActPassReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqActPassReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqActPassReward) Equals(other *ReqActPassReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqActPassReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqActPassReward(%+v)", *p) +} + +func (p *ReqActPassReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqActPassReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqActPassReward)(nil) + +func (p *ReqActPassReward) Validate() error { + return nil +} + +// Attributes: +// - List +// +type ReqActivityCfgReload struct { + List []*ActivityCfg `thrift:"List,1" db:"List" json:"List"` +} + +func NewReqActivityCfgReload() *ReqActivityCfgReload { + return &ReqActivityCfgReload{} +} + +func (p *ReqActivityCfgReload) GetList() []*ActivityCfg { + return p.List +} + +func (p *ReqActivityCfgReload) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqActivityCfgReload) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ActivityCfg, 0, size) + p.List = tSlice + for i := 0; i < size; i++ { + _elem88 := &ActivityCfg{} + if err := _elem88.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem88), err) + } + p.List = append(p.List, _elem88) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ReqActivityCfgReload) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqActivityCfgReload"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqActivityCfgReload) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "List", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:List: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.List)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.List { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:List: ", p), err) + } + return err +} + +func (p *ReqActivityCfgReload) Equals(other *ReqActivityCfgReload) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.List) != len(other.List) { + return false + } + for i, _tgt := range p.List { + _src89 := other.List[i] + if !_tgt.Equals(_src89) { + return false + } + } + return true +} + +func (p *ReqActivityCfgReload) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqActivityCfgReload(%+v)", *p) +} + +func (p *ReqActivityCfgReload) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqActivityCfgReload", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqActivityCfgReload)(nil) + +func (p *ReqActivityCfgReload) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqActivityReward struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqActivityReward() *ReqActivityReward { + return &ReqActivityReward{} +} + +func (p *ReqActivityReward) GetId() int32 { + return p.Id +} + +func (p *ReqActivityReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqActivityReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqActivityReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqActivityReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqActivityReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqActivityReward) Equals(other *ReqActivityReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqActivityReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqActivityReward(%+v)", *p) +} + +func (p *ReqActivityReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqActivityReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqActivityReward)(nil) + +func (p *ReqActivityReward) Validate() error { + return nil +} + +// Attributes: +// - Type +// +type ReqAdWatch struct { + Type int32 `thrift:"Type,1" db:"Type" json:"Type"` +} + +func NewReqAdWatch() *ReqAdWatch { + return &ReqAdWatch{} +} + +func (p *ReqAdWatch) GetType() int32 { + return p.Type +} + +func (p *ReqAdWatch) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqAdWatch) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ReqAdWatch) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqAdWatch"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqAdWatch) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Type: ", p), err) + } + return err +} + +func (p *ReqAdWatch) Equals(other *ReqAdWatch) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Type != other.Type { + return false + } + return true +} + +func (p *ReqAdWatch) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqAdWatch(%+v)", *p) +} + +func (p *ReqAdWatch) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqAdWatch", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqAdWatch)(nil) + +func (p *ReqAdWatch) Validate() error { + return nil +} + +type ReqAddGiftReward struct { +} + +func NewReqAddGiftReward() *ReqAddGiftReward { + return &ReqAddGiftReward{} +} + +func (p *ReqAddGiftReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqAddGiftReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqAddGiftReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqAddGiftReward) Equals(other *ReqAddGiftReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqAddGiftReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqAddGiftReward(%+v)", *p) +} + +func (p *ReqAddGiftReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqAddGiftReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqAddGiftReward)(nil) + +func (p *ReqAddGiftReward) Validate() error { + return nil +} + +// Attributes: +// - NpcId +// +type ReqAddNpc struct { + NpcId int32 `thrift:"NpcId,1" db:"NpcId" json:"NpcId"` +} + +func NewReqAddNpc() *ReqAddNpc { + return &ReqAddNpc{} +} + +func (p *ReqAddNpc) GetNpcId() int32 { + return p.NpcId +} + +func (p *ReqAddNpc) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqAddNpc) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.NpcId = v + } + return nil +} + +func (p *ReqAddNpc) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqAddNpc"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqAddNpc) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "NpcId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:NpcId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.NpcId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.NpcId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:NpcId: ", p), err) + } + return err +} + +func (p *ReqAddNpc) Equals(other *ReqAddNpc) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.NpcId != other.NpcId { + return false + } + return true +} + +func (p *ReqAddNpc) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqAddNpc(%+v)", *p) +} + +func (p *ReqAddNpc) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqAddNpc", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqAddNpc)(nil) + +func (p *ReqAddNpc) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Type +// +type ReqAddWish struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Type int32 `thrift:"Type,2" db:"Type" json:"Type"` +} + +func NewReqAddWish() *ReqAddWish { + return &ReqAddWish{} +} + +func (p *ReqAddWish) GetId() int32 { + return p.Id +} + +func (p *ReqAddWish) GetType() int32 { + return p.Type +} + +func (p *ReqAddWish) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqAddWish) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqAddWish) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ReqAddWish) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqAddWish"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqAddWish) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqAddWish) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Type: ", p), err) + } + return err +} + +func (p *ReqAddWish) Equals(other *ReqAddWish) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Type != other.Type { + return false + } + return true +} + +func (p *ReqAddWish) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqAddWish(%+v)", *p) +} + +func (p *ReqAddWish) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqAddWish", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqAddWish)(nil) + +func (p *ReqAddWish) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - Time +// - Reason +// +type ReqAdminBan struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + Time int64 `thrift:"Time,2" db:"Time" json:"Time"` + Reason string `thrift:"Reason,3" db:"Reason" json:"Reason"` +} + +func NewReqAdminBan() *ReqAdminBan { + return &ReqAdminBan{} +} + +func (p *ReqAdminBan) GetUid() int64 { + return p.Uid +} + +func (p *ReqAdminBan) GetTime() int64 { + return p.Time +} + +func (p *ReqAdminBan) GetReason() string { + return p.Reason +} + +func (p *ReqAdminBan) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqAdminBan) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqAdminBan) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Time = v + } + return nil +} + +func (p *ReqAdminBan) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Reason = v + } + return nil +} + +func (p *ReqAdminBan) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqAdminBan"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqAdminBan) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqAdminBan) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Time", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Time: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Time)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Time (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Time: ", p), err) + } + return err +} + +func (p *ReqAdminBan) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Reason", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Reason: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Reason)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Reason (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Reason: ", p), err) + } + return err +} + +func (p *ReqAdminBan) Equals(other *ReqAdminBan) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.Time != other.Time { + return false + } + if p.Reason != other.Reason { + return false + } + return true +} + +func (p *ReqAdminBan) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqAdminBan(%+v)", *p) +} + +func (p *ReqAdminBan) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqAdminBan", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqAdminBan)(nil) + +func (p *ReqAdminBan) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - Command +// +type ReqAdminGm struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + Command string `thrift:"Command,2" db:"Command" json:"Command"` +} + +func NewReqAdminGm() *ReqAdminGm { + return &ReqAdminGm{} +} + +func (p *ReqAdminGm) GetUid() int64 { + return p.Uid +} + +func (p *ReqAdminGm) GetCommand() string { + return p.Command +} + +func (p *ReqAdminGm) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqAdminGm) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqAdminGm) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Command = v + } + return nil +} + +func (p *ReqAdminGm) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqAdminGm"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqAdminGm) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqAdminGm) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Command", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Command: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Command)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Command (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Command: ", p), err) + } + return err +} + +func (p *ReqAdminGm) Equals(other *ReqAdminGm) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.Command != other.Command { + return false + } + return true +} + +func (p *ReqAdminGm) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqAdminGm(%+v)", *p) +} + +func (p *ReqAdminGm) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqAdminGm", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqAdminGm)(nil) + +func (p *ReqAdminGm) Validate() error { + return nil +} + +// Attributes: +// - Uid +// +type ReqAdminInfo struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` +} + +func NewReqAdminInfo() *ReqAdminInfo { + return &ReqAdminInfo{} +} + +func (p *ReqAdminInfo) GetUid() int64 { + return p.Uid +} + +func (p *ReqAdminInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqAdminInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqAdminInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqAdminInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqAdminInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqAdminInfo) Equals(other *ReqAdminInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ReqAdminInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqAdminInfo(%+v)", *p) +} + +func (p *ReqAdminInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqAdminInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqAdminInfo)(nil) + +func (p *ReqAdminInfo) Validate() error { + return nil +} + +// Attributes: +// - OrderSn +// - Status +// - ChannelOrderSn +// +type ReqAdminShipping struct { + OrderSn string `thrift:"OrderSn,1" db:"OrderSn" json:"OrderSn"` + Status int32 `thrift:"Status,2" db:"Status" json:"Status"` + ChannelOrderSn string `thrift:"ChannelOrderSn,3" db:"ChannelOrderSn" json:"ChannelOrderSn"` +} + +func NewReqAdminShipping() *ReqAdminShipping { + return &ReqAdminShipping{} +} + +func (p *ReqAdminShipping) GetOrderSn() string { + return p.OrderSn +} + +func (p *ReqAdminShipping) GetStatus() int32 { + return p.Status +} + +func (p *ReqAdminShipping) GetChannelOrderSn() string { + return p.ChannelOrderSn +} + +func (p *ReqAdminShipping) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqAdminShipping) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.OrderSn = v + } + return nil +} + +func (p *ReqAdminShipping) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ReqAdminShipping) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.ChannelOrderSn = v + } + return nil +} + +func (p *ReqAdminShipping) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqAdminShipping"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqAdminShipping) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "OrderSn", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:OrderSn: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.OrderSn)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.OrderSn (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:OrderSn: ", p), err) + } + return err +} + +func (p *ReqAdminShipping) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Status: ", p), err) + } + return err +} + +func (p *ReqAdminShipping) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChannelOrderSn", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ChannelOrderSn: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.ChannelOrderSn)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChannelOrderSn (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ChannelOrderSn: ", p), err) + } + return err +} + +func (p *ReqAdminShipping) Equals(other *ReqAdminShipping) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.OrderSn != other.OrderSn { + return false + } + if p.Status != other.Status { + return false + } + if p.ChannelOrderSn != other.ChannelOrderSn { + return false + } + return true +} + +func (p *ReqAdminShipping) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqAdminShipping(%+v)", *p) +} + +func (p *ReqAdminShipping) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqAdminShipping", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqAdminShipping)(nil) + +func (p *ReqAdminShipping) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqAgreeCardExchange struct { + Id string `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqAgreeCardExchange() *ReqAgreeCardExchange { + return &ReqAgreeCardExchange{} +} + +func (p *ReqAgreeCardExchange) GetId() string { + return p.Id +} + +func (p *ReqAgreeCardExchange) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqAgreeCardExchange) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqAgreeCardExchange) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqAgreeCardExchange"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqAgreeCardExchange) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqAgreeCardExchange) Equals(other *ReqAgreeCardExchange) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqAgreeCardExchange) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqAgreeCardExchange(%+v)", *p) +} + +func (p *ReqAgreeCardExchange) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqAgreeCardExchange", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqAgreeCardExchange)(nil) + +func (p *ReqAgreeCardExchange) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqAgreeCardGive struct { + Id string `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqAgreeCardGive() *ReqAgreeCardGive { + return &ReqAgreeCardGive{} +} + +func (p *ReqAgreeCardGive) GetId() string { + return p.Id +} + +func (p *ReqAgreeCardGive) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqAgreeCardGive) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqAgreeCardGive) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqAgreeCardGive"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqAgreeCardGive) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqAgreeCardGive) Equals(other *ReqAgreeCardGive) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqAgreeCardGive) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqAgreeCardGive(%+v)", *p) +} + +func (p *ReqAgreeCardGive) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqAgreeCardGive", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqAgreeCardGive)(nil) + +func (p *ReqAgreeCardGive) Validate() error { + return nil +} + +// Attributes: +// - Uid +// +type ReqAgreeFriend struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` +} + +func NewReqAgreeFriend() *ReqAgreeFriend { + return &ReqAgreeFriend{} +} + +func (p *ReqAgreeFriend) GetUid() int64 { + return p.Uid +} + +func (p *ReqAgreeFriend) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqAgreeFriend) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqAgreeFriend) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqAgreeFriend"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqAgreeFriend) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqAgreeFriend) Equals(other *ReqAgreeFriend) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ReqAgreeFriend) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqAgreeFriend(%+v)", *p) +} + +func (p *ReqAgreeFriend) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqAgreeFriend", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqAgreeFriend)(nil) + +func (p *ReqAgreeFriend) Validate() error { + return nil +} + +type ReqAllCollectReward struct { +} + +func NewReqAllCollectReward() *ReqAllCollectReward { + return &ReqAllCollectReward{} +} + +func (p *ReqAllCollectReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqAllCollectReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqAllCollectReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqAllCollectReward) Equals(other *ReqAllCollectReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqAllCollectReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqAllCollectReward(%+v)", *p) +} + +func (p *ReqAllCollectReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqAllCollectReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqAllCollectReward)(nil) + +func (p *ReqAllCollectReward) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - Type +// +type ReqApplyFriend struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + Type int32 `thrift:"Type,2" db:"Type" json:"Type"` +} + +func NewReqApplyFriend() *ReqApplyFriend { + return &ReqApplyFriend{} +} + +func (p *ReqApplyFriend) GetUid() int64 { + return p.Uid +} + +func (p *ReqApplyFriend) GetType() int32 { + return p.Type +} + +func (p *ReqApplyFriend) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqApplyFriend) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqApplyFriend) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ReqApplyFriend) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqApplyFriend"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqApplyFriend) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqApplyFriend) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Type: ", p), err) + } + return err +} + +func (p *ReqApplyFriend) Equals(other *ReqApplyFriend) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.Type != other.Type { + return false + } + return true +} + +func (p *ReqApplyFriend) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqApplyFriend(%+v)", *p) +} + +func (p *ReqApplyFriend) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqApplyFriend", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqApplyFriend)(nil) + +func (p *ReqApplyFriend) Validate() error { + return nil +} + +// Attributes: +// - AreaId +// +type ReqAreaReward struct { + AreaId int32 `thrift:"AreaId,1" db:"AreaId" json:"AreaId"` +} + +func NewReqAreaReward() *ReqAreaReward { + return &ReqAreaReward{} +} + +func (p *ReqAreaReward) GetAreaId() int32 { + return p.AreaId +} + +func (p *ReqAreaReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqAreaReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.AreaId = v + } + return nil +} + +func (p *ReqAreaReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqAreaReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqAreaReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AreaId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:AreaId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.AreaId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AreaId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:AreaId: ", p), err) + } + return err +} + +func (p *ReqAreaReward) Equals(other *ReqAreaReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.AreaId != other.AreaId { + return false + } + return true +} + +func (p *ReqAreaReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqAreaReward(%+v)", *p) +} + +func (p *ReqAreaReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqAreaReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqAreaReward)(nil) + +func (p *ReqAreaReward) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqAutoAddInviteFriend struct { + Id int64 `thrift:"id,1" db:"id" json:"id"` +} + +func NewReqAutoAddInviteFriend() *ReqAutoAddInviteFriend { + return &ReqAutoAddInviteFriend{} +} + +func (p *ReqAutoAddInviteFriend) GetId() int64 { + return p.Id +} + +func (p *ReqAutoAddInviteFriend) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqAutoAddInviteFriend) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqAutoAddInviteFriend) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqAutoAddInviteFriend"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqAutoAddInviteFriend) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "id", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:id: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:id: ", p), err) + } + return err +} + +func (p *ReqAutoAddInviteFriend) Equals(other *ReqAutoAddInviteFriend) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqAutoAddInviteFriend) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqAutoAddInviteFriend(%+v)", *p) +} + +func (p *ReqAutoAddInviteFriend) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqAutoAddInviteFriend", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqAutoAddInviteFriend)(nil) + +func (p *ReqAutoAddInviteFriend) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqAutoAddInviteFriend2 struct { + Id string `thrift:"id,1" db:"id" json:"id"` +} + +func NewReqAutoAddInviteFriend2() *ReqAutoAddInviteFriend2 { + return &ReqAutoAddInviteFriend2{} +} + +func (p *ReqAutoAddInviteFriend2) GetId() string { + return p.Id +} + +func (p *ReqAutoAddInviteFriend2) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqAutoAddInviteFriend2) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqAutoAddInviteFriend2) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqAutoAddInviteFriend2"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqAutoAddInviteFriend2) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "id", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:id: ", p), err) + } + return err +} + +func (p *ReqAutoAddInviteFriend2) Equals(other *ReqAutoAddInviteFriend2) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqAutoAddInviteFriend2) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqAutoAddInviteFriend2(%+v)", *p) +} + +func (p *ReqAutoAddInviteFriend2) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqAutoAddInviteFriend2", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqAutoAddInviteFriend2)(nil) + +func (p *ReqAutoAddInviteFriend2) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - BindAccountId +// +type ReqBindFacebookAccount struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + BindAccountId string `thrift:"BindAccountId,2" db:"BindAccountId" json:"BindAccountId"` +} + +func NewReqBindFacebookAccount() *ReqBindFacebookAccount { + return &ReqBindFacebookAccount{} +} + +func (p *ReqBindFacebookAccount) GetDwUin() int64 { + return p.DwUin +} + +func (p *ReqBindFacebookAccount) GetBindAccountId() string { + return p.BindAccountId +} + +func (p *ReqBindFacebookAccount) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqBindFacebookAccount) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ReqBindFacebookAccount) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.BindAccountId = v + } + return nil +} + +func (p *ReqBindFacebookAccount) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqBindFacebookAccount"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqBindFacebookAccount) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ReqBindFacebookAccount) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "BindAccountId", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:BindAccountId: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.BindAccountId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.BindAccountId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:BindAccountId: ", p), err) + } + return err +} + +func (p *ReqBindFacebookAccount) Equals(other *ReqBindFacebookAccount) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.BindAccountId != other.BindAccountId { + return false + } + return true +} + +func (p *ReqBindFacebookAccount) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqBindFacebookAccount(%+v)", *p) +} + +func (p *ReqBindFacebookAccount) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqBindFacebookAccount", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqBindFacebookAccount)(nil) + +func (p *ReqBindFacebookAccount) Validate() error { + return nil +} + +type ReqBuyChessBagGrid struct { +} + +func NewReqBuyChessBagGrid() *ReqBuyChessBagGrid { + return &ReqBuyChessBagGrid{} +} + +func (p *ReqBuyChessBagGrid) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqBuyChessBagGrid) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqBuyChessBagGrid"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqBuyChessBagGrid) Equals(other *ReqBuyChessBagGrid) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqBuyChessBagGrid) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqBuyChessBagGrid(%+v)", *p) +} + +func (p *ReqBuyChessBagGrid) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqBuyChessBagGrid", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqBuyChessBagGrid)(nil) + +func (p *ReqBuyChessBagGrid) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqBuyChessShop struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqBuyChessShop() *ReqBuyChessShop { + return &ReqBuyChessShop{} +} + +func (p *ReqBuyChessShop) GetId() int32 { + return p.Id +} + +func (p *ReqBuyChessShop) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqBuyChessShop) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqBuyChessShop) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqBuyChessShop"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqBuyChessShop) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqBuyChessShop) Equals(other *ReqBuyChessShop) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqBuyChessShop) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqBuyChessShop(%+v)", *p) +} + +func (p *ReqBuyChessShop) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqBuyChessShop", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqBuyChessShop)(nil) + +func (p *ReqBuyChessShop) Validate() error { + return nil +} + +// Attributes: +// - Id +// - MChessData +// +type ReqBuyChessShop2 struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + MChessData map[string]int32 `thrift:"MChessData,2" db:"MChessData" json:"MChessData"` +} + +func NewReqBuyChessShop2() *ReqBuyChessShop2 { + return &ReqBuyChessShop2{} +} + +func (p *ReqBuyChessShop2) GetId() int32 { + return p.Id +} + +func (p *ReqBuyChessShop2) GetMChessData() map[string]int32 { + return p.MChessData +} + +func (p *ReqBuyChessShop2) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqBuyChessShop2) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqBuyChessShop2) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.MChessData = tMap + for i := 0; i < size; i++ { + var _key90 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key90 = v + } + var _val91 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val91 = v + } + p.MChessData[_key90] = _val91 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqBuyChessShop2) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqBuyChessShop2"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqBuyChessShop2) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqBuyChessShop2) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MChessData", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MChessData: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.MChessData)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MChessData { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MChessData: ", p), err) + } + return err +} + +func (p *ReqBuyChessShop2) Equals(other *ReqBuyChessShop2) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if len(p.MChessData) != len(other.MChessData) { + return false + } + for k, _tgt := range p.MChessData { + _src92 := other.MChessData[k] + if _tgt != _src92 { + return false + } + } + return true +} + +func (p *ReqBuyChessShop2) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqBuyChessShop2(%+v)", *p) +} + +func (p *ReqBuyChessShop2) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqBuyChessShop2", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqBuyChessShop2)(nil) + +func (p *ReqBuyChessShop2) Validate() error { + return nil +} + +// Attributes: +// - Energy +// +type ReqBuyEnergy struct { + Energy int32 `thrift:"Energy,1" db:"Energy" json:"Energy"` +} + +func NewReqBuyEnergy() *ReqBuyEnergy { + return &ReqBuyEnergy{} +} + +func (p *ReqBuyEnergy) GetEnergy() int32 { + return p.Energy +} + +func (p *ReqBuyEnergy) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqBuyEnergy) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Energy = v + } + return nil +} + +func (p *ReqBuyEnergy) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqBuyEnergy"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqBuyEnergy) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Energy", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Energy: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Energy)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Energy (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Energy: ", p), err) + } + return err +} + +func (p *ReqBuyEnergy) Equals(other *ReqBuyEnergy) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Energy != other.Energy { + return false + } + return true +} + +func (p *ReqBuyEnergy) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqBuyEnergy(%+v)", *p) +} + +func (p *ReqBuyEnergy) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqBuyEnergy", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqBuyEnergy)(nil) + +func (p *ReqBuyEnergy) Validate() error { + return nil +} + +// Attributes: +// - Color +// +type ReqCardCollectReward struct { + Color int32 `thrift:"Color,1" db:"Color" json:"Color"` +} + +func NewReqCardCollectReward() *ReqCardCollectReward { + return &ReqCardCollectReward{} +} + +func (p *ReqCardCollectReward) GetColor() int32 { + return p.Color +} + +func (p *ReqCardCollectReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCardCollectReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Color = v + } + return nil +} + +func (p *ReqCardCollectReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCardCollectReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCardCollectReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Color", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Color: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Color)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Color (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Color: ", p), err) + } + return err +} + +func (p *ReqCardCollectReward) Equals(other *ReqCardCollectReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Color != other.Color { + return false + } + return true +} + +func (p *ReqCardCollectReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCardCollectReward(%+v)", *p) +} + +func (p *ReqCardCollectReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCardCollectReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCardCollectReward)(nil) + +func (p *ReqCardCollectReward) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - CardId +// - Emoji +// +type ReqCardExchange struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + CardId int32 `thrift:"CardId,2" db:"CardId" json:"CardId"` + Emoji int32 `thrift:"Emoji,3" db:"Emoji" json:"Emoji"` +} + +func NewReqCardExchange() *ReqCardExchange { + return &ReqCardExchange{} +} + +func (p *ReqCardExchange) GetUid() int64 { + return p.Uid +} + +func (p *ReqCardExchange) GetCardId() int32 { + return p.CardId +} + +func (p *ReqCardExchange) GetEmoji() int32 { + return p.Emoji +} + +func (p *ReqCardExchange) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCardExchange) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqCardExchange) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.CardId = v + } + return nil +} + +func (p *ReqCardExchange) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Emoji = v + } + return nil +} + +func (p *ReqCardExchange) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCardExchange"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCardExchange) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqCardExchange) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CardId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:CardId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.CardId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.CardId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:CardId: ", p), err) + } + return err +} + +func (p *ReqCardExchange) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Emoji", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Emoji: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Emoji)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Emoji (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Emoji: ", p), err) + } + return err +} + +func (p *ReqCardExchange) Equals(other *ReqCardExchange) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.CardId != other.CardId { + return false + } + if p.Emoji != other.Emoji { + return false + } + return true +} + +func (p *ReqCardExchange) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCardExchange(%+v)", *p) +} + +func (p *ReqCardExchange) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCardExchange", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCardExchange)(nil) + +func (p *ReqCardExchange) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - CardId +// +type ReqCardGive struct { + Uid []int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + CardId int32 `thrift:"CardId,2" db:"CardId" json:"CardId"` +} + +func NewReqCardGive() *ReqCardGive { + return &ReqCardGive{} +} + +func (p *ReqCardGive) GetUid() []int64 { + return p.Uid +} + +func (p *ReqCardGive) GetCardId() int32 { + return p.CardId +} + +func (p *ReqCardGive) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCardGive) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int64, 0, size) + p.Uid = tSlice + for i := 0; i < size; i++ { + var _elem93 int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem93 = v + } + p.Uid = append(p.Uid, _elem93) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ReqCardGive) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.CardId = v + } + return nil +} + +func (p *ReqCardGive) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCardGive"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCardGive) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.Uid)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Uid { + if err := oprot.WriteI64(ctx, int64(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqCardGive) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CardId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:CardId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.CardId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.CardId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:CardId: ", p), err) + } + return err +} + +func (p *ReqCardGive) Equals(other *ReqCardGive) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Uid) != len(other.Uid) { + return false + } + for i, _tgt := range p.Uid { + _src94 := other.Uid[i] + if _tgt != _src94 { + return false + } + } + if p.CardId != other.CardId { + return false + } + return true +} + +func (p *ReqCardGive) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCardGive(%+v)", *p) +} + +func (p *ReqCardGive) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCardGive", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCardGive)(nil) + +func (p *ReqCardGive) Validate() error { + return nil +} + +// Attributes: +// - CardId +// +type ReqCardHandbookReward struct { + CardId int32 `thrift:"CardId,1" db:"CardId" json:"CardId"` +} + +func NewReqCardHandbookReward() *ReqCardHandbookReward { + return &ReqCardHandbookReward{} +} + +func (p *ReqCardHandbookReward) GetCardId() int32 { + return p.CardId +} + +func (p *ReqCardHandbookReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCardHandbookReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.CardId = v + } + return nil +} + +func (p *ReqCardHandbookReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCardHandbookReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCardHandbookReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CardId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:CardId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.CardId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.CardId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:CardId: ", p), err) + } + return err +} + +func (p *ReqCardHandbookReward) Equals(other *ReqCardHandbookReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.CardId != other.CardId { + return false + } + return true +} + +func (p *ReqCardHandbookReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCardHandbookReward(%+v)", *p) +} + +func (p *ReqCardHandbookReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCardHandbookReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCardHandbookReward)(nil) + +func (p *ReqCardHandbookReward) Validate() error { + return nil +} + +type ReqCardInfo struct { +} + +func NewReqCardInfo() *ReqCardInfo { + return &ReqCardInfo{} +} + +func (p *ReqCardInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCardInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCardInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCardInfo) Equals(other *ReqCardInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqCardInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCardInfo(%+v)", *p) +} + +func (p *ReqCardInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCardInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCardInfo)(nil) + +func (p *ReqCardInfo) Validate() error { + return nil +} + +type ReqCardSeasonFirstReward struct { +} + +func NewReqCardSeasonFirstReward() *ReqCardSeasonFirstReward { + return &ReqCardSeasonFirstReward{} +} + +func (p *ReqCardSeasonFirstReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCardSeasonFirstReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCardSeasonFirstReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCardSeasonFirstReward) Equals(other *ReqCardSeasonFirstReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqCardSeasonFirstReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCardSeasonFirstReward(%+v)", *p) +} + +func (p *ReqCardSeasonFirstReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCardSeasonFirstReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCardSeasonFirstReward)(nil) + +func (p *ReqCardSeasonFirstReward) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - CardId +// - Emoji +// +type ReqCardSend struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + CardId int32 `thrift:"CardId,2" db:"CardId" json:"CardId"` + Emoji int32 `thrift:"Emoji,3" db:"Emoji" json:"Emoji"` +} + +func NewReqCardSend() *ReqCardSend { + return &ReqCardSend{} +} + +func (p *ReqCardSend) GetUid() int64 { + return p.Uid +} + +func (p *ReqCardSend) GetCardId() int32 { + return p.CardId +} + +func (p *ReqCardSend) GetEmoji() int32 { + return p.Emoji +} + +func (p *ReqCardSend) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCardSend) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqCardSend) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.CardId = v + } + return nil +} + +func (p *ReqCardSend) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Emoji = v + } + return nil +} + +func (p *ReqCardSend) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCardSend"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCardSend) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqCardSend) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CardId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:CardId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.CardId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.CardId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:CardId: ", p), err) + } + return err +} + +func (p *ReqCardSend) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Emoji", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Emoji: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Emoji)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Emoji (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Emoji: ", p), err) + } + return err +} + +func (p *ReqCardSend) Equals(other *ReqCardSend) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.CardId != other.CardId { + return false + } + if p.Emoji != other.Emoji { + return false + } + return true +} + +func (p *ReqCardSend) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCardSend(%+v)", *p) +} + +func (p *ReqCardSend) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCardSend", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCardSend)(nil) + +func (p *ReqCardSend) Validate() error { + return nil +} + +type ReqCatReturnGift struct { +} + +func NewReqCatReturnGift() *ReqCatReturnGift { + return &ReqCatReturnGift{} +} + +func (p *ReqCatReturnGift) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCatReturnGift) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCatReturnGift"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCatReturnGift) Equals(other *ReqCatReturnGift) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqCatReturnGift) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCatReturnGift(%+v)", *p) +} + +func (p *ReqCatReturnGift) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCatReturnGift", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCatReturnGift)(nil) + +func (p *ReqCatReturnGift) Validate() error { + return nil +} + +type ReqCatReturnGiftReward struct { +} + +func NewReqCatReturnGiftReward() *ReqCatReturnGiftReward { + return &ReqCatReturnGiftReward{} +} + +func (p *ReqCatReturnGiftReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCatReturnGiftReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCatReturnGiftReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCatReturnGiftReward) Equals(other *ReqCatReturnGiftReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqCatReturnGiftReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCatReturnGiftReward(%+v)", *p) +} + +func (p *ReqCatReturnGiftReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCatReturnGiftReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCatReturnGiftReward)(nil) + +func (p *ReqCatReturnGiftReward) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqCatReturnGiftRewardGift struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqCatReturnGiftRewardGift() *ReqCatReturnGiftRewardGift { + return &ReqCatReturnGiftRewardGift{} +} + +func (p *ReqCatReturnGiftRewardGift) GetId() int32 { + return p.Id +} + +func (p *ReqCatReturnGiftRewardGift) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCatReturnGiftRewardGift) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqCatReturnGiftRewardGift) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCatReturnGiftRewardGift"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCatReturnGiftRewardGift) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqCatReturnGiftRewardGift) Equals(other *ReqCatReturnGiftRewardGift) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqCatReturnGiftRewardGift) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCatReturnGiftRewardGift(%+v)", *p) +} + +func (p *ReqCatReturnGiftRewardGift) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCatReturnGiftRewardGift", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCatReturnGiftRewardGift)(nil) + +func (p *ReqCatReturnGiftRewardGift) Validate() error { + return nil +} + +// Attributes: +// - Score +// +type ReqCatReturnGiftScore struct { + Score int32 `thrift:"Score,1" db:"Score" json:"Score"` +} + +func NewReqCatReturnGiftScore() *ReqCatReturnGiftScore { + return &ReqCatReturnGiftScore{} +} + +func (p *ReqCatReturnGiftScore) GetScore() int32 { + return p.Score +} + +func (p *ReqCatReturnGiftScore) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCatReturnGiftScore) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Score = v + } + return nil +} + +func (p *ReqCatReturnGiftScore) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCatReturnGiftScore"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCatReturnGiftScore) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Score", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Score: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Score)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Score (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Score: ", p), err) + } + return err +} + +func (p *ReqCatReturnGiftScore) Equals(other *ReqCatReturnGiftScore) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Score != other.Score { + return false + } + return true +} + +func (p *ReqCatReturnGiftScore) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCatReturnGiftScore(%+v)", *p) +} + +func (p *ReqCatReturnGiftScore) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCatReturnGiftScore", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCatReturnGiftScore)(nil) + +func (p *ReqCatReturnGiftScore) Validate() error { + return nil +} + +type ReqCatTrickReward struct { +} + +func NewReqCatTrickReward() *ReqCatTrickReward { + return &ReqCatTrickReward{} +} + +func (p *ReqCatTrickReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCatTrickReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCatTrickReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCatTrickReward) Equals(other *ReqCatTrickReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqCatTrickReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCatTrickReward(%+v)", *p) +} + +func (p *ReqCatTrickReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCatTrickReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCatTrickReward)(nil) + +func (p *ReqCatTrickReward) Validate() error { + return nil +} + +type ReqCatnip struct { +} + +func NewReqCatnip() *ReqCatnip { + return &ReqCatnip{} +} + +func (p *ReqCatnip) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCatnip) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCatnip"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCatnip) Equals(other *ReqCatnip) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqCatnip) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCatnip(%+v)", *p) +} + +func (p *ReqCatnip) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCatnip", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCatnip)(nil) + +func (p *ReqCatnip) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Uid +// +type ReqCatnipAgree struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Uid int64 `thrift:"Uid,2" db:"Uid" json:"Uid"` +} + +func NewReqCatnipAgree() *ReqCatnipAgree { + return &ReqCatnipAgree{} +} + +func (p *ReqCatnipAgree) GetId() int32 { + return p.Id +} + +func (p *ReqCatnipAgree) GetUid() int64 { + return p.Uid +} + +func (p *ReqCatnipAgree) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCatnipAgree) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqCatnipAgree) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqCatnipAgree) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCatnipAgree"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCatnipAgree) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqCatnipAgree) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Uid: ", p), err) + } + return err +} + +func (p *ReqCatnipAgree) Equals(other *ReqCatnipAgree) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ReqCatnipAgree) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCatnipAgree(%+v)", *p) +} + +func (p *ReqCatnipAgree) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCatnipAgree", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCatnipAgree)(nil) + +func (p *ReqCatnipAgree) Validate() error { + return nil +} + +// Attributes: +// - Id +// - EmojiId +// +type ReqCatnipEmoji struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + EmojiId int32 `thrift:"EmojiId,2" db:"EmojiId" json:"EmojiId"` +} + +func NewReqCatnipEmoji() *ReqCatnipEmoji { + return &ReqCatnipEmoji{} +} + +func (p *ReqCatnipEmoji) GetId() int32 { + return p.Id +} + +func (p *ReqCatnipEmoji) GetEmojiId() int32 { + return p.EmojiId +} + +func (p *ReqCatnipEmoji) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCatnipEmoji) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqCatnipEmoji) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.EmojiId = v + } + return nil +} + +func (p *ReqCatnipEmoji) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCatnipEmoji"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCatnipEmoji) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqCatnipEmoji) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EmojiId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:EmojiId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EmojiId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EmojiId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:EmojiId: ", p), err) + } + return err +} + +func (p *ReqCatnipEmoji) Equals(other *ReqCatnipEmoji) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.EmojiId != other.EmojiId { + return false + } + return true +} + +func (p *ReqCatnipEmoji) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCatnipEmoji(%+v)", *p) +} + +func (p *ReqCatnipEmoji) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCatnipEmoji", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCatnipEmoji)(nil) + +func (p *ReqCatnipEmoji) Validate() error { + return nil +} + +type ReqCatnipGrandReward struct { +} + +func NewReqCatnipGrandReward() *ReqCatnipGrandReward { + return &ReqCatnipGrandReward{} +} + +func (p *ReqCatnipGrandReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCatnipGrandReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCatnipGrandReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCatnipGrandReward) Equals(other *ReqCatnipGrandReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqCatnipGrandReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCatnipGrandReward(%+v)", *p) +} + +func (p *ReqCatnipGrandReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCatnipGrandReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCatnipGrandReward)(nil) + +func (p *ReqCatnipGrandReward) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Uid +// +type ReqCatnipInvite struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Uid int64 `thrift:"Uid,2" db:"Uid" json:"Uid"` +} + +func NewReqCatnipInvite() *ReqCatnipInvite { + return &ReqCatnipInvite{} +} + +func (p *ReqCatnipInvite) GetId() int32 { + return p.Id +} + +func (p *ReqCatnipInvite) GetUid() int64 { + return p.Uid +} + +func (p *ReqCatnipInvite) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCatnipInvite) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqCatnipInvite) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqCatnipInvite) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCatnipInvite"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCatnipInvite) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqCatnipInvite) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Uid: ", p), err) + } + return err +} + +func (p *ReqCatnipInvite) Equals(other *ReqCatnipInvite) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ReqCatnipInvite) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCatnipInvite(%+v)", *p) +} + +func (p *ReqCatnipInvite) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCatnipInvite", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCatnipInvite)(nil) + +func (p *ReqCatnipInvite) Validate() error { + return nil +} + +// Attributes: +// - Multiply +// +type ReqCatnipMultiply struct { + Multiply int32 `thrift:"Multiply,1" db:"Multiply" json:"Multiply"` +} + +func NewReqCatnipMultiply() *ReqCatnipMultiply { + return &ReqCatnipMultiply{} +} + +func (p *ReqCatnipMultiply) GetMultiply() int32 { + return p.Multiply +} + +func (p *ReqCatnipMultiply) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCatnipMultiply) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Multiply = v + } + return nil +} + +func (p *ReqCatnipMultiply) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCatnipMultiply"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCatnipMultiply) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Multiply", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Multiply: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Multiply)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Multiply (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Multiply: ", p), err) + } + return err +} + +func (p *ReqCatnipMultiply) Equals(other *ReqCatnipMultiply) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Multiply != other.Multiply { + return false + } + return true +} + +func (p *ReqCatnipMultiply) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCatnipMultiply(%+v)", *p) +} + +func (p *ReqCatnipMultiply) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCatnipMultiply", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCatnipMultiply)(nil) + +func (p *ReqCatnipMultiply) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqCatnipPlay struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqCatnipPlay() *ReqCatnipPlay { + return &ReqCatnipPlay{} +} + +func (p *ReqCatnipPlay) GetId() int32 { + return p.Id +} + +func (p *ReqCatnipPlay) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCatnipPlay) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqCatnipPlay) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCatnipPlay"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCatnipPlay) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqCatnipPlay) Equals(other *ReqCatnipPlay) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqCatnipPlay) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCatnipPlay(%+v)", *p) +} + +func (p *ReqCatnipPlay) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCatnipPlay", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCatnipPlay)(nil) + +func (p *ReqCatnipPlay) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Uid +// +type ReqCatnipRefuse struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Uid int64 `thrift:"Uid,2" db:"Uid" json:"Uid"` +} + +func NewReqCatnipRefuse() *ReqCatnipRefuse { + return &ReqCatnipRefuse{} +} + +func (p *ReqCatnipRefuse) GetId() int32 { + return p.Id +} + +func (p *ReqCatnipRefuse) GetUid() int64 { + return p.Uid +} + +func (p *ReqCatnipRefuse) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCatnipRefuse) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqCatnipRefuse) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqCatnipRefuse) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCatnipRefuse"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCatnipRefuse) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqCatnipRefuse) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Uid: ", p), err) + } + return err +} + +func (p *ReqCatnipRefuse) Equals(other *ReqCatnipRefuse) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ReqCatnipRefuse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCatnipRefuse(%+v)", *p) +} + +func (p *ReqCatnipRefuse) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCatnipRefuse", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCatnipRefuse)(nil) + +func (p *ReqCatnipRefuse) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqCatnipReward struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqCatnipReward() *ReqCatnipReward { + return &ReqCatnipReward{} +} + +func (p *ReqCatnipReward) GetId() int32 { + return p.Id +} + +func (p *ReqCatnipReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCatnipReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqCatnipReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCatnipReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCatnipReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqCatnipReward) Equals(other *ReqCatnipReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqCatnipReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCatnipReward(%+v)", *p) +} + +func (p *ReqCatnipReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCatnipReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCatnipReward)(nil) + +func (p *ReqCatnipReward) Validate() error { + return nil +} + +type ReqChampship struct { +} + +func NewReqChampship() *ReqChampship { + return &ReqChampship{} +} + +func (p *ReqChampship) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqChampship) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqChampship"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqChampship) Equals(other *ReqChampship) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqChampship) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqChampship(%+v)", *p) +} + +func (p *ReqChampship) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqChampship", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqChampship)(nil) + +func (p *ReqChampship) Validate() error { + return nil +} + +type ReqChampshipPreRank struct { +} + +func NewReqChampshipPreRank() *ReqChampshipPreRank { + return &ReqChampshipPreRank{} +} + +func (p *ReqChampshipPreRank) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqChampshipPreRank) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqChampshipPreRank"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqChampshipPreRank) Equals(other *ReqChampshipPreRank) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqChampshipPreRank) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqChampshipPreRank(%+v)", *p) +} + +func (p *ReqChampshipPreRank) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqChampshipPreRank", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqChampshipPreRank)(nil) + +func (p *ReqChampshipPreRank) Validate() error { + return nil +} + +type ReqChampshipRank struct { +} + +func NewReqChampshipRank() *ReqChampshipRank { + return &ReqChampshipRank{} +} + +func (p *ReqChampshipRank) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqChampshipRank) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqChampshipRank"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqChampshipRank) Equals(other *ReqChampshipRank) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqChampshipRank) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqChampshipRank(%+v)", *p) +} + +func (p *ReqChampshipRank) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqChampshipRank", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqChampshipRank)(nil) + +func (p *ReqChampshipRank) Validate() error { + return nil +} + +type ReqChampshipRankReward struct { +} + +func NewReqChampshipRankReward() *ReqChampshipRankReward { + return &ReqChampshipRankReward{} +} + +func (p *ReqChampshipRankReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqChampshipRankReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqChampshipRankReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqChampshipRankReward) Equals(other *ReqChampshipRankReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqChampshipRankReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqChampshipRankReward(%+v)", *p) +} + +func (p *ReqChampshipRankReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqChampshipRankReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqChampshipRankReward)(nil) + +func (p *ReqChampshipRankReward) Validate() error { + return nil +} + +type ReqChampshipReward struct { +} + +func NewReqChampshipReward() *ReqChampshipReward { + return &ReqChampshipReward{} +} + +func (p *ReqChampshipReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqChampshipReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqChampshipReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqChampshipReward) Equals(other *ReqChampshipReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqChampshipReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqChampshipReward(%+v)", *p) +} + +func (p *ReqChampshipReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqChampshipReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqChampshipReward)(nil) + +func (p *ReqChampshipReward) Validate() error { + return nil +} + +// Attributes: +// - UserName +// - OldPwd +// - NewPwd_ +// +type ReqChangePassword struct { + UserName string `thrift:"UserName,1" db:"UserName" json:"UserName"` + OldPwd string `thrift:"OldPwd,2" db:"OldPwd" json:"OldPwd"` + NewPwd_ string `thrift:"NewPwd,3" db:"NewPwd" json:"NewPwd"` +} + +func NewReqChangePassword() *ReqChangePassword { + return &ReqChangePassword{} +} + +func (p *ReqChangePassword) GetUserName() string { + return p.UserName +} + +func (p *ReqChangePassword) GetOldPwd() string { + return p.OldPwd +} + +func (p *ReqChangePassword) GetNewPwd_() string { + return p.NewPwd_ +} + +func (p *ReqChangePassword) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqChangePassword) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.UserName = v + } + return nil +} + +func (p *ReqChangePassword) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.OldPwd = v + } + return nil +} + +func (p *ReqChangePassword) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.NewPwd_ = v + } + return nil +} + +func (p *ReqChangePassword) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqChangePassword"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqChangePassword) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "UserName", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:UserName: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.UserName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.UserName (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:UserName: ", p), err) + } + return err +} + +func (p *ReqChangePassword) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "OldPwd", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:OldPwd: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.OldPwd)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.OldPwd (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:OldPwd: ", p), err) + } + return err +} + +func (p *ReqChangePassword) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "NewPwd", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:NewPwd: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.NewPwd_)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.NewPwd (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:NewPwd: ", p), err) + } + return err +} + +func (p *ReqChangePassword) Equals(other *ReqChangePassword) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.UserName != other.UserName { + return false + } + if p.OldPwd != other.OldPwd { + return false + } + if p.NewPwd_ != other.NewPwd_ { + return false + } + return true +} + +func (p *ReqChangePassword) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqChangePassword(%+v)", *p) +} + +func (p *ReqChangePassword) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqChangePassword", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqChangePassword)(nil) + +func (p *ReqChangePassword) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - Content +// +type ReqChargeReceive struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + Content string `thrift:"Content,2" db:"Content" json:"Content"` +} + +func NewReqChargeReceive() *ReqChargeReceive { + return &ReqChargeReceive{} +} + +func (p *ReqChargeReceive) GetUid() int64 { + return p.Uid +} + +func (p *ReqChargeReceive) GetContent() string { + return p.Content +} + +func (p *ReqChargeReceive) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqChargeReceive) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqChargeReceive) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Content = v + } + return nil +} + +func (p *ReqChargeReceive) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqChargeReceive"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqChargeReceive) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqChargeReceive) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Content", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Content: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Content)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Content (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Content: ", p), err) + } + return err +} + +func (p *ReqChargeReceive) Equals(other *ReqChargeReceive) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.Content != other.Content { + return false + } + return true +} + +func (p *ReqChargeReceive) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqChargeReceive(%+v)", *p) +} + +func (p *ReqChargeReceive) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqChargeReceive", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqChargeReceive)(nil) + +func (p *ReqChargeReceive) Validate() error { + return nil +} + +// Attributes: +// - OldChessId +// - NewChessId_ +// - CostDia +// - Type +// - MChessData +// - CostStar +// +type ReqChessEx struct { + OldChessId int32 `thrift:"OldChessId,1" db:"OldChessId" json:"OldChessId"` + NewChessId_ int32 `thrift:"NewChessId,2" db:"NewChessId" json:"NewChessId"` + CostDia int32 `thrift:"CostDia,3" db:"CostDia" json:"CostDia"` + Type CHESS_EX_TYPE `thrift:"Type,4" db:"Type" json:"Type"` + MChessData map[string]int32 `thrift:"MChessData,5" db:"MChessData" json:"MChessData"` + CostStar int32 `thrift:"CostStar,6" db:"CostStar" json:"CostStar"` +} + +func NewReqChessEx() *ReqChessEx { + return &ReqChessEx{} +} + +func (p *ReqChessEx) GetOldChessId() int32 { + return p.OldChessId +} + +func (p *ReqChessEx) GetNewChessId_() int32 { + return p.NewChessId_ +} + +func (p *ReqChessEx) GetCostDia() int32 { + return p.CostDia +} + +func (p *ReqChessEx) GetType() CHESS_EX_TYPE { + return p.Type +} + +func (p *ReqChessEx) GetMChessData() map[string]int32 { + return p.MChessData +} + +func (p *ReqChessEx) GetCostStar() int32 { + return p.CostStar +} + +func (p *ReqChessEx) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.MAP { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqChessEx) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.OldChessId = v + } + return nil +} + +func (p *ReqChessEx) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.NewChessId_ = v + } + return nil +} + +func (p *ReqChessEx) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.CostDia = v + } + return nil +} + +func (p *ReqChessEx) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + temp := CHESS_EX_TYPE(v) + p.Type = temp + } + return nil +} + +func (p *ReqChessEx) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.MChessData = tMap + for i := 0; i < size; i++ { + var _key95 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key95 = v + } + var _val96 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val96 = v + } + p.MChessData[_key95] = _val96 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqChessEx) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.CostStar = v + } + return nil +} + +func (p *ReqChessEx) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqChessEx"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqChessEx) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "OldChessId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:OldChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.OldChessId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.OldChessId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:OldChessId: ", p), err) + } + return err +} + +func (p *ReqChessEx) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "NewChessId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:NewChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.NewChessId_)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.NewChessId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:NewChessId: ", p), err) + } + return err +} + +func (p *ReqChessEx) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CostDia", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:CostDia: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.CostDia)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.CostDia (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:CostDia: ", p), err) + } + return err +} + +func (p *ReqChessEx) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Type: ", p), err) + } + return err +} + +func (p *ReqChessEx) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MChessData", thrift.MAP, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:MChessData: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.MChessData)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MChessData { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:MChessData: ", p), err) + } + return err +} + +func (p *ReqChessEx) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CostStar", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:CostStar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.CostStar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.CostStar (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:CostStar: ", p), err) + } + return err +} + +func (p *ReqChessEx) Equals(other *ReqChessEx) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.OldChessId != other.OldChessId { + return false + } + if p.NewChessId_ != other.NewChessId_ { + return false + } + if p.CostDia != other.CostDia { + return false + } + if p.Type != other.Type { + return false + } + if len(p.MChessData) != len(other.MChessData) { + return false + } + for k, _tgt := range p.MChessData { + _src97 := other.MChessData[k] + if _tgt != _src97 { + return false + } + } + if p.CostStar != other.CostStar { + return false + } + return true +} + +func (p *ReqChessEx) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqChessEx(%+v)", *p) +} + +func (p *ReqChessEx) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqChessEx", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqChessEx)(nil) + +func (p *ReqChessEx) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqCollect struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqCollect() *ReqCollect { + return &ReqCollect{} +} + +func (p *ReqCollect) GetId() int32 { + return p.Id +} + +func (p *ReqCollect) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCollect) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqCollect) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCollect"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCollect) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqCollect) Equals(other *ReqCollect) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqCollect) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCollect(%+v)", *p) +} + +func (p *ReqCollect) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCollect", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCollect)(nil) + +func (p *ReqCollect) Validate() error { + return nil +} + +type ReqCollectInfo struct { +} + +func NewReqCollectInfo() *ReqCollectInfo { + return &ReqCollectInfo{} +} + +func (p *ReqCollectInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCollectInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCollectInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCollectInfo) Equals(other *ReqCollectInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqCollectInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCollectInfo(%+v)", *p) +} + +func (p *ReqCollectInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCollectInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCollectInfo)(nil) + +func (p *ReqCollectInfo) Validate() error { + return nil +} + +// Attributes: +// - ChargeId +// - PlatForm +// - Channel +// - Type +// - Uid +// +type ReqCreateOrderSn struct { + ChargeId int32 `thrift:"ChargeId,1" db:"ChargeId" json:"ChargeId"` + PlatForm string `thrift:"PlatForm,2" db:"PlatForm" json:"PlatForm"` + Channel string `thrift:"channel,3" db:"channel" json:"channel"` + Type int32 `thrift:"Type,4" db:"Type" json:"Type"` + Uid int64 `thrift:"Uid,5" db:"Uid" json:"Uid"` +} + +func NewReqCreateOrderSn() *ReqCreateOrderSn { + return &ReqCreateOrderSn{} +} + +func (p *ReqCreateOrderSn) GetChargeId() int32 { + return p.ChargeId +} + +func (p *ReqCreateOrderSn) GetPlatForm() string { + return p.PlatForm +} + +func (p *ReqCreateOrderSn) GetChannel() string { + return p.Channel +} + +func (p *ReqCreateOrderSn) GetType() int32 { + return p.Type +} + +func (p *ReqCreateOrderSn) GetUid() int64 { + return p.Uid +} + +func (p *ReqCreateOrderSn) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I64 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCreateOrderSn) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ChargeId = v + } + return nil +} + +func (p *ReqCreateOrderSn) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.PlatForm = v + } + return nil +} + +func (p *ReqCreateOrderSn) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Channel = v + } + return nil +} + +func (p *ReqCreateOrderSn) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ReqCreateOrderSn) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqCreateOrderSn) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCreateOrderSn"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCreateOrderSn) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChargeId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ChargeId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChargeId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChargeId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ChargeId: ", p), err) + } + return err +} + +func (p *ReqCreateOrderSn) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PlatForm", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:PlatForm: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.PlatForm)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.PlatForm (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:PlatForm: ", p), err) + } + return err +} + +func (p *ReqCreateOrderSn) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "channel", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:channel: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Channel)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.channel (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:channel: ", p), err) + } + return err +} + +func (p *ReqCreateOrderSn) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Type: ", p), err) + } + return err +} + +func (p *ReqCreateOrderSn) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Uid: ", p), err) + } + return err +} + +func (p *ReqCreateOrderSn) Equals(other *ReqCreateOrderSn) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ChargeId != other.ChargeId { + return false + } + if p.PlatForm != other.PlatForm { + return false + } + if p.Channel != other.Channel { + return false + } + if p.Type != other.Type { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ReqCreateOrderSn) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCreateOrderSn(%+v)", *p) +} + +func (p *ReqCreateOrderSn) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCreateOrderSn", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCreateOrderSn)(nil) + +func (p *ReqCreateOrderSn) Validate() error { + return nil +} + +type ReqCreatePetOrder struct { +} + +func NewReqCreatePetOrder() *ReqCreatePetOrder { + return &ReqCreatePetOrder{} +} + +func (p *ReqCreatePetOrder) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqCreatePetOrder) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqCreatePetOrder"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqCreatePetOrder) Equals(other *ReqCreatePetOrder) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqCreatePetOrder) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqCreatePetOrder(%+v)", *p) +} + +func (p *ReqCreatePetOrder) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqCreatePetOrder", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqCreatePetOrder)(nil) + +func (p *ReqCreatePetOrder) Validate() error { + return nil +} + +type ReqDailyUnlock struct { +} + +func NewReqDailyUnlock() *ReqDailyUnlock { + return &ReqDailyUnlock{} +} + +func (p *ReqDailyUnlock) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqDailyUnlock) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqDailyUnlock"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqDailyUnlock) Equals(other *ReqDailyUnlock) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqDailyUnlock) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqDailyUnlock(%+v)", *p) +} + +func (p *ReqDailyUnlock) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqDailyUnlock", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqDailyUnlock)(nil) + +func (p *ReqDailyUnlock) Validate() error { + return nil +} + +// Attributes: +// - AreaId +// - DecorateId +// +type ReqDecorate struct { + AreaId int32 `thrift:"AreaId,1" db:"AreaId" json:"AreaId"` + DecorateId int32 `thrift:"DecorateId,2" db:"DecorateId" json:"DecorateId"` +} + +func NewReqDecorate() *ReqDecorate { + return &ReqDecorate{} +} + +func (p *ReqDecorate) GetAreaId() int32 { + return p.AreaId +} + +func (p *ReqDecorate) GetDecorateId() int32 { + return p.DecorateId +} + +func (p *ReqDecorate) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqDecorate) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.AreaId = v + } + return nil +} + +func (p *ReqDecorate) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.DecorateId = v + } + return nil +} + +func (p *ReqDecorate) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqDecorate"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqDecorate) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AreaId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:AreaId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.AreaId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AreaId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:AreaId: ", p), err) + } + return err +} + +func (p *ReqDecorate) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "DecorateId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:DecorateId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.DecorateId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.DecorateId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:DecorateId: ", p), err) + } + return err +} + +func (p *ReqDecorate) Equals(other *ReqDecorate) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.AreaId != other.AreaId { + return false + } + if p.DecorateId != other.DecorateId { + return false + } + return true +} + +func (p *ReqDecorate) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqDecorate(%+v)", *p) +} + +func (p *ReqDecorate) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqDecorate", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqDecorate)(nil) + +func (p *ReqDecorate) Validate() error { + return nil +} + +type ReqDecorateAll struct { +} + +func NewReqDecorateAll() *ReqDecorateAll { + return &ReqDecorateAll{} +} + +func (p *ReqDecorateAll) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqDecorateAll) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqDecorateAll"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqDecorateAll) Equals(other *ReqDecorateAll) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqDecorateAll) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqDecorateAll(%+v)", *p) +} + +func (p *ReqDecorateAll) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqDecorateAll", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqDecorateAll)(nil) + +func (p *ReqDecorateAll) Validate() error { + return nil +} + +// Attributes: +// - Uid +// +type ReqDelFriend struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` +} + +func NewReqDelFriend() *ReqDelFriend { + return &ReqDelFriend{} +} + +func (p *ReqDelFriend) GetUid() int64 { + return p.Uid +} + +func (p *ReqDelFriend) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqDelFriend) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqDelFriend) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqDelFriend"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqDelFriend) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqDelFriend) Equals(other *ReqDelFriend) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ReqDelFriend) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqDelFriend(%+v)", *p) +} + +func (p *ReqDelFriend) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqDelFriend", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqDelFriend)(nil) + +func (p *ReqDelFriend) Validate() error { + return nil +} + +// Attributes: +// - OrderId +// +type ReqDelOrder struct { + OrderId int32 `thrift:"OrderId,1" db:"OrderId" json:"OrderId"` +} + +func NewReqDelOrder() *ReqDelOrder { + return &ReqDelOrder{} +} + +func (p *ReqDelOrder) GetOrderId() int32 { + return p.OrderId +} + +func (p *ReqDelOrder) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqDelOrder) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.OrderId = v + } + return nil +} + +func (p *ReqDelOrder) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqDelOrder"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqDelOrder) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "OrderId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:OrderId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.OrderId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.OrderId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:OrderId: ", p), err) + } + return err +} + +func (p *ReqDelOrder) Equals(other *ReqDelOrder) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.OrderId != other.OrderId { + return false + } + return true +} + +func (p *ReqDelOrder) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqDelOrder(%+v)", *p) +} + +func (p *ReqDelOrder) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqDelOrder", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqDelOrder)(nil) + +func (p *ReqDelOrder) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqDeleteMail struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqDeleteMail() *ReqDeleteMail { + return &ReqDeleteMail{} +} + +func (p *ReqDeleteMail) GetId() int32 { + return p.Id +} + +func (p *ReqDeleteMail) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqDeleteMail) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqDeleteMail) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqDeleteMail"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqDeleteMail) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqDeleteMail) Equals(other *ReqDeleteMail) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqDeleteMail) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqDeleteMail(%+v)", *p) +} + +func (p *ReqDeleteMail) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqDeleteMail", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqDeleteMail)(nil) + +func (p *ReqDeleteMail) Validate() error { + return nil +} + +type ReqEndless struct { +} + +func NewReqEndless() *ReqEndless { + return &ReqEndless{} +} + +func (p *ReqEndless) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqEndless) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqEndless"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqEndless) Equals(other *ReqEndless) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqEndless) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqEndless(%+v)", *p) +} + +func (p *ReqEndless) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqEndless", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqEndless)(nil) + +func (p *ReqEndless) Validate() error { + return nil +} + +type ReqEndlessReward struct { +} + +func NewReqEndlessReward() *ReqEndlessReward { + return &ReqEndlessReward{} +} + +func (p *ReqEndlessReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqEndlessReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqEndlessReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqEndlessReward) Equals(other *ReqEndlessReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqEndlessReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqEndlessReward(%+v)", *p) +} + +func (p *ReqEndlessReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqEndlessReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqEndlessReward)(nil) + +func (p *ReqEndlessReward) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqExStarReward struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqExStarReward() *ReqExStarReward { + return &ReqExStarReward{} +} + +func (p *ReqExStarReward) GetId() int32 { + return p.Id +} + +func (p *ReqExStarReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqExStarReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqExStarReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqExStarReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqExStarReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqExStarReward) Equals(other *ReqExStarReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqExStarReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqExStarReward(%+v)", *p) +} + +func (p *ReqExStarReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqExStarReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqExStarReward)(nil) + +func (p *ReqExStarReward) Validate() error { + return nil +} + +type ReqFastProduceInfo struct { +} + +func NewReqFastProduceInfo() *ReqFastProduceInfo { + return &ReqFastProduceInfo{} +} + +func (p *ReqFastProduceInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFastProduceInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFastProduceInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFastProduceInfo) Equals(other *ReqFastProduceInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqFastProduceInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFastProduceInfo(%+v)", *p) +} + +func (p *ReqFastProduceInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFastProduceInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFastProduceInfo)(nil) + +func (p *ReqFastProduceInfo) Validate() error { + return nil +} + +// Attributes: +// - Energy +// +type ReqFastProduceReward struct { + Energy int32 `thrift:"Energy,1" db:"Energy" json:"Energy"` +} + +func NewReqFastProduceReward() *ReqFastProduceReward { + return &ReqFastProduceReward{} +} + +func (p *ReqFastProduceReward) GetEnergy() int32 { + return p.Energy +} + +func (p *ReqFastProduceReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFastProduceReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Energy = v + } + return nil +} + +func (p *ReqFastProduceReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFastProduceReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFastProduceReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Energy", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Energy: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Energy)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Energy (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Energy: ", p), err) + } + return err +} + +func (p *ReqFastProduceReward) Equals(other *ReqFastProduceReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Energy != other.Energy { + return false + } + return true +} + +func (p *ReqFastProduceReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFastProduceReward(%+v)", *p) +} + +func (p *ReqFastProduceReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFastProduceReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFastProduceReward)(nil) + +func (p *ReqFastProduceReward) Validate() error { + return nil +} + +type ReqFreeShop struct { +} + +func NewReqFreeShop() *ReqFreeShop { + return &ReqFreeShop{} +} + +func (p *ReqFreeShop) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFreeShop) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFreeShop"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFreeShop) Equals(other *ReqFreeShop) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqFreeShop) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFreeShop(%+v)", *p) +} + +func (p *ReqFreeShop) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFreeShop", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFreeShop)(nil) + +func (p *ReqFreeShop) Validate() error { + return nil +} + +// Attributes: +// - Type +// +type ReqFriendApply struct { + Type int32 `thrift:"Type,1" db:"Type" json:"Type"` +} + +func NewReqFriendApply() *ReqFriendApply { + return &ReqFriendApply{} +} + +func (p *ReqFriendApply) GetType() int32 { + return p.Type +} + +func (p *ReqFriendApply) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFriendApply) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ReqFriendApply) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFriendApply"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFriendApply) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Type: ", p), err) + } + return err +} + +func (p *ReqFriendApply) Equals(other *ReqFriendApply) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Type != other.Type { + return false + } + return true +} + +func (p *ReqFriendApply) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFriendApply(%+v)", *p) +} + +func (p *ReqFriendApply) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFriendApply", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFriendApply)(nil) + +func (p *ReqFriendApply) Validate() error { + return nil +} + +// Attributes: +// - Code +// +type ReqFriendByCode struct { + Code string `thrift:"Code,1" db:"Code" json:"Code"` +} + +func NewReqFriendByCode() *ReqFriendByCode { + return &ReqFriendByCode{} +} + +func (p *ReqFriendByCode) GetCode() string { + return p.Code +} + +func (p *ReqFriendByCode) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFriendByCode) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Code = v + } + return nil +} + +func (p *ReqFriendByCode) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFriendByCode"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFriendByCode) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ReqFriendByCode) Equals(other *ReqFriendByCode) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + return true +} + +func (p *ReqFriendByCode) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFriendByCode(%+v)", *p) +} + +func (p *ReqFriendByCode) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFriendByCode", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFriendByCode)(nil) + +func (p *ReqFriendByCode) Validate() error { + return nil +} + +type ReqFriendCardMsg struct { +} + +func NewReqFriendCardMsg() *ReqFriendCardMsg { + return &ReqFriendCardMsg{} +} + +func (p *ReqFriendCardMsg) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFriendCardMsg) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFriendCardMsg"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFriendCardMsg) Equals(other *ReqFriendCardMsg) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqFriendCardMsg) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFriendCardMsg(%+v)", *p) +} + +func (p *ReqFriendCardMsg) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFriendCardMsg", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFriendCardMsg)(nil) + +func (p *ReqFriendCardMsg) Validate() error { + return nil +} + +// Attributes: +// - Uid +// +type ReqFriendIgnore struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` +} + +func NewReqFriendIgnore() *ReqFriendIgnore { + return &ReqFriendIgnore{} +} + +func (p *ReqFriendIgnore) GetUid() int64 { + return p.Uid +} + +func (p *ReqFriendIgnore) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFriendIgnore) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqFriendIgnore) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFriendIgnore"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFriendIgnore) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqFriendIgnore) Equals(other *ReqFriendIgnore) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ReqFriendIgnore) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFriendIgnore(%+v)", *p) +} + +func (p *ReqFriendIgnore) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFriendIgnore", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFriendIgnore)(nil) + +func (p *ReqFriendIgnore) Validate() error { + return nil +} + +type ReqFriendList struct { +} + +func NewReqFriendList() *ReqFriendList { + return &ReqFriendList{} +} + +func (p *ReqFriendList) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFriendList) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFriendList"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFriendList) Equals(other *ReqFriendList) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqFriendList) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFriendList(%+v)", *p) +} + +func (p *ReqFriendList) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFriendList", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFriendList)(nil) + +func (p *ReqFriendList) Validate() error { + return nil +} + +// Attributes: +// - Uid +// +type ReqFriendPlayerSimple struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` +} + +func NewReqFriendPlayerSimple() *ReqFriendPlayerSimple { + return &ReqFriendPlayerSimple{} +} + +func (p *ReqFriendPlayerSimple) GetUid() int64 { + return p.Uid +} + +func (p *ReqFriendPlayerSimple) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFriendPlayerSimple) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqFriendPlayerSimple) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFriendPlayerSimple"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFriendPlayerSimple) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqFriendPlayerSimple) Equals(other *ReqFriendPlayerSimple) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ReqFriendPlayerSimple) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFriendPlayerSimple(%+v)", *p) +} + +func (p *ReqFriendPlayerSimple) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFriendPlayerSimple", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFriendPlayerSimple)(nil) + +func (p *ReqFriendPlayerSimple) Validate() error { + return nil +} + +type ReqFriendRecommend struct { +} + +func NewReqFriendRecommend() *ReqFriendRecommend { + return &ReqFriendRecommend{} +} + +func (p *ReqFriendRecommend) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFriendRecommend) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFriendRecommend"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFriendRecommend) Equals(other *ReqFriendRecommend) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqFriendRecommend) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFriendRecommend(%+v)", *p) +} + +func (p *ReqFriendRecommend) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFriendRecommend", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFriendRecommend)(nil) + +func (p *ReqFriendRecommend) Validate() error { + return nil +} + +// Attributes: +// - LogId +// - Param +// - Type +// +type ReqFriendReplyHandle struct { + LogId int32 `thrift:"LogId,1" db:"LogId" json:"LogId"` + Param string `thrift:"Param,2" db:"Param" json:"Param"` + Type int32 `thrift:"Type,3" db:"Type" json:"Type"` +} + +func NewReqFriendReplyHandle() *ReqFriendReplyHandle { + return &ReqFriendReplyHandle{} +} + +func (p *ReqFriendReplyHandle) GetLogId() int32 { + return p.LogId +} + +func (p *ReqFriendReplyHandle) GetParam() string { + return p.Param +} + +func (p *ReqFriendReplyHandle) GetType() int32 { + return p.Type +} + +func (p *ReqFriendReplyHandle) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFriendReplyHandle) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.LogId = v + } + return nil +} + +func (p *ReqFriendReplyHandle) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Param = v + } + return nil +} + +func (p *ReqFriendReplyHandle) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ReqFriendReplyHandle) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFriendReplyHandle"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFriendReplyHandle) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "LogId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:LogId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.LogId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.LogId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:LogId: ", p), err) + } + return err +} + +func (p *ReqFriendReplyHandle) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Param", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Param: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Param)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Param (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Param: ", p), err) + } + return err +} + +func (p *ReqFriendReplyHandle) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Type: ", p), err) + } + return err +} + +func (p *ReqFriendReplyHandle) Equals(other *ReqFriendReplyHandle) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.LogId != other.LogId { + return false + } + if p.Param != other.Param { + return false + } + if p.Type != other.Type { + return false + } + return true +} + +func (p *ReqFriendReplyHandle) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFriendReplyHandle(%+v)", *p) +} + +func (p *ReqFriendReplyHandle) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFriendReplyHandle", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFriendReplyHandle)(nil) + +func (p *ReqFriendReplyHandle) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqFriendTLUpvote struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqFriendTLUpvote() *ReqFriendTLUpvote { + return &ReqFriendTLUpvote{} +} + +func (p *ReqFriendTLUpvote) GetId() int32 { + return p.Id +} + +func (p *ReqFriendTLUpvote) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFriendTLUpvote) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqFriendTLUpvote) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFriendTLUpvote"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFriendTLUpvote) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqFriendTLUpvote) Equals(other *ReqFriendTLUpvote) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqFriendTLUpvote) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFriendTLUpvote(%+v)", *p) +} + +func (p *ReqFriendTLUpvote) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFriendTLUpvote", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFriendTLUpvote)(nil) + +func (p *ReqFriendTLUpvote) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqFriendTReward struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqFriendTReward() *ReqFriendTReward { + return &ReqFriendTReward{} +} + +func (p *ReqFriendTReward) GetId() int32 { + return p.Id +} + +func (p *ReqFriendTReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFriendTReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqFriendTReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFriendTReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFriendTReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqFriendTReward) Equals(other *ReqFriendTReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqFriendTReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFriendTReward(%+v)", *p) +} + +func (p *ReqFriendTReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFriendTReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFriendTReward)(nil) + +func (p *ReqFriendTReward) Validate() error { + return nil +} + +type ReqFriendTimeLine struct { +} + +func NewReqFriendTimeLine() *ReqFriendTimeLine { + return &ReqFriendTimeLine{} +} + +func (p *ReqFriendTimeLine) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFriendTimeLine) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFriendTimeLine"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFriendTimeLine) Equals(other *ReqFriendTimeLine) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqFriendTimeLine) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFriendTimeLine(%+v)", *p) +} + +func (p *ReqFriendTimeLine) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFriendTimeLine", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFriendTimeLine)(nil) + +func (p *ReqFriendTimeLine) Validate() error { + return nil +} + +type ReqFriendTreasure struct { +} + +func NewReqFriendTreasure() *ReqFriendTreasure { + return &ReqFriendTreasure{} +} + +func (p *ReqFriendTreasure) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFriendTreasure) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFriendTreasure"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFriendTreasure) Equals(other *ReqFriendTreasure) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqFriendTreasure) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFriendTreasure(%+v)", *p) +} + +func (p *ReqFriendTreasure) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFriendTreasure", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFriendTreasure)(nil) + +func (p *ReqFriendTreasure) Validate() error { + return nil +} + +type ReqFriendTreasureEnd struct { +} + +func NewReqFriendTreasureEnd() *ReqFriendTreasureEnd { + return &ReqFriendTreasureEnd{} +} + +func (p *ReqFriendTreasureEnd) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFriendTreasureEnd) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFriendTreasureEnd"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFriendTreasureEnd) Equals(other *ReqFriendTreasureEnd) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqFriendTreasureEnd) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFriendTreasureEnd(%+v)", *p) +} + +func (p *ReqFriendTreasureEnd) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFriendTreasureEnd", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFriendTreasureEnd)(nil) + +func (p *ReqFriendTreasureEnd) Validate() error { + return nil +} + +// Attributes: +// - Pos +// +type ReqFriendTreasureFilp struct { + Pos int32 `thrift:"Pos,1" db:"Pos" json:"Pos"` +} + +func NewReqFriendTreasureFilp() *ReqFriendTreasureFilp { + return &ReqFriendTreasureFilp{} +} + +func (p *ReqFriendTreasureFilp) GetPos() int32 { + return p.Pos +} + +func (p *ReqFriendTreasureFilp) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFriendTreasureFilp) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Pos = v + } + return nil +} + +func (p *ReqFriendTreasureFilp) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFriendTreasureFilp"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFriendTreasureFilp) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Pos", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Pos: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Pos)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Pos (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Pos: ", p), err) + } + return err +} + +func (p *ReqFriendTreasureFilp) Equals(other *ReqFriendTreasureFilp) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Pos != other.Pos { + return false + } + return true +} + +func (p *ReqFriendTreasureFilp) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFriendTreasureFilp(%+v)", *p) +} + +func (p *ReqFriendTreasureFilp) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFriendTreasureFilp", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFriendTreasureFilp)(nil) + +func (p *ReqFriendTreasureFilp) Validate() error { + return nil +} + +// Attributes: +// - List +// - List2 +// +type ReqFriendTreasureStart struct { + List []*TreasureInfo `thrift:"List,1" db:"List" json:"List"` + List2 []int32 `thrift:"List2,2" db:"List2" json:"List2"` +} + +func NewReqFriendTreasureStart() *ReqFriendTreasureStart { + return &ReqFriendTreasureStart{} +} + +func (p *ReqFriendTreasureStart) GetList() []*TreasureInfo { + return p.List +} + +func (p *ReqFriendTreasureStart) GetList2() []int32 { + return p.List2 +} + +func (p *ReqFriendTreasureStart) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFriendTreasureStart) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*TreasureInfo, 0, size) + p.List = tSlice + for i := 0; i < size; i++ { + _elem98 := &TreasureInfo{} + if err := _elem98.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem98), err) + } + p.List = append(p.List, _elem98) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ReqFriendTreasureStart) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.List2 = tSlice + for i := 0; i < size; i++ { + var _elem99 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem99 = v + } + p.List2 = append(p.List2, _elem99) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ReqFriendTreasureStart) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFriendTreasureStart"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFriendTreasureStart) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "List", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:List: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.List)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.List { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:List: ", p), err) + } + return err +} + +func (p *ReqFriendTreasureStart) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "List2", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:List2: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.List2)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.List2 { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:List2: ", p), err) + } + return err +} + +func (p *ReqFriendTreasureStart) Equals(other *ReqFriendTreasureStart) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.List) != len(other.List) { + return false + } + for i, _tgt := range p.List { + _src100 := other.List[i] + if !_tgt.Equals(_src100) { + return false + } + } + if len(p.List2) != len(other.List2) { + return false + } + for i, _tgt := range p.List2 { + _src101 := other.List2[i] + if _tgt != _src101 { + return false + } + } + return true +} + +func (p *ReqFriendTreasureStart) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFriendTreasureStart(%+v)", *p) +} + +func (p *ReqFriendTreasureStart) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFriendTreasureStart", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFriendTreasureStart)(nil) + +func (p *ReqFriendTreasureStart) Validate() error { + return nil +} + +// Attributes: +// - FurId +// +type ReqFurSet struct { + FurId int32 `thrift:"FurId,1" db:"FurId" json:"FurId"` +} + +func NewReqFurSet() *ReqFurSet { + return &ReqFurSet{} +} + +func (p *ReqFurSet) GetFurId() int32 { + return p.FurId +} + +func (p *ReqFurSet) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqFurSet) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.FurId = v + } + return nil +} + +func (p *ReqFurSet) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqFurSet"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqFurSet) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FurId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:FurId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.FurId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.FurId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:FurId: ", p), err) + } + return err +} + +func (p *ReqFurSet) Equals(other *ReqFurSet) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.FurId != other.FurId { + return false + } + return true +} + +func (p *ReqFurSet) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqFurSet(%+v)", *p) +} + +func (p *ReqFurSet) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqFurSet", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqFurSet)(nil) + +func (p *ReqFurSet) Validate() error { + return nil +} + +// Attributes: +// - ChessId +// - MChessData +// +type ReqGetChessFromBuff struct { + ChessId int32 `thrift:"ChessId,1" db:"ChessId" json:"ChessId"` + MChessData map[string]int32 `thrift:"MChessData,2" db:"MChessData" json:"MChessData"` +} + +func NewReqGetChessFromBuff() *ReqGetChessFromBuff { + return &ReqGetChessFromBuff{} +} + +func (p *ReqGetChessFromBuff) GetChessId() int32 { + return p.ChessId +} + +func (p *ReqGetChessFromBuff) GetMChessData() map[string]int32 { + return p.MChessData +} + +func (p *ReqGetChessFromBuff) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGetChessFromBuff) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ChessId = v + } + return nil +} + +func (p *ReqGetChessFromBuff) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.MChessData = tMap + for i := 0; i < size; i++ { + var _key102 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key102 = v + } + var _val103 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val103 = v + } + p.MChessData[_key102] = _val103 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqGetChessFromBuff) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGetChessFromBuff"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGetChessFromBuff) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChessId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChessId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ChessId: ", p), err) + } + return err +} + +func (p *ReqGetChessFromBuff) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MChessData", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MChessData: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.MChessData)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MChessData { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MChessData: ", p), err) + } + return err +} + +func (p *ReqGetChessFromBuff) Equals(other *ReqGetChessFromBuff) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ChessId != other.ChessId { + return false + } + if len(p.MChessData) != len(other.MChessData) { + return false + } + for k, _tgt := range p.MChessData { + _src104 := other.MChessData[k] + if _tgt != _src104 { + return false + } + } + return true +} + +func (p *ReqGetChessFromBuff) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGetChessFromBuff(%+v)", *p) +} + +func (p *ReqGetChessFromBuff) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGetChessFromBuff", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGetChessFromBuff)(nil) + +func (p *ReqGetChessFromBuff) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqGetChessRetireReward struct { + Id string `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqGetChessRetireReward() *ReqGetChessRetireReward { + return &ReqGetChessRetireReward{} +} + +func (p *ReqGetChessRetireReward) GetId() string { + return p.Id +} + +func (p *ReqGetChessRetireReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGetChessRetireReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqGetChessRetireReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGetChessRetireReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGetChessRetireReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqGetChessRetireReward) Equals(other *ReqGetChessRetireReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqGetChessRetireReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGetChessRetireReward(%+v)", *p) +} + +func (p *ReqGetChessRetireReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGetChessRetireReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGetChessRetireReward)(nil) + +func (p *ReqGetChessRetireReward) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqGetDailyTaskReward struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqGetDailyTaskReward() *ReqGetDailyTaskReward { + return &ReqGetDailyTaskReward{} +} + +func (p *ReqGetDailyTaskReward) GetId() int32 { + return p.Id +} + +func (p *ReqGetDailyTaskReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGetDailyTaskReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqGetDailyTaskReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGetDailyTaskReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGetDailyTaskReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqGetDailyTaskReward) Equals(other *ReqGetDailyTaskReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqGetDailyTaskReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGetDailyTaskReward(%+v)", *p) +} + +func (p *ReqGetDailyTaskReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGetDailyTaskReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGetDailyTaskReward)(nil) + +func (p *ReqGetDailyTaskReward) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqGetDailyWeekReward struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqGetDailyWeekReward() *ReqGetDailyWeekReward { + return &ReqGetDailyWeekReward{} +} + +func (p *ReqGetDailyWeekReward) GetId() int32 { + return p.Id +} + +func (p *ReqGetDailyWeekReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGetDailyWeekReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqGetDailyWeekReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGetDailyWeekReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGetDailyWeekReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqGetDailyWeekReward) Equals(other *ReqGetDailyWeekReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqGetDailyWeekReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGetDailyWeekReward(%+v)", *p) +} + +func (p *ReqGetDailyWeekReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGetDailyWeekReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGetDailyWeekReward)(nil) + +func (p *ReqGetDailyWeekReward) Validate() error { + return nil +} + +type ReqGetEnergyByAD struct { +} + +func NewReqGetEnergyByAD() *ReqGetEnergyByAD { + return &ReqGetEnergyByAD{} +} + +func (p *ReqGetEnergyByAD) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGetEnergyByAD) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGetEnergyByAD"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGetEnergyByAD) Equals(other *ReqGetEnergyByAD) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqGetEnergyByAD) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGetEnergyByAD(%+v)", *p) +} + +func (p *ReqGetEnergyByAD) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGetEnergyByAD", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGetEnergyByAD)(nil) + +func (p *ReqGetEnergyByAD) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqGetFriendCard struct { + Id string `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqGetFriendCard() *ReqGetFriendCard { + return &ReqGetFriendCard{} +} + +func (p *ReqGetFriendCard) GetId() string { + return p.Id +} + +func (p *ReqGetFriendCard) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGetFriendCard) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqGetFriendCard) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGetFriendCard"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGetFriendCard) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqGetFriendCard) Equals(other *ReqGetFriendCard) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqGetFriendCard) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGetFriendCard(%+v)", *p) +} + +func (p *ReqGetFriendCard) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGetFriendCard", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGetFriendCard)(nil) + +func (p *ReqGetFriendCard) Validate() error { + return nil +} + +type ReqGetGoldCard struct { +} + +func NewReqGetGoldCard() *ReqGetGoldCard { + return &ReqGetGoldCard{} +} + +func (p *ReqGetGoldCard) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGetGoldCard) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGetGoldCard"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGetGoldCard) Equals(other *ReqGetGoldCard) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqGetGoldCard) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGetGoldCard(%+v)", *p) +} + +func (p *ReqGetGoldCard) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGetGoldCard", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGetGoldCard)(nil) + +func (p *ReqGetGoldCard) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqGetGuideActiveReward struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqGetGuideActiveReward() *ReqGetGuideActiveReward { + return &ReqGetGuideActiveReward{} +} + +func (p *ReqGetGuideActiveReward) GetId() int32 { + return p.Id +} + +func (p *ReqGetGuideActiveReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGetGuideActiveReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqGetGuideActiveReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGetGuideActiveReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGetGuideActiveReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqGetGuideActiveReward) Equals(other *ReqGetGuideActiveReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqGetGuideActiveReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGetGuideActiveReward(%+v)", *p) +} + +func (p *ReqGetGuideActiveReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGetGuideActiveReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGetGuideActiveReward)(nil) + +func (p *ReqGetGuideActiveReward) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqGetGuideTaskReward struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqGetGuideTaskReward() *ReqGetGuideTaskReward { + return &ReqGetGuideTaskReward{} +} + +func (p *ReqGetGuideTaskReward) GetId() int32 { + return p.Id +} + +func (p *ReqGetGuideTaskReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGetGuideTaskReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqGetGuideTaskReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGetGuideTaskReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGetGuideTaskReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqGetGuideTaskReward) Equals(other *ReqGetGuideTaskReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqGetGuideTaskReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGetGuideTaskReward(%+v)", *p) +} + +func (p *ReqGetGuideTaskReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGetGuideTaskReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGetGuideTaskReward)(nil) + +func (p *ReqGetGuideTaskReward) Validate() error { + return nil +} + +// Attributes: +// - ChessId +// +type ReqGetHandbookReward struct { + ChessId int32 `thrift:"ChessId,1" db:"ChessId" json:"ChessId"` +} + +func NewReqGetHandbookReward() *ReqGetHandbookReward { + return &ReqGetHandbookReward{} +} + +func (p *ReqGetHandbookReward) GetChessId() int32 { + return p.ChessId +} + +func (p *ReqGetHandbookReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGetHandbookReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ChessId = v + } + return nil +} + +func (p *ReqGetHandbookReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGetHandbookReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGetHandbookReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChessId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChessId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ChessId: ", p), err) + } + return err +} + +func (p *ReqGetHandbookReward) Equals(other *ReqGetHandbookReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ChessId != other.ChessId { + return false + } + return true +} + +func (p *ReqGetHandbookReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGetHandbookReward(%+v)", *p) +} + +func (p *ReqGetHandbookReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGetHandbookReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGetHandbookReward)(nil) + +func (p *ReqGetHandbookReward) Validate() error { + return nil +} + +// Attributes: +// - GetIndex +// +type ReqGetInviteReward struct { + GetIndex int32 `thrift:"GetIndex,1" db:"GetIndex" json:"GetIndex"` +} + +func NewReqGetInviteReward() *ReqGetInviteReward { + return &ReqGetInviteReward{} +} + +func (p *ReqGetInviteReward) GetGetIndex() int32 { + return p.GetIndex +} + +func (p *ReqGetInviteReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGetInviteReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.GetIndex = v + } + return nil +} + +func (p *ReqGetInviteReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGetInviteReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGetInviteReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "GetIndex", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:GetIndex: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.GetIndex)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.GetIndex (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:GetIndex: ", p), err) + } + return err +} + +func (p *ReqGetInviteReward) Equals(other *ReqGetInviteReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.GetIndex != other.GetIndex { + return false + } + return true +} + +func (p *ReqGetInviteReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGetInviteReward(%+v)", *p) +} + +func (p *ReqGetInviteReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGetInviteReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGetInviteReward)(nil) + +func (p *ReqGetInviteReward) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqGetMailReward struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqGetMailReward() *ReqGetMailReward { + return &ReqGetMailReward{} +} + +func (p *ReqGetMailReward) GetId() int32 { + return p.Id +} + +func (p *ReqGetMailReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGetMailReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqGetMailReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGetMailReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGetMailReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqGetMailReward) Equals(other *ReqGetMailReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqGetMailReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGetMailReward(%+v)", *p) +} + +func (p *ReqGetMailReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGetMailReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGetMailReward)(nil) + +func (p *ReqGetMailReward) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqGetMonthLoginReward struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqGetMonthLoginReward() *ReqGetMonthLoginReward { + return &ReqGetMonthLoginReward{} +} + +func (p *ReqGetMonthLoginReward) GetId() int32 { + return p.Id +} + +func (p *ReqGetMonthLoginReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGetMonthLoginReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqGetMonthLoginReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGetMonthLoginReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGetMonthLoginReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqGetMonthLoginReward) Equals(other *ReqGetMonthLoginReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqGetMonthLoginReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGetMonthLoginReward(%+v)", *p) +} + +func (p *ReqGetMonthLoginReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGetMonthLoginReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGetMonthLoginReward)(nil) + +func (p *ReqGetMonthLoginReward) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqGetSevenLoginReward struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqGetSevenLoginReward() *ReqGetSevenLoginReward { + return &ReqGetSevenLoginReward{} +} + +func (p *ReqGetSevenLoginReward) GetId() int32 { + return p.Id +} + +func (p *ReqGetSevenLoginReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGetSevenLoginReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqGetSevenLoginReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGetSevenLoginReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGetSevenLoginReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqGetSevenLoginReward) Equals(other *ReqGetSevenLoginReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqGetSevenLoginReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGetSevenLoginReward(%+v)", *p) +} + +func (p *ReqGetSevenLoginReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGetSevenLoginReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGetSevenLoginReward)(nil) + +func (p *ReqGetSevenLoginReward) Validate() error { + return nil +} + +type ReqGetWish struct { +} + +func NewReqGetWish() *ReqGetWish { + return &ReqGetWish{} +} + +func (p *ReqGetWish) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGetWish) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGetWish"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGetWish) Equals(other *ReqGetWish) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqGetWish) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGetWish(%+v)", *p) +} + +func (p *ReqGetWish) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGetWish", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGetWish)(nil) + +func (p *ReqGetWish) Validate() error { + return nil +} + +// Attributes: +// - Command +// - Args_ +// +type ReqGmCommand struct { + Command string `thrift:"Command,1" db:"Command" json:"Command"` + Args_ string `thrift:"args,2" db:"args" json:"args"` +} + +func NewReqGmCommand() *ReqGmCommand { + return &ReqGmCommand{} +} + +func (p *ReqGmCommand) GetCommand() string { + return p.Command +} + +func (p *ReqGmCommand) GetArgs_() string { + return p.Args_ +} + +func (p *ReqGmCommand) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGmCommand) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Command = v + } + return nil +} + +func (p *ReqGmCommand) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Args_ = v + } + return nil +} + +func (p *ReqGmCommand) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGmCommand"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGmCommand) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Command", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Command: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Command)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Command (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Command: ", p), err) + } + return err +} + +func (p *ReqGmCommand) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "args", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:args: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Args_)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.args (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:args: ", p), err) + } + return err +} + +func (p *ReqGmCommand) Equals(other *ReqGmCommand) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Command != other.Command { + return false + } + if p.Args_ != other.Args_ { + return false + } + return true +} + +func (p *ReqGmCommand) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGmCommand(%+v)", *p) +} + +func (p *ReqGmCommand) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGmCommand", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGmCommand)(nil) + +func (p *ReqGmCommand) Validate() error { + return nil +} + +type ReqGuessColor struct { +} + +func NewReqGuessColor() *ReqGuessColor { + return &ReqGuessColor{} +} + +func (p *ReqGuessColor) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGuessColor) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGuessColor"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGuessColor) Equals(other *ReqGuessColor) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqGuessColor) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGuessColor(%+v)", *p) +} + +func (p *ReqGuessColor) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGuessColor", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGuessColor)(nil) + +func (p *ReqGuessColor) Validate() error { + return nil +} + +type ReqGuessColorReward struct { +} + +func NewReqGuessColorReward() *ReqGuessColorReward { + return &ReqGuessColorReward{} +} + +func (p *ReqGuessColorReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGuessColorReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGuessColorReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGuessColorReward) Equals(other *ReqGuessColorReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqGuessColorReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGuessColorReward(%+v)", *p) +} + +func (p *ReqGuessColorReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGuessColorReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGuessColorReward)(nil) + +func (p *ReqGuessColorReward) Validate() error { + return nil +} + +// Attributes: +// - Map +// - OMap +// +type ReqGuessColorTake struct { + Map *GuessColorInfo `thrift:"Map,1" db:"Map" json:"Map"` + OMap map[int32]int32 `thrift:"OMap,2" db:"OMap" json:"OMap"` +} + +func NewReqGuessColorTake() *ReqGuessColorTake { + return &ReqGuessColorTake{} +} + +var ReqGuessColorTake_Map_DEFAULT *GuessColorInfo + +func (p *ReqGuessColorTake) GetMap() *GuessColorInfo { + if !p.IsSetMap() { + return ReqGuessColorTake_Map_DEFAULT + } + return p.Map +} + +func (p *ReqGuessColorTake) GetOMap() map[int32]int32 { + return p.OMap +} + +func (p *ReqGuessColorTake) IsSetMap() bool { + return p.Map != nil +} + +func (p *ReqGuessColorTake) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGuessColorTake) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Map = &GuessColorInfo{} + if err := p.Map.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Map), err) + } + return nil +} + +func (p *ReqGuessColorTake) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.OMap = tMap + for i := 0; i < size; i++ { + var _key105 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key105 = v + } + var _val106 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val106 = v + } + p.OMap[_key105] = _val106 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqGuessColorTake) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGuessColorTake"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGuessColorTake) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Map", thrift.STRUCT, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Map: ", p), err) + } + if err := p.Map.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Map), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Map: ", p), err) + } + return err +} + +func (p *ReqGuessColorTake) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "OMap", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:OMap: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.OMap)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.OMap { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:OMap: ", p), err) + } + return err +} + +func (p *ReqGuessColorTake) Equals(other *ReqGuessColorTake) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if !p.Map.Equals(other.Map) { + return false + } + if len(p.OMap) != len(other.OMap) { + return false + } + for k, _tgt := range p.OMap { + _src107 := other.OMap[k] + if _tgt != _src107 { + return false + } + } + return true +} + +func (p *ReqGuessColorTake) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGuessColorTake(%+v)", *p) +} + +func (p *ReqGuessColorTake) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGuessColorTake", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGuessColorTake)(nil) + +func (p *ReqGuessColorTake) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqGuidePlayroom struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqGuidePlayroom() *ReqGuidePlayroom { + return &ReqGuidePlayroom{} +} + +func (p *ReqGuidePlayroom) GetId() int32 { + return p.Id +} + +func (p *ReqGuidePlayroom) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGuidePlayroom) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqGuidePlayroom) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGuidePlayroom"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGuidePlayroom) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqGuidePlayroom) Equals(other *ReqGuidePlayroom) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqGuidePlayroom) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGuidePlayroom(%+v)", *p) +} + +func (p *ReqGuidePlayroom) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGuidePlayroom", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGuidePlayroom)(nil) + +func (p *ReqGuidePlayroom) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqGuideReward struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqGuideReward() *ReqGuideReward { + return &ReqGuideReward{} +} + +func (p *ReqGuideReward) GetId() int32 { + return p.Id +} + +func (p *ReqGuideReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqGuideReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqGuideReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqGuideReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqGuideReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqGuideReward) Equals(other *ReqGuideReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqGuideReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqGuideReward(%+v)", *p) +} + +func (p *ReqGuideReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqGuideReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqGuideReward)(nil) + +func (p *ReqGuideReward) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Name +// +type ReqId2Verify struct { + Id string `thrift:"Id,1" db:"Id" json:"Id"` + Name string `thrift:"Name,2" db:"Name" json:"Name"` +} + +func NewReqId2Verify() *ReqId2Verify { + return &ReqId2Verify{} +} + +func (p *ReqId2Verify) GetId() string { + return p.Id +} + +func (p *ReqId2Verify) GetName() string { + return p.Name +} + +func (p *ReqId2Verify) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqId2Verify) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqId2Verify) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Name = v + } + return nil +} + +func (p *ReqId2Verify) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqId2Verify"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqId2Verify) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqId2Verify) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Name", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Name: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Name)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Name (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Name: ", p), err) + } + return err +} + +func (p *ReqId2Verify) Equals(other *ReqId2Verify) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Name != other.Name { + return false + } + return true +} + +func (p *ReqId2Verify) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqId2Verify(%+v)", *p) +} + +func (p *ReqId2Verify) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqId2Verify", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqId2Verify)(nil) + +func (p *ReqId2Verify) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// +type ReqInviteFriendData struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` +} + +func NewReqInviteFriendData() *ReqInviteFriendData { + return &ReqInviteFriendData{} +} + +func (p *ReqInviteFriendData) GetDwUin() int64 { + return p.DwUin +} + +func (p *ReqInviteFriendData) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqInviteFriendData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ReqInviteFriendData) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqInviteFriendData"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqInviteFriendData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ReqInviteFriendData) Equals(other *ReqInviteFriendData) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + return true +} + +func (p *ReqInviteFriendData) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqInviteFriendData(%+v)", *p) +} + +func (p *ReqInviteFriendData) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqInviteFriendData", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqInviteFriendData)(nil) + +func (p *ReqInviteFriendData) Validate() error { + return nil +} + +// Attributes: +// - Event +// - Data +// +type ReqKafkaLog struct { + Event string `thrift:"Event,1" db:"Event" json:"Event"` + Data string `thrift:"Data,2" db:"Data" json:"Data"` +} + +func NewReqKafkaLog() *ReqKafkaLog { + return &ReqKafkaLog{} +} + +func (p *ReqKafkaLog) GetEvent() string { + return p.Event +} + +func (p *ReqKafkaLog) GetData() string { + return p.Data +} + +func (p *ReqKafkaLog) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqKafkaLog) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Event = v + } + return nil +} + +func (p *ReqKafkaLog) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Data = v + } + return nil +} + +func (p *ReqKafkaLog) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqKafkaLog"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqKafkaLog) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Event", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Event: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Event)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Event (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Event: ", p), err) + } + return err +} + +func (p *ReqKafkaLog) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Data", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Data: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Data)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Data (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Data: ", p), err) + } + return err +} + +func (p *ReqKafkaLog) Equals(other *ReqKafkaLog) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Event != other.Event { + return false + } + if p.Data != other.Data { + return false + } + return true +} + +func (p *ReqKafkaLog) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqKafkaLog(%+v)", *p) +} + +func (p *ReqKafkaLog) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqKafkaLog", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqKafkaLog)(nil) + +func (p *ReqKafkaLog) Validate() error { + return nil +} + +// Attributes: +// - Key +// - Value +// +type ReqKv struct { + Key int32 `thrift:"key,1" db:"key" json:"key"` + Value string `thrift:"value,2" db:"value" json:"value"` +} + +func NewReqKv() *ReqKv { + return &ReqKv{} +} + +func (p *ReqKv) GetKey() int32 { + return p.Key +} + +func (p *ReqKv) GetValue() string { + return p.Value +} + +func (p *ReqKv) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqKv) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Key = v + } + return nil +} + +func (p *ReqKv) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Value = v + } + return nil +} + +func (p *ReqKv) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqKv"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqKv) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "key", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:key: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Key)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.key (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:key: ", p), err) + } + return err +} + +func (p *ReqKv) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "value", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:value: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Value)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.value (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:value: ", p), err) + } + return err +} + +func (p *ReqKv) Equals(other *ReqKv) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Key != other.Key { + return false + } + if p.Value != other.Value { + return false + } + return true +} + +func (p *ReqKv) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqKv(%+v)", *p) +} + +func (p *ReqKv) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqKv", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqKv)(nil) + +func (p *ReqKv) Validate() error { + return nil +} + +// Attributes: +// - Lang +// +type ReqLang struct { + Lang LANG_TYPE `thrift:"Lang,1" db:"Lang" json:"Lang"` +} + +func NewReqLang() *ReqLang { + return &ReqLang{} +} + +func (p *ReqLang) GetLang() LANG_TYPE { + return p.Lang +} + +func (p *ReqLang) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqLang) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := LANG_TYPE(v) + p.Lang = temp + } + return nil +} + +func (p *ReqLang) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqLang"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqLang) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Lang", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Lang: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Lang)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Lang (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Lang: ", p), err) + } + return err +} + +func (p *ReqLang) Equals(other *ReqLang) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Lang != other.Lang { + return false + } + return true +} + +func (p *ReqLang) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqLang(%+v)", *p) +} + +func (p *ReqLang) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqLang", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqLang)(nil) + +func (p *ReqLang) Validate() error { + return nil +} + +type ReqLimitEvent struct { +} + +func NewReqLimitEvent() *ReqLimitEvent { + return &ReqLimitEvent{} +} + +func (p *ReqLimitEvent) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqLimitEvent) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqLimitEvent"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqLimitEvent) Equals(other *ReqLimitEvent) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqLimitEvent) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqLimitEvent(%+v)", *p) +} + +func (p *ReqLimitEvent) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqLimitEvent", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqLimitEvent)(nil) + +func (p *ReqLimitEvent) Validate() error { + return nil +} + +// Attributes: +// - ChessId +// - MChessData +// +type ReqLimitEventLuckyCat struct { + ChessId int32 `thrift:"ChessId,1" db:"ChessId" json:"ChessId"` + MChessData map[string]int32 `thrift:"MChessData,2" db:"MChessData" json:"MChessData"` +} + +func NewReqLimitEventLuckyCat() *ReqLimitEventLuckyCat { + return &ReqLimitEventLuckyCat{} +} + +func (p *ReqLimitEventLuckyCat) GetChessId() int32 { + return p.ChessId +} + +func (p *ReqLimitEventLuckyCat) GetMChessData() map[string]int32 { + return p.MChessData +} + +func (p *ReqLimitEventLuckyCat) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqLimitEventLuckyCat) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ChessId = v + } + return nil +} + +func (p *ReqLimitEventLuckyCat) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.MChessData = tMap + for i := 0; i < size; i++ { + var _key108 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key108 = v + } + var _val109 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val109 = v + } + p.MChessData[_key108] = _val109 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqLimitEventLuckyCat) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqLimitEventLuckyCat"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqLimitEventLuckyCat) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChessId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChessId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ChessId: ", p), err) + } + return err +} + +func (p *ReqLimitEventLuckyCat) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MChessData", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MChessData: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.MChessData)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MChessData { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MChessData: ", p), err) + } + return err +} + +func (p *ReqLimitEventLuckyCat) Equals(other *ReqLimitEventLuckyCat) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ChessId != other.ChessId { + return false + } + if len(p.MChessData) != len(other.MChessData) { + return false + } + for k, _tgt := range p.MChessData { + _src110 := other.MChessData[k] + if _tgt != _src110 { + return false + } + } + return true +} + +func (p *ReqLimitEventLuckyCat) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqLimitEventLuckyCat(%+v)", *p) +} + +func (p *ReqLimitEventLuckyCat) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqLimitEventLuckyCat", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqLimitEventLuckyCat)(nil) + +func (p *ReqLimitEventLuckyCat) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqLimitEventReward struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqLimitEventReward() *ReqLimitEventReward { + return &ReqLimitEventReward{} +} + +func (p *ReqLimitEventReward) GetId() int32 { + return p.Id +} + +func (p *ReqLimitEventReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqLimitEventReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqLimitEventReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqLimitEventReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqLimitEventReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqLimitEventReward) Equals(other *ReqLimitEventReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqLimitEventReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqLimitEventReward(%+v)", *p) +} + +func (p *ReqLimitEventReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqLimitEventReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqLimitEventReward)(nil) + +func (p *ReqLimitEventReward) Validate() error { + return nil +} + +type ReqLimitSenceReward struct { +} + +func NewReqLimitSenceReward() *ReqLimitSenceReward { + return &ReqLimitSenceReward{} +} + +func (p *ReqLimitSenceReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqLimitSenceReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqLimitSenceReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqLimitSenceReward) Equals(other *ReqLimitSenceReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqLimitSenceReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqLimitSenceReward(%+v)", *p) +} + +func (p *ReqLimitSenceReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqLimitSenceReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqLimitSenceReward)(nil) + +func (p *ReqLimitSenceReward) Validate() error { + return nil +} + +// Attributes: +// - UserName +// - UserPwd +// - Code +// - Device +// - Type +// +type ReqLogin struct { + UserName string `thrift:"UserName,1" db:"UserName" json:"UserName"` + UserPwd string `thrift:"UserPwd,2" db:"UserPwd" json:"UserPwd"` + Code string `thrift:"Code,3" db:"Code" json:"Code"` + Device string `thrift:"Device,4" db:"Device" json:"Device"` + Type LOGIN_TYPE `thrift:"type,5" db:"type" json:"type"` +} + +func NewReqLogin() *ReqLogin { + return &ReqLogin{} +} + +func (p *ReqLogin) GetUserName() string { + return p.UserName +} + +func (p *ReqLogin) GetUserPwd() string { + return p.UserPwd +} + +func (p *ReqLogin) GetCode() string { + return p.Code +} + +func (p *ReqLogin) GetDevice() string { + return p.Device +} + +func (p *ReqLogin) GetType() LOGIN_TYPE { + return p.Type +} + +func (p *ReqLogin) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.STRING { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqLogin) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.UserName = v + } + return nil +} + +func (p *ReqLogin) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.UserPwd = v + } + return nil +} + +func (p *ReqLogin) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Code = v + } + return nil +} + +func (p *ReqLogin) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Device = v + } + return nil +} + +func (p *ReqLogin) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + temp := LOGIN_TYPE(v) + p.Type = temp + } + return nil +} + +func (p *ReqLogin) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqLogin"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqLogin) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "UserName", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:UserName: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.UserName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.UserName (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:UserName: ", p), err) + } + return err +} + +func (p *ReqLogin) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "UserPwd", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:UserPwd: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.UserPwd)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.UserPwd (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:UserPwd: ", p), err) + } + return err +} + +func (p *ReqLogin) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Code: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Code: ", p), err) + } + return err +} + +func (p *ReqLogin) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Device", thrift.STRING, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Device: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Device)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Device (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Device: ", p), err) + } + return err +} + +func (p *ReqLogin) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "type", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.type (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:type: ", p), err) + } + return err +} + +func (p *ReqLogin) Equals(other *ReqLogin) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.UserName != other.UserName { + return false + } + if p.UserPwd != other.UserPwd { + return false + } + if p.Code != other.Code { + return false + } + if p.Device != other.Device { + return false + } + if p.Type != other.Type { + return false + } + return true +} + +func (p *ReqLogin) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqLogin(%+v)", *p) +} + +func (p *ReqLogin) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqLogin", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqLogin)(nil) + +func (p *ReqLogin) Validate() error { + return nil +} + +// Attributes: +// - TelPhone +// +type ReqLoginCode struct { + TelPhone string `thrift:"TelPhone,1" db:"TelPhone" json:"TelPhone"` +} + +func NewReqLoginCode() *ReqLoginCode { + return &ReqLoginCode{} +} + +func (p *ReqLoginCode) GetTelPhone() string { + return p.TelPhone +} + +func (p *ReqLoginCode) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqLoginCode) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.TelPhone = v + } + return nil +} + +func (p *ReqLoginCode) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqLoginCode"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqLoginCode) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "TelPhone", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:TelPhone: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.TelPhone)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.TelPhone (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:TelPhone: ", p), err) + } + return err +} + +func (p *ReqLoginCode) Equals(other *ReqLoginCode) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.TelPhone != other.TelPhone { + return false + } + return true +} + +func (p *ReqLoginCode) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqLoginCode(%+v)", *p) +} + +func (p *ReqLoginCode) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqLoginCode", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqLoginCode)(nil) + +func (p *ReqLoginCode) Validate() error { + return nil +} + +type ReqMailList struct { +} + +func NewReqMailList() *ReqMailList { + return &ReqMailList{} +} + +func (p *ReqMailList) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqMailList) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqMailList"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqMailList) Equals(other *ReqMailList) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqMailList) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqMailList(%+v)", *p) +} + +func (p *ReqMailList) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqMailList", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqMailList)(nil) + +func (p *ReqMailList) Validate() error { + return nil +} + +// Attributes: +// - Id +// - CardId +// +type ReqMasterCard struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + CardId int32 `thrift:"CardId,2" db:"CardId" json:"CardId"` +} + +func NewReqMasterCard() *ReqMasterCard { + return &ReqMasterCard{} +} + +func (p *ReqMasterCard) GetId() int32 { + return p.Id +} + +func (p *ReqMasterCard) GetCardId() int32 { + return p.CardId +} + +func (p *ReqMasterCard) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqMasterCard) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqMasterCard) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.CardId = v + } + return nil +} + +func (p *ReqMasterCard) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqMasterCard"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqMasterCard) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqMasterCard) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CardId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:CardId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.CardId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.CardId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:CardId: ", p), err) + } + return err +} + +func (p *ReqMasterCard) Equals(other *ReqMasterCard) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.CardId != other.CardId { + return false + } + return true +} + +func (p *ReqMasterCard) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqMasterCard(%+v)", *p) +} + +func (p *ReqMasterCard) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqMasterCard", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqMasterCard)(nil) + +func (p *ReqMasterCard) Validate() error { + return nil +} + +type ReqMining struct { +} + +func NewReqMining() *ReqMining { + return &ReqMining{} +} + +func (p *ReqMining) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqMining) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqMining"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqMining) Equals(other *ReqMining) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqMining) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqMining(%+v)", *p) +} + +func (p *ReqMining) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqMining", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqMining)(nil) + +func (p *ReqMining) Validate() error { + return nil +} + +type ReqMiningReward struct { +} + +func NewReqMiningReward() *ReqMiningReward { + return &ReqMiningReward{} +} + +func (p *ReqMiningReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqMiningReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqMiningReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqMiningReward) Equals(other *ReqMiningReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqMiningReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqMiningReward(%+v)", *p) +} + +func (p *ReqMiningReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqMiningReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqMiningReward)(nil) + +func (p *ReqMiningReward) Validate() error { + return nil +} + +// Attributes: +// - Map +// - Gem +// +type ReqMiningTake struct { + Map map[int32]string `thrift:"Map,1" db:"Map" json:"Map"` + Gem int32 `thrift:"Gem,2" db:"Gem" json:"Gem"` +} + +func NewReqMiningTake() *ReqMiningTake { + return &ReqMiningTake{} +} + +func (p *ReqMiningTake) GetMap() map[int32]string { + return p.Map +} + +func (p *ReqMiningTake) GetGem() int32 { + return p.Gem +} + +func (p *ReqMiningTake) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqMiningTake) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]string, size) + p.Map = tMap + for i := 0; i < size; i++ { + var _key111 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key111 = v + } + var _val112 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val112 = v + } + p.Map[_key111] = _val112 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqMiningTake) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Gem = v + } + return nil +} + +func (p *ReqMiningTake) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqMiningTake"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqMiningTake) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Map", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Map: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRING, len(p.Map)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Map { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteString(ctx, string(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Map: ", p), err) + } + return err +} + +func (p *ReqMiningTake) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Gem", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Gem: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Gem)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Gem (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Gem: ", p), err) + } + return err +} + +func (p *ReqMiningTake) Equals(other *ReqMiningTake) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Map) != len(other.Map) { + return false + } + for k, _tgt := range p.Map { + _src113 := other.Map[k] + if _tgt != _src113 { + return false + } + } + if p.Gem != other.Gem { + return false + } + return true +} + +func (p *ReqMiningTake) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqMiningTake(%+v)", *p) +} + +func (p *ReqMiningTake) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqMiningTake", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqMiningTake)(nil) + +func (p *ReqMiningTake) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// +type ReqOfflineReconnect struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` +} + +func NewReqOfflineReconnect() *ReqOfflineReconnect { + return &ReqOfflineReconnect{} +} + +func (p *ReqOfflineReconnect) GetDwUin() int64 { + return p.DwUin +} + +func (p *ReqOfflineReconnect) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqOfflineReconnect) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ReqOfflineReconnect) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqOfflineReconnect"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqOfflineReconnect) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ReqOfflineReconnect) Equals(other *ReqOfflineReconnect) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + return true +} + +func (p *ReqOfflineReconnect) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqOfflineReconnect(%+v)", *p) +} + +func (p *ReqOfflineReconnect) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqOfflineReconnect", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqOfflineReconnect)(nil) + +func (p *ReqOfflineReconnect) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - BindAccountId +// +type ReqOnlyBindFacebook struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + BindAccountId string `thrift:"BindAccountId,2" db:"BindAccountId" json:"BindAccountId"` +} + +func NewReqOnlyBindFacebook() *ReqOnlyBindFacebook { + return &ReqOnlyBindFacebook{} +} + +func (p *ReqOnlyBindFacebook) GetDwUin() int64 { + return p.DwUin +} + +func (p *ReqOnlyBindFacebook) GetBindAccountId() string { + return p.BindAccountId +} + +func (p *ReqOnlyBindFacebook) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqOnlyBindFacebook) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ReqOnlyBindFacebook) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.BindAccountId = v + } + return nil +} + +func (p *ReqOnlyBindFacebook) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqOnlyBindFacebook"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqOnlyBindFacebook) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ReqOnlyBindFacebook) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "BindAccountId", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:BindAccountId: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.BindAccountId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.BindAccountId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:BindAccountId: ", p), err) + } + return err +} + +func (p *ReqOnlyBindFacebook) Equals(other *ReqOnlyBindFacebook) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.BindAccountId != other.BindAccountId { + return false + } + return true +} + +func (p *ReqOnlyBindFacebook) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqOnlyBindFacebook(%+v)", *p) +} + +func (p *ReqOnlyBindFacebook) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqOnlyBindFacebook", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqOnlyBindFacebook)(nil) + +func (p *ReqOnlyBindFacebook) Validate() error { + return nil +} + +// Attributes: +// - OrderSn +// - Status +// - ChannelOrderSn +// +type ReqOrderShipping struct { + OrderSn string `thrift:"OrderSn,1" db:"OrderSn" json:"OrderSn"` + Status int32 `thrift:"Status,2" db:"Status" json:"Status"` + ChannelOrderSn string `thrift:"ChannelOrderSn,3" db:"ChannelOrderSn" json:"ChannelOrderSn"` +} + +func NewReqOrderShipping() *ReqOrderShipping { + return &ReqOrderShipping{} +} + +func (p *ReqOrderShipping) GetOrderSn() string { + return p.OrderSn +} + +func (p *ReqOrderShipping) GetStatus() int32 { + return p.Status +} + +func (p *ReqOrderShipping) GetChannelOrderSn() string { + return p.ChannelOrderSn +} + +func (p *ReqOrderShipping) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqOrderShipping) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.OrderSn = v + } + return nil +} + +func (p *ReqOrderShipping) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ReqOrderShipping) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.ChannelOrderSn = v + } + return nil +} + +func (p *ReqOrderShipping) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqOrderShipping"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqOrderShipping) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "OrderSn", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:OrderSn: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.OrderSn)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.OrderSn (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:OrderSn: ", p), err) + } + return err +} + +func (p *ReqOrderShipping) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Status: ", p), err) + } + return err +} + +func (p *ReqOrderShipping) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChannelOrderSn", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ChannelOrderSn: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.ChannelOrderSn)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChannelOrderSn (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ChannelOrderSn: ", p), err) + } + return err +} + +func (p *ReqOrderShipping) Equals(other *ReqOrderShipping) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.OrderSn != other.OrderSn { + return false + } + if p.Status != other.Status { + return false + } + if p.ChannelOrderSn != other.ChannelOrderSn { + return false + } + return true +} + +func (p *ReqOrderShipping) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqOrderShipping(%+v)", *p) +} + +func (p *ReqOrderShipping) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqOrderShipping", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqOrderShipping)(nil) + +func (p *ReqOrderShipping) Validate() error { + return nil +} + +type ReqPetFur struct { +} + +func NewReqPetFur() *ReqPetFur { + return &ReqPetFur{} +} + +func (p *ReqPetFur) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPetFur) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPetFur"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPetFur) Equals(other *ReqPetFur) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqPetFur) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPetFur(%+v)", *p) +} + +func (p *ReqPetFur) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPetFur", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPetFur)(nil) + +func (p *ReqPetFur) Validate() error { + return nil +} + +// Attributes: +// - FurId +// +type ReqPetFurBuy struct { + FurId int32 `thrift:"FurId,1" db:"FurId" json:"FurId"` +} + +func NewReqPetFurBuy() *ReqPetFurBuy { + return &ReqPetFurBuy{} +} + +func (p *ReqPetFurBuy) GetFurId() int32 { + return p.FurId +} + +func (p *ReqPetFurBuy) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPetFurBuy) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.FurId = v + } + return nil +} + +func (p *ReqPetFurBuy) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPetFurBuy"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPetFurBuy) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FurId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:FurId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.FurId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.FurId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:FurId: ", p), err) + } + return err +} + +func (p *ReqPetFurBuy) Equals(other *ReqPetFurBuy) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.FurId != other.FurId { + return false + } + return true +} + +func (p *ReqPetFurBuy) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPetFurBuy(%+v)", *p) +} + +func (p *ReqPetFurBuy) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPetFurBuy", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPetFurBuy)(nil) + +func (p *ReqPetFurBuy) Validate() error { + return nil +} + +type ReqPiggyBankReward struct { +} + +func NewReqPiggyBankReward() *ReqPiggyBankReward { + return &ReqPiggyBankReward{} +} + +func (p *ReqPiggyBankReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPiggyBankReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPiggyBankReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPiggyBankReward) Equals(other *ReqPiggyBankReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqPiggyBankReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPiggyBankReward(%+v)", *p) +} + +func (p *ReqPiggyBankReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPiggyBankReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPiggyBankReward)(nil) + +func (p *ReqPiggyBankReward) Validate() error { + return nil +} + +type ReqPlayerAsset struct { +} + +func NewReqPlayerAsset() *ReqPlayerAsset { + return &ReqPlayerAsset{} +} + +func (p *ReqPlayerAsset) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayerAsset) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayerAsset"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayerAsset) Equals(other *ReqPlayerAsset) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqPlayerAsset) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayerAsset(%+v)", *p) +} + +func (p *ReqPlayerAsset) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayerAsset", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayerAsset)(nil) + +func (p *ReqPlayerAsset) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// +type ReqPlayerBaseInfo struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` +} + +func NewReqPlayerBaseInfo() *ReqPlayerBaseInfo { + return &ReqPlayerBaseInfo{} +} + +func (p *ReqPlayerBaseInfo) GetDwUin() int64 { + return p.DwUin +} + +func (p *ReqPlayerBaseInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayerBaseInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ReqPlayerBaseInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayerBaseInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayerBaseInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ReqPlayerBaseInfo) Equals(other *ReqPlayerBaseInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + return true +} + +func (p *ReqPlayerBaseInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayerBaseInfo(%+v)", *p) +} + +func (p *ReqPlayerBaseInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayerBaseInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayerBaseInfo)(nil) + +func (p *ReqPlayerBaseInfo) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// +type ReqPlayerBriefProfileData struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` +} + +func NewReqPlayerBriefProfileData() *ReqPlayerBriefProfileData { + return &ReqPlayerBriefProfileData{} +} + +func (p *ReqPlayerBriefProfileData) GetDwUin() int64 { + return p.DwUin +} + +func (p *ReqPlayerBriefProfileData) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayerBriefProfileData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ReqPlayerBriefProfileData) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayerBriefProfileData"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayerBriefProfileData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ReqPlayerBriefProfileData) Equals(other *ReqPlayerBriefProfileData) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + return true +} + +func (p *ReqPlayerBriefProfileData) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayerBriefProfileData(%+v)", *p) +} + +func (p *ReqPlayerBriefProfileData) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayerBriefProfileData", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayerBriefProfileData)(nil) + +func (p *ReqPlayerBriefProfileData) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// +type ReqPlayerChessData struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` +} + +func NewReqPlayerChessData() *ReqPlayerChessData { + return &ReqPlayerChessData{} +} + +func (p *ReqPlayerChessData) GetDwUin() int64 { + return p.DwUin +} + +func (p *ReqPlayerChessData) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayerChessData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ReqPlayerChessData) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayerChessData"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayerChessData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ReqPlayerChessData) Equals(other *ReqPlayerChessData) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + return true +} + +func (p *ReqPlayerChessData) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayerChessData(%+v)", *p) +} + +func (p *ReqPlayerChessData) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayerChessData", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayerChessData)(nil) + +func (p *ReqPlayerChessData) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// +type ReqPlayerProfileData struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` +} + +func NewReqPlayerProfileData() *ReqPlayerProfileData { + return &ReqPlayerProfileData{} +} + +func (p *ReqPlayerProfileData) GetDwUin() int64 { + return p.DwUin +} + +func (p *ReqPlayerProfileData) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayerProfileData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ReqPlayerProfileData) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayerProfileData"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayerProfileData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ReqPlayerProfileData) Equals(other *ReqPlayerProfileData) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + return true +} + +func (p *ReqPlayerProfileData) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayerProfileData(%+v)", *p) +} + +func (p *ReqPlayerProfileData) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayerProfileData", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayerProfileData)(nil) + +func (p *ReqPlayerProfileData) Validate() error { + return nil +} + +type ReqPlayroom struct { +} + +func NewReqPlayroom() *ReqPlayroom { + return &ReqPlayroom{} +} + +func (p *ReqPlayroom) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroom) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroom"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroom) Equals(other *ReqPlayroom) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqPlayroom) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroom(%+v)", *p) +} + +func (p *ReqPlayroom) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroom", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroom)(nil) + +func (p *ReqPlayroom) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqPlayroomBuyItem struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqPlayroomBuyItem() *ReqPlayroomBuyItem { + return &ReqPlayroomBuyItem{} +} + +func (p *ReqPlayroomBuyItem) GetId() int32 { + return p.Id +} + +func (p *ReqPlayroomBuyItem) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomBuyItem) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqPlayroomBuyItem) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomBuyItem"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomBuyItem) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqPlayroomBuyItem) Equals(other *ReqPlayroomBuyItem) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqPlayroomBuyItem) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomBuyItem(%+v)", *p) +} + +func (p *ReqPlayroomBuyItem) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomBuyItem", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomBuyItem)(nil) + +func (p *ReqPlayroomBuyItem) Validate() error { + return nil +} + +// Attributes: +// - Uid +// +type ReqPlayroomChip struct { + Uid []int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` +} + +func NewReqPlayroomChip() *ReqPlayroomChip { + return &ReqPlayroomChip{} +} + +func (p *ReqPlayroomChip) GetUid() []int64 { + return p.Uid +} + +func (p *ReqPlayroomChip) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomChip) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int64, 0, size) + p.Uid = tSlice + for i := 0; i < size; i++ { + var _elem114 int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem114 = v + } + p.Uid = append(p.Uid, _elem114) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ReqPlayroomChip) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomChip"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomChip) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.Uid)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Uid { + if err := oprot.WriteI64(ctx, int64(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqPlayroomChip) Equals(other *ReqPlayroomChip) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Uid) != len(other.Uid) { + return false + } + for i, _tgt := range p.Uid { + _src115 := other.Uid[i] + if _tgt != _src115 { + return false + } + } + return true +} + +func (p *ReqPlayroomChip) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomChip(%+v)", *p) +} + +func (p *ReqPlayroomChip) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomChip", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomChip)(nil) + +func (p *ReqPlayroomChip) Validate() error { + return nil +} + +type ReqPlayroomDraw struct { +} + +func NewReqPlayroomDraw() *ReqPlayroomDraw { + return &ReqPlayroomDraw{} +} + +func (p *ReqPlayroomDraw) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomDraw) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomDraw"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomDraw) Equals(other *ReqPlayroomDraw) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqPlayroomDraw) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomDraw(%+v)", *p) +} + +func (p *ReqPlayroomDraw) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomDraw", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomDraw)(nil) + +func (p *ReqPlayroomDraw) Validate() error { + return nil +} + +// Attributes: +// - DressSet +// +type ReqPlayroomDressSet struct { + DressSet map[int32]int32 `thrift:"DressSet,1" db:"DressSet" json:"DressSet"` +} + +func NewReqPlayroomDressSet() *ReqPlayroomDressSet { + return &ReqPlayroomDressSet{} +} + +func (p *ReqPlayroomDressSet) GetDressSet() map[int32]int32 { + return p.DressSet +} + +func (p *ReqPlayroomDressSet) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomDressSet) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.DressSet = tMap + for i := 0; i < size; i++ { + var _key116 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key116 = v + } + var _val117 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val117 = v + } + p.DressSet[_key116] = _val117 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqPlayroomDressSet) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomDressSet"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomDressSet) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "DressSet", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:DressSet: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.DressSet)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.DressSet { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:DressSet: ", p), err) + } + return err +} + +func (p *ReqPlayroomDressSet) Equals(other *ReqPlayroomDressSet) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.DressSet) != len(other.DressSet) { + return false + } + for k, _tgt := range p.DressSet { + _src118 := other.DressSet[k] + if _tgt != _src118 { + return false + } + } + return true +} + +func (p *ReqPlayroomDressSet) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomDressSet(%+v)", *p) +} + +func (p *ReqPlayroomDressSet) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomDressSet", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomDressSet)(nil) + +func (p *ReqPlayroomDressSet) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqPlayroomFlip struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqPlayroomFlip() *ReqPlayroomFlip { + return &ReqPlayroomFlip{} +} + +func (p *ReqPlayroomFlip) GetId() int32 { + return p.Id +} + +func (p *ReqPlayroomFlip) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomFlip) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqPlayroomFlip) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomFlip"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomFlip) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqPlayroomFlip) Equals(other *ReqPlayroomFlip) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqPlayroomFlip) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomFlip(%+v)", *p) +} + +func (p *ReqPlayroomFlip) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomFlip", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomFlip)(nil) + +func (p *ReqPlayroomFlip) Validate() error { + return nil +} + +// Attributes: +// - EmojiId +// +type ReqPlayroomFlipReward struct { + EmojiId int32 `thrift:"EmojiId,1" db:"EmojiId" json:"EmojiId"` +} + +func NewReqPlayroomFlipReward() *ReqPlayroomFlipReward { + return &ReqPlayroomFlipReward{} +} + +func (p *ReqPlayroomFlipReward) GetEmojiId() int32 { + return p.EmojiId +} + +func (p *ReqPlayroomFlipReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomFlipReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.EmojiId = v + } + return nil +} + +func (p *ReqPlayroomFlipReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomFlipReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomFlipReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EmojiId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:EmojiId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EmojiId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EmojiId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:EmojiId: ", p), err) + } + return err +} + +func (p *ReqPlayroomFlipReward) Equals(other *ReqPlayroomFlipReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.EmojiId != other.EmojiId { + return false + } + return true +} + +func (p *ReqPlayroomFlipReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomFlipReward(%+v)", *p) +} + +func (p *ReqPlayroomFlipReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomFlipReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomFlipReward)(nil) + +func (p *ReqPlayroomFlipReward) Validate() error { + return nil +} + +// Attributes: +// - Type +// - EmojiId +// +type ReqPlayroomGame struct { + Type int32 `thrift:"Type,1" db:"Type" json:"Type"` + EmojiId int32 `thrift:"EmojiId,2" db:"EmojiId" json:"EmojiId"` +} + +func NewReqPlayroomGame() *ReqPlayroomGame { + return &ReqPlayroomGame{} +} + +func (p *ReqPlayroomGame) GetType() int32 { + return p.Type +} + +func (p *ReqPlayroomGame) GetEmojiId() int32 { + return p.EmojiId +} + +func (p *ReqPlayroomGame) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomGame) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ReqPlayroomGame) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.EmojiId = v + } + return nil +} + +func (p *ReqPlayroomGame) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomGame"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomGame) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Type: ", p), err) + } + return err +} + +func (p *ReqPlayroomGame) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EmojiId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:EmojiId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EmojiId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EmojiId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:EmojiId: ", p), err) + } + return err +} + +func (p *ReqPlayroomGame) Equals(other *ReqPlayroomGame) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Type != other.Type { + return false + } + if p.EmojiId != other.EmojiId { + return false + } + return true +} + +func (p *ReqPlayroomGame) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomGame(%+v)", *p) +} + +func (p *ReqPlayroomGame) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomGame", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomGame)(nil) + +func (p *ReqPlayroomGame) Validate() error { + return nil +} + +// Attributes: +// - Type +// - SelectId +// +type ReqPlayroomGameShowReward struct { + Type int32 `thrift:"Type,1" db:"Type" json:"Type"` + SelectId int32 `thrift:"SelectId,2" db:"SelectId" json:"SelectId"` +} + +func NewReqPlayroomGameShowReward() *ReqPlayroomGameShowReward { + return &ReqPlayroomGameShowReward{} +} + +func (p *ReqPlayroomGameShowReward) GetType() int32 { + return p.Type +} + +func (p *ReqPlayroomGameShowReward) GetSelectId() int32 { + return p.SelectId +} + +func (p *ReqPlayroomGameShowReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomGameShowReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ReqPlayroomGameShowReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.SelectId = v + } + return nil +} + +func (p *ReqPlayroomGameShowReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomGameShowReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomGameShowReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Type: ", p), err) + } + return err +} + +func (p *ReqPlayroomGameShowReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "SelectId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:SelectId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.SelectId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.SelectId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:SelectId: ", p), err) + } + return err +} + +func (p *ReqPlayroomGameShowReward) Equals(other *ReqPlayroomGameShowReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Type != other.Type { + return false + } + if p.SelectId != other.SelectId { + return false + } + return true +} + +func (p *ReqPlayroomGameShowReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomGameShowReward(%+v)", *p) +} + +func (p *ReqPlayroomGameShowReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomGameShowReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomGameShowReward)(nil) + +func (p *ReqPlayroomGameShowReward) Validate() error { + return nil +} + +// Attributes: +// - Type +// +type ReqPlayroomGuide struct { + Type int32 `thrift:"Type,1" db:"Type" json:"Type"` +} + +func NewReqPlayroomGuide() *ReqPlayroomGuide { + return &ReqPlayroomGuide{} +} + +func (p *ReqPlayroomGuide) GetType() int32 { + return p.Type +} + +func (p *ReqPlayroomGuide) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomGuide) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ReqPlayroomGuide) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomGuide"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomGuide) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Type: ", p), err) + } + return err +} + +func (p *ReqPlayroomGuide) Equals(other *ReqPlayroomGuide) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Type != other.Type { + return false + } + return true +} + +func (p *ReqPlayroomGuide) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomGuide(%+v)", *p) +} + +func (p *ReqPlayroomGuide) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomGuide", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomGuide)(nil) + +func (p *ReqPlayroomGuide) Validate() error { + return nil +} + +// Attributes: +// - Uid +// +type ReqPlayroomInfo struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` +} + +func NewReqPlayroomInfo() *ReqPlayroomInfo { + return &ReqPlayroomInfo{} +} + +func (p *ReqPlayroomInfo) GetUid() int64 { + return p.Uid +} + +func (p *ReqPlayroomInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqPlayroomInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqPlayroomInfo) Equals(other *ReqPlayroomInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ReqPlayroomInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomInfo(%+v)", *p) +} + +func (p *ReqPlayroomInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomInfo)(nil) + +func (p *ReqPlayroomInfo) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Type +// +type ReqPlayroomInteract struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Type int32 `thrift:"Type,2" db:"Type" json:"Type"` +} + +func NewReqPlayroomInteract() *ReqPlayroomInteract { + return &ReqPlayroomInteract{} +} + +func (p *ReqPlayroomInteract) GetId() int32 { + return p.Id +} + +func (p *ReqPlayroomInteract) GetType() int32 { + return p.Type +} + +func (p *ReqPlayroomInteract) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomInteract) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqPlayroomInteract) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ReqPlayroomInteract) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomInteract"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomInteract) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqPlayroomInteract) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Type: ", p), err) + } + return err +} + +func (p *ReqPlayroomInteract) Equals(other *ReqPlayroomInteract) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Type != other.Type { + return false + } + return true +} + +func (p *ReqPlayroomInteract) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomInteract(%+v)", *p) +} + +func (p *ReqPlayroomInteract) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomInteract", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomInteract)(nil) + +func (p *ReqPlayroomInteract) Validate() error { + return nil +} + +type ReqPlayroomLose struct { +} + +func NewReqPlayroomLose() *ReqPlayroomLose { + return &ReqPlayroomLose{} +} + +func (p *ReqPlayroomLose) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomLose) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomLose"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomLose) Equals(other *ReqPlayroomLose) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqPlayroomLose) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomLose(%+v)", *p) +} + +func (p *ReqPlayroomLose) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomLose", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomLose)(nil) + +func (p *ReqPlayroomLose) Validate() error { + return nil +} + +// Attributes: +// - OldChessId +// - NewChessId_ +// - CostDia +// - Type +// - MChessData +// +type ReqPlayroomOutline struct { + OldChessId int32 `thrift:"OldChessId,1" db:"OldChessId" json:"OldChessId"` + NewChessId_ int32 `thrift:"NewChessId,2" db:"NewChessId" json:"NewChessId"` + CostDia int32 `thrift:"CostDia,3" db:"CostDia" json:"CostDia"` + Type int32 `thrift:"Type,4" db:"Type" json:"Type"` + MChessData map[string]int32 `thrift:"MChessData,5" db:"MChessData" json:"MChessData"` +} + +func NewReqPlayroomOutline() *ReqPlayroomOutline { + return &ReqPlayroomOutline{} +} + +func (p *ReqPlayroomOutline) GetOldChessId() int32 { + return p.OldChessId +} + +func (p *ReqPlayroomOutline) GetNewChessId_() int32 { + return p.NewChessId_ +} + +func (p *ReqPlayroomOutline) GetCostDia() int32 { + return p.CostDia +} + +func (p *ReqPlayroomOutline) GetType() int32 { + return p.Type +} + +func (p *ReqPlayroomOutline) GetMChessData() map[string]int32 { + return p.MChessData +} + +func (p *ReqPlayroomOutline) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.MAP { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomOutline) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.OldChessId = v + } + return nil +} + +func (p *ReqPlayroomOutline) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.NewChessId_ = v + } + return nil +} + +func (p *ReqPlayroomOutline) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.CostDia = v + } + return nil +} + +func (p *ReqPlayroomOutline) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ReqPlayroomOutline) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.MChessData = tMap + for i := 0; i < size; i++ { + var _key119 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key119 = v + } + var _val120 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val120 = v + } + p.MChessData[_key119] = _val120 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqPlayroomOutline) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomOutline"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomOutline) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "OldChessId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:OldChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.OldChessId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.OldChessId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:OldChessId: ", p), err) + } + return err +} + +func (p *ReqPlayroomOutline) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "NewChessId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:NewChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.NewChessId_)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.NewChessId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:NewChessId: ", p), err) + } + return err +} + +func (p *ReqPlayroomOutline) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CostDia", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:CostDia: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.CostDia)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.CostDia (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:CostDia: ", p), err) + } + return err +} + +func (p *ReqPlayroomOutline) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Type: ", p), err) + } + return err +} + +func (p *ReqPlayroomOutline) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MChessData", thrift.MAP, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:MChessData: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.MChessData)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MChessData { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:MChessData: ", p), err) + } + return err +} + +func (p *ReqPlayroomOutline) Equals(other *ReqPlayroomOutline) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.OldChessId != other.OldChessId { + return false + } + if p.NewChessId_ != other.NewChessId_ { + return false + } + if p.CostDia != other.CostDia { + return false + } + if p.Type != other.Type { + return false + } + if len(p.MChessData) != len(other.MChessData) { + return false + } + for k, _tgt := range p.MChessData { + _src121 := other.MChessData[k] + if _tgt != _src121 { + return false + } + } + return true +} + +func (p *ReqPlayroomOutline) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomOutline(%+v)", *p) +} + +func (p *ReqPlayroomOutline) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomOutline", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomOutline)(nil) + +func (p *ReqPlayroomOutline) Validate() error { + return nil +} + +// Attributes: +// - PetAirSet +// +type ReqPlayroomPetAirSet struct { + PetAirSet int32 `thrift:"PetAirSet,1" db:"PetAirSet" json:"PetAirSet"` +} + +func NewReqPlayroomPetAirSet() *ReqPlayroomPetAirSet { + return &ReqPlayroomPetAirSet{} +} + +func (p *ReqPlayroomPetAirSet) GetPetAirSet() int32 { + return p.PetAirSet +} + +func (p *ReqPlayroomPetAirSet) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomPetAirSet) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.PetAirSet = v + } + return nil +} + +func (p *ReqPlayroomPetAirSet) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomPetAirSet"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomPetAirSet) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PetAirSet", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:PetAirSet: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.PetAirSet)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.PetAirSet (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:PetAirSet: ", p), err) + } + return err +} + +func (p *ReqPlayroomPetAirSet) Equals(other *ReqPlayroomPetAirSet) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.PetAirSet != other.PetAirSet { + return false + } + return true +} + +func (p *ReqPlayroomPetAirSet) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomPetAirSet(%+v)", *p) +} + +func (p *ReqPlayroomPetAirSet) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomPetAirSet", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomPetAirSet)(nil) + +func (p *ReqPlayroomPetAirSet) Validate() error { + return nil +} + +type ReqPlayroomRest struct { +} + +func NewReqPlayroomRest() *ReqPlayroomRest { + return &ReqPlayroomRest{} +} + +func (p *ReqPlayroomRest) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomRest) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomRest"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomRest) Equals(other *ReqPlayroomRest) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqPlayroomRest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomRest(%+v)", *p) +} + +func (p *ReqPlayroomRest) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomRest", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomRest)(nil) + +func (p *ReqPlayroomRest) Validate() error { + return nil +} + +// Attributes: +// - Id +// - EmojiId +// +type ReqPlayroomSelectReward struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + EmojiId int32 `thrift:"EmojiId,2" db:"EmojiId" json:"EmojiId"` +} + +func NewReqPlayroomSelectReward() *ReqPlayroomSelectReward { + return &ReqPlayroomSelectReward{} +} + +func (p *ReqPlayroomSelectReward) GetId() int32 { + return p.Id +} + +func (p *ReqPlayroomSelectReward) GetEmojiId() int32 { + return p.EmojiId +} + +func (p *ReqPlayroomSelectReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomSelectReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqPlayroomSelectReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.EmojiId = v + } + return nil +} + +func (p *ReqPlayroomSelectReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomSelectReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomSelectReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqPlayroomSelectReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EmojiId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:EmojiId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EmojiId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EmojiId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:EmojiId: ", p), err) + } + return err +} + +func (p *ReqPlayroomSelectReward) Equals(other *ReqPlayroomSelectReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.EmojiId != other.EmojiId { + return false + } + return true +} + +func (p *ReqPlayroomSelectReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomSelectReward(%+v)", *p) +} + +func (p *ReqPlayroomSelectReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomSelectReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomSelectReward)(nil) + +func (p *ReqPlayroomSelectReward) Validate() error { + return nil +} + +// Attributes: +// - Playroom +// +type ReqPlayroomSetRoom struct { + Playroom map[int32]int32 `thrift:"Playroom,1" db:"Playroom" json:"Playroom"` +} + +func NewReqPlayroomSetRoom() *ReqPlayroomSetRoom { + return &ReqPlayroomSetRoom{} +} + +func (p *ReqPlayroomSetRoom) GetPlayroom() map[int32]int32 { + return p.Playroom +} + +func (p *ReqPlayroomSetRoom) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomSetRoom) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Playroom = tMap + for i := 0; i < size; i++ { + var _key122 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key122 = v + } + var _val123 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val123 = v + } + p.Playroom[_key122] = _val123 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqPlayroomSetRoom) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomSetRoom"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomSetRoom) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Playroom", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Playroom: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Playroom)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Playroom { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Playroom: ", p), err) + } + return err +} + +func (p *ReqPlayroomSetRoom) Equals(other *ReqPlayroomSetRoom) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Playroom) != len(other.Playroom) { + return false + } + for k, _tgt := range p.Playroom { + _src124 := other.Playroom[k] + if _tgt != _src124 { + return false + } + } + return true +} + +func (p *ReqPlayroomSetRoom) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomSetRoom(%+v)", *p) +} + +func (p *ReqPlayroomSetRoom) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomSetRoom", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomSetRoom)(nil) + +func (p *ReqPlayroomSetRoom) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Num +// +type ReqPlayroomShop struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Num int32 `thrift:"Num,2" db:"Num" json:"Num"` +} + +func NewReqPlayroomShop() *ReqPlayroomShop { + return &ReqPlayroomShop{} +} + +func (p *ReqPlayroomShop) GetId() int32 { + return p.Id +} + +func (p *ReqPlayroomShop) GetNum() int32 { + return p.Num +} + +func (p *ReqPlayroomShop) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomShop) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqPlayroomShop) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Num = v + } + return nil +} + +func (p *ReqPlayroomShop) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomShop"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomShop) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqPlayroomShop) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Num", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Num: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Num)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Num (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Num: ", p), err) + } + return err +} + +func (p *ReqPlayroomShop) Equals(other *ReqPlayroomShop) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Num != other.Num { + return false + } + return true +} + +func (p *ReqPlayroomShop) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomShop(%+v)", *p) +} + +func (p *ReqPlayroomShop) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomShop", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomShop)(nil) + +func (p *ReqPlayroomShop) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqPlayroomTask struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqPlayroomTask() *ReqPlayroomTask { + return &ReqPlayroomTask{} +} + +func (p *ReqPlayroomTask) GetId() int32 { + return p.Id +} + +func (p *ReqPlayroomTask) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomTask) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqPlayroomTask) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomTask"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomTask) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqPlayroomTask) Equals(other *ReqPlayroomTask) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqPlayroomTask) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomTask(%+v)", *p) +} + +func (p *ReqPlayroomTask) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomTask", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomTask)(nil) + +func (p *ReqPlayroomTask) Validate() error { + return nil +} + +// Attributes: +// - Type +// +type ReqPlayroomTaskReward struct { + Type int32 `thrift:"Type,1" db:"Type" json:"Type"` +} + +func NewReqPlayroomTaskReward() *ReqPlayroomTaskReward { + return &ReqPlayroomTaskReward{} +} + +func (p *ReqPlayroomTaskReward) GetType() int32 { + return p.Type +} + +func (p *ReqPlayroomTaskReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomTaskReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ReqPlayroomTaskReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomTaskReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomTaskReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Type: ", p), err) + } + return err +} + +func (p *ReqPlayroomTaskReward) Equals(other *ReqPlayroomTaskReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Type != other.Type { + return false + } + return true +} + +func (p *ReqPlayroomTaskReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomTaskReward(%+v)", *p) +} + +func (p *ReqPlayroomTaskReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomTaskReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomTaskReward)(nil) + +func (p *ReqPlayroomTaskReward) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqPlayroomUnlock struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqPlayroomUnlock() *ReqPlayroomUnlock { + return &ReqPlayroomUnlock{} +} + +func (p *ReqPlayroomUnlock) GetId() int32 { + return p.Id +} + +func (p *ReqPlayroomUnlock) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomUnlock) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqPlayroomUnlock) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomUnlock"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomUnlock) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqPlayroomUnlock) Equals(other *ReqPlayroomUnlock) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqPlayroomUnlock) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomUnlock(%+v)", *p) +} + +func (p *ReqPlayroomUnlock) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomUnlock", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomUnlock)(nil) + +func (p *ReqPlayroomUnlock) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqPlayroomUpvote struct { + Id int64 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqPlayroomUpvote() *ReqPlayroomUpvote { + return &ReqPlayroomUpvote{} +} + +func (p *ReqPlayroomUpvote) GetId() int64 { + return p.Id +} + +func (p *ReqPlayroomUpvote) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomUpvote) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqPlayroomUpvote) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomUpvote"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomUpvote) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqPlayroomUpvote) Equals(other *ReqPlayroomUpvote) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqPlayroomUpvote) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomUpvote(%+v)", *p) +} + +func (p *ReqPlayroomUpvote) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomUpvote", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomUpvote)(nil) + +func (p *ReqPlayroomUpvote) Validate() error { + return nil +} + +type ReqPlayroomWork struct { +} + +func NewReqPlayroomWork() *ReqPlayroomWork { + return &ReqPlayroomWork{} +} + +func (p *ReqPlayroomWork) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomWork) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomWork"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomWork) Equals(other *ReqPlayroomWork) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqPlayroomWork) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomWork(%+v)", *p) +} + +func (p *ReqPlayroomWork) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomWork", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomWork)(nil) + +func (p *ReqPlayroomWork) Validate() error { + return nil +} + +type ReqPlayroomWorkOutline struct { +} + +func NewReqPlayroomWorkOutline() *ReqPlayroomWorkOutline { + return &ReqPlayroomWorkOutline{} +} + +func (p *ReqPlayroomWorkOutline) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPlayroomWorkOutline) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPlayroomWorkOutline"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPlayroomWorkOutline) Equals(other *ReqPlayroomWorkOutline) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqPlayroomWorkOutline) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPlayroomWorkOutline(%+v)", *p) +} + +func (p *ReqPlayroomWorkOutline) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPlayroomWorkOutline", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPlayroomWorkOutline)(nil) + +func (p *ReqPlayroomWorkOutline) Validate() error { + return nil +} + +// Attributes: +// - ChessId +// - BagId +// - EmitId +// - MChessData +// +type ReqPutChessInBag struct { + ChessId int32 `thrift:"ChessId,1" db:"ChessId" json:"ChessId"` + BagId int32 `thrift:"BagId,2" db:"BagId" json:"BagId"` + EmitId int32 `thrift:"EmitId,3" db:"EmitId" json:"EmitId"` + MChessData map[string]int32 `thrift:"MChessData,4" db:"MChessData" json:"MChessData"` +} + +func NewReqPutChessInBag() *ReqPutChessInBag { + return &ReqPutChessInBag{} +} + +func (p *ReqPutChessInBag) GetChessId() int32 { + return p.ChessId +} + +func (p *ReqPutChessInBag) GetBagId() int32 { + return p.BagId +} + +func (p *ReqPutChessInBag) GetEmitId() int32 { + return p.EmitId +} + +func (p *ReqPutChessInBag) GetMChessData() map[string]int32 { + return p.MChessData +} + +func (p *ReqPutChessInBag) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.MAP { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPutChessInBag) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ChessId = v + } + return nil +} + +func (p *ReqPutChessInBag) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.BagId = v + } + return nil +} + +func (p *ReqPutChessInBag) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.EmitId = v + } + return nil +} + +func (p *ReqPutChessInBag) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.MChessData = tMap + for i := 0; i < size; i++ { + var _key125 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key125 = v + } + var _val126 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val126 = v + } + p.MChessData[_key125] = _val126 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqPutChessInBag) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPutChessInBag"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPutChessInBag) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChessId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChessId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ChessId: ", p), err) + } + return err +} + +func (p *ReqPutChessInBag) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "BagId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:BagId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.BagId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.BagId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:BagId: ", p), err) + } + return err +} + +func (p *ReqPutChessInBag) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EmitId", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:EmitId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EmitId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EmitId (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:EmitId: ", p), err) + } + return err +} + +func (p *ReqPutChessInBag) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MChessData", thrift.MAP, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:MChessData: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.MChessData)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MChessData { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:MChessData: ", p), err) + } + return err +} + +func (p *ReqPutChessInBag) Equals(other *ReqPutChessInBag) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ChessId != other.ChessId { + return false + } + if p.BagId != other.BagId { + return false + } + if p.EmitId != other.EmitId { + return false + } + if len(p.MChessData) != len(other.MChessData) { + return false + } + for k, _tgt := range p.MChessData { + _src127 := other.MChessData[k] + if _tgt != _src127 { + return false + } + } + return true +} + +func (p *ReqPutChessInBag) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPutChessInBag(%+v)", *p) +} + +func (p *ReqPutChessInBag) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPutChessInBag", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPutChessInBag)(nil) + +func (p *ReqPutChessInBag) Validate() error { + return nil +} + +// Attributes: +// - ChessId +// - MChessData +// +type ReqPutPartInBag struct { + ChessId int32 `thrift:"ChessId,1" db:"ChessId" json:"ChessId"` + MChessData map[string]int32 `thrift:"MChessData,2" db:"MChessData" json:"MChessData"` +} + +func NewReqPutPartInBag() *ReqPutPartInBag { + return &ReqPutPartInBag{} +} + +func (p *ReqPutPartInBag) GetChessId() int32 { + return p.ChessId +} + +func (p *ReqPutPartInBag) GetMChessData() map[string]int32 { + return p.MChessData +} + +func (p *ReqPutPartInBag) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqPutPartInBag) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ChessId = v + } + return nil +} + +func (p *ReqPutPartInBag) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.MChessData = tMap + for i := 0; i < size; i++ { + var _key128 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key128 = v + } + var _val129 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val129 = v + } + p.MChessData[_key128] = _val129 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqPutPartInBag) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqPutPartInBag"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqPutPartInBag) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChessId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChessId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ChessId: ", p), err) + } + return err +} + +func (p *ReqPutPartInBag) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MChessData", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MChessData: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.MChessData)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MChessData { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MChessData: ", p), err) + } + return err +} + +func (p *ReqPutPartInBag) Equals(other *ReqPutPartInBag) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ChessId != other.ChessId { + return false + } + if len(p.MChessData) != len(other.MChessData) { + return false + } + for k, _tgt := range p.MChessData { + _src130 := other.MChessData[k] + if _tgt != _src130 { + return false + } + } + return true +} + +func (p *ReqPutPartInBag) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqPutPartInBag(%+v)", *p) +} + +func (p *ReqPutPartInBag) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqPutPartInBag", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqPutPartInBag)(nil) + +func (p *ReqPutPartInBag) Validate() error { + return nil +} + +type ReqRace struct { +} + +func NewReqRace() *ReqRace { + return &ReqRace{} +} + +func (p *ReqRace) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqRace) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqRace"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqRace) Equals(other *ReqRace) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqRace) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqRace(%+v)", *p) +} + +func (p *ReqRace) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqRace", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqRace)(nil) + +func (p *ReqRace) Validate() error { + return nil +} + +type ReqRaceReward struct { +} + +func NewReqRaceReward() *ReqRaceReward { + return &ReqRaceReward{} +} + +func (p *ReqRaceReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqRaceReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqRaceReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqRaceReward) Equals(other *ReqRaceReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqRaceReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqRaceReward(%+v)", *p) +} + +func (p *ReqRaceReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqRaceReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqRaceReward)(nil) + +func (p *ReqRaceReward) Validate() error { + return nil +} + +type ReqRaceStart struct { +} + +func NewReqRaceStart() *ReqRaceStart { + return &ReqRaceStart{} +} + +func (p *ReqRaceStart) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqRaceStart) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqRaceStart"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqRaceStart) Equals(other *ReqRaceStart) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqRaceStart) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqRaceStart(%+v)", *p) +} + +func (p *ReqRaceStart) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqRaceStart", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqRaceStart)(nil) + +func (p *ReqRaceStart) Validate() error { + return nil +} + +// Attributes: +// - Type +// +type ReqRank struct { + Type int32 `thrift:"Type,1" db:"Type" json:"Type"` +} + +func NewReqRank() *ReqRank { + return &ReqRank{} +} + +func (p *ReqRank) GetType() int32 { + return p.Type +} + +func (p *ReqRank) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqRank) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ReqRank) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqRank"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqRank) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Type: ", p), err) + } + return err +} + +func (p *ReqRank) Equals(other *ReqRank) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Type != other.Type { + return false + } + return true +} + +func (p *ReqRank) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqRank(%+v)", *p) +} + +func (p *ReqRank) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqRank", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqRank)(nil) + +func (p *ReqRank) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqReadMail struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqReadMail() *ReqReadMail { + return &ReqReadMail{} +} + +func (p *ReqReadMail) GetId() int32 { + return p.Id +} + +func (p *ReqReadMail) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqReadMail) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqReadMail) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqReadMail"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqReadMail) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqReadMail) Equals(other *ReqReadMail) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqReadMail) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqReadMail(%+v)", *p) +} + +func (p *ReqReadMail) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqReadMail", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqReadMail)(nil) + +func (p *ReqReadMail) Validate() error { + return nil +} + +type ReqRefreshChessShop struct { +} + +func NewReqRefreshChessShop() *ReqRefreshChessShop { + return &ReqRefreshChessShop{} +} + +func (p *ReqRefreshChessShop) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqRefreshChessShop) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqRefreshChessShop"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqRefreshChessShop) Equals(other *ReqRefreshChessShop) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqRefreshChessShop) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqRefreshChessShop(%+v)", *p) +} + +func (p *ReqRefreshChessShop) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqRefreshChessShop", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqRefreshChessShop)(nil) + +func (p *ReqRefreshChessShop) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqRefuseCardExchange struct { + Id string `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqRefuseCardExchange() *ReqRefuseCardExchange { + return &ReqRefuseCardExchange{} +} + +func (p *ReqRefuseCardExchange) GetId() string { + return p.Id +} + +func (p *ReqRefuseCardExchange) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqRefuseCardExchange) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqRefuseCardExchange) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqRefuseCardExchange"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqRefuseCardExchange) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqRefuseCardExchange) Equals(other *ReqRefuseCardExchange) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqRefuseCardExchange) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqRefuseCardExchange(%+v)", *p) +} + +func (p *ReqRefuseCardExchange) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqRefuseCardExchange", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqRefuseCardExchange)(nil) + +func (p *ReqRefuseCardExchange) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqRefuseCardGive struct { + Id string `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqRefuseCardGive() *ReqRefuseCardGive { + return &ReqRefuseCardGive{} +} + +func (p *ReqRefuseCardGive) GetId() string { + return p.Id +} + +func (p *ReqRefuseCardGive) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqRefuseCardGive) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqRefuseCardGive) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqRefuseCardGive"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqRefuseCardGive) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqRefuseCardGive) Equals(other *ReqRefuseCardGive) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqRefuseCardGive) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqRefuseCardGive(%+v)", *p) +} + +func (p *ReqRefuseCardGive) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqRefuseCardGive", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqRefuseCardGive)(nil) + +func (p *ReqRefuseCardGive) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqRefuseCardSelect struct { + Id string `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqRefuseCardSelect() *ReqRefuseCardSelect { + return &ReqRefuseCardSelect{} +} + +func (p *ReqRefuseCardSelect) GetId() string { + return p.Id +} + +func (p *ReqRefuseCardSelect) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqRefuseCardSelect) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqRefuseCardSelect) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqRefuseCardSelect"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqRefuseCardSelect) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqRefuseCardSelect) Equals(other *ReqRefuseCardSelect) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqRefuseCardSelect) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqRefuseCardSelect(%+v)", *p) +} + +func (p *ReqRefuseCardSelect) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqRefuseCardSelect", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqRefuseCardSelect)(nil) + +func (p *ReqRefuseCardSelect) Validate() error { + return nil +} + +// Attributes: +// - Uid +// +type ReqRefuseFriend struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` +} + +func NewReqRefuseFriend() *ReqRefuseFriend { + return &ReqRefuseFriend{} +} + +func (p *ReqRefuseFriend) GetUid() int64 { + return p.Uid +} + +func (p *ReqRefuseFriend) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqRefuseFriend) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqRefuseFriend) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqRefuseFriend"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqRefuseFriend) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqRefuseFriend) Equals(other *ReqRefuseFriend) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ReqRefuseFriend) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqRefuseFriend(%+v)", *p) +} + +func (p *ReqRefuseFriend) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqRefuseFriend", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqRefuseFriend)(nil) + +func (p *ReqRefuseFriend) Validate() error { + return nil +} + +// Attributes: +// - UserName +// - UserPwd +// - DwUin +// - Device +// +type ReqRegisterAccount struct { + UserName string `thrift:"UserName,1" db:"UserName" json:"UserName"` + UserPwd string `thrift:"UserPwd,2" db:"UserPwd" json:"UserPwd"` + DwUin int32 `thrift:"dwUin,3" db:"dwUin" json:"dwUin"` + Device string `thrift:"Device,4" db:"Device" json:"Device"` +} + +func NewReqRegisterAccount() *ReqRegisterAccount { + return &ReqRegisterAccount{} +} + +func (p *ReqRegisterAccount) GetUserName() string { + return p.UserName +} + +func (p *ReqRegisterAccount) GetUserPwd() string { + return p.UserPwd +} + +func (p *ReqRegisterAccount) GetDwUin() int32 { + return p.DwUin +} + +func (p *ReqRegisterAccount) GetDevice() string { + return p.Device +} + +func (p *ReqRegisterAccount) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.STRING { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqRegisterAccount) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.UserName = v + } + return nil +} + +func (p *ReqRegisterAccount) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.UserPwd = v + } + return nil +} + +func (p *ReqRegisterAccount) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ReqRegisterAccount) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Device = v + } + return nil +} + +func (p *ReqRegisterAccount) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqRegisterAccount"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqRegisterAccount) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "UserName", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:UserName: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.UserName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.UserName (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:UserName: ", p), err) + } + return err +} + +func (p *ReqRegisterAccount) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "UserPwd", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:UserPwd: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.UserPwd)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.UserPwd (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:UserPwd: ", p), err) + } + return err +} + +func (p *ReqRegisterAccount) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:dwUin: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:dwUin: ", p), err) + } + return err +} + +func (p *ReqRegisterAccount) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Device", thrift.STRING, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Device: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Device)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Device (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Device: ", p), err) + } + return err +} + +func (p *ReqRegisterAccount) Equals(other *ReqRegisterAccount) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.UserName != other.UserName { + return false + } + if p.UserPwd != other.UserPwd { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.Device != other.Device { + return false + } + return true +} + +func (p *ReqRegisterAccount) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqRegisterAccount(%+v)", *p) +} + +func (p *ReqRegisterAccount) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqRegisterAccount", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqRegisterAccount)(nil) + +func (p *ReqRegisterAccount) Validate() error { + return nil +} + +type ReqReload struct { +} + +func NewReqReload() *ReqReload { + return &ReqReload{} +} + +func (p *ReqReload) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqReload) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqReload"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqReload) Equals(other *ReqReload) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqReload) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqReload(%+v)", *p) +} + +func (p *ReqReload) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqReload", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqReload)(nil) + +func (p *ReqReload) Validate() error { + return nil +} + +type ReqReloadServerMail struct { +} + +func NewReqReloadServerMail() *ReqReloadServerMail { + return &ReqReloadServerMail{} +} + +func (p *ReqReloadServerMail) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqReloadServerMail) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqReloadServerMail"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqReloadServerMail) Equals(other *ReqReloadServerMail) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqReloadServerMail) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqReloadServerMail(%+v)", *p) +} + +func (p *ReqReloadServerMail) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqReloadServerMail", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqReloadServerMail)(nil) + +func (p *ReqReloadServerMail) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// +type ReqRemoveAd struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` +} + +func NewReqRemoveAd() *ReqRemoveAd { + return &ReqRemoveAd{} +} + +func (p *ReqRemoveAd) GetDwUin() int64 { + return p.DwUin +} + +func (p *ReqRemoveAd) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqRemoveAd) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ReqRemoveAd) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqRemoveAd"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqRemoveAd) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ReqRemoveAd) Equals(other *ReqRemoveAd) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + return true +} + +func (p *ReqRemoveAd) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqRemoveAd(%+v)", *p) +} + +func (p *ReqRemoveAd) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqRemoveAd", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqRemoveAd)(nil) + +func (p *ReqRemoveAd) Validate() error { + return nil +} + +// Attributes: +// - OrderId +// - MChessData +// - ActType +// +type ReqRewardOrder struct { + OrderId int32 `thrift:"OrderId,1" db:"OrderId" json:"OrderId"` + MChessData map[string]int32 `thrift:"MChessData,2" db:"MChessData" json:"MChessData"` + ActType []int32 `thrift:"ActType,3" db:"ActType" json:"ActType"` +} + +func NewReqRewardOrder() *ReqRewardOrder { + return &ReqRewardOrder{} +} + +func (p *ReqRewardOrder) GetOrderId() int32 { + return p.OrderId +} + +func (p *ReqRewardOrder) GetMChessData() map[string]int32 { + return p.MChessData +} + +func (p *ReqRewardOrder) GetActType() []int32 { + return p.ActType +} + +func (p *ReqRewardOrder) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqRewardOrder) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.OrderId = v + } + return nil +} + +func (p *ReqRewardOrder) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.MChessData = tMap + for i := 0; i < size; i++ { + var _key131 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key131 = v + } + var _val132 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val132 = v + } + p.MChessData[_key131] = _val132 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqRewardOrder) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.ActType = tSlice + for i := 0; i < size; i++ { + var _elem133 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem133 = v + } + p.ActType = append(p.ActType, _elem133) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ReqRewardOrder) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqRewardOrder"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqRewardOrder) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "OrderId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:OrderId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.OrderId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.OrderId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:OrderId: ", p), err) + } + return err +} + +func (p *ReqRewardOrder) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MChessData", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MChessData: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.MChessData)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MChessData { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MChessData: ", p), err) + } + return err +} + +func (p *ReqRewardOrder) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ActType", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ActType: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.ActType)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ActType { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ActType: ", p), err) + } + return err +} + +func (p *ReqRewardOrder) Equals(other *ReqRewardOrder) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.OrderId != other.OrderId { + return false + } + if len(p.MChessData) != len(other.MChessData) { + return false + } + for k, _tgt := range p.MChessData { + _src134 := other.MChessData[k] + if _tgt != _src134 { + return false + } + } + if len(p.ActType) != len(other.ActType) { + return false + } + for i, _tgt := range p.ActType { + _src135 := other.ActType[i] + if _tgt != _src135 { + return false + } + } + return true +} + +func (p *ReqRewardOrder) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqRewardOrder(%+v)", *p) +} + +func (p *ReqRewardOrder) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqRewardOrder", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqRewardOrder)(nil) + +func (p *ReqRewardOrder) Validate() error { + return nil +} + +// Attributes: +// - Uid +// +type ReqSearchPlayer struct { + Uid string `thrift:"Uid,1" db:"Uid" json:"Uid"` +} + +func NewReqSearchPlayer() *ReqSearchPlayer { + return &ReqSearchPlayer{} +} + +func (p *ReqSearchPlayer) GetUid() string { + return p.Uid +} + +func (p *ReqSearchPlayer) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSearchPlayer) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqSearchPlayer) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSearchPlayer"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSearchPlayer) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqSearchPlayer) Equals(other *ReqSearchPlayer) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ReqSearchPlayer) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSearchPlayer(%+v)", *p) +} + +func (p *ReqSearchPlayer) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSearchPlayer", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSearchPlayer)(nil) + +func (p *ReqSearchPlayer) Validate() error { + return nil +} + +// Attributes: +// - Id +// - CardId +// +type ReqSelectCardExchange struct { + Id string `thrift:"Id,1" db:"Id" json:"Id"` + CardId int32 `thrift:"CardId,2" db:"CardId" json:"CardId"` +} + +func NewReqSelectCardExchange() *ReqSelectCardExchange { + return &ReqSelectCardExchange{} +} + +func (p *ReqSelectCardExchange) GetId() string { + return p.Id +} + +func (p *ReqSelectCardExchange) GetCardId() int32 { + return p.CardId +} + +func (p *ReqSelectCardExchange) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSelectCardExchange) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqSelectCardExchange) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.CardId = v + } + return nil +} + +func (p *ReqSelectCardExchange) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSelectCardExchange"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSelectCardExchange) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqSelectCardExchange) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CardId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:CardId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.CardId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.CardId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:CardId: ", p), err) + } + return err +} + +func (p *ReqSelectCardExchange) Equals(other *ReqSelectCardExchange) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.CardId != other.CardId { + return false + } + return true +} + +func (p *ReqSelectCardExchange) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSelectCardExchange(%+v)", *p) +} + +func (p *ReqSelectCardExchange) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSelectCardExchange", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSelectCardExchange)(nil) + +func (p *ReqSelectCardExchange) Validate() error { + return nil +} + +// Attributes: +// - Id +// +type ReqSelectLimitEvent struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` +} + +func NewReqSelectLimitEvent() *ReqSelectLimitEvent { + return &ReqSelectLimitEvent{} +} + +func (p *ReqSelectLimitEvent) GetId() int32 { + return p.Id +} + +func (p *ReqSelectLimitEvent) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSelectLimitEvent) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqSelectLimitEvent) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSelectLimitEvent"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSelectLimitEvent) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqSelectLimitEvent) Equals(other *ReqSelectLimitEvent) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ReqSelectLimitEvent) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSelectLimitEvent(%+v)", *p) +} + +func (p *ReqSelectLimitEvent) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSelectLimitEvent", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSelectLimitEvent)(nil) + +func (p *ReqSelectLimitEvent) Validate() error { + return nil +} + +// Attributes: +// - InviterId +// +type ReqSelfInvited struct { + InviterId int64 `thrift:"InviterId,1" db:"InviterId" json:"InviterId"` +} + +func NewReqSelfInvited() *ReqSelfInvited { + return &ReqSelfInvited{} +} + +func (p *ReqSelfInvited) GetInviterId() int64 { + return p.InviterId +} + +func (p *ReqSelfInvited) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSelfInvited) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.InviterId = v + } + return nil +} + +func (p *ReqSelfInvited) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSelfInvited"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSelfInvited) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "InviterId", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:InviterId: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.InviterId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.InviterId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:InviterId: ", p), err) + } + return err +} + +func (p *ReqSelfInvited) Equals(other *ReqSelfInvited) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.InviterId != other.InviterId { + return false + } + return true +} + +func (p *ReqSelfInvited) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSelfInvited(%+v)", *p) +} + +func (p *ReqSelfInvited) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSelfInvited", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSelfInvited)(nil) + +func (p *ReqSelfInvited) Validate() error { + return nil +} + +// Attributes: +// - ChessId +// +type ReqSellChessNum struct { + ChessId int32 `thrift:"ChessId,1" db:"ChessId" json:"ChessId"` +} + +func NewReqSellChessNum() *ReqSellChessNum { + return &ReqSellChessNum{} +} + +func (p *ReqSellChessNum) GetChessId() int32 { + return p.ChessId +} + +func (p *ReqSellChessNum) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSellChessNum) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ChessId = v + } + return nil +} + +func (p *ReqSellChessNum) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSellChessNum"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSellChessNum) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChessId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChessId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ChessId: ", p), err) + } + return err +} + +func (p *ReqSellChessNum) Equals(other *ReqSellChessNum) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ChessId != other.ChessId { + return false + } + return true +} + +func (p *ReqSellChessNum) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSellChessNum(%+v)", *p) +} + +func (p *ReqSellChessNum) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSellChessNum", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSellChessNum)(nil) + +func (p *ReqSellChessNum) Validate() error { + return nil +} + +// Attributes: +// - Uid +// +type ReqSendWishBeg struct { + Uid []int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` +} + +func NewReqSendWishBeg() *ReqSendWishBeg { + return &ReqSendWishBeg{} +} + +func (p *ReqSendWishBeg) GetUid() []int64 { + return p.Uid +} + +func (p *ReqSendWishBeg) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSendWishBeg) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int64, 0, size) + p.Uid = tSlice + for i := 0; i < size; i++ { + var _elem136 int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem136 = v + } + p.Uid = append(p.Uid, _elem136) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ReqSendWishBeg) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSendWishBeg"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSendWishBeg) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.Uid)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Uid { + if err := oprot.WriteI64(ctx, int64(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqSendWishBeg) Equals(other *ReqSendWishBeg) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Uid) != len(other.Uid) { + return false + } + for i, _tgt := range p.Uid { + _src137 := other.Uid[i] + if _tgt != _src137 { + return false + } + } + return true +} + +func (p *ReqSendWishBeg) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSendWishBeg(%+v)", *p) +} + +func (p *ReqSendWishBeg) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSendWishBeg", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSendWishBeg)(nil) + +func (p *ReqSendWishBeg) Validate() error { + return nil +} + +// Attributes: +// - ChessId +// - MChessData +// +type ReqSeparateChess struct { + ChessId int32 `thrift:"ChessId,1" db:"ChessId" json:"ChessId"` + MChessData map[string]int32 `thrift:"MChessData,2" db:"MChessData" json:"MChessData"` +} + +func NewReqSeparateChess() *ReqSeparateChess { + return &ReqSeparateChess{} +} + +func (p *ReqSeparateChess) GetChessId() int32 { + return p.ChessId +} + +func (p *ReqSeparateChess) GetMChessData() map[string]int32 { + return p.MChessData +} + +func (p *ReqSeparateChess) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSeparateChess) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ChessId = v + } + return nil +} + +func (p *ReqSeparateChess) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.MChessData = tMap + for i := 0; i < size; i++ { + var _key138 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key138 = v + } + var _val139 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val139 = v + } + p.MChessData[_key138] = _val139 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqSeparateChess) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSeparateChess"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSeparateChess) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChessId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChessId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ChessId: ", p), err) + } + return err +} + +func (p *ReqSeparateChess) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MChessData", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MChessData: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.MChessData)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MChessData { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MChessData: ", p), err) + } + return err +} + +func (p *ReqSeparateChess) Equals(other *ReqSeparateChess) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ChessId != other.ChessId { + return false + } + if len(p.MChessData) != len(other.MChessData) { + return false + } + for k, _tgt := range p.MChessData { + _src140 := other.MChessData[k] + if _tgt != _src140 { + return false + } + } + return true +} + +func (p *ReqSeparateChess) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSeparateChess(%+v)", *p) +} + +func (p *ReqSeparateChess) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSeparateChess", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSeparateChess)(nil) + +func (p *ReqSeparateChess) Validate() error { + return nil +} + +type ReqServerInfo struct { +} + +func NewReqServerInfo() *ReqServerInfo { + return &ReqServerInfo{} +} + +func (p *ReqServerInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqServerInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqServerInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqServerInfo) Equals(other *ReqServerInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqServerInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqServerInfo(%+v)", *p) +} + +func (p *ReqServerInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqServerInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqServerInfo)(nil) + +func (p *ReqServerInfo) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// +type ReqServerTime struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` +} + +func NewReqServerTime() *ReqServerTime { + return &ReqServerTime{} +} + +func (p *ReqServerTime) GetDwUin() int64 { + return p.DwUin +} + +func (p *ReqServerTime) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqServerTime) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ReqServerTime) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqServerTime"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqServerTime) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ReqServerTime) Equals(other *ReqServerTime) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + return true +} + +func (p *ReqServerTime) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqServerTime(%+v)", *p) +} + +func (p *ReqServerTime) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqServerTime", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqServerTime)(nil) + +func (p *ReqServerTime) Validate() error { + return nil +} + +// Attributes: +// - Avatar +// +type ReqSetAvatar struct { + Avatar int32 `thrift:"Avatar,1" db:"Avatar" json:"Avatar"` +} + +func NewReqSetAvatar() *ReqSetAvatar { + return &ReqSetAvatar{} +} + +func (p *ReqSetAvatar) GetAvatar() int32 { + return p.Avatar +} + +func (p *ReqSetAvatar) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSetAvatar) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Avatar = v + } + return nil +} + +func (p *ReqSetAvatar) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSetAvatar"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSetAvatar) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Avatar", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Avatar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Avatar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Avatar (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Avatar: ", p), err) + } + return err +} + +func (p *ReqSetAvatar) Equals(other *ReqSetAvatar) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Avatar != other.Avatar { + return false + } + return true +} + +func (p *ReqSetAvatar) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSetAvatar(%+v)", *p) +} + +func (p *ReqSetAvatar) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSetAvatar", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSetAvatar)(nil) + +func (p *ReqSetAvatar) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Type +// +type ReqSetEmoji struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Type int32 `thrift:"Type,2" db:"Type" json:"Type"` +} + +func NewReqSetEmoji() *ReqSetEmoji { + return &ReqSetEmoji{} +} + +func (p *ReqSetEmoji) GetId() int32 { + return p.Id +} + +func (p *ReqSetEmoji) GetType() int32 { + return p.Type +} + +func (p *ReqSetEmoji) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSetEmoji) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ReqSetEmoji) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ReqSetEmoji) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSetEmoji"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSetEmoji) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ReqSetEmoji) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Type: ", p), err) + } + return err +} + +func (p *ReqSetEmoji) Equals(other *ReqSetEmoji) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Type != other.Type { + return false + } + return true +} + +func (p *ReqSetEmoji) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSetEmoji(%+v)", *p) +} + +func (p *ReqSetEmoji) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSetEmoji", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSetEmoji)(nil) + +func (p *ReqSetEmoji) Validate() error { + return nil +} + +// Attributes: +// - EnergyMul +// +type ReqSetEnergyMul struct { + EnergyMul int32 `thrift:"EnergyMul,1" db:"EnergyMul" json:"EnergyMul"` +} + +func NewReqSetEnergyMul() *ReqSetEnergyMul { + return &ReqSetEnergyMul{} +} + +func (p *ReqSetEnergyMul) GetEnergyMul() int32 { + return p.EnergyMul +} + +func (p *ReqSetEnergyMul) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSetEnergyMul) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.EnergyMul = v + } + return nil +} + +func (p *ReqSetEnergyMul) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSetEnergyMul"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSetEnergyMul) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EnergyMul", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:EnergyMul: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EnergyMul)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EnergyMul (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:EnergyMul: ", p), err) + } + return err +} + +func (p *ReqSetEnergyMul) Equals(other *ReqSetEnergyMul) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.EnergyMul != other.EnergyMul { + return false + } + return true +} + +func (p *ReqSetEnergyMul) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSetEnergyMul(%+v)", *p) +} + +func (p *ReqSetEnergyMul) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSetEnergyMul", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSetEnergyMul)(nil) + +func (p *ReqSetEnergyMul) Validate() error { + return nil +} + +// Attributes: +// - Face +// +type ReqSetFace struct { + Face int32 `thrift:"Face,1" db:"Face" json:"Face"` +} + +func NewReqSetFace() *ReqSetFace { + return &ReqSetFace{} +} + +func (p *ReqSetFace) GetFace() int32 { + return p.Face +} + +func (p *ReqSetFace) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSetFace) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Face = v + } + return nil +} + +func (p *ReqSetFace) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSetFace"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSetFace) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Face", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Face: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Face)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Face (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Face: ", p), err) + } + return err +} + +func (p *ReqSetFace) Equals(other *ReqSetFace) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Face != other.Face { + return false + } + return true +} + +func (p *ReqSetFace) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSetFace(%+v)", *p) +} + +func (p *ReqSetFace) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSetFace", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSetFace)(nil) + +func (p *ReqSetFace) Validate() error { + return nil +} + +// Attributes: +// - Url +// +type ReqSetFacebookUrl struct { + Url string `thrift:"Url,1" db:"Url" json:"Url"` +} + +func NewReqSetFacebookUrl() *ReqSetFacebookUrl { + return &ReqSetFacebookUrl{} +} + +func (p *ReqSetFacebookUrl) GetUrl() string { + return p.Url +} + +func (p *ReqSetFacebookUrl) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSetFacebookUrl) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Url = v + } + return nil +} + +func (p *ReqSetFacebookUrl) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSetFacebookUrl"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSetFacebookUrl) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Url", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Url: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Url)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Url (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Url: ", p), err) + } + return err +} + +func (p *ReqSetFacebookUrl) Equals(other *ReqSetFacebookUrl) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Url != other.Url { + return false + } + return true +} + +func (p *ReqSetFacebookUrl) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSetFacebookUrl(%+v)", *p) +} + +func (p *ReqSetFacebookUrl) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSetFacebookUrl", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSetFacebookUrl)(nil) + +func (p *ReqSetFacebookUrl) Validate() error { + return nil +} + +// Attributes: +// - Name +// +type ReqSetName struct { + Name string `thrift:"Name,1" db:"Name" json:"Name"` +} + +func NewReqSetName() *ReqSetName { + return &ReqSetName{} +} + +func (p *ReqSetName) GetName() string { + return p.Name +} + +func (p *ReqSetName) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSetName) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Name = v + } + return nil +} + +func (p *ReqSetName) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSetName"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSetName) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Name", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Name: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Name)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Name (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Name: ", p), err) + } + return err +} + +func (p *ReqSetName) Equals(other *ReqSetName) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Name != other.Name { + return false + } + return true +} + +func (p *ReqSetName) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSetName(%+v)", *p) +} + +func (p *ReqSetName) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSetName", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSetName)(nil) + +func (p *ReqSetName) Validate() error { + return nil +} + +// Attributes: +// - Name +// +type ReqSetPetName struct { + Name string `thrift:"Name,1" db:"Name" json:"Name"` +} + +func NewReqSetPetName() *ReqSetPetName { + return &ReqSetPetName{} +} + +func (p *ReqSetPetName) GetName() string { + return p.Name +} + +func (p *ReqSetPetName) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSetPetName) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Name = v + } + return nil +} + +func (p *ReqSetPetName) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSetPetName"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSetPetName) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Name", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Name: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Name)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Name (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Name: ", p), err) + } + return err +} + +func (p *ReqSetPetName) Equals(other *ReqSetPetName) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Name != other.Name { + return false + } + return true +} + +func (p *ReqSetPetName) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSetPetName(%+v)", *p) +} + +func (p *ReqSetPetName) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSetPetName", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSetPetName)(nil) + +func (p *ReqSetPetName) Validate() error { + return nil +} + +// Attributes: +// - OrderSn +// - ProduceId +// - Token +// - Status +// +type ReqShippingOrder struct { + OrderSn string `thrift:"OrderSn,1" db:"OrderSn" json:"OrderSn"` + ProduceId string `thrift:"ProduceId,2" db:"ProduceId" json:"ProduceId"` + Token string `thrift:"Token,3" db:"Token" json:"Token"` + Status int32 `thrift:"Status,4" db:"Status" json:"Status"` +} + +func NewReqShippingOrder() *ReqShippingOrder { + return &ReqShippingOrder{} +} + +func (p *ReqShippingOrder) GetOrderSn() string { + return p.OrderSn +} + +func (p *ReqShippingOrder) GetProduceId() string { + return p.ProduceId +} + +func (p *ReqShippingOrder) GetToken() string { + return p.Token +} + +func (p *ReqShippingOrder) GetStatus() int32 { + return p.Status +} + +func (p *ReqShippingOrder) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqShippingOrder) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.OrderSn = v + } + return nil +} + +func (p *ReqShippingOrder) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.ProduceId = v + } + return nil +} + +func (p *ReqShippingOrder) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Token = v + } + return nil +} + +func (p *ReqShippingOrder) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ReqShippingOrder) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqShippingOrder"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqShippingOrder) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "OrderSn", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:OrderSn: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.OrderSn)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.OrderSn (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:OrderSn: ", p), err) + } + return err +} + +func (p *ReqShippingOrder) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ProduceId", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:ProduceId: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.ProduceId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ProduceId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:ProduceId: ", p), err) + } + return err +} + +func (p *ReqShippingOrder) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Token", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Token: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Token)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Token (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Token: ", p), err) + } + return err +} + +func (p *ReqShippingOrder) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Status: ", p), err) + } + return err +} + +func (p *ReqShippingOrder) Equals(other *ReqShippingOrder) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.OrderSn != other.OrderSn { + return false + } + if p.ProduceId != other.ProduceId { + return false + } + if p.Token != other.Token { + return false + } + if p.Status != other.Status { + return false + } + return true +} + +func (p *ReqShippingOrder) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqShippingOrder(%+v)", *p) +} + +func (p *ReqShippingOrder) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqShippingOrder", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqShippingOrder)(nil) + +func (p *ReqShippingOrder) Validate() error { + return nil +} + +// Attributes: +// - ChestId +// - MChessData +// +type ReqSourceChest struct { + ChestId int32 `thrift:"ChestId,1" db:"ChestId" json:"ChestId"` + MChessData map[string]int32 `thrift:"MChessData,2" db:"MChessData" json:"MChessData"` +} + +func NewReqSourceChest() *ReqSourceChest { + return &ReqSourceChest{} +} + +func (p *ReqSourceChest) GetChestId() int32 { + return p.ChestId +} + +func (p *ReqSourceChest) GetMChessData() map[string]int32 { + return p.MChessData +} + +func (p *ReqSourceChest) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSourceChest) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ChestId = v + } + return nil +} + +func (p *ReqSourceChest) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.MChessData = tMap + for i := 0; i < size; i++ { + var _key141 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key141 = v + } + var _val142 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val142 = v + } + p.MChessData[_key141] = _val142 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqSourceChest) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSourceChest"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSourceChest) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChestId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ChestId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChestId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChestId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ChestId: ", p), err) + } + return err +} + +func (p *ReqSourceChest) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MChessData", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MChessData: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.MChessData)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MChessData { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MChessData: ", p), err) + } + return err +} + +func (p *ReqSourceChest) Equals(other *ReqSourceChest) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ChestId != other.ChestId { + return false + } + if len(p.MChessData) != len(other.MChessData) { + return false + } + for k, _tgt := range p.MChessData { + _src143 := other.MChessData[k] + if _tgt != _src143 { + return false + } + } + return true +} + +func (p *ReqSourceChest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSourceChest(%+v)", *p) +} + +func (p *ReqSourceChest) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSourceChest", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSourceChest)(nil) + +func (p *ReqSourceChest) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - NewFBId_ +// +type ReqSynGameData struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + NewFBId_ string `thrift:"NewFBId,2" db:"NewFBId" json:"NewFBId"` +} + +func NewReqSynGameData() *ReqSynGameData { + return &ReqSynGameData{} +} + +func (p *ReqSynGameData) GetDwUin() int64 { + return p.DwUin +} + +func (p *ReqSynGameData) GetNewFBId_() string { + return p.NewFBId_ +} + +func (p *ReqSynGameData) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqSynGameData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ReqSynGameData) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.NewFBId_ = v + } + return nil +} + +func (p *ReqSynGameData) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqSynGameData"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqSynGameData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ReqSynGameData) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "NewFBId", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:NewFBId: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.NewFBId_)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.NewFBId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:NewFBId: ", p), err) + } + return err +} + +func (p *ReqSynGameData) Equals(other *ReqSynGameData) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.NewFBId_ != other.NewFBId_ { + return false + } + return true +} + +func (p *ReqSynGameData) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqSynGameData(%+v)", *p) +} + +func (p *ReqSynGameData) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqSynGameData", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqSynGameData)(nil) + +func (p *ReqSynGameData) Validate() error { + return nil +} + +// Attributes: +// - BagId +// - MChessData +// +type ReqTakeChessOutBag struct { + BagId int32 `thrift:"BagId,1" db:"BagId" json:"BagId"` + MChessData map[string]int32 `thrift:"MChessData,2" db:"MChessData" json:"MChessData"` +} + +func NewReqTakeChessOutBag() *ReqTakeChessOutBag { + return &ReqTakeChessOutBag{} +} + +func (p *ReqTakeChessOutBag) GetBagId() int32 { + return p.BagId +} + +func (p *ReqTakeChessOutBag) GetMChessData() map[string]int32 { + return p.MChessData +} + +func (p *ReqTakeChessOutBag) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqTakeChessOutBag) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.BagId = v + } + return nil +} + +func (p *ReqTakeChessOutBag) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.MChessData = tMap + for i := 0; i < size; i++ { + var _key144 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key144 = v + } + var _val145 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val145 = v + } + p.MChessData[_key144] = _val145 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqTakeChessOutBag) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqTakeChessOutBag"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqTakeChessOutBag) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "BagId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:BagId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.BagId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.BagId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:BagId: ", p), err) + } + return err +} + +func (p *ReqTakeChessOutBag) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MChessData", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MChessData: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.MChessData)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MChessData { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MChessData: ", p), err) + } + return err +} + +func (p *ReqTakeChessOutBag) Equals(other *ReqTakeChessOutBag) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.BagId != other.BagId { + return false + } + if len(p.MChessData) != len(other.MChessData) { + return false + } + for k, _tgt := range p.MChessData { + _src146 := other.MChessData[k] + if _tgt != _src146 { + return false + } + } + return true +} + +func (p *ReqTakeChessOutBag) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqTakeChessOutBag(%+v)", *p) +} + +func (p *ReqTakeChessOutBag) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqTakeChessOutBag", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqTakeChessOutBag)(nil) + +func (p *ReqTakeChessOutBag) Validate() error { + return nil +} + +// Attributes: +// - BagId +// +type ReqTakeChessOutBagToHonor struct { + BagId int32 `thrift:"BagId,1" db:"BagId" json:"BagId"` +} + +func NewReqTakeChessOutBagToHonor() *ReqTakeChessOutBagToHonor { + return &ReqTakeChessOutBagToHonor{} +} + +func (p *ReqTakeChessOutBagToHonor) GetBagId() int32 { + return p.BagId +} + +func (p *ReqTakeChessOutBagToHonor) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqTakeChessOutBagToHonor) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.BagId = v + } + return nil +} + +func (p *ReqTakeChessOutBagToHonor) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqTakeChessOutBagToHonor"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqTakeChessOutBagToHonor) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "BagId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:BagId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.BagId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.BagId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:BagId: ", p), err) + } + return err +} + +func (p *ReqTakeChessOutBagToHonor) Equals(other *ReqTakeChessOutBagToHonor) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.BagId != other.BagId { + return false + } + return true +} + +func (p *ReqTakeChessOutBagToHonor) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqTakeChessOutBagToHonor(%+v)", *p) +} + +func (p *ReqTakeChessOutBagToHonor) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqTakeChessOutBagToHonor", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqTakeChessOutBagToHonor)(nil) + +func (p *ReqTakeChessOutBagToHonor) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - BindAccountId +// +type ReqUnBindFacebook struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + BindAccountId string `thrift:"BindAccountId,2" db:"BindAccountId" json:"BindAccountId"` +} + +func NewReqUnBindFacebook() *ReqUnBindFacebook { + return &ReqUnBindFacebook{} +} + +func (p *ReqUnBindFacebook) GetDwUin() int64 { + return p.DwUin +} + +func (p *ReqUnBindFacebook) GetBindAccountId() string { + return p.BindAccountId +} + +func (p *ReqUnBindFacebook) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqUnBindFacebook) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ReqUnBindFacebook) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.BindAccountId = v + } + return nil +} + +func (p *ReqUnBindFacebook) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqUnBindFacebook"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqUnBindFacebook) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ReqUnBindFacebook) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "BindAccountId", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:BindAccountId: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.BindAccountId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.BindAccountId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:BindAccountId: ", p), err) + } + return err +} + +func (p *ReqUnBindFacebook) Equals(other *ReqUnBindFacebook) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.BindAccountId != other.BindAccountId { + return false + } + return true +} + +func (p *ReqUnBindFacebook) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqUnBindFacebook(%+v)", *p) +} + +func (p *ReqUnBindFacebook) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqUnBindFacebook", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqUnBindFacebook)(nil) + +func (p *ReqUnBindFacebook) Validate() error { + return nil +} + +// Attributes: +// - ChessId +// - MChessData +// +type ReqUpgradeChess struct { + ChessId int32 `thrift:"ChessId,1" db:"ChessId" json:"ChessId"` + MChessData map[string]int32 `thrift:"MChessData,2" db:"MChessData" json:"MChessData"` +} + +func NewReqUpgradeChess() *ReqUpgradeChess { + return &ReqUpgradeChess{} +} + +func (p *ReqUpgradeChess) GetChessId() int32 { + return p.ChessId +} + +func (p *ReqUpgradeChess) GetMChessData() map[string]int32 { + return p.MChessData +} + +func (p *ReqUpgradeChess) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqUpgradeChess) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ChessId = v + } + return nil +} + +func (p *ReqUpgradeChess) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.MChessData = tMap + for i := 0; i < size; i++ { + var _key147 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key147 = v + } + var _val148 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val148 = v + } + p.MChessData[_key147] = _val148 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ReqUpgradeChess) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqUpgradeChess"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqUpgradeChess) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChessId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChessId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ChessId: ", p), err) + } + return err +} + +func (p *ReqUpgradeChess) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MChessData", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MChessData: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.MChessData)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MChessData { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MChessData: ", p), err) + } + return err +} + +func (p *ReqUpgradeChess) Equals(other *ReqUpgradeChess) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ChessId != other.ChessId { + return false + } + if len(p.MChessData) != len(other.MChessData) { + return false + } + for k, _tgt := range p.MChessData { + _src149 := other.MChessData[k] + if _tgt != _src149 { + return false + } + } + return true +} + +func (p *ReqUpgradeChess) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqUpgradeChess(%+v)", *p) +} + +func (p *ReqUpgradeChess) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqUpgradeChess", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqUpgradeChess)(nil) + +func (p *ReqUpgradeChess) Validate() error { + return nil +} + +type ReqUserInfo struct { +} + +func NewReqUserInfo() *ReqUserInfo { + return &ReqUserInfo{} +} + +func (p *ReqUserInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqUserInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqUserInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqUserInfo) Equals(other *ReqUserInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqUserInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqUserInfo(%+v)", *p) +} + +func (p *ReqUserInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqUserInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqUserInfo)(nil) + +func (p *ReqUserInfo) Validate() error { + return nil +} + +// Attributes: +// - Uid +// +type ReqWishApply struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` +} + +func NewReqWishApply() *ReqWishApply { + return &ReqWishApply{} +} + +func (p *ReqWishApply) GetUid() int64 { + return p.Uid +} + +func (p *ReqWishApply) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqWishApply) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ReqWishApply) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqWishApply"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqWishApply) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ReqWishApply) Equals(other *ReqWishApply) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ReqWishApply) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqWishApply(%+v)", *p) +} + +func (p *ReqWishApply) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqWishApply", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqWishApply)(nil) + +func (p *ReqWishApply) Validate() error { + return nil +} + +type ReqWishApplyList struct { +} + +func NewReqWishApplyList() *ReqWishApplyList { + return &ReqWishApplyList{} +} + +func (p *ReqWishApplyList) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ReqWishApplyList) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ReqWishApplyList"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ReqWishApplyList) Equals(other *ReqWishApplyList) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + return true +} + +func (p *ReqWishApplyList) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ReqWishApplyList(%+v)", *p) +} + +func (p *ReqWishApplyList) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ReqWishApplyList", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ReqWishApplyList)(nil) + +func (p *ReqWishApplyList) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Status +// - EndTime +// - Template +// - Score +// - Reward +// - LowPass +// - HighPass +// +type ResActPass struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Status int32 `thrift:"Status,2" db:"Status" json:"Status"` + EndTime int32 `thrift:"EndTime,3" db:"EndTime" json:"EndTime"` + Template int32 `thrift:"Template,4" db:"Template" json:"Template"` + // unused field # 5 + Score int32 `thrift:"Score,6" db:"Score" json:"Score"` + Reward []int32 `thrift:"Reward,7" db:"Reward" json:"Reward"` + LowPass bool `thrift:"LowPass,8" db:"LowPass" json:"LowPass"` + HighPass bool `thrift:"HighPass,9" db:"HighPass" json:"HighPass"` +} + +func NewResActPass() *ResActPass { + return &ResActPass{} +} + +func (p *ResActPass) GetId() int32 { + return p.Id +} + +func (p *ResActPass) GetStatus() int32 { + return p.Status +} + +func (p *ResActPass) GetEndTime() int32 { + return p.EndTime +} + +func (p *ResActPass) GetTemplate() int32 { + return p.Template +} + +func (p *ResActPass) GetScore() int32 { + return p.Score +} + +func (p *ResActPass) GetReward() []int32 { + return p.Reward +} + +func (p *ResActPass) GetLowPass() bool { + return p.LowPass +} + +func (p *ResActPass) GetHighPass() bool { + return p.HighPass +} + +func (p *ResActPass) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.LIST { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResActPass) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResActPass) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ResActPass) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *ResActPass) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Template = v + } + return nil +} + +func (p *ResActPass) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.Score = v + } + return nil +} + +func (p *ResActPass) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.Reward = tSlice + for i := 0; i < size; i++ { + var _elem150 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem150 = v + } + p.Reward = append(p.Reward, _elem150) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResActPass) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.LowPass = v + } + return nil +} + +func (p *ResActPass) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 9: ", err) + } else { + p.HighPass = v + } + return nil +} + +func (p *ResActPass) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResActPass"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResActPass) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ResActPass) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Status: ", p), err) + } + return err +} + +func (p *ResActPass) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:EndTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:EndTime: ", p), err) + } + return err +} + +func (p *ResActPass) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Template", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Template: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Template)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Template (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Template: ", p), err) + } + return err +} + +func (p *ResActPass) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Score", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Score: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Score)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Score (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Score: ", p), err) + } + return err +} + +func (p *ResActPass) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Reward", thrift.LIST, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:Reward: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.Reward)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Reward { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:Reward: ", p), err) + } + return err +} + +func (p *ResActPass) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "LowPass", thrift.BOOL, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:LowPass: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.LowPass)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.LowPass (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:LowPass: ", p), err) + } + return err +} + +func (p *ResActPass) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "HighPass", thrift.BOOL, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:HighPass: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.HighPass)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.HighPass (9) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:HighPass: ", p), err) + } + return err +} + +func (p *ResActPass) Equals(other *ResActPass) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Status != other.Status { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.Template != other.Template { + return false + } + if p.Score != other.Score { + return false + } + if len(p.Reward) != len(other.Reward) { + return false + } + for i, _tgt := range p.Reward { + _src151 := other.Reward[i] + if _tgt != _src151 { + return false + } + } + if p.LowPass != other.LowPass { + return false + } + if p.HighPass != other.HighPass { + return false + } + return true +} + +func (p *ResActPass) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResActPass(%+v)", *p) +} + +func (p *ResActPass) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResActPass", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResActPass)(nil) + +func (p *ResActPass) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - RewardLevel +// +type ResActPassReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + RewardLevel []int32 `thrift:"RewardLevel,3" db:"RewardLevel" json:"RewardLevel"` +} + +func NewResActPassReward() *ResActPassReward { + return &ResActPassReward{} +} + +func (p *ResActPassReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResActPassReward) GetMsg() string { + return p.Msg +} + +func (p *ResActPassReward) GetRewardLevel() []int32 { + return p.RewardLevel +} + +func (p *ResActPassReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResActPassReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResActPassReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResActPassReward) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.RewardLevel = tSlice + for i := 0; i < size; i++ { + var _elem152 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem152 = v + } + p.RewardLevel = append(p.RewardLevel, _elem152) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResActPassReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResActPassReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResActPassReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResActPassReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResActPassReward) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "RewardLevel", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:RewardLevel: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.RewardLevel)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.RewardLevel { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:RewardLevel: ", p), err) + } + return err +} + +func (p *ResActPassReward) Equals(other *ResActPassReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if len(p.RewardLevel) != len(other.RewardLevel) { + return false + } + for i, _tgt := range p.RewardLevel { + _src153 := other.RewardLevel[i] + if _tgt != _src153 { + return false + } + } + return true +} + +func (p *ResActPassReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResActPassReward(%+v)", *p) +} + +func (p *ResActPassReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResActPassReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResActPassReward)(nil) + +func (p *ResActPassReward) Validate() error { + return nil +} + +// Attributes: +// - Red +// +type ResActRed struct { + Red map[int32]int32 `thrift:"Red,1" db:"Red" json:"Red"` +} + +func NewResActRed() *ResActRed { + return &ResActRed{} +} + +func (p *ResActRed) GetRed() map[int32]int32 { + return p.Red +} + +func (p *ResActRed) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResActRed) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Red = tMap + for i := 0; i < size; i++ { + var _key154 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key154 = v + } + var _val155 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val155 = v + } + p.Red[_key154] = _val155 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResActRed) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResActRed"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResActRed) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Red", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Red: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Red)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Red { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Red: ", p), err) + } + return err +} + +func (p *ResActRed) Equals(other *ResActRed) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Red) != len(other.Red) { + return false + } + for k, _tgt := range p.Red { + _src156 := other.Red[k] + if _tgt != _src156 { + return false + } + } + return true +} + +func (p *ResActRed) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResActRed(%+v)", *p) +} + +func (p *ResActRed) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResActRed", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResActRed)(nil) + +func (p *ResActRed) Validate() error { + return nil +} + +// Attributes: +// - ActiveList +// - AddEnd +// - AddReward +// +type ResActivity struct { + ActiveList []*ActivityInfo `thrift:"ActiveList,1" db:"ActiveList" json:"ActiveList"` + AddEnd int64 `thrift:"AddEnd,2" db:"AddEnd" json:"AddEnd"` + AddReward bool `thrift:"AddReward,3" db:"AddReward" json:"AddReward"` +} + +func NewResActivity() *ResActivity { + return &ResActivity{} +} + +func (p *ResActivity) GetActiveList() []*ActivityInfo { + return p.ActiveList +} + +func (p *ResActivity) GetAddEnd() int64 { + return p.AddEnd +} + +func (p *ResActivity) GetAddReward() bool { + return p.AddReward +} + +func (p *ResActivity) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResActivity) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ActivityInfo, 0, size) + p.ActiveList = tSlice + for i := 0; i < size; i++ { + _elem157 := &ActivityInfo{} + if err := _elem157.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem157), err) + } + p.ActiveList = append(p.ActiveList, _elem157) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResActivity) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.AddEnd = v + } + return nil +} + +func (p *ResActivity) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.AddReward = v + } + return nil +} + +func (p *ResActivity) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResActivity"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResActivity) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ActiveList", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ActiveList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.ActiveList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ActiveList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ActiveList: ", p), err) + } + return err +} + +func (p *ResActivity) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AddEnd", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:AddEnd: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.AddEnd)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AddEnd (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:AddEnd: ", p), err) + } + return err +} + +func (p *ResActivity) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AddReward", thrift.BOOL, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:AddReward: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.AddReward)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AddReward (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:AddReward: ", p), err) + } + return err +} + +func (p *ResActivity) Equals(other *ResActivity) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.ActiveList) != len(other.ActiveList) { + return false + } + for i, _tgt := range p.ActiveList { + _src158 := other.ActiveList[i] + if !_tgt.Equals(_src158) { + return false + } + } + if p.AddEnd != other.AddEnd { + return false + } + if p.AddReward != other.AddReward { + return false + } + return true +} + +func (p *ResActivity) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResActivity(%+v)", *p) +} + +func (p *ResActivity) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResActivity", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResActivity)(nil) + +func (p *ResActivity) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResActivityCfgReload struct { + Code int32 `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResActivityCfgReload() *ResActivityCfgReload { + return &ResActivityCfgReload{} +} + +func (p *ResActivityCfgReload) GetCode() int32 { + return p.Code +} + +func (p *ResActivityCfgReload) GetMsg() string { + return p.Msg +} + +func (p *ResActivityCfgReload) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResActivityCfgReload) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Code = v + } + return nil +} + +func (p *ResActivityCfgReload) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResActivityCfgReload) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResActivityCfgReload"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResActivityCfgReload) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResActivityCfgReload) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResActivityCfgReload) Equals(other *ResActivityCfgReload) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResActivityCfgReload) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResActivityCfgReload(%+v)", *p) +} + +func (p *ResActivityCfgReload) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResActivityCfgReload", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResActivityCfgReload)(nil) + +func (p *ResActivityCfgReload) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResActivityReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResActivityReward() *ResActivityReward { + return &ResActivityReward{} +} + +func (p *ResActivityReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResActivityReward) GetMsg() string { + return p.Msg +} + +func (p *ResActivityReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResActivityReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResActivityReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResActivityReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResActivityReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResActivityReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResActivityReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResActivityReward) Equals(other *ResActivityReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResActivityReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResActivityReward(%+v)", *p) +} + +func (p *ResActivityReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResActivityReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResActivityReward)(nil) + +func (p *ResActivityReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResAdWatch struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResAdWatch() *ResAdWatch { + return &ResAdWatch{} +} + +func (p *ResAdWatch) GetCode() RES_CODE { + return p.Code +} + +func (p *ResAdWatch) GetMsg() string { + return p.Msg +} + +func (p *ResAdWatch) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResAdWatch) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResAdWatch) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResAdWatch) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResAdWatch"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResAdWatch) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResAdWatch) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResAdWatch) Equals(other *ResAdWatch) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResAdWatch) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResAdWatch(%+v)", *p) +} + +func (p *ResAdWatch) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResAdWatch", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResAdWatch)(nil) + +func (p *ResAdWatch) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResAddGiftReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResAddGiftReward() *ResAddGiftReward { + return &ResAddGiftReward{} +} + +func (p *ResAddGiftReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResAddGiftReward) GetMsg() string { + return p.Msg +} + +func (p *ResAddGiftReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResAddGiftReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResAddGiftReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResAddGiftReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResAddGiftReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResAddGiftReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResAddGiftReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResAddGiftReward) Equals(other *ResAddGiftReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResAddGiftReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResAddGiftReward(%+v)", *p) +} + +func (p *ResAddGiftReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResAddGiftReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResAddGiftReward)(nil) + +func (p *ResAddGiftReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - NpcId +// +type ResAddNpc struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + NpcId int32 `thrift:"NpcId,3" db:"NpcId" json:"NpcId"` +} + +func NewResAddNpc() *ResAddNpc { + return &ResAddNpc{} +} + +func (p *ResAddNpc) GetCode() RES_CODE { + return p.Code +} + +func (p *ResAddNpc) GetMsg() string { + return p.Msg +} + +func (p *ResAddNpc) GetNpcId() int32 { + return p.NpcId +} + +func (p *ResAddNpc) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResAddNpc) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResAddNpc) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResAddNpc) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.NpcId = v + } + return nil +} + +func (p *ResAddNpc) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResAddNpc"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResAddNpc) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResAddNpc) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResAddNpc) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "NpcId", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:NpcId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.NpcId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.NpcId (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:NpcId: ", p), err) + } + return err +} + +func (p *ResAddNpc) Equals(other *ResAddNpc) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.NpcId != other.NpcId { + return false + } + return true +} + +func (p *ResAddNpc) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResAddNpc(%+v)", *p) +} + +func (p *ResAddNpc) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResAddNpc", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResAddNpc)(nil) + +func (p *ResAddNpc) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResAddWish struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResAddWish() *ResAddWish { + return &ResAddWish{} +} + +func (p *ResAddWish) GetCode() RES_CODE { + return p.Code +} + +func (p *ResAddWish) GetMsg() string { + return p.Msg +} + +func (p *ResAddWish) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResAddWish) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResAddWish) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResAddWish) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResAddWish"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResAddWish) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResAddWish) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResAddWish) Equals(other *ResAddWish) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResAddWish) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResAddWish(%+v)", *p) +} + +func (p *ResAddWish) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResAddWish", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResAddWish)(nil) + +func (p *ResAddWish) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// - Emoji +// +type ResAgreeCardExchange struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id string `thrift:"Id,3" db:"Id" json:"Id"` + Emoji int32 `thrift:"Emoji,4" db:"Emoji" json:"Emoji"` +} + +func NewResAgreeCardExchange() *ResAgreeCardExchange { + return &ResAgreeCardExchange{} +} + +func (p *ResAgreeCardExchange) GetCode() RES_CODE { + return p.Code +} + +func (p *ResAgreeCardExchange) GetMsg() string { + return p.Msg +} + +func (p *ResAgreeCardExchange) GetId() string { + return p.Id +} + +func (p *ResAgreeCardExchange) GetEmoji() int32 { + return p.Emoji +} + +func (p *ResAgreeCardExchange) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResAgreeCardExchange) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResAgreeCardExchange) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResAgreeCardExchange) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResAgreeCardExchange) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Emoji = v + } + return nil +} + +func (p *ResAgreeCardExchange) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResAgreeCardExchange"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResAgreeCardExchange) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResAgreeCardExchange) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResAgreeCardExchange) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResAgreeCardExchange) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Emoji", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Emoji: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Emoji)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Emoji (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Emoji: ", p), err) + } + return err +} + +func (p *ResAgreeCardExchange) Equals(other *ResAgreeCardExchange) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + if p.Emoji != other.Emoji { + return false + } + return true +} + +func (p *ResAgreeCardExchange) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResAgreeCardExchange(%+v)", *p) +} + +func (p *ResAgreeCardExchange) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResAgreeCardExchange", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResAgreeCardExchange)(nil) + +func (p *ResAgreeCardExchange) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResAgreeCardGive struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id string `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResAgreeCardGive() *ResAgreeCardGive { + return &ResAgreeCardGive{} +} + +func (p *ResAgreeCardGive) GetCode() RES_CODE { + return p.Code +} + +func (p *ResAgreeCardGive) GetMsg() string { + return p.Msg +} + +func (p *ResAgreeCardGive) GetId() string { + return p.Id +} + +func (p *ResAgreeCardGive) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResAgreeCardGive) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResAgreeCardGive) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResAgreeCardGive) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResAgreeCardGive) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResAgreeCardGive"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResAgreeCardGive) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResAgreeCardGive) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResAgreeCardGive) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResAgreeCardGive) Equals(other *ResAgreeCardGive) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResAgreeCardGive) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResAgreeCardGive(%+v)", *p) +} + +func (p *ResAgreeCardGive) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResAgreeCardGive", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResAgreeCardGive)(nil) + +func (p *ResAgreeCardGive) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Uid +// - Player +// +type ResAgreeFriend struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Uid int64 `thrift:"Uid,3" db:"Uid" json:"Uid"` + Player *ResPlayerSimple `thrift:"Player,4" db:"Player" json:"Player"` +} + +func NewResAgreeFriend() *ResAgreeFriend { + return &ResAgreeFriend{} +} + +func (p *ResAgreeFriend) GetCode() RES_CODE { + return p.Code +} + +func (p *ResAgreeFriend) GetMsg() string { + return p.Msg +} + +func (p *ResAgreeFriend) GetUid() int64 { + return p.Uid +} + +var ResAgreeFriend_Player_DEFAULT *ResPlayerSimple + +func (p *ResAgreeFriend) GetPlayer() *ResPlayerSimple { + if !p.IsSetPlayer() { + return ResAgreeFriend_Player_DEFAULT + } + return p.Player +} + +func (p *ResAgreeFriend) IsSetPlayer() bool { + return p.Player != nil +} + +func (p *ResAgreeFriend) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResAgreeFriend) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResAgreeFriend) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResAgreeFriend) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ResAgreeFriend) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + p.Player = &ResPlayerSimple{} + if err := p.Player.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Player), err) + } + return nil +} + +func (p *ResAgreeFriend) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResAgreeFriend"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResAgreeFriend) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResAgreeFriend) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResAgreeFriend) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Uid: ", p), err) + } + return err +} + +func (p *ResAgreeFriend) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Player", thrift.STRUCT, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Player: ", p), err) + } + if err := p.Player.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Player), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Player: ", p), err) + } + return err +} + +func (p *ResAgreeFriend) Equals(other *ResAgreeFriend) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Uid != other.Uid { + return false + } + if !p.Player.Equals(other.Player) { + return false + } + return true +} + +func (p *ResAgreeFriend) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResAgreeFriend(%+v)", *p) +} + +func (p *ResAgreeFriend) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResAgreeFriend", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResAgreeFriend)(nil) + +func (p *ResAgreeFriend) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResAllCollectReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResAllCollectReward() *ResAllCollectReward { + return &ResAllCollectReward{} +} + +func (p *ResAllCollectReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResAllCollectReward) GetMsg() string { + return p.Msg +} + +func (p *ResAllCollectReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResAllCollectReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResAllCollectReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResAllCollectReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResAllCollectReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResAllCollectReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResAllCollectReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResAllCollectReward) Equals(other *ResAllCollectReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResAllCollectReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResAllCollectReward(%+v)", *p) +} + +func (p *ResAllCollectReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResAllCollectReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResAllCollectReward)(nil) + +func (p *ResAllCollectReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Uid +// +type ResApplyFriend struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Uid int64 `thrift:"Uid,3" db:"Uid" json:"Uid"` +} + +func NewResApplyFriend() *ResApplyFriend { + return &ResApplyFriend{} +} + +func (p *ResApplyFriend) GetCode() RES_CODE { + return p.Code +} + +func (p *ResApplyFriend) GetMsg() string { + return p.Msg +} + +func (p *ResApplyFriend) GetUid() int64 { + return p.Uid +} + +func (p *ResApplyFriend) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResApplyFriend) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResApplyFriend) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResApplyFriend) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ResApplyFriend) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResApplyFriend"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResApplyFriend) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResApplyFriend) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResApplyFriend) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Uid: ", p), err) + } + return err +} + +func (p *ResApplyFriend) Equals(other *ResApplyFriend) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ResApplyFriend) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResApplyFriend(%+v)", *p) +} + +func (p *ResApplyFriend) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResApplyFriend", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResApplyFriend)(nil) + +func (p *ResApplyFriend) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResAreaReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResAreaReward() *ResAreaReward { + return &ResAreaReward{} +} + +func (p *ResAreaReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResAreaReward) GetMsg() string { + return p.Msg +} + +func (p *ResAreaReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResAreaReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResAreaReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResAreaReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResAreaReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResAreaReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResAreaReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResAreaReward) Equals(other *ResAreaReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResAreaReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResAreaReward(%+v)", *p) +} + +func (p *ResAreaReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResAreaReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResAreaReward)(nil) + +func (p *ResAreaReward) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// +type ResAutoAddInviteFriend struct { + ResultCode int32 `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` +} + +func NewResAutoAddInviteFriend() *ResAutoAddInviteFriend { + return &ResAutoAddInviteFriend{} +} + +func (p *ResAutoAddInviteFriend) GetResultCode() int32 { + return p.ResultCode +} + +func (p *ResAutoAddInviteFriend) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResAutoAddInviteFriend) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ResultCode = v + } + return nil +} + +func (p *ResAutoAddInviteFriend) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResAutoAddInviteFriend"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResAutoAddInviteFriend) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *ResAutoAddInviteFriend) Equals(other *ResAutoAddInviteFriend) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + return true +} + +func (p *ResAutoAddInviteFriend) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResAutoAddInviteFriend(%+v)", *p) +} + +func (p *ResAutoAddInviteFriend) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResAutoAddInviteFriend", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResAutoAddInviteFriend)(nil) + +func (p *ResAutoAddInviteFriend) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// +type ResAutoAddInviteFriend2 struct { + ResultCode int32 `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` +} + +func NewResAutoAddInviteFriend2() *ResAutoAddInviteFriend2 { + return &ResAutoAddInviteFriend2{} +} + +func (p *ResAutoAddInviteFriend2) GetResultCode() int32 { + return p.ResultCode +} + +func (p *ResAutoAddInviteFriend2) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResAutoAddInviteFriend2) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ResultCode = v + } + return nil +} + +func (p *ResAutoAddInviteFriend2) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResAutoAddInviteFriend2"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResAutoAddInviteFriend2) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *ResAutoAddInviteFriend2) Equals(other *ResAutoAddInviteFriend2) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + return true +} + +func (p *ResAutoAddInviteFriend2) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResAutoAddInviteFriend2(%+v)", *p) +} + +func (p *ResAutoAddInviteFriend2) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResAutoAddInviteFriend2", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResAutoAddInviteFriend2)(nil) + +func (p *ResAutoAddInviteFriend2) Validate() error { + return nil +} + +// Attributes: +// - AvatarList +// - SetId +// +type ResAvatarInfo struct { + AvatarList []*AvatarInfo `thrift:"AvatarList,1" db:"AvatarList" json:"AvatarList"` + SetId int32 `thrift:"SetId,2" db:"SetId" json:"SetId"` +} + +func NewResAvatarInfo() *ResAvatarInfo { + return &ResAvatarInfo{} +} + +func (p *ResAvatarInfo) GetAvatarList() []*AvatarInfo { + return p.AvatarList +} + +func (p *ResAvatarInfo) GetSetId() int32 { + return p.SetId +} + +func (p *ResAvatarInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResAvatarInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*AvatarInfo, 0, size) + p.AvatarList = tSlice + for i := 0; i < size; i++ { + _elem159 := &AvatarInfo{} + if err := _elem159.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem159), err) + } + p.AvatarList = append(p.AvatarList, _elem159) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResAvatarInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.SetId = v + } + return nil +} + +func (p *ResAvatarInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResAvatarInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResAvatarInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AvatarList", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:AvatarList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.AvatarList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.AvatarList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:AvatarList: ", p), err) + } + return err +} + +func (p *ResAvatarInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "SetId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:SetId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.SetId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.SetId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:SetId: ", p), err) + } + return err +} + +func (p *ResAvatarInfo) Equals(other *ResAvatarInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.AvatarList) != len(other.AvatarList) { + return false + } + for i, _tgt := range p.AvatarList { + _src160 := other.AvatarList[i] + if !_tgt.Equals(_src160) { + return false + } + } + if p.SetId != other.SetId { + return false + } + return true +} + +func (p *ResAvatarInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResAvatarInfo(%+v)", *p) +} + +func (p *ResAvatarInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResAvatarInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResAvatarInfo)(nil) + +func (p *ResAvatarInfo) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - BindAccountId +// - ResultCode +// +type ResBindFacebookAccount struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + BindAccountId string `thrift:"BindAccountId,2" db:"BindAccountId" json:"BindAccountId"` + ResultCode int32 `thrift:"ResultCode,3" db:"ResultCode" json:"ResultCode"` +} + +func NewResBindFacebookAccount() *ResBindFacebookAccount { + return &ResBindFacebookAccount{} +} + +func (p *ResBindFacebookAccount) GetDwUin() int64 { + return p.DwUin +} + +func (p *ResBindFacebookAccount) GetBindAccountId() string { + return p.BindAccountId +} + +func (p *ResBindFacebookAccount) GetResultCode() int32 { + return p.ResultCode +} + +func (p *ResBindFacebookAccount) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResBindFacebookAccount) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ResBindFacebookAccount) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.BindAccountId = v + } + return nil +} + +func (p *ResBindFacebookAccount) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.ResultCode = v + } + return nil +} + +func (p *ResBindFacebookAccount) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResBindFacebookAccount"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResBindFacebookAccount) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ResBindFacebookAccount) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "BindAccountId", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:BindAccountId: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.BindAccountId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.BindAccountId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:BindAccountId: ", p), err) + } + return err +} + +func (p *ResBindFacebookAccount) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ResultCode: ", p), err) + } + return err +} + +func (p *ResBindFacebookAccount) Equals(other *ResBindFacebookAccount) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.BindAccountId != other.BindAccountId { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + return true +} + +func (p *ResBindFacebookAccount) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResBindFacebookAccount(%+v)", *p) +} + +func (p *ResBindFacebookAccount) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResBindFacebookAccount", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResBindFacebookAccount)(nil) + +func (p *ResBindFacebookAccount) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResBuyChessBagGrid struct { + Code RES_CODE `thrift:"code,1" db:"code" json:"code"` + Msg string `thrift:"msg,2" db:"msg" json:"msg"` +} + +func NewResBuyChessBagGrid() *ResBuyChessBagGrid { + return &ResBuyChessBagGrid{} +} + +func (p *ResBuyChessBagGrid) GetCode() RES_CODE { + return p.Code +} + +func (p *ResBuyChessBagGrid) GetMsg() string { + return p.Msg +} + +func (p *ResBuyChessBagGrid) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResBuyChessBagGrid) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResBuyChessBagGrid) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResBuyChessBagGrid) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResBuyChessBagGrid"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResBuyChessBagGrid) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err) + } + return err +} + +func (p *ResBuyChessBagGrid) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:msg: ", p), err) + } + return err +} + +func (p *ResBuyChessBagGrid) Equals(other *ResBuyChessBagGrid) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResBuyChessBagGrid) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResBuyChessBagGrid(%+v)", *p) +} + +func (p *ResBuyChessBagGrid) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResBuyChessBagGrid", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResBuyChessBagGrid)(nil) + +func (p *ResBuyChessBagGrid) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResBuyChessShop struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResBuyChessShop() *ResBuyChessShop { + return &ResBuyChessShop{} +} + +func (p *ResBuyChessShop) GetCode() RES_CODE { + return p.Code +} + +func (p *ResBuyChessShop) GetMsg() string { + return p.Msg +} + +func (p *ResBuyChessShop) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResBuyChessShop) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResBuyChessShop) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResBuyChessShop) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResBuyChessShop"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResBuyChessShop) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResBuyChessShop) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResBuyChessShop) Equals(other *ResBuyChessShop) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResBuyChessShop) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResBuyChessShop(%+v)", *p) +} + +func (p *ResBuyChessShop) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResBuyChessShop", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResBuyChessShop)(nil) + +func (p *ResBuyChessShop) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResBuyChessShop2 struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResBuyChessShop2() *ResBuyChessShop2 { + return &ResBuyChessShop2{} +} + +func (p *ResBuyChessShop2) GetCode() RES_CODE { + return p.Code +} + +func (p *ResBuyChessShop2) GetMsg() string { + return p.Msg +} + +func (p *ResBuyChessShop2) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResBuyChessShop2) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResBuyChessShop2) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResBuyChessShop2) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResBuyChessShop2"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResBuyChessShop2) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResBuyChessShop2) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResBuyChessShop2) Equals(other *ResBuyChessShop2) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResBuyChessShop2) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResBuyChessShop2(%+v)", *p) +} + +func (p *ResBuyChessShop2) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResBuyChessShop2", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResBuyChessShop2)(nil) + +func (p *ResBuyChessShop2) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResBuyEnergy struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResBuyEnergy() *ResBuyEnergy { + return &ResBuyEnergy{} +} + +func (p *ResBuyEnergy) GetCode() RES_CODE { + return p.Code +} + +func (p *ResBuyEnergy) GetMsg() string { + return p.Msg +} + +func (p *ResBuyEnergy) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResBuyEnergy) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResBuyEnergy) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResBuyEnergy) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResBuyEnergy"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResBuyEnergy) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResBuyEnergy) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResBuyEnergy) Equals(other *ResBuyEnergy) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResBuyEnergy) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResBuyEnergy(%+v)", *p) +} + +func (p *ResBuyEnergy) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResBuyEnergy", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResBuyEnergy)(nil) + +func (p *ResBuyEnergy) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResCardCollectReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResCardCollectReward() *ResCardCollectReward { + return &ResCardCollectReward{} +} + +func (p *ResCardCollectReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCardCollectReward) GetMsg() string { + return p.Msg +} + +func (p *ResCardCollectReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCardCollectReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCardCollectReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCardCollectReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCardCollectReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCardCollectReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCardCollectReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCardCollectReward) Equals(other *ResCardCollectReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResCardCollectReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCardCollectReward(%+v)", *p) +} + +func (p *ResCardCollectReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCardCollectReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCardCollectReward)(nil) + +func (p *ResCardCollectReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResCardExchange struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResCardExchange() *ResCardExchange { + return &ResCardExchange{} +} + +func (p *ResCardExchange) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCardExchange) GetMsg() string { + return p.Msg +} + +func (p *ResCardExchange) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCardExchange) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCardExchange) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCardExchange) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCardExchange"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCardExchange) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCardExchange) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCardExchange) Equals(other *ResCardExchange) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResCardExchange) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCardExchange(%+v)", *p) +} + +func (p *ResCardExchange) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCardExchange", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCardExchange)(nil) + +func (p *ResCardExchange) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResCardGive struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResCardGive() *ResCardGive { + return &ResCardGive{} +} + +func (p *ResCardGive) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCardGive) GetMsg() string { + return p.Msg +} + +func (p *ResCardGive) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCardGive) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCardGive) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCardGive) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCardGive"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCardGive) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCardGive) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCardGive) Equals(other *ResCardGive) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResCardGive) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCardGive(%+v)", *p) +} + +func (p *ResCardGive) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCardGive", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCardGive)(nil) + +func (p *ResCardGive) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - CardId +// +type ResCardHandbookReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + CardId int32 `thrift:"CardId,3" db:"CardId" json:"CardId"` +} + +func NewResCardHandbookReward() *ResCardHandbookReward { + return &ResCardHandbookReward{} +} + +func (p *ResCardHandbookReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCardHandbookReward) GetMsg() string { + return p.Msg +} + +func (p *ResCardHandbookReward) GetCardId() int32 { + return p.CardId +} + +func (p *ResCardHandbookReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCardHandbookReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCardHandbookReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCardHandbookReward) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.CardId = v + } + return nil +} + +func (p *ResCardHandbookReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCardHandbookReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCardHandbookReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCardHandbookReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCardHandbookReward) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CardId", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:CardId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.CardId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.CardId (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:CardId: ", p), err) + } + return err +} + +func (p *ResCardHandbookReward) Equals(other *ResCardHandbookReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.CardId != other.CardId { + return false + } + return true +} + +func (p *ResCardHandbookReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCardHandbookReward(%+v)", *p) +} + +func (p *ResCardHandbookReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCardHandbookReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCardHandbookReward)(nil) + +func (p *ResCardHandbookReward) Validate() error { + return nil +} + +// Attributes: +// - CardList +// - ExStar +// - Status +// - CollectId +// - ExTimes +// - ReqTimes +// - AllCard +// - EndTime +// - ReqUid +// - ExUid +// - GoldTimes +// - Round +// - Handbook +// - SeasonFirst +// +type ResCardInfo struct { + CardList []*Card `thrift:"CardList,1" db:"CardList" json:"CardList"` + ExStar int32 `thrift:"ExStar,2" db:"ExStar" json:"ExStar"` + Status int32 `thrift:"Status,3" db:"Status" json:"Status"` + CollectId []int32 `thrift:"CollectId,4" db:"CollectId" json:"CollectId"` + ExTimes int32 `thrift:"ExTimes,5" db:"ExTimes" json:"ExTimes"` + ReqTimes int32 `thrift:"ReqTimes,6" db:"ReqTimes" json:"ReqTimes"` + AllCard map[int32]int32 `thrift:"AllCard,7" db:"AllCard" json:"AllCard"` + EndTime int32 `thrift:"EndTime,8" db:"EndTime" json:"EndTime"` + ReqUid []int64 `thrift:"ReqUid,9" db:"ReqUid" json:"ReqUid"` + ExUid []int64 `thrift:"ExUid,10" db:"ExUid" json:"ExUid"` + GoldTimes int32 `thrift:"GoldTimes,11" db:"GoldTimes" json:"GoldTimes"` + Round int32 `thrift:"Round,12" db:"Round" json:"Round"` + Handbook map[int32]int32 `thrift:"Handbook,13" db:"Handbook" json:"Handbook"` + SeasonFirst bool `thrift:"SeasonFirst,14" db:"SeasonFirst" json:"SeasonFirst"` +} + +func NewResCardInfo() *ResCardInfo { + return &ResCardInfo{} +} + +func (p *ResCardInfo) GetCardList() []*Card { + return p.CardList +} + +func (p *ResCardInfo) GetExStar() int32 { + return p.ExStar +} + +func (p *ResCardInfo) GetStatus() int32 { + return p.Status +} + +func (p *ResCardInfo) GetCollectId() []int32 { + return p.CollectId +} + +func (p *ResCardInfo) GetExTimes() int32 { + return p.ExTimes +} + +func (p *ResCardInfo) GetReqTimes() int32 { + return p.ReqTimes +} + +func (p *ResCardInfo) GetAllCard() map[int32]int32 { + return p.AllCard +} + +func (p *ResCardInfo) GetEndTime() int32 { + return p.EndTime +} + +func (p *ResCardInfo) GetReqUid() []int64 { + return p.ReqUid +} + +func (p *ResCardInfo) GetExUid() []int64 { + return p.ExUid +} + +func (p *ResCardInfo) GetGoldTimes() int32 { + return p.GoldTimes +} + +func (p *ResCardInfo) GetRound() int32 { + return p.Round +} + +func (p *ResCardInfo) GetHandbook() map[int32]int32 { + return p.Handbook +} + +func (p *ResCardInfo) GetSeasonFirst() bool { + return p.SeasonFirst +} + +func (p *ResCardInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.MAP { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.I32 { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.LIST { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.LIST { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 11: + if fieldTypeId == thrift.I32 { + if err := p.ReadField11(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 12: + if fieldTypeId == thrift.I32 { + if err := p.ReadField12(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 13: + if fieldTypeId == thrift.MAP { + if err := p.ReadField13(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 14: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField14(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCardInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*Card, 0, size) + p.CardList = tSlice + for i := 0; i < size; i++ { + _elem161 := &Card{} + if err := _elem161.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem161), err) + } + p.CardList = append(p.CardList, _elem161) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResCardInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.ExStar = v + } + return nil +} + +func (p *ResCardInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ResCardInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.CollectId = tSlice + for i := 0; i < size; i++ { + var _elem162 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem162 = v + } + p.CollectId = append(p.CollectId, _elem162) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResCardInfo) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.ExTimes = v + } + return nil +} + +func (p *ResCardInfo) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.ReqTimes = v + } + return nil +} + +func (p *ResCardInfo) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.AllCard = tMap + for i := 0; i < size; i++ { + var _key163 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key163 = v + } + var _val164 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val164 = v + } + p.AllCard[_key163] = _val164 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResCardInfo) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *ResCardInfo) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int64, 0, size) + p.ReqUid = tSlice + for i := 0; i < size; i++ { + var _elem165 int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem165 = v + } + p.ReqUid = append(p.ReqUid, _elem165) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResCardInfo) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int64, 0, size) + p.ExUid = tSlice + for i := 0; i < size; i++ { + var _elem166 int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem166 = v + } + p.ExUid = append(p.ExUid, _elem166) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResCardInfo) ReadField11(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 11: ", err) + } else { + p.GoldTimes = v + } + return nil +} + +func (p *ResCardInfo) ReadField12(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 12: ", err) + } else { + p.Round = v + } + return nil +} + +func (p *ResCardInfo) ReadField13(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Handbook = tMap + for i := 0; i < size; i++ { + var _key167 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key167 = v + } + var _val168 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val168 = v + } + p.Handbook[_key167] = _val168 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResCardInfo) ReadField14(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 14: ", err) + } else { + p.SeasonFirst = v + } + return nil +} + +func (p *ResCardInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCardInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + if err := p.writeField11(ctx, oprot); err != nil { + return err + } + if err := p.writeField12(ctx, oprot); err != nil { + return err + } + if err := p.writeField13(ctx, oprot); err != nil { + return err + } + if err := p.writeField14(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCardInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CardList", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:CardList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.CardList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.CardList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:CardList: ", p), err) + } + return err +} + +func (p *ResCardInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ExStar", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:ExStar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ExStar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ExStar (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:ExStar: ", p), err) + } + return err +} + +func (p *ResCardInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Status: ", p), err) + } + return err +} + +func (p *ResCardInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CollectId", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:CollectId: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.CollectId)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.CollectId { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:CollectId: ", p), err) + } + return err +} + +func (p *ResCardInfo) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ExTimes", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:ExTimes: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ExTimes)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ExTimes (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:ExTimes: ", p), err) + } + return err +} + +func (p *ResCardInfo) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ReqTimes", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:ReqTimes: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ReqTimes)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ReqTimes (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:ReqTimes: ", p), err) + } + return err +} + +func (p *ResCardInfo) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AllCard", thrift.MAP, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:AllCard: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.AllCard)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.AllCard { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:AllCard: ", p), err) + } + return err +} + +func (p *ResCardInfo) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I32, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:EndTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:EndTime: ", p), err) + } + return err +} + +func (p *ResCardInfo) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ReqUid", thrift.LIST, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:ReqUid: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.ReqUid)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ReqUid { + if err := oprot.WriteI64(ctx, int64(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:ReqUid: ", p), err) + } + return err +} + +func (p *ResCardInfo) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ExUid", thrift.LIST, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:ExUid: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.ExUid)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ExUid { + if err := oprot.WriteI64(ctx, int64(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:ExUid: ", p), err) + } + return err +} + +func (p *ResCardInfo) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "GoldTimes", thrift.I32, 11); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:GoldTimes: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.GoldTimes)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.GoldTimes (11) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 11:GoldTimes: ", p), err) + } + return err +} + +func (p *ResCardInfo) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Round", thrift.I32, 12); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:Round: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Round)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Round (12) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 12:Round: ", p), err) + } + return err +} + +func (p *ResCardInfo) writeField13(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Handbook", thrift.MAP, 13); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 13:Handbook: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Handbook)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Handbook { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 13:Handbook: ", p), err) + } + return err +} + +func (p *ResCardInfo) writeField14(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "SeasonFirst", thrift.BOOL, 14); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 14:SeasonFirst: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.SeasonFirst)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.SeasonFirst (14) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 14:SeasonFirst: ", p), err) + } + return err +} + +func (p *ResCardInfo) Equals(other *ResCardInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.CardList) != len(other.CardList) { + return false + } + for i, _tgt := range p.CardList { + _src169 := other.CardList[i] + if !_tgt.Equals(_src169) { + return false + } + } + if p.ExStar != other.ExStar { + return false + } + if p.Status != other.Status { + return false + } + if len(p.CollectId) != len(other.CollectId) { + return false + } + for i, _tgt := range p.CollectId { + _src170 := other.CollectId[i] + if _tgt != _src170 { + return false + } + } + if p.ExTimes != other.ExTimes { + return false + } + if p.ReqTimes != other.ReqTimes { + return false + } + if len(p.AllCard) != len(other.AllCard) { + return false + } + for k, _tgt := range p.AllCard { + _src171 := other.AllCard[k] + if _tgt != _src171 { + return false + } + } + if p.EndTime != other.EndTime { + return false + } + if len(p.ReqUid) != len(other.ReqUid) { + return false + } + for i, _tgt := range p.ReqUid { + _src172 := other.ReqUid[i] + if _tgt != _src172 { + return false + } + } + if len(p.ExUid) != len(other.ExUid) { + return false + } + for i, _tgt := range p.ExUid { + _src173 := other.ExUid[i] + if _tgt != _src173 { + return false + } + } + if p.GoldTimes != other.GoldTimes { + return false + } + if p.Round != other.Round { + return false + } + if len(p.Handbook) != len(other.Handbook) { + return false + } + for k, _tgt := range p.Handbook { + _src174 := other.Handbook[k] + if _tgt != _src174 { + return false + } + } + if p.SeasonFirst != other.SeasonFirst { + return false + } + return true +} + +func (p *ResCardInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCardInfo(%+v)", *p) +} + +func (p *ResCardInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCardInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCardInfo)(nil) + +func (p *ResCardInfo) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResCardSeasonFirstReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResCardSeasonFirstReward() *ResCardSeasonFirstReward { + return &ResCardSeasonFirstReward{} +} + +func (p *ResCardSeasonFirstReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCardSeasonFirstReward) GetMsg() string { + return p.Msg +} + +func (p *ResCardSeasonFirstReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCardSeasonFirstReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCardSeasonFirstReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCardSeasonFirstReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCardSeasonFirstReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCardSeasonFirstReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCardSeasonFirstReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCardSeasonFirstReward) Equals(other *ResCardSeasonFirstReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResCardSeasonFirstReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCardSeasonFirstReward(%+v)", *p) +} + +func (p *ResCardSeasonFirstReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCardSeasonFirstReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCardSeasonFirstReward)(nil) + +func (p *ResCardSeasonFirstReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResCardSend struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResCardSend() *ResCardSend { + return &ResCardSend{} +} + +func (p *ResCardSend) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCardSend) GetMsg() string { + return p.Msg +} + +func (p *ResCardSend) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCardSend) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCardSend) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCardSend) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCardSend"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCardSend) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCardSend) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCardSend) Equals(other *ResCardSend) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResCardSend) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCardSend(%+v)", *p) +} + +func (p *ResCardSend) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCardSend", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCardSend)(nil) + +func (p *ResCardSend) Validate() error { + return nil +} + +// Attributes: +// - Id +// - StartTime +// - EndTime +// - Score +// - Reward +// - Cfg +// +type ResCatReturnGift struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + StartTime int64 `thrift:"StartTime,2" db:"StartTime" json:"StartTime"` + EndTime int64 `thrift:"EndTime,3" db:"EndTime" json:"EndTime"` + Score int32 `thrift:"Score,4" db:"Score" json:"Score"` + Reward int32 `thrift:"Reward,5" db:"Reward" json:"Reward"` + Cfg *CatReturnGiftCfg `thrift:"Cfg,6" db:"Cfg" json:"Cfg"` +} + +func NewResCatReturnGift() *ResCatReturnGift { + return &ResCatReturnGift{} +} + +func (p *ResCatReturnGift) GetId() int32 { + return p.Id +} + +func (p *ResCatReturnGift) GetStartTime() int64 { + return p.StartTime +} + +func (p *ResCatReturnGift) GetEndTime() int64 { + return p.EndTime +} + +func (p *ResCatReturnGift) GetScore() int32 { + return p.Score +} + +func (p *ResCatReturnGift) GetReward() int32 { + return p.Reward +} + +var ResCatReturnGift_Cfg_DEFAULT *CatReturnGiftCfg + +func (p *ResCatReturnGift) GetCfg() *CatReturnGiftCfg { + if !p.IsSetCfg() { + return ResCatReturnGift_Cfg_DEFAULT + } + return p.Cfg +} + +func (p *ResCatReturnGift) IsSetCfg() bool { + return p.Cfg != nil +} + +func (p *ResCatReturnGift) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCatReturnGift) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResCatReturnGift) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.StartTime = v + } + return nil +} + +func (p *ResCatReturnGift) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *ResCatReturnGift) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Score = v + } + return nil +} + +func (p *ResCatReturnGift) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Reward = v + } + return nil +} + +func (p *ResCatReturnGift) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + p.Cfg = &CatReturnGiftCfg{} + if err := p.Cfg.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Cfg), err) + } + return nil +} + +func (p *ResCatReturnGift) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCatReturnGift"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCatReturnGift) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ResCatReturnGift) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "StartTime", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:StartTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.StartTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.StartTime (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:StartTime: ", p), err) + } + return err +} + +func (p *ResCatReturnGift) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:EndTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:EndTime: ", p), err) + } + return err +} + +func (p *ResCatReturnGift) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Score", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Score: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Score)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Score (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Score: ", p), err) + } + return err +} + +func (p *ResCatReturnGift) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Reward", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Reward: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Reward)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Reward (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Reward: ", p), err) + } + return err +} + +func (p *ResCatReturnGift) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Cfg", thrift.STRUCT, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Cfg: ", p), err) + } + if err := p.Cfg.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Cfg), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Cfg: ", p), err) + } + return err +} + +func (p *ResCatReturnGift) Equals(other *ResCatReturnGift) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.StartTime != other.StartTime { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.Score != other.Score { + return false + } + if p.Reward != other.Reward { + return false + } + if !p.Cfg.Equals(other.Cfg) { + return false + } + return true +} + +func (p *ResCatReturnGift) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCatReturnGift(%+v)", *p) +} + +func (p *ResCatReturnGift) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCatReturnGift", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCatReturnGift)(nil) + +func (p *ResCatReturnGift) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResCatReturnGiftReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResCatReturnGiftReward() *ResCatReturnGiftReward { + return &ResCatReturnGiftReward{} +} + +func (p *ResCatReturnGiftReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCatReturnGiftReward) GetMsg() string { + return p.Msg +} + +func (p *ResCatReturnGiftReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCatReturnGiftReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCatReturnGiftReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCatReturnGiftReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCatReturnGiftReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCatReturnGiftReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCatReturnGiftReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCatReturnGiftReward) Equals(other *ResCatReturnGiftReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResCatReturnGiftReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCatReturnGiftReward(%+v)", *p) +} + +func (p *ResCatReturnGiftReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCatReturnGiftReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCatReturnGiftReward)(nil) + +func (p *ResCatReturnGiftReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResCatReturnGiftRewardGift struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResCatReturnGiftRewardGift() *ResCatReturnGiftRewardGift { + return &ResCatReturnGiftRewardGift{} +} + +func (p *ResCatReturnGiftRewardGift) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCatReturnGiftRewardGift) GetMsg() string { + return p.Msg +} + +func (p *ResCatReturnGiftRewardGift) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCatReturnGiftRewardGift) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCatReturnGiftRewardGift) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCatReturnGiftRewardGift) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCatReturnGiftRewardGift"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCatReturnGiftRewardGift) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCatReturnGiftRewardGift) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCatReturnGiftRewardGift) Equals(other *ResCatReturnGiftRewardGift) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResCatReturnGiftRewardGift) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCatReturnGiftRewardGift(%+v)", *p) +} + +func (p *ResCatReturnGiftRewardGift) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCatReturnGiftRewardGift", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCatReturnGiftRewardGift)(nil) + +func (p *ResCatReturnGiftRewardGift) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResCatReturnGiftScore struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResCatReturnGiftScore() *ResCatReturnGiftScore { + return &ResCatReturnGiftScore{} +} + +func (p *ResCatReturnGiftScore) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCatReturnGiftScore) GetMsg() string { + return p.Msg +} + +func (p *ResCatReturnGiftScore) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCatReturnGiftScore) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCatReturnGiftScore) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCatReturnGiftScore) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCatReturnGiftScore"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCatReturnGiftScore) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCatReturnGiftScore) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCatReturnGiftScore) Equals(other *ResCatReturnGiftScore) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResCatReturnGiftScore) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCatReturnGiftScore(%+v)", *p) +} + +func (p *ResCatReturnGiftScore) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCatReturnGiftScore", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCatReturnGiftScore)(nil) + +func (p *ResCatReturnGiftScore) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - IsClose +// +type ResCatTrickReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + IsClose bool `thrift:"IsClose,3" db:"IsClose" json:"IsClose"` +} + +func NewResCatTrickReward() *ResCatTrickReward { + return &ResCatTrickReward{} +} + +func (p *ResCatTrickReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCatTrickReward) GetMsg() string { + return p.Msg +} + +func (p *ResCatTrickReward) GetIsClose() bool { + return p.IsClose +} + +func (p *ResCatTrickReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCatTrickReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCatTrickReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCatTrickReward) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.IsClose = v + } + return nil +} + +func (p *ResCatTrickReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCatTrickReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCatTrickReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCatTrickReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCatTrickReward) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "IsClose", thrift.BOOL, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:IsClose: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.IsClose)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.IsClose (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:IsClose: ", p), err) + } + return err +} + +func (p *ResCatTrickReward) Equals(other *ResCatTrickReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.IsClose != other.IsClose { + return false + } + return true +} + +func (p *ResCatTrickReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCatTrickReward(%+v)", *p) +} + +func (p *ResCatTrickReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCatTrickReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCatTrickReward)(nil) + +func (p *ResCatTrickReward) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Status +// - EndTime +// - Template +// - GameList +// - Multiply +// - FriendList +// +type ResCatnip struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Status int32 `thrift:"Status,2" db:"Status" json:"Status"` + EndTime int32 `thrift:"EndTime,3" db:"EndTime" json:"EndTime"` + Template int32 `thrift:"Template,4" db:"Template" json:"Template"` + GameList []*CatnipGame `thrift:"GameList,5" db:"GameList" json:"GameList"` + Multiply int32 `thrift:"Multiply,6" db:"Multiply" json:"Multiply"` + FriendList []*CatnipInvite `thrift:"FriendList,7" db:"FriendList" json:"FriendList"` +} + +func NewResCatnip() *ResCatnip { + return &ResCatnip{} +} + +func (p *ResCatnip) GetId() int32 { + return p.Id +} + +func (p *ResCatnip) GetStatus() int32 { + return p.Status +} + +func (p *ResCatnip) GetEndTime() int32 { + return p.EndTime +} + +func (p *ResCatnip) GetTemplate() int32 { + return p.Template +} + +func (p *ResCatnip) GetGameList() []*CatnipGame { + return p.GameList +} + +func (p *ResCatnip) GetMultiply() int32 { + return p.Multiply +} + +func (p *ResCatnip) GetFriendList() []*CatnipInvite { + return p.FriendList +} + +func (p *ResCatnip) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.LIST { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.LIST { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCatnip) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResCatnip) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ResCatnip) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *ResCatnip) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Template = v + } + return nil +} + +func (p *ResCatnip) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*CatnipGame, 0, size) + p.GameList = tSlice + for i := 0; i < size; i++ { + _elem175 := &CatnipGame{} + if err := _elem175.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem175), err) + } + p.GameList = append(p.GameList, _elem175) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResCatnip) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.Multiply = v + } + return nil +} + +func (p *ResCatnip) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*CatnipInvite, 0, size) + p.FriendList = tSlice + for i := 0; i < size; i++ { + _elem176 := &CatnipInvite{} + if err := _elem176.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem176), err) + } + p.FriendList = append(p.FriendList, _elem176) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResCatnip) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCatnip"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCatnip) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ResCatnip) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Status: ", p), err) + } + return err +} + +func (p *ResCatnip) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:EndTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:EndTime: ", p), err) + } + return err +} + +func (p *ResCatnip) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Template", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Template: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Template)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Template (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Template: ", p), err) + } + return err +} + +func (p *ResCatnip) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "GameList", thrift.LIST, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:GameList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.GameList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.GameList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:GameList: ", p), err) + } + return err +} + +func (p *ResCatnip) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Multiply", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Multiply: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Multiply)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Multiply (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Multiply: ", p), err) + } + return err +} + +func (p *ResCatnip) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FriendList", thrift.LIST, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:FriendList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.FriendList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.FriendList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:FriendList: ", p), err) + } + return err +} + +func (p *ResCatnip) Equals(other *ResCatnip) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Status != other.Status { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.Template != other.Template { + return false + } + if len(p.GameList) != len(other.GameList) { + return false + } + for i, _tgt := range p.GameList { + _src177 := other.GameList[i] + if !_tgt.Equals(_src177) { + return false + } + } + if p.Multiply != other.Multiply { + return false + } + if len(p.FriendList) != len(other.FriendList) { + return false + } + for i, _tgt := range p.FriendList { + _src178 := other.FriendList[i] + if !_tgt.Equals(_src178) { + return false + } + } + return true +} + +func (p *ResCatnip) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCatnip(%+v)", *p) +} + +func (p *ResCatnip) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCatnip", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCatnip)(nil) + +func (p *ResCatnip) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Uid +// +type ResCatnipAgree struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Uid int64 `thrift:"Uid,3" db:"Uid" json:"Uid"` +} + +func NewResCatnipAgree() *ResCatnipAgree { + return &ResCatnipAgree{} +} + +func (p *ResCatnipAgree) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCatnipAgree) GetMsg() string { + return p.Msg +} + +func (p *ResCatnipAgree) GetUid() int64 { + return p.Uid +} + +func (p *ResCatnipAgree) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCatnipAgree) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCatnipAgree) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCatnipAgree) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ResCatnipAgree) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCatnipAgree"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCatnipAgree) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCatnipAgree) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCatnipAgree) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Uid: ", p), err) + } + return err +} + +func (p *ResCatnipAgree) Equals(other *ResCatnipAgree) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ResCatnipAgree) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCatnipAgree(%+v)", *p) +} + +func (p *ResCatnipAgree) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCatnipAgree", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCatnipAgree)(nil) + +func (p *ResCatnipAgree) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - EmojiId +// - Id +// +type ResCatnipEmoji struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + EmojiId int32 `thrift:"EmojiId,3" db:"EmojiId" json:"EmojiId"` + Id int32 `thrift:"Id,4" db:"Id" json:"Id"` +} + +func NewResCatnipEmoji() *ResCatnipEmoji { + return &ResCatnipEmoji{} +} + +func (p *ResCatnipEmoji) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCatnipEmoji) GetMsg() string { + return p.Msg +} + +func (p *ResCatnipEmoji) GetEmojiId() int32 { + return p.EmojiId +} + +func (p *ResCatnipEmoji) GetId() int32 { + return p.Id +} + +func (p *ResCatnipEmoji) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCatnipEmoji) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCatnipEmoji) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCatnipEmoji) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.EmojiId = v + } + return nil +} + +func (p *ResCatnipEmoji) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResCatnipEmoji) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCatnipEmoji"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCatnipEmoji) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCatnipEmoji) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCatnipEmoji) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EmojiId", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:EmojiId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EmojiId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EmojiId (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:EmojiId: ", p), err) + } + return err +} + +func (p *ResCatnipEmoji) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Id: ", p), err) + } + return err +} + +func (p *ResCatnipEmoji) Equals(other *ResCatnipEmoji) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.EmojiId != other.EmojiId { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResCatnipEmoji) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCatnipEmoji(%+v)", *p) +} + +func (p *ResCatnipEmoji) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCatnipEmoji", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCatnipEmoji)(nil) + +func (p *ResCatnipEmoji) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResCatnipGrandReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResCatnipGrandReward() *ResCatnipGrandReward { + return &ResCatnipGrandReward{} +} + +func (p *ResCatnipGrandReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCatnipGrandReward) GetMsg() string { + return p.Msg +} + +func (p *ResCatnipGrandReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCatnipGrandReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCatnipGrandReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCatnipGrandReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCatnipGrandReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCatnipGrandReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCatnipGrandReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCatnipGrandReward) Equals(other *ResCatnipGrandReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResCatnipGrandReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCatnipGrandReward(%+v)", *p) +} + +func (p *ResCatnipGrandReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCatnipGrandReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCatnipGrandReward)(nil) + +func (p *ResCatnipGrandReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Uid +// +type ResCatnipInvite struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Uid int64 `thrift:"Uid,3" db:"Uid" json:"Uid"` +} + +func NewResCatnipInvite() *ResCatnipInvite { + return &ResCatnipInvite{} +} + +func (p *ResCatnipInvite) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCatnipInvite) GetMsg() string { + return p.Msg +} + +func (p *ResCatnipInvite) GetUid() int64 { + return p.Uid +} + +func (p *ResCatnipInvite) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCatnipInvite) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCatnipInvite) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCatnipInvite) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ResCatnipInvite) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCatnipInvite"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCatnipInvite) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCatnipInvite) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCatnipInvite) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Uid: ", p), err) + } + return err +} + +func (p *ResCatnipInvite) Equals(other *ResCatnipInvite) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ResCatnipInvite) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCatnipInvite(%+v)", *p) +} + +func (p *ResCatnipInvite) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCatnipInvite", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCatnipInvite)(nil) + +func (p *ResCatnipInvite) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Multiply +// +type ResCatnipMultiply struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Multiply int32 `thrift:"Multiply,3" db:"Multiply" json:"Multiply"` +} + +func NewResCatnipMultiply() *ResCatnipMultiply { + return &ResCatnipMultiply{} +} + +func (p *ResCatnipMultiply) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCatnipMultiply) GetMsg() string { + return p.Msg +} + +func (p *ResCatnipMultiply) GetMultiply() int32 { + return p.Multiply +} + +func (p *ResCatnipMultiply) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCatnipMultiply) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCatnipMultiply) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCatnipMultiply) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Multiply = v + } + return nil +} + +func (p *ResCatnipMultiply) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCatnipMultiply"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCatnipMultiply) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCatnipMultiply) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCatnipMultiply) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Multiply", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Multiply: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Multiply)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Multiply (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Multiply: ", p), err) + } + return err +} + +func (p *ResCatnipMultiply) Equals(other *ResCatnipMultiply) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Multiply != other.Multiply { + return false + } + return true +} + +func (p *ResCatnipMultiply) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCatnipMultiply(%+v)", *p) +} + +func (p *ResCatnipMultiply) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCatnipMultiply", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCatnipMultiply)(nil) + +func (p *ResCatnipMultiply) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResCatnipPlay struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id int32 `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResCatnipPlay() *ResCatnipPlay { + return &ResCatnipPlay{} +} + +func (p *ResCatnipPlay) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCatnipPlay) GetMsg() string { + return p.Msg +} + +func (p *ResCatnipPlay) GetId() int32 { + return p.Id +} + +func (p *ResCatnipPlay) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCatnipPlay) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCatnipPlay) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCatnipPlay) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResCatnipPlay) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCatnipPlay"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCatnipPlay) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCatnipPlay) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCatnipPlay) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResCatnipPlay) Equals(other *ResCatnipPlay) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResCatnipPlay) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCatnipPlay(%+v)", *p) +} + +func (p *ResCatnipPlay) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCatnipPlay", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCatnipPlay)(nil) + +func (p *ResCatnipPlay) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Uid +// +type ResCatnipRefuse struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Uid int64 `thrift:"Uid,3" db:"Uid" json:"Uid"` +} + +func NewResCatnipRefuse() *ResCatnipRefuse { + return &ResCatnipRefuse{} +} + +func (p *ResCatnipRefuse) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCatnipRefuse) GetMsg() string { + return p.Msg +} + +func (p *ResCatnipRefuse) GetUid() int64 { + return p.Uid +} + +func (p *ResCatnipRefuse) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCatnipRefuse) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCatnipRefuse) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCatnipRefuse) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ResCatnipRefuse) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCatnipRefuse"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCatnipRefuse) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCatnipRefuse) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCatnipRefuse) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Uid: ", p), err) + } + return err +} + +func (p *ResCatnipRefuse) Equals(other *ResCatnipRefuse) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ResCatnipRefuse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCatnipRefuse(%+v)", *p) +} + +func (p *ResCatnipRefuse) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCatnipRefuse", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCatnipRefuse)(nil) + +func (p *ResCatnipRefuse) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResCatnipReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResCatnipReward() *ResCatnipReward { + return &ResCatnipReward{} +} + +func (p *ResCatnipReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCatnipReward) GetMsg() string { + return p.Msg +} + +func (p *ResCatnipReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCatnipReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCatnipReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCatnipReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCatnipReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCatnipReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCatnipReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCatnipReward) Equals(other *ResCatnipReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResCatnipReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCatnipReward(%+v)", *p) +} + +func (p *ResCatnipReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCatnipReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCatnipReward)(nil) + +func (p *ResCatnipReward) Validate() error { + return nil +} + +// Attributes: +// - Score +// - Reward +// - EndTime +// - Period +// - Rank +// - RankReward +// - Status +// - TodayActivityId +// - YesterdayActivityId +// - Cfg +// +type ResChampship struct { + Score int32 `thrift:"Score,1" db:"Score" json:"Score"` + Reward int32 `thrift:"Reward,2" db:"Reward" json:"Reward"` + EndTime int32 `thrift:"EndTime,3" db:"EndTime" json:"EndTime"` + Period int32 `thrift:"Period,4" db:"Period" json:"Period"` + Rank int32 `thrift:"Rank,5" db:"Rank" json:"Rank"` + RankReward int32 `thrift:"RankReward,6" db:"RankReward" json:"RankReward"` + Status int32 `thrift:"Status,7" db:"Status" json:"Status"` + TodayActivityId int32 `thrift:"TodayActivityId,8" db:"TodayActivityId" json:"TodayActivityId"` + YesterdayActivityId int32 `thrift:"YesterdayActivityId,9" db:"YesterdayActivityId" json:"YesterdayActivityId"` + Cfg *ChampionshipCfg `thrift:"Cfg,10" db:"Cfg" json:"Cfg"` +} + +func NewResChampship() *ResChampship { + return &ResChampship{} +} + +func (p *ResChampship) GetScore() int32 { + return p.Score +} + +func (p *ResChampship) GetReward() int32 { + return p.Reward +} + +func (p *ResChampship) GetEndTime() int32 { + return p.EndTime +} + +func (p *ResChampship) GetPeriod() int32 { + return p.Period +} + +func (p *ResChampship) GetRank() int32 { + return p.Rank +} + +func (p *ResChampship) GetRankReward() int32 { + return p.RankReward +} + +func (p *ResChampship) GetStatus() int32 { + return p.Status +} + +func (p *ResChampship) GetTodayActivityId() int32 { + return p.TodayActivityId +} + +func (p *ResChampship) GetYesterdayActivityId() int32 { + return p.YesterdayActivityId +} + +var ResChampship_Cfg_DEFAULT *ChampionshipCfg + +func (p *ResChampship) GetCfg() *ChampionshipCfg { + if !p.IsSetCfg() { + return ResChampship_Cfg_DEFAULT + } + return p.Cfg +} + +func (p *ResChampship) IsSetCfg() bool { + return p.Cfg != nil +} + +func (p *ResChampship) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.I32 { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.I32 { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.I32 { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResChampship) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Score = v + } + return nil +} + +func (p *ResChampship) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Reward = v + } + return nil +} + +func (p *ResChampship) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *ResChampship) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Period = v + } + return nil +} + +func (p *ResChampship) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Rank = v + } + return nil +} + +func (p *ResChampship) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.RankReward = v + } + return nil +} + +func (p *ResChampship) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ResChampship) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.TodayActivityId = v + } + return nil +} + +func (p *ResChampship) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 9: ", err) + } else { + p.YesterdayActivityId = v + } + return nil +} + +func (p *ResChampship) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + p.Cfg = &ChampionshipCfg{} + if err := p.Cfg.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Cfg), err) + } + return nil +} + +func (p *ResChampship) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResChampship"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResChampship) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Score", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Score: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Score)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Score (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Score: ", p), err) + } + return err +} + +func (p *ResChampship) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Reward", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Reward: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Reward)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Reward (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Reward: ", p), err) + } + return err +} + +func (p *ResChampship) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:EndTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:EndTime: ", p), err) + } + return err +} + +func (p *ResChampship) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Period", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Period: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Period)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Period (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Period: ", p), err) + } + return err +} + +func (p *ResChampship) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Rank", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Rank: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Rank)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Rank (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Rank: ", p), err) + } + return err +} + +func (p *ResChampship) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "RankReward", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:RankReward: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.RankReward)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.RankReward (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:RankReward: ", p), err) + } + return err +} + +func (p *ResChampship) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:Status: ", p), err) + } + return err +} + +func (p *ResChampship) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "TodayActivityId", thrift.I32, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:TodayActivityId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.TodayActivityId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.TodayActivityId (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:TodayActivityId: ", p), err) + } + return err +} + +func (p *ResChampship) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "YesterdayActivityId", thrift.I32, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:YesterdayActivityId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.YesterdayActivityId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.YesterdayActivityId (9) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:YesterdayActivityId: ", p), err) + } + return err +} + +func (p *ResChampship) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Cfg", thrift.STRUCT, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:Cfg: ", p), err) + } + if err := p.Cfg.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Cfg), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:Cfg: ", p), err) + } + return err +} + +func (p *ResChampship) Equals(other *ResChampship) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Score != other.Score { + return false + } + if p.Reward != other.Reward { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.Period != other.Period { + return false + } + if p.Rank != other.Rank { + return false + } + if p.RankReward != other.RankReward { + return false + } + if p.Status != other.Status { + return false + } + if p.TodayActivityId != other.TodayActivityId { + return false + } + if p.YesterdayActivityId != other.YesterdayActivityId { + return false + } + if !p.Cfg.Equals(other.Cfg) { + return false + } + return true +} + +func (p *ResChampship) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResChampship(%+v)", *p) +} + +func (p *ResChampship) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResChampship", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResChampship)(nil) + +func (p *ResChampship) Validate() error { + return nil +} + +// Attributes: +// - RankList +// - MyRank +// - MyScore +// +type ResChampshipPreRank struct { + RankList map[int32]*ResPlayerRank `thrift:"RankList,1" db:"RankList" json:"RankList"` + MyRank int32 `thrift:"MyRank,2" db:"MyRank" json:"MyRank"` + MyScore float64 `thrift:"MyScore,3" db:"MyScore" json:"MyScore"` +} + +func NewResChampshipPreRank() *ResChampshipPreRank { + return &ResChampshipPreRank{} +} + +func (p *ResChampshipPreRank) GetRankList() map[int32]*ResPlayerRank { + return p.RankList +} + +func (p *ResChampshipPreRank) GetMyRank() int32 { + return p.MyRank +} + +func (p *ResChampshipPreRank) GetMyScore() float64 { + return p.MyScore +} + +func (p *ResChampshipPreRank) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.DOUBLE { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResChampshipPreRank) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*ResPlayerRank, size) + p.RankList = tMap + for i := 0; i < size; i++ { + var _key179 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key179 = v + } + _val180 := &ResPlayerRank{} + if err := _val180.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val180), err) + } + p.RankList[_key179] = _val180 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResChampshipPreRank) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.MyRank = v + } + return nil +} + +func (p *ResChampshipPreRank) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadDouble(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.MyScore = v + } + return nil +} + +func (p *ResChampshipPreRank) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResChampshipPreRank"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResChampshipPreRank) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "RankList", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:RankList: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.RankList)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.RankList { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:RankList: ", p), err) + } + return err +} + +func (p *ResChampshipPreRank) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MyRank", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MyRank: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.MyRank)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.MyRank (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MyRank: ", p), err) + } + return err +} + +func (p *ResChampshipPreRank) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MyScore", thrift.DOUBLE, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:MyScore: ", p), err) + } + if err := oprot.WriteDouble(ctx, float64(p.MyScore)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.MyScore (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:MyScore: ", p), err) + } + return err +} + +func (p *ResChampshipPreRank) Equals(other *ResChampshipPreRank) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.RankList) != len(other.RankList) { + return false + } + for k, _tgt := range p.RankList { + _src181 := other.RankList[k] + if !_tgt.Equals(_src181) { + return false + } + } + if p.MyRank != other.MyRank { + return false + } + if p.MyScore != other.MyScore { + return false + } + return true +} + +func (p *ResChampshipPreRank) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResChampshipPreRank(%+v)", *p) +} + +func (p *ResChampshipPreRank) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResChampshipPreRank", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResChampshipPreRank)(nil) + +func (p *ResChampshipPreRank) Validate() error { + return nil +} + +// Attributes: +// - RankList +// - MyRank +// - MyScore +// +type ResChampshipRank struct { + RankList map[int32]*ResPlayerRank `thrift:"RankList,1" db:"RankList" json:"RankList"` + MyRank int32 `thrift:"MyRank,2" db:"MyRank" json:"MyRank"` + MyScore float64 `thrift:"MyScore,3" db:"MyScore" json:"MyScore"` +} + +func NewResChampshipRank() *ResChampshipRank { + return &ResChampshipRank{} +} + +func (p *ResChampshipRank) GetRankList() map[int32]*ResPlayerRank { + return p.RankList +} + +func (p *ResChampshipRank) GetMyRank() int32 { + return p.MyRank +} + +func (p *ResChampshipRank) GetMyScore() float64 { + return p.MyScore +} + +func (p *ResChampshipRank) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.DOUBLE { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResChampshipRank) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*ResPlayerRank, size) + p.RankList = tMap + for i := 0; i < size; i++ { + var _key182 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key182 = v + } + _val183 := &ResPlayerRank{} + if err := _val183.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val183), err) + } + p.RankList[_key182] = _val183 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResChampshipRank) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.MyRank = v + } + return nil +} + +func (p *ResChampshipRank) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadDouble(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.MyScore = v + } + return nil +} + +func (p *ResChampshipRank) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResChampshipRank"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResChampshipRank) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "RankList", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:RankList: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.RankList)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.RankList { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:RankList: ", p), err) + } + return err +} + +func (p *ResChampshipRank) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MyRank", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MyRank: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.MyRank)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.MyRank (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MyRank: ", p), err) + } + return err +} + +func (p *ResChampshipRank) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MyScore", thrift.DOUBLE, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:MyScore: ", p), err) + } + if err := oprot.WriteDouble(ctx, float64(p.MyScore)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.MyScore (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:MyScore: ", p), err) + } + return err +} + +func (p *ResChampshipRank) Equals(other *ResChampshipRank) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.RankList) != len(other.RankList) { + return false + } + for k, _tgt := range p.RankList { + _src184 := other.RankList[k] + if !_tgt.Equals(_src184) { + return false + } + } + if p.MyRank != other.MyRank { + return false + } + if p.MyScore != other.MyScore { + return false + } + return true +} + +func (p *ResChampshipRank) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResChampshipRank(%+v)", *p) +} + +func (p *ResChampshipRank) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResChampshipRank", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResChampshipRank)(nil) + +func (p *ResChampshipRank) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResChampshipRankReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResChampshipRankReward() *ResChampshipRankReward { + return &ResChampshipRankReward{} +} + +func (p *ResChampshipRankReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResChampshipRankReward) GetMsg() string { + return p.Msg +} + +func (p *ResChampshipRankReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResChampshipRankReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResChampshipRankReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResChampshipRankReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResChampshipRankReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResChampshipRankReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResChampshipRankReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResChampshipRankReward) Equals(other *ResChampshipRankReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResChampshipRankReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResChampshipRankReward(%+v)", *p) +} + +func (p *ResChampshipRankReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResChampshipRankReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResChampshipRankReward)(nil) + +func (p *ResChampshipRankReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResChampshipReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResChampshipReward() *ResChampshipReward { + return &ResChampshipReward{} +} + +func (p *ResChampshipReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResChampshipReward) GetMsg() string { + return p.Msg +} + +func (p *ResChampshipReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResChampshipReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResChampshipReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResChampshipReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResChampshipReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResChampshipReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResChampshipReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResChampshipReward) Equals(other *ResChampshipReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResChampshipReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResChampshipReward(%+v)", *p) +} + +func (p *ResChampshipReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResChampshipReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResChampshipReward)(nil) + +func (p *ResChampshipReward) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// +type ResChangePassword struct { + ResultCode int32 `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` +} + +func NewResChangePassword() *ResChangePassword { + return &ResChangePassword{} +} + +func (p *ResChangePassword) GetResultCode() int32 { + return p.ResultCode +} + +func (p *ResChangePassword) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResChangePassword) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ResultCode = v + } + return nil +} + +func (p *ResChangePassword) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResChangePassword"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResChangePassword) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *ResChangePassword) Equals(other *ResChangePassword) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + return true +} + +func (p *ResChangePassword) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResChangePassword(%+v)", *p) +} + +func (p *ResChangePassword) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResChangePassword", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResChangePassword)(nil) + +func (p *ResChangePassword) Validate() error { + return nil +} + +// Attributes: +// - Charge +// - Total +// - First +// - SpecialShop +// - FreeShop +// - ChessShop +// - Gift +// - Ad +// - Wish +// - SpecialCharge +// - SpecialChargeWeek +// - TodayCharge +// - MonthCharge +// - AdEndTime +// - WeeklyDiscount +// - PetWorkRemainTime +// - WeeklyEndTime +// +type ResCharge struct { + Charge float64 `thrift:"Charge,1" db:"Charge" json:"Charge"` + Total int32 `thrift:"Total,2" db:"Total" json:"Total"` + First []int32 `thrift:"First,3" db:"First" json:"First"` + SpecialShop map[int32]*ResSpecialShop `thrift:"SpecialShop,4" db:"SpecialShop" json:"SpecialShop"` + FreeShop int32 `thrift:"FreeShop,5" db:"FreeShop" json:"FreeShop"` + ChessShop map[int32]*ResChessShop `thrift:"ChessShop,6" db:"ChessShop" json:"ChessShop"` + Gift map[int32]int32 `thrift:"Gift,7" db:"Gift" json:"Gift"` + Ad bool `thrift:"Ad,8" db:"Ad" json:"Ad"` + Wish *WishList `thrift:"Wish,9" db:"Wish" json:"Wish"` + SpecialCharge float64 `thrift:"SpecialCharge,10" db:"SpecialCharge" json:"SpecialCharge"` + SpecialChargeWeek int32 `thrift:"SpecialChargeWeek,11" db:"SpecialChargeWeek" json:"SpecialChargeWeek"` + TodayCharge float64 `thrift:"TodayCharge,12" db:"TodayCharge" json:"TodayCharge"` + MonthCharge float64 `thrift:"MonthCharge,13" db:"MonthCharge" json:"MonthCharge"` + AdEndTime int64 `thrift:"AdEndTime,14" db:"AdEndTime" json:"AdEndTime"` + WeeklyDiscount map[int32]*WeeklyDiscountInfo `thrift:"WeeklyDiscount,15" db:"WeeklyDiscount" json:"WeeklyDiscount"` + PetWorkRemainTime int64 `thrift:"PetWorkRemainTime,16" db:"PetWorkRemainTime" json:"PetWorkRemainTime"` + WeeklyEndTime int64 `thrift:"WeeklyEndTime,17" db:"WeeklyEndTime" json:"WeeklyEndTime"` +} + +func NewResCharge() *ResCharge { + return &ResCharge{} +} + +func (p *ResCharge) GetCharge() float64 { + return p.Charge +} + +func (p *ResCharge) GetTotal() int32 { + return p.Total +} + +func (p *ResCharge) GetFirst() []int32 { + return p.First +} + +func (p *ResCharge) GetSpecialShop() map[int32]*ResSpecialShop { + return p.SpecialShop +} + +func (p *ResCharge) GetFreeShop() int32 { + return p.FreeShop +} + +func (p *ResCharge) GetChessShop() map[int32]*ResChessShop { + return p.ChessShop +} + +func (p *ResCharge) GetGift() map[int32]int32 { + return p.Gift +} + +func (p *ResCharge) GetAd() bool { + return p.Ad +} + +var ResCharge_Wish_DEFAULT *WishList + +func (p *ResCharge) GetWish() *WishList { + if !p.IsSetWish() { + return ResCharge_Wish_DEFAULT + } + return p.Wish +} + +func (p *ResCharge) GetSpecialCharge() float64 { + return p.SpecialCharge +} + +func (p *ResCharge) GetSpecialChargeWeek() int32 { + return p.SpecialChargeWeek +} + +func (p *ResCharge) GetTodayCharge() float64 { + return p.TodayCharge +} + +func (p *ResCharge) GetMonthCharge() float64 { + return p.MonthCharge +} + +func (p *ResCharge) GetAdEndTime() int64 { + return p.AdEndTime +} + +func (p *ResCharge) GetWeeklyDiscount() map[int32]*WeeklyDiscountInfo { + return p.WeeklyDiscount +} + +func (p *ResCharge) GetPetWorkRemainTime() int64 { + return p.PetWorkRemainTime +} + +func (p *ResCharge) GetWeeklyEndTime() int64 { + return p.WeeklyEndTime +} + +func (p *ResCharge) IsSetWish() bool { + return p.Wish != nil +} + +func (p *ResCharge) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.DOUBLE { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.MAP { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.MAP { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.MAP { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.DOUBLE { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 11: + if fieldTypeId == thrift.I32 { + if err := p.ReadField11(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 12: + if fieldTypeId == thrift.DOUBLE { + if err := p.ReadField12(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 13: + if fieldTypeId == thrift.DOUBLE { + if err := p.ReadField13(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 14: + if fieldTypeId == thrift.I64 { + if err := p.ReadField14(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 15: + if fieldTypeId == thrift.MAP { + if err := p.ReadField15(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 16: + if fieldTypeId == thrift.I64 { + if err := p.ReadField16(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 17: + if fieldTypeId == thrift.I64 { + if err := p.ReadField17(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCharge) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadDouble(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Charge = v + } + return nil +} + +func (p *ResCharge) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Total = v + } + return nil +} + +func (p *ResCharge) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.First = tSlice + for i := 0; i < size; i++ { + var _elem185 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem185 = v + } + p.First = append(p.First, _elem185) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResCharge) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*ResSpecialShop, size) + p.SpecialShop = tMap + for i := 0; i < size; i++ { + var _key186 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key186 = v + } + _val187 := &ResSpecialShop{} + if err := _val187.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val187), err) + } + p.SpecialShop[_key186] = _val187 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResCharge) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.FreeShop = v + } + return nil +} + +func (p *ResCharge) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*ResChessShop, size) + p.ChessShop = tMap + for i := 0; i < size; i++ { + var _key188 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key188 = v + } + _val189 := &ResChessShop{} + if err := _val189.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val189), err) + } + p.ChessShop[_key188] = _val189 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResCharge) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Gift = tMap + for i := 0; i < size; i++ { + var _key190 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key190 = v + } + var _val191 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val191 = v + } + p.Gift[_key190] = _val191 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResCharge) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.Ad = v + } + return nil +} + +func (p *ResCharge) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + p.Wish = &WishList{} + if err := p.Wish.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Wish), err) + } + return nil +} + +func (p *ResCharge) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadDouble(ctx); err != nil { + return thrift.PrependError("error reading field 10: ", err) + } else { + p.SpecialCharge = v + } + return nil +} + +func (p *ResCharge) ReadField11(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 11: ", err) + } else { + p.SpecialChargeWeek = v + } + return nil +} + +func (p *ResCharge) ReadField12(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadDouble(ctx); err != nil { + return thrift.PrependError("error reading field 12: ", err) + } else { + p.TodayCharge = v + } + return nil +} + +func (p *ResCharge) ReadField13(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadDouble(ctx); err != nil { + return thrift.PrependError("error reading field 13: ", err) + } else { + p.MonthCharge = v + } + return nil +} + +func (p *ResCharge) ReadField14(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 14: ", err) + } else { + p.AdEndTime = v + } + return nil +} + +func (p *ResCharge) ReadField15(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*WeeklyDiscountInfo, size) + p.WeeklyDiscount = tMap + for i := 0; i < size; i++ { + var _key192 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key192 = v + } + _val193 := &WeeklyDiscountInfo{} + if err := _val193.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val193), err) + } + p.WeeklyDiscount[_key192] = _val193 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResCharge) ReadField16(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 16: ", err) + } else { + p.PetWorkRemainTime = v + } + return nil +} + +func (p *ResCharge) ReadField17(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 17: ", err) + } else { + p.WeeklyEndTime = v + } + return nil +} + +func (p *ResCharge) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCharge"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + if err := p.writeField11(ctx, oprot); err != nil { + return err + } + if err := p.writeField12(ctx, oprot); err != nil { + return err + } + if err := p.writeField13(ctx, oprot); err != nil { + return err + } + if err := p.writeField14(ctx, oprot); err != nil { + return err + } + if err := p.writeField15(ctx, oprot); err != nil { + return err + } + if err := p.writeField16(ctx, oprot); err != nil { + return err + } + if err := p.writeField17(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCharge) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Charge", thrift.DOUBLE, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Charge: ", p), err) + } + if err := oprot.WriteDouble(ctx, float64(p.Charge)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Charge (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Charge: ", p), err) + } + return err +} + +func (p *ResCharge) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Total", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Total: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Total)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Total (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Total: ", p), err) + } + return err +} + +func (p *ResCharge) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "First", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:First: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.First)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.First { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:First: ", p), err) + } + return err +} + +func (p *ResCharge) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "SpecialShop", thrift.MAP, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:SpecialShop: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.SpecialShop)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.SpecialShop { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:SpecialShop: ", p), err) + } + return err +} + +func (p *ResCharge) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FreeShop", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:FreeShop: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.FreeShop)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.FreeShop (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:FreeShop: ", p), err) + } + return err +} + +func (p *ResCharge) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessShop", thrift.MAP, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:ChessShop: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.ChessShop)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.ChessShop { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:ChessShop: ", p), err) + } + return err +} + +func (p *ResCharge) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Gift", thrift.MAP, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:Gift: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Gift)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Gift { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:Gift: ", p), err) + } + return err +} + +func (p *ResCharge) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Ad", thrift.BOOL, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:Ad: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.Ad)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Ad (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:Ad: ", p), err) + } + return err +} + +func (p *ResCharge) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Wish", thrift.STRUCT, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:Wish: ", p), err) + } + if err := p.Wish.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Wish), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:Wish: ", p), err) + } + return err +} + +func (p *ResCharge) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "SpecialCharge", thrift.DOUBLE, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:SpecialCharge: ", p), err) + } + if err := oprot.WriteDouble(ctx, float64(p.SpecialCharge)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.SpecialCharge (10) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:SpecialCharge: ", p), err) + } + return err +} + +func (p *ResCharge) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "SpecialChargeWeek", thrift.I32, 11); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:SpecialChargeWeek: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.SpecialChargeWeek)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.SpecialChargeWeek (11) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 11:SpecialChargeWeek: ", p), err) + } + return err +} + +func (p *ResCharge) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "TodayCharge", thrift.DOUBLE, 12); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:TodayCharge: ", p), err) + } + if err := oprot.WriteDouble(ctx, float64(p.TodayCharge)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.TodayCharge (12) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 12:TodayCharge: ", p), err) + } + return err +} + +func (p *ResCharge) writeField13(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MonthCharge", thrift.DOUBLE, 13); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 13:MonthCharge: ", p), err) + } + if err := oprot.WriteDouble(ctx, float64(p.MonthCharge)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.MonthCharge (13) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 13:MonthCharge: ", p), err) + } + return err +} + +func (p *ResCharge) writeField14(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AdEndTime", thrift.I64, 14); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 14:AdEndTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.AdEndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AdEndTime (14) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 14:AdEndTime: ", p), err) + } + return err +} + +func (p *ResCharge) writeField15(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "WeeklyDiscount", thrift.MAP, 15); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 15:WeeklyDiscount: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.WeeklyDiscount)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.WeeklyDiscount { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 15:WeeklyDiscount: ", p), err) + } + return err +} + +func (p *ResCharge) writeField16(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PetWorkRemainTime", thrift.I64, 16); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 16:PetWorkRemainTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.PetWorkRemainTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.PetWorkRemainTime (16) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 16:PetWorkRemainTime: ", p), err) + } + return err +} + +func (p *ResCharge) writeField17(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "WeeklyEndTime", thrift.I64, 17); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 17:WeeklyEndTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.WeeklyEndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.WeeklyEndTime (17) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 17:WeeklyEndTime: ", p), err) + } + return err +} + +func (p *ResCharge) Equals(other *ResCharge) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Charge != other.Charge { + return false + } + if p.Total != other.Total { + return false + } + if len(p.First) != len(other.First) { + return false + } + for i, _tgt := range p.First { + _src194 := other.First[i] + if _tgt != _src194 { + return false + } + } + if len(p.SpecialShop) != len(other.SpecialShop) { + return false + } + for k, _tgt := range p.SpecialShop { + _src195 := other.SpecialShop[k] + if !_tgt.Equals(_src195) { + return false + } + } + if p.FreeShop != other.FreeShop { + return false + } + if len(p.ChessShop) != len(other.ChessShop) { + return false + } + for k, _tgt := range p.ChessShop { + _src196 := other.ChessShop[k] + if !_tgt.Equals(_src196) { + return false + } + } + if len(p.Gift) != len(other.Gift) { + return false + } + for k, _tgt := range p.Gift { + _src197 := other.Gift[k] + if _tgt != _src197 { + return false + } + } + if p.Ad != other.Ad { + return false + } + if !p.Wish.Equals(other.Wish) { + return false + } + if p.SpecialCharge != other.SpecialCharge { + return false + } + if p.SpecialChargeWeek != other.SpecialChargeWeek { + return false + } + if p.TodayCharge != other.TodayCharge { + return false + } + if p.MonthCharge != other.MonthCharge { + return false + } + if p.AdEndTime != other.AdEndTime { + return false + } + if len(p.WeeklyDiscount) != len(other.WeeklyDiscount) { + return false + } + for k, _tgt := range p.WeeklyDiscount { + _src198 := other.WeeklyDiscount[k] + if !_tgt.Equals(_src198) { + return false + } + } + if p.PetWorkRemainTime != other.PetWorkRemainTime { + return false + } + if p.WeeklyEndTime != other.WeeklyEndTime { + return false + } + return true +} + +func (p *ResCharge) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCharge(%+v)", *p) +} + +func (p *ResCharge) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCharge", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCharge)(nil) + +func (p *ResCharge) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResChargeReceive struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResChargeReceive() *ResChargeReceive { + return &ResChargeReceive{} +} + +func (p *ResChargeReceive) GetCode() RES_CODE { + return p.Code +} + +func (p *ResChargeReceive) GetMsg() string { + return p.Msg +} + +func (p *ResChargeReceive) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResChargeReceive) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResChargeReceive) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResChargeReceive) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResChargeReceive"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResChargeReceive) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResChargeReceive) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResChargeReceive) Equals(other *ResChargeReceive) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResChargeReceive) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResChargeReceive(%+v)", *p) +} + +func (p *ResChargeReceive) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResChargeReceive", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResChargeReceive)(nil) + +func (p *ResChargeReceive) Validate() error { + return nil +} + +// Attributes: +// - MChessColorData +// +type ResChessColorData struct { + MChessColorData map[string]int32 `thrift:"MChessColorData,1" db:"MChessColorData" json:"MChessColorData"` +} + +func NewResChessColorData() *ResChessColorData { + return &ResChessColorData{} +} + +func (p *ResChessColorData) GetMChessColorData() map[string]int32 { + return p.MChessColorData +} + +func (p *ResChessColorData) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResChessColorData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.MChessColorData = tMap + for i := 0; i < size; i++ { + var _key199 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key199 = v + } + var _val200 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val200 = v + } + p.MChessColorData[_key199] = _val200 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResChessColorData) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResChessColorData"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResChessColorData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MChessColorData", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:MChessColorData: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.MChessColorData)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MChessColorData { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:MChessColorData: ", p), err) + } + return err +} + +func (p *ResChessColorData) Equals(other *ResChessColorData) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.MChessColorData) != len(other.MChessColorData) { + return false + } + for k, _tgt := range p.MChessColorData { + _src201 := other.MChessColorData[k] + if _tgt != _src201 { + return false + } + } + return true +} + +func (p *ResChessColorData) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResChessColorData(%+v)", *p) +} + +func (p *ResChessColorData) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResChessColorData", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResChessColorData)(nil) + +func (p *ResChessColorData) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResChessEx struct { + Code RES_CODE `thrift:"code,1" db:"code" json:"code"` + Msg string `thrift:"msg,2" db:"msg" json:"msg"` +} + +func NewResChessEx() *ResChessEx { + return &ResChessEx{} +} + +func (p *ResChessEx) GetCode() RES_CODE { + return p.Code +} + +func (p *ResChessEx) GetMsg() string { + return p.Msg +} + +func (p *ResChessEx) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResChessEx) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResChessEx) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResChessEx) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResChessEx"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResChessEx) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err) + } + return err +} + +func (p *ResChessEx) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:msg: ", p), err) + } + return err +} + +func (p *ResChessEx) Equals(other *ResChessEx) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResChessEx) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResChessEx(%+v)", *p) +} + +func (p *ResChessEx) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResChessEx", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResChessEx)(nil) + +func (p *ResChessEx) Validate() error { + return nil +} + +// Attributes: +// - Items +// - Id +// +type ResChessRainReward struct { + Items []*ItemInfo `thrift:"Items,1" db:"Items" json:"Items"` + Id int32 `thrift:"Id,2" db:"Id" json:"Id"` +} + +func NewResChessRainReward() *ResChessRainReward { + return &ResChessRainReward{} +} + +func (p *ResChessRainReward) GetItems() []*ItemInfo { + return p.Items +} + +func (p *ResChessRainReward) GetId() int32 { + return p.Id +} + +func (p *ResChessRainReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResChessRainReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem202 := &ItemInfo{} + if err := _elem202.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem202), err) + } + p.Items = append(p.Items, _elem202) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResChessRainReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResChessRainReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResChessRainReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResChessRainReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Items: ", p), err) + } + return err +} + +func (p *ResChessRainReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Id: ", p), err) + } + return err +} + +func (p *ResChessRainReward) Equals(other *ResChessRainReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src203 := other.Items[i] + if !_tgt.Equals(_src203) { + return false + } + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResChessRainReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResChessRainReward(%+v)", *p) +} + +func (p *ResChessRainReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResChessRainReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResChessRainReward)(nil) + +func (p *ResChessRainReward) Validate() error { + return nil +} + +// Attributes: +// - Diamond +// - Count +// - ChessId +// +type ResChessShop struct { + Diamond int32 `thrift:"Diamond,1" db:"Diamond" json:"Diamond"` + Count int32 `thrift:"Count,2" db:"Count" json:"Count"` + ChessId int32 `thrift:"ChessId,3" db:"ChessId" json:"ChessId"` +} + +func NewResChessShop() *ResChessShop { + return &ResChessShop{} +} + +func (p *ResChessShop) GetDiamond() int32 { + return p.Diamond +} + +func (p *ResChessShop) GetCount() int32 { + return p.Count +} + +func (p *ResChessShop) GetChessId() int32 { + return p.ChessId +} + +func (p *ResChessShop) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResChessShop) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Diamond = v + } + return nil +} + +func (p *ResChessShop) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Count = v + } + return nil +} + +func (p *ResChessShop) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.ChessId = v + } + return nil +} + +func (p *ResChessShop) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResChessShop"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResChessShop) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Diamond", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Diamond: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Diamond)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Diamond (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Diamond: ", p), err) + } + return err +} + +func (p *ResChessShop) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Count", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Count: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Count)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Count (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Count: ", p), err) + } + return err +} + +func (p *ResChessShop) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessId", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ChessId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChessId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChessId (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ChessId: ", p), err) + } + return err +} + +func (p *ResChessShop) Equals(other *ResChessShop) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Diamond != other.Diamond { + return false + } + if p.Count != other.Count { + return false + } + if p.ChessId != other.ChessId { + return false + } + return true +} + +func (p *ResChessShop) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResChessShop(%+v)", *p) +} + +func (p *ResChessShop) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResChessShop", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResChessShop)(nil) + +func (p *ResChessShop) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResCollect struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResCollect() *ResCollect { + return &ResCollect{} +} + +func (p *ResCollect) GetCode() RES_CODE { + return p.Code +} + +func (p *ResCollect) GetMsg() string { + return p.Msg +} + +func (p *ResCollect) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCollect) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResCollect) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResCollect) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCollect"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCollect) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResCollect) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResCollect) Equals(other *ResCollect) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResCollect) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCollect(%+v)", *p) +} + +func (p *ResCollect) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCollect", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCollect)(nil) + +func (p *ResCollect) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Items +// +type ResCollectInfo struct { + Id []int32 `thrift:"Id,1" db:"Id" json:"Id"` + Items []*CollectItem `thrift:"Items,2" db:"Items" json:"Items"` +} + +func NewResCollectInfo() *ResCollectInfo { + return &ResCollectInfo{} +} + +func (p *ResCollectInfo) GetId() []int32 { + return p.Id +} + +func (p *ResCollectInfo) GetItems() []*CollectItem { + return p.Items +} + +func (p *ResCollectInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCollectInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.Id = tSlice + for i := 0; i < size; i++ { + var _elem204 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem204 = v + } + p.Id = append(p.Id, _elem204) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResCollectInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*CollectItem, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem205 := &CollectItem{} + if err := _elem205.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem205), err) + } + p.Items = append(p.Items, _elem205) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResCollectInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCollectInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCollectInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.Id)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Id { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ResCollectInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Items: ", p), err) + } + return err +} + +func (p *ResCollectInfo) Equals(other *ResCollectInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Id) != len(other.Id) { + return false + } + for i, _tgt := range p.Id { + _src206 := other.Id[i] + if _tgt != _src206 { + return false + } + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src207 := other.Items[i] + if !_tgt.Equals(_src207) { + return false + } + } + return true +} + +func (p *ResCollectInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCollectInfo(%+v)", *p) +} + +func (p *ResCollectInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCollectInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCollectInfo)(nil) + +func (p *ResCollectInfo) Validate() error { + return nil +} + +// Attributes: +// - OrderSn +// +type ResCreateOrderSn struct { + OrderSn string `thrift:"OrderSn,1" db:"OrderSn" json:"OrderSn"` +} + +func NewResCreateOrderSn() *ResCreateOrderSn { + return &ResCreateOrderSn{} +} + +func (p *ResCreateOrderSn) GetOrderSn() string { + return p.OrderSn +} + +func (p *ResCreateOrderSn) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResCreateOrderSn) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.OrderSn = v + } + return nil +} + +func (p *ResCreateOrderSn) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResCreateOrderSn"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResCreateOrderSn) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "OrderSn", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:OrderSn: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.OrderSn)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.OrderSn (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:OrderSn: ", p), err) + } + return err +} + +func (p *ResCreateOrderSn) Equals(other *ResCreateOrderSn) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.OrderSn != other.OrderSn { + return false + } + return true +} + +func (p *ResCreateOrderSn) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResCreateOrderSn(%+v)", *p) +} + +func (p *ResCreateOrderSn) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResCreateOrderSn", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResCreateOrderSn)(nil) + +func (p *ResCreateOrderSn) Validate() error { + return nil +} + +// Attributes: +// - WeekReward +// - DailyTask +// - Active +// - DayEnd +// - WeekEnd +// +type ResDailyTask struct { + WeekReward map[int32]*DailyWeek `thrift:"WeekReward,1" db:"WeekReward" json:"WeekReward"` + DailyTask map[int32]*DailyTask `thrift:"DailyTask,2" db:"DailyTask" json:"DailyTask"` + Active int32 `thrift:"Active,3" db:"Active" json:"Active"` + DayEnd int32 `thrift:"DayEnd,4" db:"DayEnd" json:"DayEnd"` + WeekEnd int32 `thrift:"WeekEnd,5" db:"WeekEnd" json:"WeekEnd"` +} + +func NewResDailyTask() *ResDailyTask { + return &ResDailyTask{} +} + +func (p *ResDailyTask) GetWeekReward() map[int32]*DailyWeek { + return p.WeekReward +} + +func (p *ResDailyTask) GetDailyTask() map[int32]*DailyTask { + return p.DailyTask +} + +func (p *ResDailyTask) GetActive() int32 { + return p.Active +} + +func (p *ResDailyTask) GetDayEnd() int32 { + return p.DayEnd +} + +func (p *ResDailyTask) GetWeekEnd() int32 { + return p.WeekEnd +} + +func (p *ResDailyTask) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResDailyTask) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*DailyWeek, size) + p.WeekReward = tMap + for i := 0; i < size; i++ { + var _key208 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key208 = v + } + _val209 := &DailyWeek{} + if err := _val209.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val209), err) + } + p.WeekReward[_key208] = _val209 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResDailyTask) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*DailyTask, size) + p.DailyTask = tMap + for i := 0; i < size; i++ { + var _key210 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key210 = v + } + _val211 := &DailyTask{} + if err := _val211.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val211), err) + } + p.DailyTask[_key210] = _val211 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResDailyTask) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Active = v + } + return nil +} + +func (p *ResDailyTask) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.DayEnd = v + } + return nil +} + +func (p *ResDailyTask) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.WeekEnd = v + } + return nil +} + +func (p *ResDailyTask) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResDailyTask"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResDailyTask) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "WeekReward", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:WeekReward: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.WeekReward)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.WeekReward { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:WeekReward: ", p), err) + } + return err +} + +func (p *ResDailyTask) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "DailyTask", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:DailyTask: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.DailyTask)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.DailyTask { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:DailyTask: ", p), err) + } + return err +} + +func (p *ResDailyTask) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Active", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Active: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Active)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Active (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Active: ", p), err) + } + return err +} + +func (p *ResDailyTask) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "DayEnd", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:DayEnd: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.DayEnd)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.DayEnd (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:DayEnd: ", p), err) + } + return err +} + +func (p *ResDailyTask) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "WeekEnd", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:WeekEnd: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.WeekEnd)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.WeekEnd (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:WeekEnd: ", p), err) + } + return err +} + +func (p *ResDailyTask) Equals(other *ResDailyTask) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.WeekReward) != len(other.WeekReward) { + return false + } + for k, _tgt := range p.WeekReward { + _src212 := other.WeekReward[k] + if !_tgt.Equals(_src212) { + return false + } + } + if len(p.DailyTask) != len(other.DailyTask) { + return false + } + for k, _tgt := range p.DailyTask { + _src213 := other.DailyTask[k] + if !_tgt.Equals(_src213) { + return false + } + } + if p.Active != other.Active { + return false + } + if p.DayEnd != other.DayEnd { + return false + } + if p.WeekEnd != other.WeekEnd { + return false + } + return true +} + +func (p *ResDailyTask) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResDailyTask(%+v)", *p) +} + +func (p *ResDailyTask) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResDailyTask", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResDailyTask)(nil) + +func (p *ResDailyTask) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResDailyUnlock struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResDailyUnlock() *ResDailyUnlock { + return &ResDailyUnlock{} +} + +func (p *ResDailyUnlock) GetCode() RES_CODE { + return p.Code +} + +func (p *ResDailyUnlock) GetMsg() string { + return p.Msg +} + +func (p *ResDailyUnlock) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResDailyUnlock) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResDailyUnlock) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResDailyUnlock) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResDailyUnlock"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResDailyUnlock) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResDailyUnlock) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResDailyUnlock) Equals(other *ResDailyUnlock) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResDailyUnlock) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResDailyUnlock(%+v)", *p) +} + +func (p *ResDailyUnlock) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResDailyUnlock", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResDailyUnlock)(nil) + +func (p *ResDailyUnlock) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResDecorate struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResDecorate() *ResDecorate { + return &ResDecorate{} +} + +func (p *ResDecorate) GetCode() RES_CODE { + return p.Code +} + +func (p *ResDecorate) GetMsg() string { + return p.Msg +} + +func (p *ResDecorate) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResDecorate) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResDecorate) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResDecorate) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResDecorate"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResDecorate) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResDecorate) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResDecorate) Equals(other *ResDecorate) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResDecorate) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResDecorate(%+v)", *p) +} + +func (p *ResDecorate) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResDecorate", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResDecorate)(nil) + +func (p *ResDecorate) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResDecorateAll struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResDecorateAll() *ResDecorateAll { + return &ResDecorateAll{} +} + +func (p *ResDecorateAll) GetCode() RES_CODE { + return p.Code +} + +func (p *ResDecorateAll) GetMsg() string { + return p.Msg +} + +func (p *ResDecorateAll) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResDecorateAll) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResDecorateAll) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResDecorateAll) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResDecorateAll"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResDecorateAll) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResDecorateAll) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResDecorateAll) Equals(other *ResDecorateAll) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResDecorateAll) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResDecorateAll(%+v)", *p) +} + +func (p *ResDecorateAll) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResDecorateAll", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResDecorateAll)(nil) + +func (p *ResDecorateAll) Validate() error { + return nil +} + +// Attributes: +// - AreaId +// - MFinishList +// - RewardArea +// - Parts +// +type ResDecorateInfo struct { + AreaId int32 `thrift:"AreaId,1" db:"AreaId" json:"AreaId"` + MFinishList []int32 `thrift:"mFinishList,2" db:"mFinishList" json:"mFinishList"` + RewardArea []int32 `thrift:"RewardArea,3" db:"RewardArea" json:"RewardArea"` + Parts []*DecoratePart `thrift:"Parts,4" db:"Parts" json:"Parts"` +} + +func NewResDecorateInfo() *ResDecorateInfo { + return &ResDecorateInfo{} +} + +func (p *ResDecorateInfo) GetAreaId() int32 { + return p.AreaId +} + +func (p *ResDecorateInfo) GetMFinishList() []int32 { + return p.MFinishList +} + +func (p *ResDecorateInfo) GetRewardArea() []int32 { + return p.RewardArea +} + +func (p *ResDecorateInfo) GetParts() []*DecoratePart { + return p.Parts +} + +func (p *ResDecorateInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResDecorateInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.AreaId = v + } + return nil +} + +func (p *ResDecorateInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.MFinishList = tSlice + for i := 0; i < size; i++ { + var _elem214 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem214 = v + } + p.MFinishList = append(p.MFinishList, _elem214) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResDecorateInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.RewardArea = tSlice + for i := 0; i < size; i++ { + var _elem215 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem215 = v + } + p.RewardArea = append(p.RewardArea, _elem215) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResDecorateInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*DecoratePart, 0, size) + p.Parts = tSlice + for i := 0; i < size; i++ { + _elem216 := &DecoratePart{} + if err := _elem216.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem216), err) + } + p.Parts = append(p.Parts, _elem216) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResDecorateInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResDecorateInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResDecorateInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AreaId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:AreaId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.AreaId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AreaId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:AreaId: ", p), err) + } + return err +} + +func (p *ResDecorateInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "mFinishList", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:mFinishList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.MFinishList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.MFinishList { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:mFinishList: ", p), err) + } + return err +} + +func (p *ResDecorateInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "RewardArea", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:RewardArea: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.RewardArea)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.RewardArea { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:RewardArea: ", p), err) + } + return err +} + +func (p *ResDecorateInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Parts", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Parts: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Parts)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Parts { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Parts: ", p), err) + } + return err +} + +func (p *ResDecorateInfo) Equals(other *ResDecorateInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.AreaId != other.AreaId { + return false + } + if len(p.MFinishList) != len(other.MFinishList) { + return false + } + for i, _tgt := range p.MFinishList { + _src217 := other.MFinishList[i] + if _tgt != _src217 { + return false + } + } + if len(p.RewardArea) != len(other.RewardArea) { + return false + } + for i, _tgt := range p.RewardArea { + _src218 := other.RewardArea[i] + if _tgt != _src218 { + return false + } + } + if len(p.Parts) != len(other.Parts) { + return false + } + for i, _tgt := range p.Parts { + _src219 := other.Parts[i] + if !_tgt.Equals(_src219) { + return false + } + } + return true +} + +func (p *ResDecorateInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResDecorateInfo(%+v)", *p) +} + +func (p *ResDecorateInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResDecorateInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResDecorateInfo)(nil) + +func (p *ResDecorateInfo) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Uid +// +type ResDelFriend struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Uid int64 `thrift:"Uid,3" db:"Uid" json:"Uid"` +} + +func NewResDelFriend() *ResDelFriend { + return &ResDelFriend{} +} + +func (p *ResDelFriend) GetCode() RES_CODE { + return p.Code +} + +func (p *ResDelFriend) GetMsg() string { + return p.Msg +} + +func (p *ResDelFriend) GetUid() int64 { + return p.Uid +} + +func (p *ResDelFriend) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResDelFriend) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResDelFriend) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResDelFriend) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ResDelFriend) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResDelFriend"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResDelFriend) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResDelFriend) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResDelFriend) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Uid: ", p), err) + } + return err +} + +func (p *ResDelFriend) Equals(other *ResDelFriend) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ResDelFriend) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResDelFriend(%+v)", *p) +} + +func (p *ResDelFriend) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResDelFriend", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResDelFriend)(nil) + +func (p *ResDelFriend) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResDelOrder struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResDelOrder() *ResDelOrder { + return &ResDelOrder{} +} + +func (p *ResDelOrder) GetCode() RES_CODE { + return p.Code +} + +func (p *ResDelOrder) GetMsg() string { + return p.Msg +} + +func (p *ResDelOrder) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResDelOrder) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResDelOrder) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResDelOrder) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResDelOrder"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResDelOrder) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResDelOrder) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResDelOrder) Equals(other *ResDelOrder) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResDelOrder) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResDelOrder(%+v)", *p) +} + +func (p *ResDelOrder) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResDelOrder", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResDelOrder)(nil) + +func (p *ResDelOrder) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResDeleteMail struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id int32 `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResDeleteMail() *ResDeleteMail { + return &ResDeleteMail{} +} + +func (p *ResDeleteMail) GetCode() RES_CODE { + return p.Code +} + +func (p *ResDeleteMail) GetMsg() string { + return p.Msg +} + +func (p *ResDeleteMail) GetId() int32 { + return p.Id +} + +func (p *ResDeleteMail) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResDeleteMail) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResDeleteMail) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResDeleteMail) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResDeleteMail) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResDeleteMail"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResDeleteMail) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResDeleteMail) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResDeleteMail) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResDeleteMail) Equals(other *ResDeleteMail) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResDeleteMail) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResDeleteMail(%+v)", *p) +} + +func (p *ResDeleteMail) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResDeleteMail", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResDeleteMail)(nil) + +func (p *ResDeleteMail) Validate() error { + return nil +} + +// Attributes: +// - Id +// - EndlessList +// +type ResEndless struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + EndlessList map[int32]*ResEndlessInfo `thrift:"EndlessList,2" db:"EndlessList" json:"EndlessList"` +} + +func NewResEndless() *ResEndless { + return &ResEndless{} +} + +func (p *ResEndless) GetId() int32 { + return p.Id +} + +func (p *ResEndless) GetEndlessList() map[int32]*ResEndlessInfo { + return p.EndlessList +} + +func (p *ResEndless) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResEndless) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResEndless) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*ResEndlessInfo, size) + p.EndlessList = tMap + for i := 0; i < size; i++ { + var _key220 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key220 = v + } + _val221 := &ResEndlessInfo{} + if err := _val221.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val221), err) + } + p.EndlessList[_key220] = _val221 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResEndless) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResEndless"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResEndless) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ResEndless) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndlessList", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:EndlessList: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.EndlessList)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.EndlessList { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:EndlessList: ", p), err) + } + return err +} + +func (p *ResEndless) Equals(other *ResEndless) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if len(p.EndlessList) != len(other.EndlessList) { + return false + } + for k, _tgt := range p.EndlessList { + _src222 := other.EndlessList[k] + if !_tgt.Equals(_src222) { + return false + } + } + return true +} + +func (p *ResEndless) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResEndless(%+v)", *p) +} + +func (p *ResEndless) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResEndless", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResEndless)(nil) + +func (p *ResEndless) Validate() error { + return nil +} + +// Attributes: +// - ChargeId +// - Type +// - Items +// +type ResEndlessInfo struct { + ChargeId int32 `thrift:"ChargeId,1" db:"ChargeId" json:"ChargeId"` + Type int32 `thrift:"Type,2" db:"Type" json:"Type"` + Items []*ItemInfo `thrift:"Items,3" db:"Items" json:"Items"` +} + +func NewResEndlessInfo() *ResEndlessInfo { + return &ResEndlessInfo{} +} + +func (p *ResEndlessInfo) GetChargeId() int32 { + return p.ChargeId +} + +func (p *ResEndlessInfo) GetType() int32 { + return p.Type +} + +func (p *ResEndlessInfo) GetItems() []*ItemInfo { + return p.Items +} + +func (p *ResEndlessInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResEndlessInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ChargeId = v + } + return nil +} + +func (p *ResEndlessInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ResEndlessInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem223 := &ItemInfo{} + if err := _elem223.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem223), err) + } + p.Items = append(p.Items, _elem223) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResEndlessInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResEndlessInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResEndlessInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChargeId", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ChargeId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChargeId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChargeId (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ChargeId: ", p), err) + } + return err +} + +func (p *ResEndlessInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Type: ", p), err) + } + return err +} + +func (p *ResEndlessInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Items: ", p), err) + } + return err +} + +func (p *ResEndlessInfo) Equals(other *ResEndlessInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ChargeId != other.ChargeId { + return false + } + if p.Type != other.Type { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src224 := other.Items[i] + if !_tgt.Equals(_src224) { + return false + } + } + return true +} + +func (p *ResEndlessInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResEndlessInfo(%+v)", *p) +} + +func (p *ResEndlessInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResEndlessInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResEndlessInfo)(nil) + +func (p *ResEndlessInfo) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResEndlessReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResEndlessReward() *ResEndlessReward { + return &ResEndlessReward{} +} + +func (p *ResEndlessReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResEndlessReward) GetMsg() string { + return p.Msg +} + +func (p *ResEndlessReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResEndlessReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResEndlessReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResEndlessReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResEndlessReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResEndlessReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResEndlessReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResEndlessReward) Equals(other *ResEndlessReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResEndlessReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResEndlessReward(%+v)", *p) +} + +func (p *ResEndlessReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResEndlessReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResEndlessReward)(nil) + +func (p *ResEndlessReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResExStarReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResExStarReward() *ResExStarReward { + return &ResExStarReward{} +} + +func (p *ResExStarReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResExStarReward) GetMsg() string { + return p.Msg +} + +func (p *ResExStarReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResExStarReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResExStarReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResExStarReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResExStarReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResExStarReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResExStarReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResExStarReward) Equals(other *ResExStarReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResExStarReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResExStarReward(%+v)", *p) +} + +func (p *ResExStarReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResExStarReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResExStarReward)(nil) + +func (p *ResExStarReward) Validate() error { + return nil +} + +// Attributes: +// - FaceList +// - SetId +// +type ResFaceInfo struct { + FaceList []*FaceInfo `thrift:"FaceList,1" db:"FaceList" json:"FaceList"` + SetId int32 `thrift:"SetId,2" db:"SetId" json:"SetId"` +} + +func NewResFaceInfo() *ResFaceInfo { + return &ResFaceInfo{} +} + +func (p *ResFaceInfo) GetFaceList() []*FaceInfo { + return p.FaceList +} + +func (p *ResFaceInfo) GetSetId() int32 { + return p.SetId +} + +func (p *ResFaceInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFaceInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*FaceInfo, 0, size) + p.FaceList = tSlice + for i := 0; i < size; i++ { + _elem225 := &FaceInfo{} + if err := _elem225.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem225), err) + } + p.FaceList = append(p.FaceList, _elem225) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResFaceInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.SetId = v + } + return nil +} + +func (p *ResFaceInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFaceInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFaceInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FaceList", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:FaceList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.FaceList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.FaceList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:FaceList: ", p), err) + } + return err +} + +func (p *ResFaceInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "SetId", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:SetId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.SetId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.SetId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:SetId: ", p), err) + } + return err +} + +func (p *ResFaceInfo) Equals(other *ResFaceInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.FaceList) != len(other.FaceList) { + return false + } + for i, _tgt := range p.FaceList { + _src226 := other.FaceList[i] + if !_tgt.Equals(_src226) { + return false + } + } + if p.SetId != other.SetId { + return false + } + return true +} + +func (p *ResFaceInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFaceInfo(%+v)", *p) +} + +func (p *ResFaceInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFaceInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFaceInfo)(nil) + +func (p *ResFaceInfo) Validate() error { + return nil +} + +// Attributes: +// - Energy +// - Num +// - EndTime +// +type ResFastProduceInfo struct { + Energy int32 `thrift:"Energy,1" db:"Energy" json:"Energy"` + Num int32 `thrift:"Num,2" db:"Num" json:"Num"` + EndTime int64 `thrift:"EndTime,3" db:"EndTime" json:"EndTime"` +} + +func NewResFastProduceInfo() *ResFastProduceInfo { + return &ResFastProduceInfo{} +} + +func (p *ResFastProduceInfo) GetEnergy() int32 { + return p.Energy +} + +func (p *ResFastProduceInfo) GetNum() int32 { + return p.Num +} + +func (p *ResFastProduceInfo) GetEndTime() int64 { + return p.EndTime +} + +func (p *ResFastProduceInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFastProduceInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Energy = v + } + return nil +} + +func (p *ResFastProduceInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Num = v + } + return nil +} + +func (p *ResFastProduceInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *ResFastProduceInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFastProduceInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFastProduceInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Energy", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Energy: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Energy)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Energy (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Energy: ", p), err) + } + return err +} + +func (p *ResFastProduceInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Num", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Num: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Num)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Num (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Num: ", p), err) + } + return err +} + +func (p *ResFastProduceInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:EndTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:EndTime: ", p), err) + } + return err +} + +func (p *ResFastProduceInfo) Equals(other *ResFastProduceInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Energy != other.Energy { + return false + } + if p.Num != other.Num { + return false + } + if p.EndTime != other.EndTime { + return false + } + return true +} + +func (p *ResFastProduceInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFastProduceInfo(%+v)", *p) +} + +func (p *ResFastProduceInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFastProduceInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFastProduceInfo)(nil) + +func (p *ResFastProduceInfo) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - EndTime +// - Num +// +type ResFastProduceReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + EndTime int64 `thrift:"EndTime,3" db:"EndTime" json:"EndTime"` + Num int32 `thrift:"Num,4" db:"Num" json:"Num"` +} + +func NewResFastProduceReward() *ResFastProduceReward { + return &ResFastProduceReward{} +} + +func (p *ResFastProduceReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResFastProduceReward) GetMsg() string { + return p.Msg +} + +func (p *ResFastProduceReward) GetEndTime() int64 { + return p.EndTime +} + +func (p *ResFastProduceReward) GetNum() int32 { + return p.Num +} + +func (p *ResFastProduceReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFastProduceReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResFastProduceReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResFastProduceReward) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *ResFastProduceReward) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Num = v + } + return nil +} + +func (p *ResFastProduceReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFastProduceReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFastProduceReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResFastProduceReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResFastProduceReward) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:EndTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:EndTime: ", p), err) + } + return err +} + +func (p *ResFastProduceReward) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Num", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Num: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Num)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Num (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Num: ", p), err) + } + return err +} + +func (p *ResFastProduceReward) Equals(other *ResFastProduceReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.Num != other.Num { + return false + } + return true +} + +func (p *ResFastProduceReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFastProduceReward(%+v)", *p) +} + +func (p *ResFastProduceReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFastProduceReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFastProduceReward)(nil) + +func (p *ResFastProduceReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResFreeShop struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResFreeShop() *ResFreeShop { + return &ResFreeShop{} +} + +func (p *ResFreeShop) GetCode() RES_CODE { + return p.Code +} + +func (p *ResFreeShop) GetMsg() string { + return p.Msg +} + +func (p *ResFreeShop) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFreeShop) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResFreeShop) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResFreeShop) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFreeShop"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFreeShop) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResFreeShop) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResFreeShop) Equals(other *ResFreeShop) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResFreeShop) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFreeShop(%+v)", *p) +} + +func (p *ResFreeShop) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFreeShop", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFreeShop)(nil) + +func (p *ResFreeShop) Validate() error { + return nil +} + +// Attributes: +// - ApplyList +// +type ResFriendApply struct { + ApplyList []*ResFriendApplyInfo `thrift:"ApplyList,1" db:"ApplyList" json:"ApplyList"` +} + +func NewResFriendApply() *ResFriendApply { + return &ResFriendApply{} +} + +func (p *ResFriendApply) GetApplyList() []*ResFriendApplyInfo { + return p.ApplyList +} + +func (p *ResFriendApply) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendApply) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ResFriendApplyInfo, 0, size) + p.ApplyList = tSlice + for i := 0; i < size; i++ { + _elem227 := &ResFriendApplyInfo{} + if err := _elem227.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem227), err) + } + p.ApplyList = append(p.ApplyList, _elem227) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResFriendApply) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendApply"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendApply) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ApplyList", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ApplyList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.ApplyList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ApplyList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ApplyList: ", p), err) + } + return err +} + +func (p *ResFriendApply) Equals(other *ResFriendApply) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.ApplyList) != len(other.ApplyList) { + return false + } + for i, _tgt := range p.ApplyList { + _src228 := other.ApplyList[i] + if !_tgt.Equals(_src228) { + return false + } + } + return true +} + +func (p *ResFriendApply) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendApply(%+v)", *p) +} + +func (p *ResFriendApply) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendApply", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendApply)(nil) + +func (p *ResFriendApply) Validate() error { + return nil +} + +// Attributes: +// - Player +// - Time +// +type ResFriendApplyInfo struct { + Player *ResPlayerSimple `thrift:"Player,1" db:"Player" json:"Player"` + Time int32 `thrift:"Time,2" db:"Time" json:"Time"` +} + +func NewResFriendApplyInfo() *ResFriendApplyInfo { + return &ResFriendApplyInfo{} +} + +var ResFriendApplyInfo_Player_DEFAULT *ResPlayerSimple + +func (p *ResFriendApplyInfo) GetPlayer() *ResPlayerSimple { + if !p.IsSetPlayer() { + return ResFriendApplyInfo_Player_DEFAULT + } + return p.Player +} + +func (p *ResFriendApplyInfo) GetTime() int32 { + return p.Time +} + +func (p *ResFriendApplyInfo) IsSetPlayer() bool { + return p.Player != nil +} + +func (p *ResFriendApplyInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendApplyInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Player = &ResPlayerSimple{} + if err := p.Player.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Player), err) + } + return nil +} + +func (p *ResFriendApplyInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Time = v + } + return nil +} + +func (p *ResFriendApplyInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendApplyInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendApplyInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Player", thrift.STRUCT, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Player: ", p), err) + } + if err := p.Player.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Player), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Player: ", p), err) + } + return err +} + +func (p *ResFriendApplyInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Time", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Time: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Time)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Time (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Time: ", p), err) + } + return err +} + +func (p *ResFriendApplyInfo) Equals(other *ResFriendApplyInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if !p.Player.Equals(other.Player) { + return false + } + if p.Time != other.Time { + return false + } + return true +} + +func (p *ResFriendApplyInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendApplyInfo(%+v)", *p) +} + +func (p *ResFriendApplyInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendApplyInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendApplyInfo)(nil) + +func (p *ResFriendApplyInfo) Validate() error { + return nil +} + +// Attributes: +// - Player +// - Type +// - Time +// +type ResFriendApplyNotify struct { + Player *ResPlayerSimple `thrift:"Player,1" db:"Player" json:"Player"` + Type int32 `thrift:"Type,2" db:"Type" json:"Type"` + Time int32 `thrift:"Time,3" db:"Time" json:"Time"` +} + +func NewResFriendApplyNotify() *ResFriendApplyNotify { + return &ResFriendApplyNotify{} +} + +var ResFriendApplyNotify_Player_DEFAULT *ResPlayerSimple + +func (p *ResFriendApplyNotify) GetPlayer() *ResPlayerSimple { + if !p.IsSetPlayer() { + return ResFriendApplyNotify_Player_DEFAULT + } + return p.Player +} + +func (p *ResFriendApplyNotify) GetType() int32 { + return p.Type +} + +func (p *ResFriendApplyNotify) GetTime() int32 { + return p.Time +} + +func (p *ResFriendApplyNotify) IsSetPlayer() bool { + return p.Player != nil +} + +func (p *ResFriendApplyNotify) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendApplyNotify) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Player = &ResPlayerSimple{} + if err := p.Player.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Player), err) + } + return nil +} + +func (p *ResFriendApplyNotify) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ResFriendApplyNotify) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Time = v + } + return nil +} + +func (p *ResFriendApplyNotify) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendApplyNotify"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendApplyNotify) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Player", thrift.STRUCT, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Player: ", p), err) + } + if err := p.Player.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Player), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Player: ", p), err) + } + return err +} + +func (p *ResFriendApplyNotify) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Type: ", p), err) + } + return err +} + +func (p *ResFriendApplyNotify) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Time", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Time: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Time)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Time (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Time: ", p), err) + } + return err +} + +func (p *ResFriendApplyNotify) Equals(other *ResFriendApplyNotify) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if !p.Player.Equals(other.Player) { + return false + } + if p.Type != other.Type { + return false + } + if p.Time != other.Time { + return false + } + return true +} + +func (p *ResFriendApplyNotify) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendApplyNotify(%+v)", *p) +} + +func (p *ResFriendApplyNotify) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendApplyNotify", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendApplyNotify)(nil) + +func (p *ResFriendApplyNotify) Validate() error { + return nil +} + +// Attributes: +// - Bubble +// +type ResFriendBubble struct { + Bubble []*FriendBubbleInfo `thrift:"Bubble,1" db:"Bubble" json:"Bubble"` +} + +func NewResFriendBubble() *ResFriendBubble { + return &ResFriendBubble{} +} + +func (p *ResFriendBubble) GetBubble() []*FriendBubbleInfo { + return p.Bubble +} + +func (p *ResFriendBubble) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendBubble) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*FriendBubbleInfo, 0, size) + p.Bubble = tSlice + for i := 0; i < size; i++ { + _elem229 := &FriendBubbleInfo{} + if err := _elem229.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem229), err) + } + p.Bubble = append(p.Bubble, _elem229) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResFriendBubble) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendBubble"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendBubble) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Bubble", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Bubble: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Bubble)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Bubble { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Bubble: ", p), err) + } + return err +} + +func (p *ResFriendBubble) Equals(other *ResFriendBubble) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Bubble) != len(other.Bubble) { + return false + } + for i, _tgt := range p.Bubble { + _src230 := other.Bubble[i] + if !_tgt.Equals(_src230) { + return false + } + } + return true +} + +func (p *ResFriendBubble) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendBubble(%+v)", *p) +} + +func (p *ResFriendBubble) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendBubble", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendBubble)(nil) + +func (p *ResFriendBubble) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Player +// +type ResFriendByCode struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Player *ResPlayerSimple `thrift:"Player,3" db:"Player" json:"Player"` +} + +func NewResFriendByCode() *ResFriendByCode { + return &ResFriendByCode{} +} + +func (p *ResFriendByCode) GetCode() RES_CODE { + return p.Code +} + +func (p *ResFriendByCode) GetMsg() string { + return p.Msg +} + +var ResFriendByCode_Player_DEFAULT *ResPlayerSimple + +func (p *ResFriendByCode) GetPlayer() *ResPlayerSimple { + if !p.IsSetPlayer() { + return ResFriendByCode_Player_DEFAULT + } + return p.Player +} + +func (p *ResFriendByCode) IsSetPlayer() bool { + return p.Player != nil +} + +func (p *ResFriendByCode) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendByCode) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResFriendByCode) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResFriendByCode) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + p.Player = &ResPlayerSimple{} + if err := p.Player.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Player), err) + } + return nil +} + +func (p *ResFriendByCode) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendByCode"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendByCode) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResFriendByCode) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResFriendByCode) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Player", thrift.STRUCT, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Player: ", p), err) + } + if err := p.Player.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Player), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Player: ", p), err) + } + return err +} + +func (p *ResFriendByCode) Equals(other *ResFriendByCode) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if !p.Player.Equals(other.Player) { + return false + } + return true +} + +func (p *ResFriendByCode) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendByCode(%+v)", *p) +} + +func (p *ResFriendByCode) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendByCode", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendByCode)(nil) + +func (p *ResFriendByCode) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - Name +// - Face +// - Avatar +// - Level +// - Type +// - Time +// - CardId +// - ExCardId +// - Status +// - Id +// - Emoji +// +type ResFriendCard struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + Name string `thrift:"Name,2" db:"Name" json:"Name"` + Face int32 `thrift:"Face,3" db:"Face" json:"Face"` + Avatar int32 `thrift:"Avatar,4" db:"Avatar" json:"Avatar"` + Level int32 `thrift:"Level,5" db:"Level" json:"Level"` + Type int32 `thrift:"Type,6" db:"Type" json:"Type"` + Time int32 `thrift:"Time,7" db:"Time" json:"Time"` + CardId int32 `thrift:"CardId,8" db:"CardId" json:"CardId"` + ExCardId int32 `thrift:"ExCardId,9" db:"ExCardId" json:"ExCardId"` + Status int32 `thrift:"Status,10" db:"Status" json:"Status"` + Id string `thrift:"Id,11" db:"Id" json:"Id"` + Emoji int32 `thrift:"Emoji,12" db:"Emoji" json:"Emoji"` +} + +func NewResFriendCard() *ResFriendCard { + return &ResFriendCard{} +} + +func (p *ResFriendCard) GetUid() int64 { + return p.Uid +} + +func (p *ResFriendCard) GetName() string { + return p.Name +} + +func (p *ResFriendCard) GetFace() int32 { + return p.Face +} + +func (p *ResFriendCard) GetAvatar() int32 { + return p.Avatar +} + +func (p *ResFriendCard) GetLevel() int32 { + return p.Level +} + +func (p *ResFriendCard) GetType() int32 { + return p.Type +} + +func (p *ResFriendCard) GetTime() int32 { + return p.Time +} + +func (p *ResFriendCard) GetCardId() int32 { + return p.CardId +} + +func (p *ResFriendCard) GetExCardId() int32 { + return p.ExCardId +} + +func (p *ResFriendCard) GetStatus() int32 { + return p.Status +} + +func (p *ResFriendCard) GetId() string { + return p.Id +} + +func (p *ResFriendCard) GetEmoji() int32 { + return p.Emoji +} + +func (p *ResFriendCard) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.I32 { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.I32 { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.I32 { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.I32 { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 11: + if fieldTypeId == thrift.STRING { + if err := p.ReadField11(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 12: + if fieldTypeId == thrift.I32 { + if err := p.ReadField12(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendCard) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ResFriendCard) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Name = v + } + return nil +} + +func (p *ResFriendCard) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Face = v + } + return nil +} + +func (p *ResFriendCard) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Avatar = v + } + return nil +} + +func (p *ResFriendCard) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Level = v + } + return nil +} + +func (p *ResFriendCard) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ResFriendCard) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.Time = v + } + return nil +} + +func (p *ResFriendCard) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.CardId = v + } + return nil +} + +func (p *ResFriendCard) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 9: ", err) + } else { + p.ExCardId = v + } + return nil +} + +func (p *ResFriendCard) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 10: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ResFriendCard) ReadField11(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 11: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResFriendCard) ReadField12(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 12: ", err) + } else { + p.Emoji = v + } + return nil +} + +func (p *ResFriendCard) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendCard"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + if err := p.writeField11(ctx, oprot); err != nil { + return err + } + if err := p.writeField12(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendCard) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ResFriendCard) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Name", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Name: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Name)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Name (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Name: ", p), err) + } + return err +} + +func (p *ResFriendCard) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Face", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Face: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Face)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Face (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Face: ", p), err) + } + return err +} + +func (p *ResFriendCard) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Avatar", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Avatar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Avatar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Avatar (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Avatar: ", p), err) + } + return err +} + +func (p *ResFriendCard) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Level", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Level: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Level)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Level (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Level: ", p), err) + } + return err +} + +func (p *ResFriendCard) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Type: ", p), err) + } + return err +} + +func (p *ResFriendCard) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Time", thrift.I32, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:Time: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Time)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Time (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:Time: ", p), err) + } + return err +} + +func (p *ResFriendCard) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CardId", thrift.I32, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:CardId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.CardId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.CardId (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:CardId: ", p), err) + } + return err +} + +func (p *ResFriendCard) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ExCardId", thrift.I32, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:ExCardId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ExCardId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ExCardId (9) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:ExCardId: ", p), err) + } + return err +} + +func (p *ResFriendCard) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (10) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:Status: ", p), err) + } + return err +} + +func (p *ResFriendCard) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 11); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (11) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 11:Id: ", p), err) + } + return err +} + +func (p *ResFriendCard) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Emoji", thrift.I32, 12); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:Emoji: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Emoji)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Emoji (12) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 12:Emoji: ", p), err) + } + return err +} + +func (p *ResFriendCard) Equals(other *ResFriendCard) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.Name != other.Name { + return false + } + if p.Face != other.Face { + return false + } + if p.Avatar != other.Avatar { + return false + } + if p.Level != other.Level { + return false + } + if p.Type != other.Type { + return false + } + if p.Time != other.Time { + return false + } + if p.CardId != other.CardId { + return false + } + if p.ExCardId != other.ExCardId { + return false + } + if p.Status != other.Status { + return false + } + if p.Id != other.Id { + return false + } + if p.Emoji != other.Emoji { + return false + } + return true +} + +func (p *ResFriendCard) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendCard(%+v)", *p) +} + +func (p *ResFriendCard) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendCard", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendCard)(nil) + +func (p *ResFriendCard) Validate() error { + return nil +} + +// Attributes: +// - MsgList +// +type ResFriendCardMsg struct { + MsgList []*ResFriendCard `thrift:"MsgList,1" db:"MsgList" json:"MsgList"` +} + +func NewResFriendCardMsg() *ResFriendCardMsg { + return &ResFriendCardMsg{} +} + +func (p *ResFriendCardMsg) GetMsgList() []*ResFriendCard { + return p.MsgList +} + +func (p *ResFriendCardMsg) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendCardMsg) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ResFriendCard, 0, size) + p.MsgList = tSlice + for i := 0; i < size; i++ { + _elem231 := &ResFriendCard{} + if err := _elem231.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem231), err) + } + p.MsgList = append(p.MsgList, _elem231) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResFriendCardMsg) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendCardMsg"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendCardMsg) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MsgList", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:MsgList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.MsgList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.MsgList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:MsgList: ", p), err) + } + return err +} + +func (p *ResFriendCardMsg) Equals(other *ResFriendCardMsg) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.MsgList) != len(other.MsgList) { + return false + } + for i, _tgt := range p.MsgList { + _src232 := other.MsgList[i] + if !_tgt.Equals(_src232) { + return false + } + } + return true +} + +func (p *ResFriendCardMsg) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendCardMsg(%+v)", *p) +} + +func (p *ResFriendCardMsg) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendCardMsg", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendCardMsg)(nil) + +func (p *ResFriendCardMsg) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResFriendIgnore struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResFriendIgnore() *ResFriendIgnore { + return &ResFriendIgnore{} +} + +func (p *ResFriendIgnore) GetCode() RES_CODE { + return p.Code +} + +func (p *ResFriendIgnore) GetMsg() string { + return p.Msg +} + +func (p *ResFriendIgnore) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendIgnore) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResFriendIgnore) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResFriendIgnore) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendIgnore"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendIgnore) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResFriendIgnore) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResFriendIgnore) Equals(other *ResFriendIgnore) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResFriendIgnore) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendIgnore(%+v)", *p) +} + +func (p *ResFriendIgnore) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendIgnore", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendIgnore)(nil) + +func (p *ResFriendIgnore) Validate() error { + return nil +} + +// Attributes: +// - FriendList +// - ReqApplyList +// - Npc +// - Sponsor +// +type ResFriendList struct { + FriendList []*ResPlayerSimple `thrift:"FriendList,1" db:"FriendList" json:"FriendList"` + Npc []int32 `thrift:"Npc,2" db:"Npc" json:"Npc"` + ReqApplyList []int64 `thrift:"ReqApplyList,3" db:"ReqApplyList" json:"ReqApplyList"` + Sponsor int32 `thrift:"Sponsor,4" db:"Sponsor" json:"Sponsor"` +} + +func NewResFriendList() *ResFriendList { + return &ResFriendList{} +} + +func (p *ResFriendList) GetFriendList() []*ResPlayerSimple { + return p.FriendList +} + +func (p *ResFriendList) GetReqApplyList() []int64 { + return p.ReqApplyList +} + +func (p *ResFriendList) GetNpc() []int32 { + return p.Npc +} + +func (p *ResFriendList) GetSponsor() int32 { + return p.Sponsor +} + +func (p *ResFriendList) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendList) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ResPlayerSimple, 0, size) + p.FriendList = tSlice + for i := 0; i < size; i++ { + _elem233 := &ResPlayerSimple{} + if err := _elem233.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem233), err) + } + p.FriendList = append(p.FriendList, _elem233) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResFriendList) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int64, 0, size) + p.ReqApplyList = tSlice + for i := 0; i < size; i++ { + var _elem234 int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem234 = v + } + p.ReqApplyList = append(p.ReqApplyList, _elem234) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResFriendList) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.Npc = tSlice + for i := 0; i < size; i++ { + var _elem235 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem235 = v + } + p.Npc = append(p.Npc, _elem235) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResFriendList) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Sponsor = v + } + return nil +} + +func (p *ResFriendList) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendList"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendList) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FriendList", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:FriendList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.FriendList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.FriendList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:FriendList: ", p), err) + } + return err +} + +func (p *ResFriendList) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Npc", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Npc: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.Npc)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Npc { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Npc: ", p), err) + } + return err +} + +func (p *ResFriendList) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ReqApplyList", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ReqApplyList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.ReqApplyList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ReqApplyList { + if err := oprot.WriteI64(ctx, int64(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ReqApplyList: ", p), err) + } + return err +} + +func (p *ResFriendList) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Sponsor", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Sponsor: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Sponsor)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Sponsor (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Sponsor: ", p), err) + } + return err +} + +func (p *ResFriendList) Equals(other *ResFriendList) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.FriendList) != len(other.FriendList) { + return false + } + for i, _tgt := range p.FriendList { + _src236 := other.FriendList[i] + if !_tgt.Equals(_src236) { + return false + } + } + if len(p.Npc) != len(other.Npc) { + return false + } + for i, _tgt := range p.Npc { + _src237 := other.Npc[i] + if _tgt != _src237 { + return false + } + } + if len(p.ReqApplyList) != len(other.ReqApplyList) { + return false + } + for i, _tgt := range p.ReqApplyList { + _src238 := other.ReqApplyList[i] + if _tgt != _src238 { + return false + } + } + if p.Sponsor != other.Sponsor { + return false + } + return true +} + +func (p *ResFriendList) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendList(%+v)", *p) +} + +func (p *ResFriendList) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendList", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendList)(nil) + +func (p *ResFriendList) Validate() error { + return nil +} + +// Attributes: +// - Player +// - Type +// - Time +// - Param +// - Id +// - Upvote +// +type ResFriendLog struct { + Player *ResPlayerSimple `thrift:"Player,1" db:"Player" json:"Player"` + Type int32 `thrift:"Type,2" db:"Type" json:"Type"` + Time int32 `thrift:"Time,3" db:"Time" json:"Time"` + Param string `thrift:"Param,4" db:"Param" json:"Param"` + Id int32 `thrift:"Id,5" db:"Id" json:"Id"` + Upvote bool `thrift:"Upvote,6" db:"Upvote" json:"Upvote"` +} + +func NewResFriendLog() *ResFriendLog { + return &ResFriendLog{} +} + +var ResFriendLog_Player_DEFAULT *ResPlayerSimple + +func (p *ResFriendLog) GetPlayer() *ResPlayerSimple { + if !p.IsSetPlayer() { + return ResFriendLog_Player_DEFAULT + } + return p.Player +} + +func (p *ResFriendLog) GetType() int32 { + return p.Type +} + +func (p *ResFriendLog) GetTime() int32 { + return p.Time +} + +func (p *ResFriendLog) GetParam() string { + return p.Param +} + +func (p *ResFriendLog) GetId() int32 { + return p.Id +} + +func (p *ResFriendLog) GetUpvote() bool { + return p.Upvote +} + +func (p *ResFriendLog) IsSetPlayer() bool { + return p.Player != nil +} + +func (p *ResFriendLog) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.STRING { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendLog) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Player = &ResPlayerSimple{} + if err := p.Player.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Player), err) + } + return nil +} + +func (p *ResFriendLog) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ResFriendLog) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Time = v + } + return nil +} + +func (p *ResFriendLog) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Param = v + } + return nil +} + +func (p *ResFriendLog) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResFriendLog) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.Upvote = v + } + return nil +} + +func (p *ResFriendLog) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendLog"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendLog) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Player", thrift.STRUCT, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Player: ", p), err) + } + if err := p.Player.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Player), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Player: ", p), err) + } + return err +} + +func (p *ResFriendLog) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Type: ", p), err) + } + return err +} + +func (p *ResFriendLog) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Time", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Time: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Time)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Time (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Time: ", p), err) + } + return err +} + +func (p *ResFriendLog) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Param", thrift.STRING, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Param: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Param)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Param (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Param: ", p), err) + } + return err +} + +func (p *ResFriendLog) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Id: ", p), err) + } + return err +} + +func (p *ResFriendLog) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Upvote", thrift.BOOL, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Upvote: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.Upvote)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Upvote (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Upvote: ", p), err) + } + return err +} + +func (p *ResFriendLog) Equals(other *ResFriendLog) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if !p.Player.Equals(other.Player) { + return false + } + if p.Type != other.Type { + return false + } + if p.Time != other.Time { + return false + } + if p.Param != other.Param { + return false + } + if p.Id != other.Id { + return false + } + if p.Upvote != other.Upvote { + return false + } + return true +} + +func (p *ResFriendLog) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendLog(%+v)", *p) +} + +func (p *ResFriendLog) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendLog", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendLog)(nil) + +func (p *ResFriendLog) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - Name +// - Face +// - Avatar +// - Level +// - Decorate +// - Login +// - Loginout +// - Facebook +// - Emoji +// - AddTime +// - Interact +// - Playroom +// - DressSet +// - Friend +// - Last +// - Physiology +// - PetName +// - PetFur +// +type ResFriendPlayerSimple struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + Name string `thrift:"Name,2" db:"Name" json:"Name"` + Face int32 `thrift:"Face,3" db:"Face" json:"Face"` + Avatar int32 `thrift:"Avatar,4" db:"Avatar" json:"Avatar"` + Level int32 `thrift:"Level,5" db:"Level" json:"Level"` + Decorate int32 `thrift:"Decorate,6" db:"Decorate" json:"Decorate"` + Login int32 `thrift:"login,7" db:"login" json:"login"` + Loginout int32 `thrift:"loginout,8" db:"loginout" json:"loginout"` + Facebook string `thrift:"Facebook,9" db:"Facebook" json:"Facebook"` + Emoji map[int32]int32 `thrift:"Emoji,10" db:"Emoji" json:"Emoji"` + AddTime int64 `thrift:"AddTime,11" db:"AddTime" json:"AddTime"` + Interact int64 `thrift:"Interact,12" db:"Interact" json:"Interact"` + Playroom map[int32]int32 `thrift:"Playroom,13" db:"Playroom" json:"Playroom"` + DressSet map[int32]int32 `thrift:"DressSet,14" db:"DressSet" json:"DressSet"` + Friend []int32 `thrift:"Friend,15" db:"Friend" json:"Friend"` + Last *ActLog `thrift:"Last,16" db:"Last" json:"Last"` + Physiology map[int32]int32 `thrift:"Physiology,17" db:"Physiology" json:"Physiology"` + PetName string `thrift:"PetName,18" db:"PetName" json:"PetName"` + PetFur int32 `thrift:"PetFur,19" db:"PetFur" json:"PetFur"` +} + +func NewResFriendPlayerSimple() *ResFriendPlayerSimple { + return &ResFriendPlayerSimple{} +} + +func (p *ResFriendPlayerSimple) GetUid() int64 { + return p.Uid +} + +func (p *ResFriendPlayerSimple) GetName() string { + return p.Name +} + +func (p *ResFriendPlayerSimple) GetFace() int32 { + return p.Face +} + +func (p *ResFriendPlayerSimple) GetAvatar() int32 { + return p.Avatar +} + +func (p *ResFriendPlayerSimple) GetLevel() int32 { + return p.Level +} + +func (p *ResFriendPlayerSimple) GetDecorate() int32 { + return p.Decorate +} + +func (p *ResFriendPlayerSimple) GetLogin() int32 { + return p.Login +} + +func (p *ResFriendPlayerSimple) GetLoginout() int32 { + return p.Loginout +} + +func (p *ResFriendPlayerSimple) GetFacebook() string { + return p.Facebook +} + +func (p *ResFriendPlayerSimple) GetEmoji() map[int32]int32 { + return p.Emoji +} + +func (p *ResFriendPlayerSimple) GetAddTime() int64 { + return p.AddTime +} + +func (p *ResFriendPlayerSimple) GetInteract() int64 { + return p.Interact +} + +func (p *ResFriendPlayerSimple) GetPlayroom() map[int32]int32 { + return p.Playroom +} + +func (p *ResFriendPlayerSimple) GetDressSet() map[int32]int32 { + return p.DressSet +} + +func (p *ResFriendPlayerSimple) GetFriend() []int32 { + return p.Friend +} + +var ResFriendPlayerSimple_Last_DEFAULT *ActLog + +func (p *ResFriendPlayerSimple) GetLast() *ActLog { + if !p.IsSetLast() { + return ResFriendPlayerSimple_Last_DEFAULT + } + return p.Last +} + +func (p *ResFriendPlayerSimple) GetPhysiology() map[int32]int32 { + return p.Physiology +} + +func (p *ResFriendPlayerSimple) GetPetName() string { + return p.PetName +} + +func (p *ResFriendPlayerSimple) GetPetFur() int32 { + return p.PetFur +} + +func (p *ResFriendPlayerSimple) IsSetLast() bool { + return p.Last != nil +} + +func (p *ResFriendPlayerSimple) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.I32 { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.I32 { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.STRING { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.MAP { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 11: + if fieldTypeId == thrift.I64 { + if err := p.ReadField11(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 12: + if fieldTypeId == thrift.I64 { + if err := p.ReadField12(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 13: + if fieldTypeId == thrift.MAP { + if err := p.ReadField13(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 14: + if fieldTypeId == thrift.MAP { + if err := p.ReadField14(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 15: + if fieldTypeId == thrift.LIST { + if err := p.ReadField15(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 16: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField16(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 17: + if fieldTypeId == thrift.MAP { + if err := p.ReadField17(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 18: + if fieldTypeId == thrift.STRING { + if err := p.ReadField18(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 19: + if fieldTypeId == thrift.I32 { + if err := p.ReadField19(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Name = v + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Face = v + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Avatar = v + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Level = v + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.Decorate = v + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.Login = v + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.Loginout = v + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 9: ", err) + } else { + p.Facebook = v + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Emoji = tMap + for i := 0; i < size; i++ { + var _key239 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key239 = v + } + var _val240 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val240 = v + } + p.Emoji[_key239] = _val240 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField11(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 11: ", err) + } else { + p.AddTime = v + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField12(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 12: ", err) + } else { + p.Interact = v + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField13(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Playroom = tMap + for i := 0; i < size; i++ { + var _key241 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key241 = v + } + var _val242 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val242 = v + } + p.Playroom[_key241] = _val242 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField14(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.DressSet = tMap + for i := 0; i < size; i++ { + var _key243 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key243 = v + } + var _val244 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val244 = v + } + p.DressSet[_key243] = _val244 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField15(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.Friend = tSlice + for i := 0; i < size; i++ { + var _elem245 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem245 = v + } + p.Friend = append(p.Friend, _elem245) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField16(ctx context.Context, iprot thrift.TProtocol) error { + p.Last = &ActLog{} + if err := p.Last.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Last), err) + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField17(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Physiology = tMap + for i := 0; i < size; i++ { + var _key246 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key246 = v + } + var _val247 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val247 = v + } + p.Physiology[_key246] = _val247 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField18(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 18: ", err) + } else { + p.PetName = v + } + return nil +} + +func (p *ResFriendPlayerSimple) ReadField19(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 19: ", err) + } else { + p.PetFur = v + } + return nil +} + +func (p *ResFriendPlayerSimple) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendPlayerSimple"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + if err := p.writeField11(ctx, oprot); err != nil { + return err + } + if err := p.writeField12(ctx, oprot); err != nil { + return err + } + if err := p.writeField13(ctx, oprot); err != nil { + return err + } + if err := p.writeField14(ctx, oprot); err != nil { + return err + } + if err := p.writeField15(ctx, oprot); err != nil { + return err + } + if err := p.writeField16(ctx, oprot); err != nil { + return err + } + if err := p.writeField17(ctx, oprot); err != nil { + return err + } + if err := p.writeField18(ctx, oprot); err != nil { + return err + } + if err := p.writeField19(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendPlayerSimple) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Name", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Name: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Name)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Name (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Name: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Face", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Face: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Face)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Face (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Face: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Avatar", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Avatar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Avatar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Avatar (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Avatar: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Level", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Level: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Level)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Level (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Level: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Decorate", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Decorate: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Decorate)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Decorate (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Decorate: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "login", thrift.I32, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:login: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Login)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.login (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:login: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "loginout", thrift.I32, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:loginout: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Loginout)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.loginout (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:loginout: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Facebook", thrift.STRING, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:Facebook: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Facebook)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Facebook (9) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:Facebook: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Emoji", thrift.MAP, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:Emoji: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Emoji)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Emoji { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:Emoji: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AddTime", thrift.I64, 11); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:AddTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.AddTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AddTime (11) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 11:AddTime: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Interact", thrift.I64, 12); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:Interact: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Interact)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Interact (12) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 12:Interact: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField13(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Playroom", thrift.MAP, 13); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 13:Playroom: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Playroom)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Playroom { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 13:Playroom: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField14(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "DressSet", thrift.MAP, 14); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 14:DressSet: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.DressSet)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.DressSet { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 14:DressSet: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField15(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Friend", thrift.LIST, 15); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 15:Friend: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.Friend)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Friend { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 15:Friend: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField16(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Last", thrift.STRUCT, 16); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 16:Last: ", p), err) + } + if err := p.Last.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Last), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 16:Last: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField17(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Physiology", thrift.MAP, 17); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 17:Physiology: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Physiology)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Physiology { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 17:Physiology: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField18(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PetName", thrift.STRING, 18); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 18:PetName: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.PetName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.PetName (18) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 18:PetName: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) writeField19(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PetFur", thrift.I32, 19); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 19:PetFur: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.PetFur)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.PetFur (19) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 19:PetFur: ", p), err) + } + return err +} + +func (p *ResFriendPlayerSimple) Equals(other *ResFriendPlayerSimple) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.Name != other.Name { + return false + } + if p.Face != other.Face { + return false + } + if p.Avatar != other.Avatar { + return false + } + if p.Level != other.Level { + return false + } + if p.Decorate != other.Decorate { + return false + } + if p.Login != other.Login { + return false + } + if p.Loginout != other.Loginout { + return false + } + if p.Facebook != other.Facebook { + return false + } + if len(p.Emoji) != len(other.Emoji) { + return false + } + for k, _tgt := range p.Emoji { + _src248 := other.Emoji[k] + if _tgt != _src248 { + return false + } + } + if p.AddTime != other.AddTime { + return false + } + if p.Interact != other.Interact { + return false + } + if len(p.Playroom) != len(other.Playroom) { + return false + } + for k, _tgt := range p.Playroom { + _src249 := other.Playroom[k] + if _tgt != _src249 { + return false + } + } + if len(p.DressSet) != len(other.DressSet) { + return false + } + for k, _tgt := range p.DressSet { + _src250 := other.DressSet[k] + if _tgt != _src250 { + return false + } + } + if len(p.Friend) != len(other.Friend) { + return false + } + for i, _tgt := range p.Friend { + _src251 := other.Friend[i] + if _tgt != _src251 { + return false + } + } + if !p.Last.Equals(other.Last) { + return false + } + if len(p.Physiology) != len(other.Physiology) { + return false + } + for k, _tgt := range p.Physiology { + _src252 := other.Physiology[k] + if _tgt != _src252 { + return false + } + } + if p.PetName != other.PetName { + return false + } + if p.PetFur != other.PetFur { + return false + } + return true +} + +func (p *ResFriendPlayerSimple) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendPlayerSimple(%+v)", *p) +} + +func (p *ResFriendPlayerSimple) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendPlayerSimple", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendPlayerSimple)(nil) + +func (p *ResFriendPlayerSimple) Validate() error { + return nil +} + +// Attributes: +// - List +// +type ResFriendRecommend struct { + List []*ResPlayerSimple `thrift:"List,1" db:"List" json:"List"` +} + +func NewResFriendRecommend() *ResFriendRecommend { + return &ResFriendRecommend{} +} + +func (p *ResFriendRecommend) GetList() []*ResPlayerSimple { + return p.List +} + +func (p *ResFriendRecommend) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendRecommend) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ResPlayerSimple, 0, size) + p.List = tSlice + for i := 0; i < size; i++ { + _elem253 := &ResPlayerSimple{} + if err := _elem253.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem253), err) + } + p.List = append(p.List, _elem253) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResFriendRecommend) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendRecommend"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendRecommend) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "List", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:List: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.List)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.List { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:List: ", p), err) + } + return err +} + +func (p *ResFriendRecommend) Equals(other *ResFriendRecommend) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.List) != len(other.List) { + return false + } + for i, _tgt := range p.List { + _src254 := other.List[i] + if !_tgt.Equals(_src254) { + return false + } + } + return true +} + +func (p *ResFriendRecommend) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendRecommend(%+v)", *p) +} + +func (p *ResFriendRecommend) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendRecommend", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendRecommend)(nil) + +func (p *ResFriendRecommend) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Type +// - Param +// - Status +// - AddTime +// - EndTime +// - Player +// - Items +// +type ResFriendReply struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Type int32 `thrift:"Type,2" db:"Type" json:"Type"` + Param string `thrift:"Param,3" db:"Param" json:"Param"` + Status int32 `thrift:"Status,4" db:"Status" json:"Status"` + AddTime int64 `thrift:"AddTime,5" db:"AddTime" json:"AddTime"` + EndTime int64 `thrift:"EndTime,6" db:"EndTime" json:"EndTime"` + Player *ResPlayerSimple `thrift:"Player,7" db:"Player" json:"Player"` + Items []*ItemInfo `thrift:"Items,8" db:"Items" json:"Items"` +} + +func NewResFriendReply() *ResFriendReply { + return &ResFriendReply{} +} + +func (p *ResFriendReply) GetId() int32 { + return p.Id +} + +func (p *ResFriendReply) GetType() int32 { + return p.Type +} + +func (p *ResFriendReply) GetParam() string { + return p.Param +} + +func (p *ResFriendReply) GetStatus() int32 { + return p.Status +} + +func (p *ResFriendReply) GetAddTime() int64 { + return p.AddTime +} + +func (p *ResFriendReply) GetEndTime() int64 { + return p.EndTime +} + +var ResFriendReply_Player_DEFAULT *ResPlayerSimple + +func (p *ResFriendReply) GetPlayer() *ResPlayerSimple { + if !p.IsSetPlayer() { + return ResFriendReply_Player_DEFAULT + } + return p.Player +} + +func (p *ResFriendReply) GetItems() []*ItemInfo { + return p.Items +} + +func (p *ResFriendReply) IsSetPlayer() bool { + return p.Player != nil +} + +func (p *ResFriendReply) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I64 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I64 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.LIST { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendReply) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResFriendReply) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ResFriendReply) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Param = v + } + return nil +} + +func (p *ResFriendReply) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ResFriendReply) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.AddTime = v + } + return nil +} + +func (p *ResFriendReply) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *ResFriendReply) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + p.Player = &ResPlayerSimple{} + if err := p.Player.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Player), err) + } + return nil +} + +func (p *ResFriendReply) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem255 := &ItemInfo{} + if err := _elem255.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem255), err) + } + p.Items = append(p.Items, _elem255) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResFriendReply) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendReply"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendReply) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ResFriendReply) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Type: ", p), err) + } + return err +} + +func (p *ResFriendReply) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Param", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Param: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Param)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Param (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Param: ", p), err) + } + return err +} + +func (p *ResFriendReply) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Status: ", p), err) + } + return err +} + +func (p *ResFriendReply) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AddTime", thrift.I64, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:AddTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.AddTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AddTime (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:AddTime: ", p), err) + } + return err +} + +func (p *ResFriendReply) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I64, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:EndTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:EndTime: ", p), err) + } + return err +} + +func (p *ResFriendReply) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Player", thrift.STRUCT, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:Player: ", p), err) + } + if err := p.Player.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Player), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:Player: ", p), err) + } + return err +} + +func (p *ResFriendReply) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:Items: ", p), err) + } + return err +} + +func (p *ResFriendReply) Equals(other *ResFriendReply) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Type != other.Type { + return false + } + if p.Param != other.Param { + return false + } + if p.Status != other.Status { + return false + } + if p.AddTime != other.AddTime { + return false + } + if p.EndTime != other.EndTime { + return false + } + if !p.Player.Equals(other.Player) { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src256 := other.Items[i] + if !_tgt.Equals(_src256) { + return false + } + } + return true +} + +func (p *ResFriendReply) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendReply(%+v)", *p) +} + +func (p *ResFriendReply) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendReply", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendReply)(nil) + +func (p *ResFriendReply) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - LogId +// - Type +// - ErrType +// +type ResFriendReplyHandle struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + LogId int32 `thrift:"LogId,3" db:"LogId" json:"LogId"` + Type int32 `thrift:"Type,4" db:"Type" json:"Type"` + ErrType FRIEND_REPLY_HANDLE_ERR_TYPE `thrift:"ErrType,5" db:"ErrType" json:"ErrType"` +} + +func NewResFriendReplyHandle() *ResFriendReplyHandle { + return &ResFriendReplyHandle{} +} + +func (p *ResFriendReplyHandle) GetCode() RES_CODE { + return p.Code +} + +func (p *ResFriendReplyHandle) GetMsg() string { + return p.Msg +} + +func (p *ResFriendReplyHandle) GetLogId() int32 { + return p.LogId +} + +func (p *ResFriendReplyHandle) GetType() int32 { + return p.Type +} + +func (p *ResFriendReplyHandle) GetErrType() FRIEND_REPLY_HANDLE_ERR_TYPE { + return p.ErrType +} + +func (p *ResFriendReplyHandle) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendReplyHandle) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResFriendReplyHandle) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResFriendReplyHandle) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.LogId = v + } + return nil +} + +func (p *ResFriendReplyHandle) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ResFriendReplyHandle) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + temp := FRIEND_REPLY_HANDLE_ERR_TYPE(v) + p.ErrType = temp + } + return nil +} + +func (p *ResFriendReplyHandle) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendReplyHandle"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendReplyHandle) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResFriendReplyHandle) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResFriendReplyHandle) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "LogId", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:LogId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.LogId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.LogId (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:LogId: ", p), err) + } + return err +} + +func (p *ResFriendReplyHandle) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Type: ", p), err) + } + return err +} + +func (p *ResFriendReplyHandle) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ErrType", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:ErrType: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ErrType)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ErrType (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:ErrType: ", p), err) + } + return err +} + +func (p *ResFriendReplyHandle) Equals(other *ResFriendReplyHandle) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.LogId != other.LogId { + return false + } + if p.Type != other.Type { + return false + } + if p.ErrType != other.ErrType { + return false + } + return true +} + +func (p *ResFriendReplyHandle) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendReplyHandle(%+v)", *p) +} + +func (p *ResFriendReplyHandle) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendReplyHandle", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendReplyHandle)(nil) + +func (p *ResFriendReplyHandle) Validate() error { + return nil +} + +// Attributes: +// - Info +// - Type +// - Time +// +type ResFriendReplyNotify struct { + Info *ResFriendReply `thrift:"info,1" db:"info" json:"info"` + Type int32 `thrift:"Type,2" db:"Type" json:"Type"` + Time int32 `thrift:"Time,3" db:"Time" json:"Time"` +} + +func NewResFriendReplyNotify() *ResFriendReplyNotify { + return &ResFriendReplyNotify{} +} + +var ResFriendReplyNotify_Info_DEFAULT *ResFriendReply + +func (p *ResFriendReplyNotify) GetInfo() *ResFriendReply { + if !p.IsSetInfo() { + return ResFriendReplyNotify_Info_DEFAULT + } + return p.Info +} + +func (p *ResFriendReplyNotify) GetType() int32 { + return p.Type +} + +func (p *ResFriendReplyNotify) GetTime() int32 { + return p.Time +} + +func (p *ResFriendReplyNotify) IsSetInfo() bool { + return p.Info != nil +} + +func (p *ResFriendReplyNotify) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendReplyNotify) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Info = &ResFriendReply{} + if err := p.Info.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Info), err) + } + return nil +} + +func (p *ResFriendReplyNotify) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ResFriendReplyNotify) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Time = v + } + return nil +} + +func (p *ResFriendReplyNotify) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendReplyNotify"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendReplyNotify) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "info", thrift.STRUCT, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:info: ", p), err) + } + if err := p.Info.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Info), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:info: ", p), err) + } + return err +} + +func (p *ResFriendReplyNotify) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Type: ", p), err) + } + return err +} + +func (p *ResFriendReplyNotify) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Time", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Time: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Time)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Time (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Time: ", p), err) + } + return err +} + +func (p *ResFriendReplyNotify) Equals(other *ResFriendReplyNotify) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if !p.Info.Equals(other.Info) { + return false + } + if p.Type != other.Type { + return false + } + if p.Time != other.Time { + return false + } + return true +} + +func (p *ResFriendReplyNotify) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendReplyNotify(%+v)", *p) +} + +func (p *ResFriendReplyNotify) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendReplyNotify", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendReplyNotify)(nil) + +func (p *ResFriendReplyNotify) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResFriendTLUpvote struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id int32 `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResFriendTLUpvote() *ResFriendTLUpvote { + return &ResFriendTLUpvote{} +} + +func (p *ResFriendTLUpvote) GetCode() RES_CODE { + return p.Code +} + +func (p *ResFriendTLUpvote) GetMsg() string { + return p.Msg +} + +func (p *ResFriendTLUpvote) GetId() int32 { + return p.Id +} + +func (p *ResFriendTLUpvote) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendTLUpvote) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResFriendTLUpvote) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResFriendTLUpvote) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResFriendTLUpvote) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendTLUpvote"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendTLUpvote) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResFriendTLUpvote) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResFriendTLUpvote) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResFriendTLUpvote) Equals(other *ResFriendTLUpvote) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResFriendTLUpvote) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendTLUpvote(%+v)", *p) +} + +func (p *ResFriendTLUpvote) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendTLUpvote", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendTLUpvote)(nil) + +func (p *ResFriendTLUpvote) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResFriendTReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id int32 `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResFriendTReward() *ResFriendTReward { + return &ResFriendTReward{} +} + +func (p *ResFriendTReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResFriendTReward) GetMsg() string { + return p.Msg +} + +func (p *ResFriendTReward) GetId() int32 { + return p.Id +} + +func (p *ResFriendTReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendTReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResFriendTReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResFriendTReward) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResFriendTReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendTReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendTReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResFriendTReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResFriendTReward) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResFriendTReward) Equals(other *ResFriendTReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResFriendTReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendTReward(%+v)", *p) +} + +func (p *ResFriendTReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendTReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendTReward)(nil) + +func (p *ResFriendTReward) Validate() error { + return nil +} + +// Attributes: +// - Log +// - Reply +// +type ResFriendTimeLine struct { + Log []*ResFriendLog `thrift:"Log,1" db:"Log" json:"Log"` + Reply []*ResFriendReply `thrift:"Reply,2" db:"Reply" json:"Reply"` +} + +func NewResFriendTimeLine() *ResFriendTimeLine { + return &ResFriendTimeLine{} +} + +func (p *ResFriendTimeLine) GetLog() []*ResFriendLog { + return p.Log +} + +func (p *ResFriendTimeLine) GetReply() []*ResFriendReply { + return p.Reply +} + +func (p *ResFriendTimeLine) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendTimeLine) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ResFriendLog, 0, size) + p.Log = tSlice + for i := 0; i < size; i++ { + _elem257 := &ResFriendLog{} + if err := _elem257.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem257), err) + } + p.Log = append(p.Log, _elem257) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResFriendTimeLine) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ResFriendReply, 0, size) + p.Reply = tSlice + for i := 0; i < size; i++ { + _elem258 := &ResFriendReply{} + if err := _elem258.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem258), err) + } + p.Reply = append(p.Reply, _elem258) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResFriendTimeLine) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendTimeLine"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendTimeLine) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Log", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Log: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Log)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Log { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Log: ", p), err) + } + return err +} + +func (p *ResFriendTimeLine) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Reply", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Reply: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Reply)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Reply { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Reply: ", p), err) + } + return err +} + +func (p *ResFriendTimeLine) Equals(other *ResFriendTimeLine) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Log) != len(other.Log) { + return false + } + for i, _tgt := range p.Log { + _src259 := other.Log[i] + if !_tgt.Equals(_src259) { + return false + } + } + if len(p.Reply) != len(other.Reply) { + return false + } + for i, _tgt := range p.Reply { + _src260 := other.Reply[i] + if !_tgt.Equals(_src260) { + return false + } + } + return true +} + +func (p *ResFriendTimeLine) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendTimeLine(%+v)", *p) +} + +func (p *ResFriendTimeLine) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendTimeLine", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendTimeLine)(nil) + +func (p *ResFriendTimeLine) Validate() error { + return nil +} + +// Attributes: +// - Status +// - Star +// - Shift +// - List +// - List2 +// - Uids +// +type ResFriendTreasure struct { + Status int32 `thrift:"Status,1" db:"Status" json:"Status"` + Star int32 `thrift:"Star,2" db:"Star" json:"Star"` + Shift int32 `thrift:"Shift,3" db:"Shift" json:"Shift"` + List []*TreasureInfo `thrift:"List,4" db:"List" json:"List"` + List2 []int32 `thrift:"List2,5" db:"List2" json:"List2"` + Uids []int64 `thrift:"Uids,6" db:"Uids" json:"Uids"` +} + +func NewResFriendTreasure() *ResFriendTreasure { + return &ResFriendTreasure{} +} + +func (p *ResFriendTreasure) GetStatus() int32 { + return p.Status +} + +func (p *ResFriendTreasure) GetStar() int32 { + return p.Star +} + +func (p *ResFriendTreasure) GetShift() int32 { + return p.Shift +} + +func (p *ResFriendTreasure) GetList() []*TreasureInfo { + return p.List +} + +func (p *ResFriendTreasure) GetList2() []int32 { + return p.List2 +} + +func (p *ResFriendTreasure) GetUids() []int64 { + return p.Uids +} + +func (p *ResFriendTreasure) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.LIST { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.LIST { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendTreasure) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ResFriendTreasure) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Star = v + } + return nil +} + +func (p *ResFriendTreasure) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Shift = v + } + return nil +} + +func (p *ResFriendTreasure) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*TreasureInfo, 0, size) + p.List = tSlice + for i := 0; i < size; i++ { + _elem261 := &TreasureInfo{} + if err := _elem261.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem261), err) + } + p.List = append(p.List, _elem261) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResFriendTreasure) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.List2 = tSlice + for i := 0; i < size; i++ { + var _elem262 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem262 = v + } + p.List2 = append(p.List2, _elem262) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResFriendTreasure) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int64, 0, size) + p.Uids = tSlice + for i := 0; i < size; i++ { + var _elem263 int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem263 = v + } + p.Uids = append(p.Uids, _elem263) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResFriendTreasure) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendTreasure"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendTreasure) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Status: ", p), err) + } + return err +} + +func (p *ResFriendTreasure) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Star", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Star: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Star)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Star (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Star: ", p), err) + } + return err +} + +func (p *ResFriendTreasure) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Shift", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Shift: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Shift)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Shift (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Shift: ", p), err) + } + return err +} + +func (p *ResFriendTreasure) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "List", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:List: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.List)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.List { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:List: ", p), err) + } + return err +} + +func (p *ResFriendTreasure) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "List2", thrift.LIST, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:List2: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.List2)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.List2 { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:List2: ", p), err) + } + return err +} + +func (p *ResFriendTreasure) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uids", thrift.LIST, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Uids: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.Uids)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Uids { + if err := oprot.WriteI64(ctx, int64(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Uids: ", p), err) + } + return err +} + +func (p *ResFriendTreasure) Equals(other *ResFriendTreasure) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Status != other.Status { + return false + } + if p.Star != other.Star { + return false + } + if p.Shift != other.Shift { + return false + } + if len(p.List) != len(other.List) { + return false + } + for i, _tgt := range p.List { + _src264 := other.List[i] + if !_tgt.Equals(_src264) { + return false + } + } + if len(p.List2) != len(other.List2) { + return false + } + for i, _tgt := range p.List2 { + _src265 := other.List2[i] + if _tgt != _src265 { + return false + } + } + if len(p.Uids) != len(other.Uids) { + return false + } + for i, _tgt := range p.Uids { + _src266 := other.Uids[i] + if _tgt != _src266 { + return false + } + } + return true +} + +func (p *ResFriendTreasure) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendTreasure(%+v)", *p) +} + +func (p *ResFriendTreasure) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendTreasure", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendTreasure)(nil) + +func (p *ResFriendTreasure) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResFriendTreasureEnd struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResFriendTreasureEnd() *ResFriendTreasureEnd { + return &ResFriendTreasureEnd{} +} + +func (p *ResFriendTreasureEnd) GetCode() RES_CODE { + return p.Code +} + +func (p *ResFriendTreasureEnd) GetMsg() string { + return p.Msg +} + +func (p *ResFriendTreasureEnd) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendTreasureEnd) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResFriendTreasureEnd) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResFriendTreasureEnd) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendTreasureEnd"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendTreasureEnd) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResFriendTreasureEnd) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResFriendTreasureEnd) Equals(other *ResFriendTreasureEnd) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResFriendTreasureEnd) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendTreasureEnd(%+v)", *p) +} + +func (p *ResFriendTreasureEnd) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendTreasureEnd", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendTreasureEnd)(nil) + +func (p *ResFriendTreasureEnd) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResFriendTreasureFilp struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResFriendTreasureFilp() *ResFriendTreasureFilp { + return &ResFriendTreasureFilp{} +} + +func (p *ResFriendTreasureFilp) GetCode() RES_CODE { + return p.Code +} + +func (p *ResFriendTreasureFilp) GetMsg() string { + return p.Msg +} + +func (p *ResFriendTreasureFilp) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendTreasureFilp) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResFriendTreasureFilp) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResFriendTreasureFilp) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendTreasureFilp"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendTreasureFilp) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResFriendTreasureFilp) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResFriendTreasureFilp) Equals(other *ResFriendTreasureFilp) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResFriendTreasureFilp) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendTreasureFilp(%+v)", *p) +} + +func (p *ResFriendTreasureFilp) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendTreasureFilp", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendTreasureFilp)(nil) + +func (p *ResFriendTreasureFilp) Validate() error { + return nil +} + +// Attributes: +// - Star +// +type ResFriendTreasureStar struct { + Star int32 `thrift:"Star,1" db:"Star" json:"Star"` +} + +func NewResFriendTreasureStar() *ResFriendTreasureStar { + return &ResFriendTreasureStar{} +} + +func (p *ResFriendTreasureStar) GetStar() int32 { + return p.Star +} + +func (p *ResFriendTreasureStar) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendTreasureStar) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Star = v + } + return nil +} + +func (p *ResFriendTreasureStar) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendTreasureStar"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendTreasureStar) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Star", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Star: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Star)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Star (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Star: ", p), err) + } + return err +} + +func (p *ResFriendTreasureStar) Equals(other *ResFriendTreasureStar) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Star != other.Star { + return false + } + return true +} + +func (p *ResFriendTreasureStar) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendTreasureStar(%+v)", *p) +} + +func (p *ResFriendTreasureStar) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendTreasureStar", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendTreasureStar)(nil) + +func (p *ResFriendTreasureStar) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResFriendTreasureStart struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResFriendTreasureStart() *ResFriendTreasureStart { + return &ResFriendTreasureStart{} +} + +func (p *ResFriendTreasureStart) GetCode() RES_CODE { + return p.Code +} + +func (p *ResFriendTreasureStart) GetMsg() string { + return p.Msg +} + +func (p *ResFriendTreasureStart) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFriendTreasureStart) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResFriendTreasureStart) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResFriendTreasureStart) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFriendTreasureStart"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFriendTreasureStart) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResFriendTreasureStart) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResFriendTreasureStart) Equals(other *ResFriendTreasureStart) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResFriendTreasureStart) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFriendTreasureStart(%+v)", *p) +} + +func (p *ResFriendTreasureStart) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFriendTreasureStart", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFriendTreasureStart)(nil) + +func (p *ResFriendTreasureStart) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResFurSet struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResFurSet() *ResFurSet { + return &ResFurSet{} +} + +func (p *ResFurSet) GetCode() RES_CODE { + return p.Code +} + +func (p *ResFurSet) GetMsg() string { + return p.Msg +} + +func (p *ResFurSet) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResFurSet) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResFurSet) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResFurSet) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResFurSet"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResFurSet) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResFurSet) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResFurSet) Equals(other *ResFurSet) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResFurSet) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResFurSet(%+v)", *p) +} + +func (p *ResFurSet) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResFurSet", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResFurSet)(nil) + +func (p *ResFurSet) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResGetChessFromBuff struct { + Code RES_CODE `thrift:"code,1" db:"code" json:"code"` + Msg string `thrift:"msg,2" db:"msg" json:"msg"` +} + +func NewResGetChessFromBuff() *ResGetChessFromBuff { + return &ResGetChessFromBuff{} +} + +func (p *ResGetChessFromBuff) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGetChessFromBuff) GetMsg() string { + return p.Msg +} + +func (p *ResGetChessFromBuff) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGetChessFromBuff) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGetChessFromBuff) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGetChessFromBuff) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGetChessFromBuff"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGetChessFromBuff) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err) + } + return err +} + +func (p *ResGetChessFromBuff) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:msg: ", p), err) + } + return err +} + +func (p *ResGetChessFromBuff) Equals(other *ResGetChessFromBuff) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResGetChessFromBuff) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGetChessFromBuff(%+v)", *p) +} + +func (p *ResGetChessFromBuff) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGetChessFromBuff", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGetChessFromBuff)(nil) + +func (p *ResGetChessFromBuff) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResGetChessRetireReward struct { + Code RES_CODE `thrift:"code,1" db:"code" json:"code"` + Msg string `thrift:"msg,2" db:"msg" json:"msg"` + Id string `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResGetChessRetireReward() *ResGetChessRetireReward { + return &ResGetChessRetireReward{} +} + +func (p *ResGetChessRetireReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGetChessRetireReward) GetMsg() string { + return p.Msg +} + +func (p *ResGetChessRetireReward) GetId() string { + return p.Id +} + +func (p *ResGetChessRetireReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGetChessRetireReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGetChessRetireReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGetChessRetireReward) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResGetChessRetireReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGetChessRetireReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGetChessRetireReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err) + } + return err +} + +func (p *ResGetChessRetireReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:msg: ", p), err) + } + return err +} + +func (p *ResGetChessRetireReward) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResGetChessRetireReward) Equals(other *ResGetChessRetireReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResGetChessRetireReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGetChessRetireReward(%+v)", *p) +} + +func (p *ResGetChessRetireReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGetChessRetireReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGetChessRetireReward)(nil) + +func (p *ResGetChessRetireReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResGetDailyTaskReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResGetDailyTaskReward() *ResGetDailyTaskReward { + return &ResGetDailyTaskReward{} +} + +func (p *ResGetDailyTaskReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGetDailyTaskReward) GetMsg() string { + return p.Msg +} + +func (p *ResGetDailyTaskReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGetDailyTaskReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGetDailyTaskReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGetDailyTaskReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGetDailyTaskReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGetDailyTaskReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResGetDailyTaskReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResGetDailyTaskReward) Equals(other *ResGetDailyTaskReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResGetDailyTaskReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGetDailyTaskReward(%+v)", *p) +} + +func (p *ResGetDailyTaskReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGetDailyTaskReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGetDailyTaskReward)(nil) + +func (p *ResGetDailyTaskReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResGetDailyWeekReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResGetDailyWeekReward() *ResGetDailyWeekReward { + return &ResGetDailyWeekReward{} +} + +func (p *ResGetDailyWeekReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGetDailyWeekReward) GetMsg() string { + return p.Msg +} + +func (p *ResGetDailyWeekReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGetDailyWeekReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGetDailyWeekReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGetDailyWeekReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGetDailyWeekReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGetDailyWeekReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResGetDailyWeekReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResGetDailyWeekReward) Equals(other *ResGetDailyWeekReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResGetDailyWeekReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGetDailyWeekReward(%+v)", *p) +} + +func (p *ResGetDailyWeekReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGetDailyWeekReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGetDailyWeekReward)(nil) + +func (p *ResGetDailyWeekReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResGetEnergyByAD struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResGetEnergyByAD() *ResGetEnergyByAD { + return &ResGetEnergyByAD{} +} + +func (p *ResGetEnergyByAD) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGetEnergyByAD) GetMsg() string { + return p.Msg +} + +func (p *ResGetEnergyByAD) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGetEnergyByAD) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGetEnergyByAD) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGetEnergyByAD) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGetEnergyByAD"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGetEnergyByAD) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResGetEnergyByAD) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResGetEnergyByAD) Equals(other *ResGetEnergyByAD) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResGetEnergyByAD) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGetEnergyByAD(%+v)", *p) +} + +func (p *ResGetEnergyByAD) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGetEnergyByAD", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGetEnergyByAD)(nil) + +func (p *ResGetEnergyByAD) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// - CardId +// - Emoji +// +type ResGetFriendCard struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id string `thrift:"Id,3" db:"Id" json:"Id"` + CardId int32 `thrift:"CardId,4" db:"CardId" json:"CardId"` + Emoji int32 `thrift:"Emoji,5" db:"Emoji" json:"Emoji"` +} + +func NewResGetFriendCard() *ResGetFriendCard { + return &ResGetFriendCard{} +} + +func (p *ResGetFriendCard) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGetFriendCard) GetMsg() string { + return p.Msg +} + +func (p *ResGetFriendCard) GetId() string { + return p.Id +} + +func (p *ResGetFriendCard) GetCardId() int32 { + return p.CardId +} + +func (p *ResGetFriendCard) GetEmoji() int32 { + return p.Emoji +} + +func (p *ResGetFriendCard) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGetFriendCard) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGetFriendCard) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGetFriendCard) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResGetFriendCard) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.CardId = v + } + return nil +} + +func (p *ResGetFriendCard) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Emoji = v + } + return nil +} + +func (p *ResGetFriendCard) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGetFriendCard"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGetFriendCard) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResGetFriendCard) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResGetFriendCard) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResGetFriendCard) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CardId", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:CardId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.CardId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.CardId (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:CardId: ", p), err) + } + return err +} + +func (p *ResGetFriendCard) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Emoji", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Emoji: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Emoji)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Emoji (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Emoji: ", p), err) + } + return err +} + +func (p *ResGetFriendCard) Equals(other *ResGetFriendCard) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + if p.CardId != other.CardId { + return false + } + if p.Emoji != other.Emoji { + return false + } + return true +} + +func (p *ResGetFriendCard) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGetFriendCard(%+v)", *p) +} + +func (p *ResGetFriendCard) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGetFriendCard", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGetFriendCard)(nil) + +func (p *ResGetFriendCard) Validate() error { + return nil +} + +// Attributes: +// - Four +// - Five +// +type ResGetGoldCard struct { + Four int32 `thrift:"Four,1" db:"Four" json:"Four"` + Five int32 `thrift:"Five,2" db:"Five" json:"Five"` +} + +func NewResGetGoldCard() *ResGetGoldCard { + return &ResGetGoldCard{} +} + +func (p *ResGetGoldCard) GetFour() int32 { + return p.Four +} + +func (p *ResGetGoldCard) GetFive() int32 { + return p.Five +} + +func (p *ResGetGoldCard) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGetGoldCard) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Four = v + } + return nil +} + +func (p *ResGetGoldCard) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Five = v + } + return nil +} + +func (p *ResGetGoldCard) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGetGoldCard"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGetGoldCard) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Four", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Four: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Four)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Four (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Four: ", p), err) + } + return err +} + +func (p *ResGetGoldCard) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Five", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Five: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Five)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Five (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Five: ", p), err) + } + return err +} + +func (p *ResGetGoldCard) Equals(other *ResGetGoldCard) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Four != other.Four { + return false + } + if p.Five != other.Five { + return false + } + return true +} + +func (p *ResGetGoldCard) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGetGoldCard(%+v)", *p) +} + +func (p *ResGetGoldCard) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGetGoldCard", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGetGoldCard)(nil) + +func (p *ResGetGoldCard) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResGetGuideActiveReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id int32 `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResGetGuideActiveReward() *ResGetGuideActiveReward { + return &ResGetGuideActiveReward{} +} + +func (p *ResGetGuideActiveReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGetGuideActiveReward) GetMsg() string { + return p.Msg +} + +func (p *ResGetGuideActiveReward) GetId() int32 { + return p.Id +} + +func (p *ResGetGuideActiveReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGetGuideActiveReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGetGuideActiveReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGetGuideActiveReward) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResGetGuideActiveReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGetGuideActiveReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGetGuideActiveReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResGetGuideActiveReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResGetGuideActiveReward) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResGetGuideActiveReward) Equals(other *ResGetGuideActiveReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResGetGuideActiveReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGetGuideActiveReward(%+v)", *p) +} + +func (p *ResGetGuideActiveReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGetGuideActiveReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGetGuideActiveReward)(nil) + +func (p *ResGetGuideActiveReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResGetGuideTaskReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id int32 `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResGetGuideTaskReward() *ResGetGuideTaskReward { + return &ResGetGuideTaskReward{} +} + +func (p *ResGetGuideTaskReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGetGuideTaskReward) GetMsg() string { + return p.Msg +} + +func (p *ResGetGuideTaskReward) GetId() int32 { + return p.Id +} + +func (p *ResGetGuideTaskReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGetGuideTaskReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGetGuideTaskReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGetGuideTaskReward) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResGetGuideTaskReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGetGuideTaskReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGetGuideTaskReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResGetGuideTaskReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResGetGuideTaskReward) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResGetGuideTaskReward) Equals(other *ResGetGuideTaskReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResGetGuideTaskReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGetGuideTaskReward(%+v)", *p) +} + +func (p *ResGetGuideTaskReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGetGuideTaskReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGetGuideTaskReward)(nil) + +func (p *ResGetGuideTaskReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResGetHandbookReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResGetHandbookReward() *ResGetHandbookReward { + return &ResGetHandbookReward{} +} + +func (p *ResGetHandbookReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGetHandbookReward) GetMsg() string { + return p.Msg +} + +func (p *ResGetHandbookReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGetHandbookReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGetHandbookReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGetHandbookReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGetHandbookReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGetHandbookReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResGetHandbookReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResGetHandbookReward) Equals(other *ResGetHandbookReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResGetHandbookReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGetHandbookReward(%+v)", *p) +} + +func (p *ResGetHandbookReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGetHandbookReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGetHandbookReward)(nil) + +func (p *ResGetHandbookReward) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// +type ResGetInviteReward struct { + ResultCode int32 `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` +} + +func NewResGetInviteReward() *ResGetInviteReward { + return &ResGetInviteReward{} +} + +func (p *ResGetInviteReward) GetResultCode() int32 { + return p.ResultCode +} + +func (p *ResGetInviteReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGetInviteReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ResultCode = v + } + return nil +} + +func (p *ResGetInviteReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGetInviteReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGetInviteReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *ResGetInviteReward) Equals(other *ResGetInviteReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + return true +} + +func (p *ResGetInviteReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGetInviteReward(%+v)", *p) +} + +func (p *ResGetInviteReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGetInviteReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGetInviteReward)(nil) + +func (p *ResGetInviteReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResGetMailReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id int32 `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResGetMailReward() *ResGetMailReward { + return &ResGetMailReward{} +} + +func (p *ResGetMailReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGetMailReward) GetMsg() string { + return p.Msg +} + +func (p *ResGetMailReward) GetId() int32 { + return p.Id +} + +func (p *ResGetMailReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGetMailReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGetMailReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGetMailReward) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResGetMailReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGetMailReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGetMailReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResGetMailReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResGetMailReward) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResGetMailReward) Equals(other *ResGetMailReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResGetMailReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGetMailReward(%+v)", *p) +} + +func (p *ResGetMailReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGetMailReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGetMailReward)(nil) + +func (p *ResGetMailReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResGetMonthLoginReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResGetMonthLoginReward() *ResGetMonthLoginReward { + return &ResGetMonthLoginReward{} +} + +func (p *ResGetMonthLoginReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGetMonthLoginReward) GetMsg() string { + return p.Msg +} + +func (p *ResGetMonthLoginReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGetMonthLoginReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGetMonthLoginReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGetMonthLoginReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGetMonthLoginReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGetMonthLoginReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResGetMonthLoginReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResGetMonthLoginReward) Equals(other *ResGetMonthLoginReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResGetMonthLoginReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGetMonthLoginReward(%+v)", *p) +} + +func (p *ResGetMonthLoginReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGetMonthLoginReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGetMonthLoginReward)(nil) + +func (p *ResGetMonthLoginReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResGetSevenLoginReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResGetSevenLoginReward() *ResGetSevenLoginReward { + return &ResGetSevenLoginReward{} +} + +func (p *ResGetSevenLoginReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGetSevenLoginReward) GetMsg() string { + return p.Msg +} + +func (p *ResGetSevenLoginReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGetSevenLoginReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGetSevenLoginReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGetSevenLoginReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGetSevenLoginReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGetSevenLoginReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResGetSevenLoginReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResGetSevenLoginReward) Equals(other *ResGetSevenLoginReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResGetSevenLoginReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGetSevenLoginReward(%+v)", *p) +} + +func (p *ResGetSevenLoginReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGetSevenLoginReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGetSevenLoginReward)(nil) + +func (p *ResGetSevenLoginReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResGetWish struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResGetWish() *ResGetWish { + return &ResGetWish{} +} + +func (p *ResGetWish) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGetWish) GetMsg() string { + return p.Msg +} + +func (p *ResGetWish) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGetWish) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGetWish) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGetWish) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGetWish"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGetWish) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResGetWish) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResGetWish) Equals(other *ResGetWish) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResGetWish) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGetWish(%+v)", *p) +} + +func (p *ResGetWish) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGetWish", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGetWish)(nil) + +func (p *ResGetWish) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Status +// - EndTime +// - Template +// - Pass +// - MapList +// - OMap +// - WinTime +// - Opponent +// +type ResGuessColor struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Status int32 `thrift:"Status,2" db:"Status" json:"Status"` + EndTime int32 `thrift:"EndTime,3" db:"EndTime" json:"EndTime"` + Template int32 `thrift:"Template,4" db:"Template" json:"Template"` + Pass int32 `thrift:"Pass,5" db:"Pass" json:"Pass"` + MapList []*GuessColorInfo `thrift:"MapList,6" db:"MapList" json:"MapList"` + OMap map[int32]int32 `thrift:"OMap,7" db:"OMap" json:"OMap"` + WinTime int32 `thrift:"WinTime,8" db:"WinTime" json:"WinTime"` + Opponent *Opponent `thrift:"Opponent,9" db:"Opponent" json:"Opponent"` +} + +func NewResGuessColor() *ResGuessColor { + return &ResGuessColor{} +} + +func (p *ResGuessColor) GetId() int32 { + return p.Id +} + +func (p *ResGuessColor) GetStatus() int32 { + return p.Status +} + +func (p *ResGuessColor) GetEndTime() int32 { + return p.EndTime +} + +func (p *ResGuessColor) GetTemplate() int32 { + return p.Template +} + +func (p *ResGuessColor) GetPass() int32 { + return p.Pass +} + +func (p *ResGuessColor) GetMapList() []*GuessColorInfo { + return p.MapList +} + +func (p *ResGuessColor) GetOMap() map[int32]int32 { + return p.OMap +} + +func (p *ResGuessColor) GetWinTime() int32 { + return p.WinTime +} + +var ResGuessColor_Opponent_DEFAULT *Opponent + +func (p *ResGuessColor) GetOpponent() *Opponent { + if !p.IsSetOpponent() { + return ResGuessColor_Opponent_DEFAULT + } + return p.Opponent +} + +func (p *ResGuessColor) IsSetOpponent() bool { + return p.Opponent != nil +} + +func (p *ResGuessColor) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.LIST { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.MAP { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.I32 { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGuessColor) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResGuessColor) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ResGuessColor) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *ResGuessColor) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Template = v + } + return nil +} + +func (p *ResGuessColor) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Pass = v + } + return nil +} + +func (p *ResGuessColor) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*GuessColorInfo, 0, size) + p.MapList = tSlice + for i := 0; i < size; i++ { + _elem267 := &GuessColorInfo{} + if err := _elem267.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem267), err) + } + p.MapList = append(p.MapList, _elem267) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResGuessColor) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.OMap = tMap + for i := 0; i < size; i++ { + var _key268 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key268 = v + } + var _val269 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val269 = v + } + p.OMap[_key268] = _val269 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResGuessColor) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.WinTime = v + } + return nil +} + +func (p *ResGuessColor) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + p.Opponent = &Opponent{} + if err := p.Opponent.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Opponent), err) + } + return nil +} + +func (p *ResGuessColor) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGuessColor"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGuessColor) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ResGuessColor) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Status: ", p), err) + } + return err +} + +func (p *ResGuessColor) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:EndTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:EndTime: ", p), err) + } + return err +} + +func (p *ResGuessColor) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Template", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Template: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Template)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Template (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Template: ", p), err) + } + return err +} + +func (p *ResGuessColor) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Pass", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Pass: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Pass)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Pass (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Pass: ", p), err) + } + return err +} + +func (p *ResGuessColor) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MapList", thrift.LIST, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:MapList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.MapList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.MapList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:MapList: ", p), err) + } + return err +} + +func (p *ResGuessColor) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "OMap", thrift.MAP, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:OMap: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.OMap)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.OMap { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:OMap: ", p), err) + } + return err +} + +func (p *ResGuessColor) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "WinTime", thrift.I32, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:WinTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.WinTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.WinTime (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:WinTime: ", p), err) + } + return err +} + +func (p *ResGuessColor) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Opponent", thrift.STRUCT, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:Opponent: ", p), err) + } + if err := p.Opponent.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Opponent), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:Opponent: ", p), err) + } + return err +} + +func (p *ResGuessColor) Equals(other *ResGuessColor) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Status != other.Status { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.Template != other.Template { + return false + } + if p.Pass != other.Pass { + return false + } + if len(p.MapList) != len(other.MapList) { + return false + } + for i, _tgt := range p.MapList { + _src270 := other.MapList[i] + if !_tgt.Equals(_src270) { + return false + } + } + if len(p.OMap) != len(other.OMap) { + return false + } + for k, _tgt := range p.OMap { + _src271 := other.OMap[k] + if _tgt != _src271 { + return false + } + } + if p.WinTime != other.WinTime { + return false + } + if !p.Opponent.Equals(other.Opponent) { + return false + } + return true +} + +func (p *ResGuessColor) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGuessColor(%+v)", *p) +} + +func (p *ResGuessColor) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGuessColor", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGuessColor)(nil) + +func (p *ResGuessColor) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResGuessColorReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResGuessColorReward() *ResGuessColorReward { + return &ResGuessColorReward{} +} + +func (p *ResGuessColorReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGuessColorReward) GetMsg() string { + return p.Msg +} + +func (p *ResGuessColorReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGuessColorReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGuessColorReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGuessColorReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGuessColorReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGuessColorReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResGuessColorReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResGuessColorReward) Equals(other *ResGuessColorReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResGuessColorReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGuessColorReward(%+v)", *p) +} + +func (p *ResGuessColorReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGuessColorReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGuessColorReward)(nil) + +func (p *ResGuessColorReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResGuessColorTake struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResGuessColorTake() *ResGuessColorTake { + return &ResGuessColorTake{} +} + +func (p *ResGuessColorTake) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGuessColorTake) GetMsg() string { + return p.Msg +} + +func (p *ResGuessColorTake) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGuessColorTake) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGuessColorTake) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGuessColorTake) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGuessColorTake"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGuessColorTake) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResGuessColorTake) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResGuessColorTake) Equals(other *ResGuessColorTake) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResGuessColorTake) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGuessColorTake(%+v)", *p) +} + +func (p *ResGuessColorTake) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGuessColorTake", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGuessColorTake)(nil) + +func (p *ResGuessColorTake) Validate() error { + return nil +} + +// Attributes: +// - Reward +// +type ResGuideInfo struct { + Reward map[int32]int32 `thrift:"Reward,1" db:"Reward" json:"Reward"` +} + +func NewResGuideInfo() *ResGuideInfo { + return &ResGuideInfo{} +} + +func (p *ResGuideInfo) GetReward() map[int32]int32 { + return p.Reward +} + +func (p *ResGuideInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGuideInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Reward = tMap + for i := 0; i < size; i++ { + var _key272 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key272 = v + } + var _val273 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val273 = v + } + p.Reward[_key272] = _val273 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResGuideInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGuideInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGuideInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Reward", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Reward: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Reward)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Reward { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Reward: ", p), err) + } + return err +} + +func (p *ResGuideInfo) Equals(other *ResGuideInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Reward) != len(other.Reward) { + return false + } + for k, _tgt := range p.Reward { + _src274 := other.Reward[k] + if _tgt != _src274 { + return false + } + } + return true +} + +func (p *ResGuideInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGuideInfo(%+v)", *p) +} + +func (p *ResGuideInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGuideInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGuideInfo)(nil) + +func (p *ResGuideInfo) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResGuidePlayroom struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResGuidePlayroom() *ResGuidePlayroom { + return &ResGuidePlayroom{} +} + +func (p *ResGuidePlayroom) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGuidePlayroom) GetMsg() string { + return p.Msg +} + +func (p *ResGuidePlayroom) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGuidePlayroom) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGuidePlayroom) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGuidePlayroom) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGuidePlayroom"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGuidePlayroom) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResGuidePlayroom) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResGuidePlayroom) Equals(other *ResGuidePlayroom) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResGuidePlayroom) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGuidePlayroom(%+v)", *p) +} + +func (p *ResGuidePlayroom) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGuidePlayroom", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGuidePlayroom)(nil) + +func (p *ResGuidePlayroom) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResGuideReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResGuideReward() *ResGuideReward { + return &ResGuideReward{} +} + +func (p *ResGuideReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResGuideReward) GetMsg() string { + return p.Msg +} + +func (p *ResGuideReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGuideReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResGuideReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResGuideReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGuideReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGuideReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResGuideReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResGuideReward) Equals(other *ResGuideReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResGuideReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGuideReward(%+v)", *p) +} + +func (p *ResGuideReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGuideReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGuideReward)(nil) + +func (p *ResGuideReward) Validate() error { + return nil +} + +// Attributes: +// - ActiveReward +// - Task +// - Active +// - UnlockTime +// +type ResGuideTask struct { + ActiveReward []int32 `thrift:"ActiveReward,1" db:"ActiveReward" json:"ActiveReward"` + Task map[int32]*GuideTask `thrift:"Task,2" db:"Task" json:"Task"` + Active int32 `thrift:"Active,3" db:"Active" json:"Active"` + UnlockTime int32 `thrift:"UnlockTime,4" db:"UnlockTime" json:"UnlockTime"` +} + +func NewResGuideTask() *ResGuideTask { + return &ResGuideTask{} +} + +func (p *ResGuideTask) GetActiveReward() []int32 { + return p.ActiveReward +} + +func (p *ResGuideTask) GetTask() map[int32]*GuideTask { + return p.Task +} + +func (p *ResGuideTask) GetActive() int32 { + return p.Active +} + +func (p *ResGuideTask) GetUnlockTime() int32 { + return p.UnlockTime +} + +func (p *ResGuideTask) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResGuideTask) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.ActiveReward = tSlice + for i := 0; i < size; i++ { + var _elem275 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem275 = v + } + p.ActiveReward = append(p.ActiveReward, _elem275) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResGuideTask) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*GuideTask, size) + p.Task = tMap + for i := 0; i < size; i++ { + var _key276 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key276 = v + } + _val277 := &GuideTask{} + if err := _val277.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val277), err) + } + p.Task[_key276] = _val277 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResGuideTask) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Active = v + } + return nil +} + +func (p *ResGuideTask) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.UnlockTime = v + } + return nil +} + +func (p *ResGuideTask) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResGuideTask"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResGuideTask) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ActiveReward", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ActiveReward: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.ActiveReward)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ActiveReward { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ActiveReward: ", p), err) + } + return err +} + +func (p *ResGuideTask) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Task", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Task: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.Task)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Task { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Task: ", p), err) + } + return err +} + +func (p *ResGuideTask) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Active", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Active: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Active)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Active (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Active: ", p), err) + } + return err +} + +func (p *ResGuideTask) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "UnlockTime", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:UnlockTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.UnlockTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.UnlockTime (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:UnlockTime: ", p), err) + } + return err +} + +func (p *ResGuideTask) Equals(other *ResGuideTask) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.ActiveReward) != len(other.ActiveReward) { + return false + } + for i, _tgt := range p.ActiveReward { + _src278 := other.ActiveReward[i] + if _tgt != _src278 { + return false + } + } + if len(p.Task) != len(other.Task) { + return false + } + for k, _tgt := range p.Task { + _src279 := other.Task[k] + if !_tgt.Equals(_src279) { + return false + } + } + if p.Active != other.Active { + return false + } + if p.UnlockTime != other.UnlockTime { + return false + } + return true +} + +func (p *ResGuideTask) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResGuideTask(%+v)", *p) +} + +func (p *ResGuideTask) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResGuideTask", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResGuideTask)(nil) + +func (p *ResGuideTask) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResHandbookAllReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResHandbookAllReward() *ResHandbookAllReward { + return &ResHandbookAllReward{} +} + +func (p *ResHandbookAllReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResHandbookAllReward) GetMsg() string { + return p.Msg +} + +func (p *ResHandbookAllReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResHandbookAllReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResHandbookAllReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResHandbookAllReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResHandbookAllReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResHandbookAllReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResHandbookAllReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResHandbookAllReward) Equals(other *ResHandbookAllReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResHandbookAllReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResHandbookAllReward(%+v)", *p) +} + +func (p *ResHandbookAllReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResHandbookAllReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResHandbookAllReward)(nil) + +func (p *ResHandbookAllReward) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// - Msg +// +type ResId2Verify struct { + ResultCode RES_CODE `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResId2Verify() *ResId2Verify { + return &ResId2Verify{} +} + +func (p *ResId2Verify) GetResultCode() RES_CODE { + return p.ResultCode +} + +func (p *ResId2Verify) GetMsg() string { + return p.Msg +} + +func (p *ResId2Verify) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResId2Verify) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.ResultCode = temp + } + return nil +} + +func (p *ResId2Verify) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResId2Verify) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResId2Verify"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResId2Verify) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *ResId2Verify) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResId2Verify) Equals(other *ResId2Verify) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResId2Verify) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResId2Verify(%+v)", *p) +} + +func (p *ResId2Verify) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResId2Verify", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResId2Verify)(nil) + +func (p *ResId2Verify) Validate() error { + return nil +} + +// Attributes: +// - IdLists +// - GetIndex +// +type ResInviteFriendData struct { + IdLists []int32 `thrift:"IdLists,1" db:"IdLists" json:"IdLists"` + GetIndex int32 `thrift:"GetIndex,2" db:"GetIndex" json:"GetIndex"` +} + +func NewResInviteFriendData() *ResInviteFriendData { + return &ResInviteFriendData{} +} + +func (p *ResInviteFriendData) GetIdLists() []int32 { + return p.IdLists +} + +func (p *ResInviteFriendData) GetGetIndex() int32 { + return p.GetIndex +} + +func (p *ResInviteFriendData) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResInviteFriendData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.IdLists = tSlice + for i := 0; i < size; i++ { + var _elem280 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem280 = v + } + p.IdLists = append(p.IdLists, _elem280) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResInviteFriendData) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.GetIndex = v + } + return nil +} + +func (p *ResInviteFriendData) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResInviteFriendData"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResInviteFriendData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "IdLists", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:IdLists: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.IdLists)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.IdLists { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:IdLists: ", p), err) + } + return err +} + +func (p *ResInviteFriendData) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "GetIndex", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:GetIndex: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.GetIndex)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.GetIndex (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:GetIndex: ", p), err) + } + return err +} + +func (p *ResInviteFriendData) Equals(other *ResInviteFriendData) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.IdLists) != len(other.IdLists) { + return false + } + for i, _tgt := range p.IdLists { + _src281 := other.IdLists[i] + if _tgt != _src281 { + return false + } + } + if p.GetIndex != other.GetIndex { + return false + } + return true +} + +func (p *ResInviteFriendData) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResInviteFriendData(%+v)", *p) +} + +func (p *ResInviteFriendData) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResInviteFriendData", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResInviteFriendData)(nil) + +func (p *ResInviteFriendData) Validate() error { + return nil +} + +// Attributes: +// - Item +// +type ResItem struct { + Item map[int32]int32 `thrift:"Item,1" db:"Item" json:"Item"` +} + +func NewResItem() *ResItem { + return &ResItem{} +} + +func (p *ResItem) GetItem() map[int32]int32 { + return p.Item +} + +func (p *ResItem) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResItem) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Item = tMap + for i := 0; i < size; i++ { + var _key282 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key282 = v + } + var _val283 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val283 = v + } + p.Item[_key282] = _val283 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResItem) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResItem"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResItem) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Item", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Item: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Item)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Item { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Item: ", p), err) + } + return err +} + +func (p *ResItem) Equals(other *ResItem) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Item) != len(other.Item) { + return false + } + for k, _tgt := range p.Item { + _src284 := other.Item[k] + if _tgt != _src284 { + return false + } + } + return true +} + +func (p *ResItem) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResItem(%+v)", *p) +} + +func (p *ResItem) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResItem", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResItem)(nil) + +func (p *ResItem) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Items +// - CardPacks +// - Lable +// +type ResItemPop struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Items []*ItemInfo `thrift:"Items,2" db:"Items" json:"Items"` + CardPacks []*CardPack `thrift:"CardPacks,3" db:"CardPacks" json:"CardPacks"` + Lable string `thrift:"Lable,4" db:"Lable" json:"Lable"` +} + +func NewResItemPop() *ResItemPop { + return &ResItemPop{} +} + +func (p *ResItemPop) GetId() int32 { + return p.Id +} + +func (p *ResItemPop) GetItems() []*ItemInfo { + return p.Items +} + +func (p *ResItemPop) GetCardPacks() []*CardPack { + return p.CardPacks +} + +func (p *ResItemPop) GetLable() string { + return p.Lable +} + +func (p *ResItemPop) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.STRING { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResItemPop) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResItemPop) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem285 := &ItemInfo{} + if err := _elem285.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem285), err) + } + p.Items = append(p.Items, _elem285) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResItemPop) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*CardPack, 0, size) + p.CardPacks = tSlice + for i := 0; i < size; i++ { + _elem286 := &CardPack{} + if err := _elem286.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem286), err) + } + p.CardPacks = append(p.CardPacks, _elem286) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResItemPop) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Lable = v + } + return nil +} + +func (p *ResItemPop) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResItemPop"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResItemPop) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ResItemPop) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Items: ", p), err) + } + return err +} + +func (p *ResItemPop) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CardPacks", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:CardPacks: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.CardPacks)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.CardPacks { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:CardPacks: ", p), err) + } + return err +} + +func (p *ResItemPop) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Lable", thrift.STRING, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Lable: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Lable)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Lable (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Lable: ", p), err) + } + return err +} + +func (p *ResItemPop) Equals(other *ResItemPop) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src287 := other.Items[i] + if !_tgt.Equals(_src287) { + return false + } + } + if len(p.CardPacks) != len(other.CardPacks) { + return false + } + for i, _tgt := range p.CardPacks { + _src288 := other.CardPacks[i] + if !_tgt.Equals(_src288) { + return false + } + } + if p.Lable != other.Lable { + return false + } + return true +} + +func (p *ResItemPop) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResItemPop(%+v)", *p) +} + +func (p *ResItemPop) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResItemPop", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResItemPop)(nil) + +func (p *ResItemPop) Validate() error { + return nil +} + +// Attributes: +// - Kv +// +type ResKv struct { + Kv map[int32]string `thrift:"Kv,1" db:"Kv" json:"Kv"` +} + +func NewResKv() *ResKv { + return &ResKv{} +} + +func (p *ResKv) GetKv() map[int32]string { + return p.Kv +} + +func (p *ResKv) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResKv) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]string, size) + p.Kv = tMap + for i := 0; i < size; i++ { + var _key289 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key289 = v + } + var _val290 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val290 = v + } + p.Kv[_key289] = _val290 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResKv) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResKv"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResKv) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Kv", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Kv: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRING, len(p.Kv)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Kv { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteString(ctx, string(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Kv: ", p), err) + } + return err +} + +func (p *ResKv) Equals(other *ResKv) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Kv) != len(other.Kv) { + return false + } + for k, _tgt := range p.Kv { + _src291 := other.Kv[k] + if _tgt != _src291 { + return false + } + } + return true +} + +func (p *ResKv) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResKv(%+v)", *p) +} + +func (p *ResKv) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResKv", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResKv)(nil) + +func (p *ResKv) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// - Msg +// +type ResLang struct { + ResultCode RES_CODE `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResLang() *ResLang { + return &ResLang{} +} + +func (p *ResLang) GetResultCode() RES_CODE { + return p.ResultCode +} + +func (p *ResLang) GetMsg() string { + return p.Msg +} + +func (p *ResLang) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResLang) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.ResultCode = temp + } + return nil +} + +func (p *ResLang) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResLang) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResLang"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResLang) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *ResLang) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResLang) Equals(other *ResLang) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResLang) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResLang(%+v)", *p) +} + +func (p *ResLang) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResLang", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResLang)(nil) + +func (p *ResLang) Validate() error { + return nil +} + +// Attributes: +// - LimitEventList +// +type ResLimitEvent struct { + LimitEventList map[int32]*LimitEvent `thrift:"LimitEventList,1" db:"LimitEventList" json:"LimitEventList"` +} + +func NewResLimitEvent() *ResLimitEvent { + return &ResLimitEvent{} +} + +func (p *ResLimitEvent) GetLimitEventList() map[int32]*LimitEvent { + return p.LimitEventList +} + +func (p *ResLimitEvent) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResLimitEvent) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*LimitEvent, size) + p.LimitEventList = tMap + for i := 0; i < size; i++ { + var _key292 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key292 = v + } + _val293 := &LimitEvent{} + if err := _val293.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val293), err) + } + p.LimitEventList[_key292] = _val293 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResLimitEvent) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResLimitEvent"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResLimitEvent) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "LimitEventList", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:LimitEventList: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.LimitEventList)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.LimitEventList { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:LimitEventList: ", p), err) + } + return err +} + +func (p *ResLimitEvent) Equals(other *ResLimitEvent) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.LimitEventList) != len(other.LimitEventList) { + return false + } + for k, _tgt := range p.LimitEventList { + _src294 := other.LimitEventList[k] + if !_tgt.Equals(_src294) { + return false + } + } + return true +} + +func (p *ResLimitEvent) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResLimitEvent(%+v)", *p) +} + +func (p *ResLimitEvent) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResLimitEvent", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResLimitEvent)(nil) + +func (p *ResLimitEvent) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResLimitEventLuckyCat struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResLimitEventLuckyCat() *ResLimitEventLuckyCat { + return &ResLimitEventLuckyCat{} +} + +func (p *ResLimitEventLuckyCat) GetCode() RES_CODE { + return p.Code +} + +func (p *ResLimitEventLuckyCat) GetMsg() string { + return p.Msg +} + +func (p *ResLimitEventLuckyCat) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResLimitEventLuckyCat) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResLimitEventLuckyCat) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResLimitEventLuckyCat) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResLimitEventLuckyCat"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResLimitEventLuckyCat) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResLimitEventLuckyCat) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResLimitEventLuckyCat) Equals(other *ResLimitEventLuckyCat) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResLimitEventLuckyCat) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResLimitEventLuckyCat(%+v)", *p) +} + +func (p *ResLimitEventLuckyCat) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResLimitEventLuckyCat", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResLimitEventLuckyCat)(nil) + +func (p *ResLimitEventLuckyCat) Validate() error { + return nil +} + +// Attributes: +// - ProgressMax +// - Progress +// - ProgressReward +// +type ResLimitEventProgress struct { + ProgressMax int32 `thrift:"ProgressMax,1" db:"ProgressMax" json:"ProgressMax"` + Progress int32 `thrift:"Progress,2" db:"Progress" json:"Progress"` + ProgressReward map[int32]int32 `thrift:"ProgressReward,3" db:"ProgressReward" json:"ProgressReward"` +} + +func NewResLimitEventProgress() *ResLimitEventProgress { + return &ResLimitEventProgress{} +} + +func (p *ResLimitEventProgress) GetProgressMax() int32 { + return p.ProgressMax +} + +func (p *ResLimitEventProgress) GetProgress() int32 { + return p.Progress +} + +func (p *ResLimitEventProgress) GetProgressReward() map[int32]int32 { + return p.ProgressReward +} + +func (p *ResLimitEventProgress) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.MAP { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResLimitEventProgress) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ProgressMax = v + } + return nil +} + +func (p *ResLimitEventProgress) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Progress = v + } + return nil +} + +func (p *ResLimitEventProgress) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.ProgressReward = tMap + for i := 0; i < size; i++ { + var _key295 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key295 = v + } + var _val296 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val296 = v + } + p.ProgressReward[_key295] = _val296 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResLimitEventProgress) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResLimitEventProgress"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResLimitEventProgress) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ProgressMax", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ProgressMax: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ProgressMax)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ProgressMax (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ProgressMax: ", p), err) + } + return err +} + +func (p *ResLimitEventProgress) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Progress", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Progress: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Progress)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Progress (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Progress: ", p), err) + } + return err +} + +func (p *ResLimitEventProgress) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ProgressReward", thrift.MAP, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ProgressReward: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.ProgressReward)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.ProgressReward { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ProgressReward: ", p), err) + } + return err +} + +func (p *ResLimitEventProgress) Equals(other *ResLimitEventProgress) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ProgressMax != other.ProgressMax { + return false + } + if p.Progress != other.Progress { + return false + } + if len(p.ProgressReward) != len(other.ProgressReward) { + return false + } + for k, _tgt := range p.ProgressReward { + _src297 := other.ProgressReward[k] + if _tgt != _src297 { + return false + } + } + return true +} + +func (p *ResLimitEventProgress) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResLimitEventProgress(%+v)", *p) +} + +func (p *ResLimitEventProgress) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResLimitEventProgress", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResLimitEventProgress)(nil) + +func (p *ResLimitEventProgress) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResLimitEventReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResLimitEventReward() *ResLimitEventReward { + return &ResLimitEventReward{} +} + +func (p *ResLimitEventReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResLimitEventReward) GetMsg() string { + return p.Msg +} + +func (p *ResLimitEventReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResLimitEventReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResLimitEventReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResLimitEventReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResLimitEventReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResLimitEventReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResLimitEventReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResLimitEventReward) Equals(other *ResLimitEventReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResLimitEventReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResLimitEventReward(%+v)", *p) +} + +func (p *ResLimitEventReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResLimitEventReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResLimitEventReward)(nil) + +func (p *ResLimitEventReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResLimitSenceReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResLimitSenceReward() *ResLimitSenceReward { + return &ResLimitSenceReward{} +} + +func (p *ResLimitSenceReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResLimitSenceReward) GetMsg() string { + return p.Msg +} + +func (p *ResLimitSenceReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResLimitSenceReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResLimitSenceReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResLimitSenceReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResLimitSenceReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResLimitSenceReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResLimitSenceReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResLimitSenceReward) Equals(other *ResLimitSenceReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResLimitSenceReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResLimitSenceReward(%+v)", *p) +} + +func (p *ResLimitSenceReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResLimitSenceReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResLimitSenceReward)(nil) + +func (p *ResLimitSenceReward) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// - DwUin +// - UserName +// - FaceBookId +// - Msg +// +type ResLogin struct { + ResultCode int32 `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` + DwUin int64 `thrift:"dwUin,2" db:"dwUin" json:"dwUin"` + UserName string `thrift:"UserName,3" db:"UserName" json:"UserName"` + FaceBookId string `thrift:"FaceBookId,4" db:"FaceBookId" json:"FaceBookId"` + Msg string `thrift:"Msg,5" db:"Msg" json:"Msg"` +} + +func NewResLogin() *ResLogin { + return &ResLogin{} +} + +func (p *ResLogin) GetResultCode() int32 { + return p.ResultCode +} + +func (p *ResLogin) GetDwUin() int64 { + return p.DwUin +} + +func (p *ResLogin) GetUserName() string { + return p.UserName +} + +func (p *ResLogin) GetFaceBookId() string { + return p.FaceBookId +} + +func (p *ResLogin) GetMsg() string { + return p.Msg +} + +func (p *ResLogin) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.STRING { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.STRING { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResLogin) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ResultCode = v + } + return nil +} + +func (p *ResLogin) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ResLogin) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.UserName = v + } + return nil +} + +func (p *ResLogin) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.FaceBookId = v + } + return nil +} + +func (p *ResLogin) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResLogin) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResLogin"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResLogin) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *ResLogin) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:dwUin: ", p), err) + } + return err +} + +func (p *ResLogin) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "UserName", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:UserName: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.UserName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.UserName (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:UserName: ", p), err) + } + return err +} + +func (p *ResLogin) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FaceBookId", thrift.STRING, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:FaceBookId: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.FaceBookId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.FaceBookId (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:FaceBookId: ", p), err) + } + return err +} + +func (p *ResLogin) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Msg: ", p), err) + } + return err +} + +func (p *ResLogin) Equals(other *ResLogin) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.UserName != other.UserName { + return false + } + if p.FaceBookId != other.FaceBookId { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResLogin) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResLogin(%+v)", *p) +} + +func (p *ResLogin) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResLogin", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResLogin)(nil) + +func (p *ResLogin) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// - Msg +// - Code +// +type ResLoginCode struct { + ResultCode int32 `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Code string `thrift:"Code,3" db:"Code" json:"Code"` +} + +func NewResLoginCode() *ResLoginCode { + return &ResLoginCode{} +} + +func (p *ResLoginCode) GetResultCode() int32 { + return p.ResultCode +} + +func (p *ResLoginCode) GetMsg() string { + return p.Msg +} + +func (p *ResLoginCode) GetCode() string { + return p.Code +} + +func (p *ResLoginCode) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResLoginCode) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ResultCode = v + } + return nil +} + +func (p *ResLoginCode) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResLoginCode) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Code = v + } + return nil +} + +func (p *ResLoginCode) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResLoginCode"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResLoginCode) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *ResLoginCode) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResLoginCode) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Code: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Code: ", p), err) + } + return err +} + +func (p *ResLoginCode) Equals(other *ResLoginCode) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Code != other.Code { + return false + } + return true +} + +func (p *ResLoginCode) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResLoginCode(%+v)", *p) +} + +func (p *ResLoginCode) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResLoginCode", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResLoginCode)(nil) + +func (p *ResLoginCode) Validate() error { + return nil +} + +// Attributes: +// - MailList +// +type ResMailList struct { + MailList map[int32]*MailInfo `thrift:"MailList,1" db:"MailList" json:"MailList"` +} + +func NewResMailList() *ResMailList { + return &ResMailList{} +} + +func (p *ResMailList) GetMailList() map[int32]*MailInfo { + return p.MailList +} + +func (p *ResMailList) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResMailList) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*MailInfo, size) + p.MailList = tMap + for i := 0; i < size; i++ { + var _key298 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key298 = v + } + _val299 := &MailInfo{} + if err := _val299.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val299), err) + } + p.MailList[_key298] = _val299 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResMailList) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResMailList"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResMailList) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MailList", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:MailList: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.MailList)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MailList { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:MailList: ", p), err) + } + return err +} + +func (p *ResMailList) Equals(other *ResMailList) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.MailList) != len(other.MailList) { + return false + } + for k, _tgt := range p.MailList { + _src300 := other.MailList[k] + if !_tgt.Equals(_src300) { + return false + } + } + return true +} + +func (p *ResMailList) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResMailList(%+v)", *p) +} + +func (p *ResMailList) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResMailList", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResMailList)(nil) + +func (p *ResMailList) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - MasterId +// - CardId +// +type ResMasterCard struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + MasterId int32 `thrift:"MasterId,3" db:"MasterId" json:"MasterId"` + CardId int32 `thrift:"CardId,4" db:"CardId" json:"CardId"` +} + +func NewResMasterCard() *ResMasterCard { + return &ResMasterCard{} +} + +func (p *ResMasterCard) GetCode() RES_CODE { + return p.Code +} + +func (p *ResMasterCard) GetMsg() string { + return p.Msg +} + +func (p *ResMasterCard) GetMasterId() int32 { + return p.MasterId +} + +func (p *ResMasterCard) GetCardId() int32 { + return p.CardId +} + +func (p *ResMasterCard) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResMasterCard) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResMasterCard) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResMasterCard) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.MasterId = v + } + return nil +} + +func (p *ResMasterCard) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.CardId = v + } + return nil +} + +func (p *ResMasterCard) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResMasterCard"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResMasterCard) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResMasterCard) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResMasterCard) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MasterId", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:MasterId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.MasterId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.MasterId (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:MasterId: ", p), err) + } + return err +} + +func (p *ResMasterCard) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CardId", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:CardId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.CardId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.CardId (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:CardId: ", p), err) + } + return err +} + +func (p *ResMasterCard) Equals(other *ResMasterCard) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.MasterId != other.MasterId { + return false + } + if p.CardId != other.CardId { + return false + } + return true +} + +func (p *ResMasterCard) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResMasterCard(%+v)", *p) +} + +func (p *ResMasterCard) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResMasterCard", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResMasterCard)(nil) + +func (p *ResMasterCard) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Status +// - EndTime +// - Template +// - Pass +// - Gem +// - Map +// - Mining +// - PassReward +// +type ResMining struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Status int32 `thrift:"Status,2" db:"Status" json:"Status"` + EndTime int32 `thrift:"EndTime,3" db:"EndTime" json:"EndTime"` + Template int32 `thrift:"Template,4" db:"Template" json:"Template"` + Pass int32 `thrift:"Pass,5" db:"Pass" json:"Pass"` + Gem []int32 `thrift:"Gem,6" db:"Gem" json:"Gem"` + Map map[int32]string `thrift:"Map,7" db:"Map" json:"Map"` + Mining int32 `thrift:"Mining,8" db:"Mining" json:"Mining"` + PassReward map[int32]*ItemList `thrift:"PassReward,9" db:"PassReward" json:"PassReward"` +} + +func NewResMining() *ResMining { + return &ResMining{} +} + +func (p *ResMining) GetId() int32 { + return p.Id +} + +func (p *ResMining) GetStatus() int32 { + return p.Status +} + +func (p *ResMining) GetEndTime() int32 { + return p.EndTime +} + +func (p *ResMining) GetTemplate() int32 { + return p.Template +} + +func (p *ResMining) GetPass() int32 { + return p.Pass +} + +func (p *ResMining) GetGem() []int32 { + return p.Gem +} + +func (p *ResMining) GetMap() map[int32]string { + return p.Map +} + +func (p *ResMining) GetMining() int32 { + return p.Mining +} + +func (p *ResMining) GetPassReward() map[int32]*ItemList { + return p.PassReward +} + +func (p *ResMining) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.LIST { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.MAP { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.I32 { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.MAP { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResMining) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResMining) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ResMining) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *ResMining) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Template = v + } + return nil +} + +func (p *ResMining) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Pass = v + } + return nil +} + +func (p *ResMining) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.Gem = tSlice + for i := 0; i < size; i++ { + var _elem301 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem301 = v + } + p.Gem = append(p.Gem, _elem301) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResMining) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]string, size) + p.Map = tMap + for i := 0; i < size; i++ { + var _key302 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key302 = v + } + var _val303 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val303 = v + } + p.Map[_key302] = _val303 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResMining) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.Mining = v + } + return nil +} + +func (p *ResMining) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*ItemList, size) + p.PassReward = tMap + for i := 0; i < size; i++ { + var _key304 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key304 = v + } + _val305 := &ItemList{} + if err := _val305.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val305), err) + } + p.PassReward[_key304] = _val305 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResMining) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResMining"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResMining) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ResMining) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Status: ", p), err) + } + return err +} + +func (p *ResMining) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:EndTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:EndTime: ", p), err) + } + return err +} + +func (p *ResMining) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Template", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Template: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Template)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Template (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Template: ", p), err) + } + return err +} + +func (p *ResMining) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Pass", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Pass: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Pass)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Pass (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Pass: ", p), err) + } + return err +} + +func (p *ResMining) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Gem", thrift.LIST, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Gem: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.Gem)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Gem { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Gem: ", p), err) + } + return err +} + +func (p *ResMining) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Map", thrift.MAP, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:Map: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRING, len(p.Map)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Map { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteString(ctx, string(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:Map: ", p), err) + } + return err +} + +func (p *ResMining) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Mining", thrift.I32, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:Mining: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Mining)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Mining (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:Mining: ", p), err) + } + return err +} + +func (p *ResMining) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PassReward", thrift.MAP, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:PassReward: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.PassReward)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.PassReward { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:PassReward: ", p), err) + } + return err +} + +func (p *ResMining) Equals(other *ResMining) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Status != other.Status { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.Template != other.Template { + return false + } + if p.Pass != other.Pass { + return false + } + if len(p.Gem) != len(other.Gem) { + return false + } + for i, _tgt := range p.Gem { + _src306 := other.Gem[i] + if _tgt != _src306 { + return false + } + } + if len(p.Map) != len(other.Map) { + return false + } + for k, _tgt := range p.Map { + _src307 := other.Map[k] + if _tgt != _src307 { + return false + } + } + if p.Mining != other.Mining { + return false + } + if len(p.PassReward) != len(other.PassReward) { + return false + } + for k, _tgt := range p.PassReward { + _src308 := other.PassReward[k] + if !_tgt.Equals(_src308) { + return false + } + } + return true +} + +func (p *ResMining) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResMining(%+v)", *p) +} + +func (p *ResMining) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResMining", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResMining)(nil) + +func (p *ResMining) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResMiningReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResMiningReward() *ResMiningReward { + return &ResMiningReward{} +} + +func (p *ResMiningReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResMiningReward) GetMsg() string { + return p.Msg +} + +func (p *ResMiningReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResMiningReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResMiningReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResMiningReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResMiningReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResMiningReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResMiningReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResMiningReward) Equals(other *ResMiningReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResMiningReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResMiningReward(%+v)", *p) +} + +func (p *ResMiningReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResMiningReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResMiningReward)(nil) + +func (p *ResMiningReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResMiningTake struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResMiningTake() *ResMiningTake { + return &ResMiningTake{} +} + +func (p *ResMiningTake) GetCode() RES_CODE { + return p.Code +} + +func (p *ResMiningTake) GetMsg() string { + return p.Msg +} + +func (p *ResMiningTake) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResMiningTake) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResMiningTake) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResMiningTake) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResMiningTake"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResMiningTake) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResMiningTake) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResMiningTake) Equals(other *ResMiningTake) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResMiningTake) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResMiningTake(%+v)", *p) +} + +func (p *ResMiningTake) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResMiningTake", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResMiningTake)(nil) + +func (p *ResMiningTake) Validate() error { + return nil +} + +// Attributes: +// - Card +// - Master +// - ExStar +// - Handbook +// +type ResNotifyCard struct { + Card map[int32]int32 `thrift:"Card,1" db:"Card" json:"Card"` + Master map[int32]int32 `thrift:"Master,2" db:"Master" json:"Master"` + ExStar int32 `thrift:"ExStar,3" db:"ExStar" json:"ExStar"` + Handbook map[int32]int32 `thrift:"Handbook,4" db:"Handbook" json:"Handbook"` +} + +func NewResNotifyCard() *ResNotifyCard { + return &ResNotifyCard{} +} + +func (p *ResNotifyCard) GetCard() map[int32]int32 { + return p.Card +} + +func (p *ResNotifyCard) GetMaster() map[int32]int32 { + return p.Master +} + +func (p *ResNotifyCard) GetExStar() int32 { + return p.ExStar +} + +func (p *ResNotifyCard) GetHandbook() map[int32]int32 { + return p.Handbook +} + +func (p *ResNotifyCard) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.MAP { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.MAP { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResNotifyCard) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Card = tMap + for i := 0; i < size; i++ { + var _key309 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key309 = v + } + var _val310 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val310 = v + } + p.Card[_key309] = _val310 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResNotifyCard) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Master = tMap + for i := 0; i < size; i++ { + var _key311 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key311 = v + } + var _val312 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val312 = v + } + p.Master[_key311] = _val312 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResNotifyCard) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.ExStar = v + } + return nil +} + +func (p *ResNotifyCard) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Handbook = tMap + for i := 0; i < size; i++ { + var _key313 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key313 = v + } + var _val314 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val314 = v + } + p.Handbook[_key313] = _val314 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResNotifyCard) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResNotifyCard"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResNotifyCard) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Card", thrift.MAP, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Card: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Card)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Card { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Card: ", p), err) + } + return err +} + +func (p *ResNotifyCard) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Master", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Master: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Master)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Master { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Master: ", p), err) + } + return err +} + +func (p *ResNotifyCard) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ExStar", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ExStar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ExStar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ExStar (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ExStar: ", p), err) + } + return err +} + +func (p *ResNotifyCard) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Handbook", thrift.MAP, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Handbook: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Handbook)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Handbook { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Handbook: ", p), err) + } + return err +} + +func (p *ResNotifyCard) Equals(other *ResNotifyCard) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Card) != len(other.Card) { + return false + } + for k, _tgt := range p.Card { + _src315 := other.Card[k] + if _tgt != _src315 { + return false + } + } + if len(p.Master) != len(other.Master) { + return false + } + for k, _tgt := range p.Master { + _src316 := other.Master[k] + if _tgt != _src316 { + return false + } + } + if p.ExStar != other.ExStar { + return false + } + if len(p.Handbook) != len(other.Handbook) { + return false + } + for k, _tgt := range p.Handbook { + _src317 := other.Handbook[k] + if _tgt != _src317 { + return false + } + } + return true +} + +func (p *ResNotifyCard) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResNotifyCard(%+v)", *p) +} + +func (p *ResNotifyCard) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResNotifyCard", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResNotifyCard)(nil) + +func (p *ResNotifyCard) Validate() error { + return nil +} + +// Attributes: +// - ExTimes +// - ReqTimes +// - ReqUid +// - ExUid +// - GoldTimes +// +type ResNotifyCardTimes struct { + ExTimes int32 `thrift:"ExTimes,1" db:"ExTimes" json:"ExTimes"` + ReqTimes int32 `thrift:"ReqTimes,2" db:"ReqTimes" json:"ReqTimes"` + ReqUid []int64 `thrift:"ReqUid,3" db:"ReqUid" json:"ReqUid"` + ExUid []int64 `thrift:"ExUid,4" db:"ExUid" json:"ExUid"` + GoldTimes int32 `thrift:"GoldTimes,5" db:"GoldTimes" json:"GoldTimes"` +} + +func NewResNotifyCardTimes() *ResNotifyCardTimes { + return &ResNotifyCardTimes{} +} + +func (p *ResNotifyCardTimes) GetExTimes() int32 { + return p.ExTimes +} + +func (p *ResNotifyCardTimes) GetReqTimes() int32 { + return p.ReqTimes +} + +func (p *ResNotifyCardTimes) GetReqUid() []int64 { + return p.ReqUid +} + +func (p *ResNotifyCardTimes) GetExUid() []int64 { + return p.ExUid +} + +func (p *ResNotifyCardTimes) GetGoldTimes() int32 { + return p.GoldTimes +} + +func (p *ResNotifyCardTimes) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResNotifyCardTimes) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ExTimes = v + } + return nil +} + +func (p *ResNotifyCardTimes) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.ReqTimes = v + } + return nil +} + +func (p *ResNotifyCardTimes) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int64, 0, size) + p.ReqUid = tSlice + for i := 0; i < size; i++ { + var _elem318 int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem318 = v + } + p.ReqUid = append(p.ReqUid, _elem318) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResNotifyCardTimes) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int64, 0, size) + p.ExUid = tSlice + for i := 0; i < size; i++ { + var _elem319 int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem319 = v + } + p.ExUid = append(p.ExUid, _elem319) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResNotifyCardTimes) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.GoldTimes = v + } + return nil +} + +func (p *ResNotifyCardTimes) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResNotifyCardTimes"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResNotifyCardTimes) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ExTimes", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ExTimes: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ExTimes)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ExTimes (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ExTimes: ", p), err) + } + return err +} + +func (p *ResNotifyCardTimes) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ReqTimes", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:ReqTimes: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ReqTimes)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ReqTimes (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:ReqTimes: ", p), err) + } + return err +} + +func (p *ResNotifyCardTimes) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ReqUid", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ReqUid: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.ReqUid)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ReqUid { + if err := oprot.WriteI64(ctx, int64(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ReqUid: ", p), err) + } + return err +} + +func (p *ResNotifyCardTimes) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ExUid", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:ExUid: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.ExUid)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ExUid { + if err := oprot.WriteI64(ctx, int64(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:ExUid: ", p), err) + } + return err +} + +func (p *ResNotifyCardTimes) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "GoldTimes", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:GoldTimes: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.GoldTimes)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.GoldTimes (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:GoldTimes: ", p), err) + } + return err +} + +func (p *ResNotifyCardTimes) Equals(other *ResNotifyCardTimes) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ExTimes != other.ExTimes { + return false + } + if p.ReqTimes != other.ReqTimes { + return false + } + if len(p.ReqUid) != len(other.ReqUid) { + return false + } + for i, _tgt := range p.ReqUid { + _src320 := other.ReqUid[i] + if _tgt != _src320 { + return false + } + } + if len(p.ExUid) != len(other.ExUid) { + return false + } + for i, _tgt := range p.ExUid { + _src321 := other.ExUid[i] + if _tgt != _src321 { + return false + } + } + if p.GoldTimes != other.GoldTimes { + return false + } + return true +} + +func (p *ResNotifyCardTimes) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResNotifyCardTimes(%+v)", *p) +} + +func (p *ResNotifyCardTimes) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResNotifyCardTimes", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResNotifyCardTimes)(nil) + +func (p *ResNotifyCardTimes) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - Result_ +// +type ResOfflineReconnect struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + Result_ int32 `thrift:"Result,2" db:"Result" json:"Result"` +} + +func NewResOfflineReconnect() *ResOfflineReconnect { + return &ResOfflineReconnect{} +} + +func (p *ResOfflineReconnect) GetDwUin() int64 { + return p.DwUin +} + +func (p *ResOfflineReconnect) GetResult_() int32 { + return p.Result_ +} + +func (p *ResOfflineReconnect) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResOfflineReconnect) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ResOfflineReconnect) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Result_ = v + } + return nil +} + +func (p *ResOfflineReconnect) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResOfflineReconnect"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResOfflineReconnect) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ResOfflineReconnect) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Result", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Result: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Result_)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Result (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Result: ", p), err) + } + return err +} + +func (p *ResOfflineReconnect) Equals(other *ResOfflineReconnect) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.Result_ != other.Result_ { + return false + } + return true +} + +func (p *ResOfflineReconnect) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResOfflineReconnect(%+v)", *p) +} + +func (p *ResOfflineReconnect) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResOfflineReconnect", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResOfflineReconnect)(nil) + +func (p *ResOfflineReconnect) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - BindAccountId +// - ResultCode +// +type ResOnlyBindFacebook struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + BindAccountId string `thrift:"BindAccountId,2" db:"BindAccountId" json:"BindAccountId"` + ResultCode int32 `thrift:"ResultCode,3" db:"ResultCode" json:"ResultCode"` +} + +func NewResOnlyBindFacebook() *ResOnlyBindFacebook { + return &ResOnlyBindFacebook{} +} + +func (p *ResOnlyBindFacebook) GetDwUin() int64 { + return p.DwUin +} + +func (p *ResOnlyBindFacebook) GetBindAccountId() string { + return p.BindAccountId +} + +func (p *ResOnlyBindFacebook) GetResultCode() int32 { + return p.ResultCode +} + +func (p *ResOnlyBindFacebook) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResOnlyBindFacebook) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ResOnlyBindFacebook) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.BindAccountId = v + } + return nil +} + +func (p *ResOnlyBindFacebook) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.ResultCode = v + } + return nil +} + +func (p *ResOnlyBindFacebook) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResOnlyBindFacebook"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResOnlyBindFacebook) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ResOnlyBindFacebook) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "BindAccountId", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:BindAccountId: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.BindAccountId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.BindAccountId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:BindAccountId: ", p), err) + } + return err +} + +func (p *ResOnlyBindFacebook) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ResultCode: ", p), err) + } + return err +} + +func (p *ResOnlyBindFacebook) Equals(other *ResOnlyBindFacebook) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.BindAccountId != other.BindAccountId { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + return true +} + +func (p *ResOnlyBindFacebook) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResOnlyBindFacebook(%+v)", *p) +} + +func (p *ResOnlyBindFacebook) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResOnlyBindFacebook", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResOnlyBindFacebook)(nil) + +func (p *ResOnlyBindFacebook) Validate() error { + return nil +} + +// Attributes: +// - OrderList +// +type ResOrderList struct { + OrderList []*Order `thrift:"OrderList,1" db:"OrderList" json:"OrderList"` +} + +func NewResOrderList() *ResOrderList { + return &ResOrderList{} +} + +func (p *ResOrderList) GetOrderList() []*Order { + return p.OrderList +} + +func (p *ResOrderList) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResOrderList) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*Order, 0, size) + p.OrderList = tSlice + for i := 0; i < size; i++ { + _elem322 := &Order{} + if err := _elem322.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem322), err) + } + p.OrderList = append(p.OrderList, _elem322) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResOrderList) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResOrderList"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResOrderList) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "OrderList", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:OrderList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.OrderList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.OrderList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:OrderList: ", p), err) + } + return err +} + +func (p *ResOrderList) Equals(other *ResOrderList) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.OrderList) != len(other.OrderList) { + return false + } + for i, _tgt := range p.OrderList { + _src323 := other.OrderList[i] + if !_tgt.Equals(_src323) { + return false + } + } + return true +} + +func (p *ResOrderList) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResOrderList(%+v)", *p) +} + +func (p *ResOrderList) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResOrderList", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResOrderList)(nil) + +func (p *ResOrderList) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResOrderShipping struct { + Code int32 `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResOrderShipping() *ResOrderShipping { + return &ResOrderShipping{} +} + +func (p *ResOrderShipping) GetCode() int32 { + return p.Code +} + +func (p *ResOrderShipping) GetMsg() string { + return p.Msg +} + +func (p *ResOrderShipping) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResOrderShipping) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Code = v + } + return nil +} + +func (p *ResOrderShipping) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResOrderShipping) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResOrderShipping"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResOrderShipping) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResOrderShipping) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResOrderShipping) Equals(other *ResOrderShipping) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResOrderShipping) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResOrderShipping(%+v)", *p) +} + +func (p *ResOrderShipping) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResOrderShipping", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResOrderShipping)(nil) + +func (p *ResOrderShipping) Validate() error { + return nil +} + +// Attributes: +// - FurId +// - FurSet +// - FreeCount +// +type ResPetFur struct { + FurId []int32 `thrift:"FurId,1" db:"FurId" json:"FurId"` + FurSet int32 `thrift:"FurSet,2" db:"FurSet" json:"FurSet"` + FreeCount int32 `thrift:"FreeCount,3" db:"FreeCount" json:"FreeCount"` +} + +func NewResPetFur() *ResPetFur { + return &ResPetFur{} +} + +func (p *ResPetFur) GetFurId() []int32 { + return p.FurId +} + +func (p *ResPetFur) GetFurSet() int32 { + return p.FurSet +} + +func (p *ResPetFur) GetFreeCount() int32 { + return p.FreeCount +} + +func (p *ResPetFur) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPetFur) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.FurId = tSlice + for i := 0; i < size; i++ { + var _elem324 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem324 = v + } + p.FurId = append(p.FurId, _elem324) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPetFur) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.FurSet = v + } + return nil +} + +func (p *ResPetFur) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.FreeCount = v + } + return nil +} + +func (p *ResPetFur) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPetFur"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPetFur) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FurId", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:FurId: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.FurId)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.FurId { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:FurId: ", p), err) + } + return err +} + +func (p *ResPetFur) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FurSet", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:FurSet: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.FurSet)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.FurSet (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:FurSet: ", p), err) + } + return err +} + +func (p *ResPetFur) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FreeCount", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:FreeCount: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.FreeCount)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.FreeCount (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:FreeCount: ", p), err) + } + return err +} + +func (p *ResPetFur) Equals(other *ResPetFur) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.FurId) != len(other.FurId) { + return false + } + for i, _tgt := range p.FurId { + _src325 := other.FurId[i] + if _tgt != _src325 { + return false + } + } + if p.FurSet != other.FurSet { + return false + } + if p.FreeCount != other.FreeCount { + return false + } + return true +} + +func (p *ResPetFur) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPetFur(%+v)", *p) +} + +func (p *ResPetFur) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPetFur", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPetFur)(nil) + +func (p *ResPetFur) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPetFurBuy struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResPetFurBuy() *ResPetFurBuy { + return &ResPetFurBuy{} +} + +func (p *ResPetFurBuy) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPetFurBuy) GetMsg() string { + return p.Msg +} + +func (p *ResPetFurBuy) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPetFurBuy) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPetFurBuy) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPetFurBuy) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPetFurBuy"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPetFurBuy) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPetFurBuy) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPetFurBuy) Equals(other *ResPetFurBuy) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPetFurBuy) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPetFurBuy(%+v)", *p) +} + +func (p *ResPetFurBuy) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPetFurBuy", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPetFurBuy)(nil) + +func (p *ResPetFurBuy) Validate() error { + return nil +} + +// Attributes: +// - Type +// - Diamond +// - Count +// - EndTime +// +type ResPiggyBank struct { + Type int32 `thrift:"Type,1" db:"Type" json:"Type"` + Diamond int32 `thrift:"Diamond,2" db:"Diamond" json:"Diamond"` + Count int32 `thrift:"Count,3" db:"Count" json:"Count"` + EndTime int32 `thrift:"EndTime,4" db:"EndTime" json:"EndTime"` +} + +func NewResPiggyBank() *ResPiggyBank { + return &ResPiggyBank{} +} + +func (p *ResPiggyBank) GetType() int32 { + return p.Type +} + +func (p *ResPiggyBank) GetDiamond() int32 { + return p.Diamond +} + +func (p *ResPiggyBank) GetCount() int32 { + return p.Count +} + +func (p *ResPiggyBank) GetEndTime() int32 { + return p.EndTime +} + +func (p *ResPiggyBank) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPiggyBank) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ResPiggyBank) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Diamond = v + } + return nil +} + +func (p *ResPiggyBank) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Count = v + } + return nil +} + +func (p *ResPiggyBank) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *ResPiggyBank) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPiggyBank"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPiggyBank) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Type: ", p), err) + } + return err +} + +func (p *ResPiggyBank) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Diamond", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Diamond: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Diamond)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Diamond (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Diamond: ", p), err) + } + return err +} + +func (p *ResPiggyBank) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Count", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Count: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Count)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Count (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Count: ", p), err) + } + return err +} + +func (p *ResPiggyBank) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:EndTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:EndTime: ", p), err) + } + return err +} + +func (p *ResPiggyBank) Equals(other *ResPiggyBank) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Type != other.Type { + return false + } + if p.Diamond != other.Diamond { + return false + } + if p.Count != other.Count { + return false + } + if p.EndTime != other.EndTime { + return false + } + return true +} + +func (p *ResPiggyBank) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPiggyBank(%+v)", *p) +} + +func (p *ResPiggyBank) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPiggyBank", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPiggyBank)(nil) + +func (p *ResPiggyBank) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPiggyBankReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResPiggyBankReward() *ResPiggyBankReward { + return &ResPiggyBankReward{} +} + +func (p *ResPiggyBankReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPiggyBankReward) GetMsg() string { + return p.Msg +} + +func (p *ResPiggyBankReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPiggyBankReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPiggyBankReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPiggyBankReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPiggyBankReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPiggyBankReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPiggyBankReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPiggyBankReward) Equals(other *ResPiggyBankReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPiggyBankReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPiggyBankReward(%+v)", *p) +} + +func (p *ResPiggyBankReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPiggyBankReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPiggyBankReward)(nil) + +func (p *ResPiggyBankReward) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - Energy +// - Star +// - RecoverTime +// - Diamond +// - Level +// - Exp +// - Login +// - Logout +// - PExp +// - LoginDay +// +type ResPlayerAsset struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + Energy int32 `thrift:"energy,2" db:"energy" json:"energy"` + Star int32 `thrift:"star,3" db:"star" json:"star"` + RecoverTime int32 `thrift:"recoverTime,4" db:"recoverTime" json:"recoverTime"` + Diamond int32 `thrift:"diamond,5" db:"diamond" json:"diamond"` + Level int32 `thrift:"level,6" db:"level" json:"level"` + Exp int32 `thrift:"exp,7" db:"exp" json:"exp"` + Login int32 `thrift:"Login,8" db:"Login" json:"Login"` + Logout int32 `thrift:"Logout,9" db:"Logout" json:"Logout"` + PExp int32 `thrift:"PExp,10" db:"PExp" json:"PExp"` + LoginDay int32 `thrift:"LoginDay,11" db:"LoginDay" json:"LoginDay"` +} + +func NewResPlayerAsset() *ResPlayerAsset { + return &ResPlayerAsset{} +} + +func (p *ResPlayerAsset) GetDwUin() int64 { + return p.DwUin +} + +func (p *ResPlayerAsset) GetEnergy() int32 { + return p.Energy +} + +func (p *ResPlayerAsset) GetStar() int32 { + return p.Star +} + +func (p *ResPlayerAsset) GetRecoverTime() int32 { + return p.RecoverTime +} + +func (p *ResPlayerAsset) GetDiamond() int32 { + return p.Diamond +} + +func (p *ResPlayerAsset) GetLevel() int32 { + return p.Level +} + +func (p *ResPlayerAsset) GetExp() int32 { + return p.Exp +} + +func (p *ResPlayerAsset) GetLogin() int32 { + return p.Login +} + +func (p *ResPlayerAsset) GetLogout() int32 { + return p.Logout +} + +func (p *ResPlayerAsset) GetPExp() int32 { + return p.PExp +} + +func (p *ResPlayerAsset) GetLoginDay() int32 { + return p.LoginDay +} + +func (p *ResPlayerAsset) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.I32 { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.I32 { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.I32 { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.I32 { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 11: + if fieldTypeId == thrift.I32 { + if err := p.ReadField11(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayerAsset) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ResPlayerAsset) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Energy = v + } + return nil +} + +func (p *ResPlayerAsset) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Star = v + } + return nil +} + +func (p *ResPlayerAsset) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.RecoverTime = v + } + return nil +} + +func (p *ResPlayerAsset) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Diamond = v + } + return nil +} + +func (p *ResPlayerAsset) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.Level = v + } + return nil +} + +func (p *ResPlayerAsset) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.Exp = v + } + return nil +} + +func (p *ResPlayerAsset) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.Login = v + } + return nil +} + +func (p *ResPlayerAsset) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 9: ", err) + } else { + p.Logout = v + } + return nil +} + +func (p *ResPlayerAsset) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 10: ", err) + } else { + p.PExp = v + } + return nil +} + +func (p *ResPlayerAsset) ReadField11(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 11: ", err) + } else { + p.LoginDay = v + } + return nil +} + +func (p *ResPlayerAsset) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayerAsset"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + if err := p.writeField11(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayerAsset) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ResPlayerAsset) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "energy", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:energy: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Energy)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.energy (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:energy: ", p), err) + } + return err +} + +func (p *ResPlayerAsset) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "star", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:star: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Star)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.star (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:star: ", p), err) + } + return err +} + +func (p *ResPlayerAsset) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "recoverTime", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:recoverTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.RecoverTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.recoverTime (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:recoverTime: ", p), err) + } + return err +} + +func (p *ResPlayerAsset) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "diamond", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:diamond: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Diamond)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.diamond (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:diamond: ", p), err) + } + return err +} + +func (p *ResPlayerAsset) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "level", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:level: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Level)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.level (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:level: ", p), err) + } + return err +} + +func (p *ResPlayerAsset) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "exp", thrift.I32, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:exp: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Exp)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.exp (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:exp: ", p), err) + } + return err +} + +func (p *ResPlayerAsset) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Login", thrift.I32, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:Login: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Login)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Login (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:Login: ", p), err) + } + return err +} + +func (p *ResPlayerAsset) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Logout", thrift.I32, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:Logout: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Logout)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Logout (9) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:Logout: ", p), err) + } + return err +} + +func (p *ResPlayerAsset) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PExp", thrift.I32, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:PExp: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.PExp)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.PExp (10) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:PExp: ", p), err) + } + return err +} + +func (p *ResPlayerAsset) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "LoginDay", thrift.I32, 11); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:LoginDay: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.LoginDay)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.LoginDay (11) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 11:LoginDay: ", p), err) + } + return err +} + +func (p *ResPlayerAsset) Equals(other *ResPlayerAsset) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.Energy != other.Energy { + return false + } + if p.Star != other.Star { + return false + } + if p.RecoverTime != other.RecoverTime { + return false + } + if p.Diamond != other.Diamond { + return false + } + if p.Level != other.Level { + return false + } + if p.Exp != other.Exp { + return false + } + if p.Login != other.Login { + return false + } + if p.Logout != other.Logout { + return false + } + if p.PExp != other.PExp { + return false + } + if p.LoginDay != other.LoginDay { + return false + } + return true +} + +func (p *ResPlayerAsset) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayerAsset(%+v)", *p) +} + +func (p *ResPlayerAsset) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayerAsset", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayerAsset)(nil) + +func (p *ResPlayerAsset) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - Energy +// - Star +// - RecoverTime +// - Diamond +// - Level +// - Exp +// - StartOrderId +// - MusicCode +// - Guild +// - PackUnlockCount +// - LastPlayTime +// - Ban +// - UserName +// - LoginTime +// - LogoutTime +// - Node +// - Rolecreatetime +// - EmitOrderCnt +// - NoAd +// - ChampshipsGroupID +// - LastChampGroupID +// - FaceBookId +// - RegisterTime +// +type ResPlayerBaseInfo struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + Energy int32 `thrift:"energy,2" db:"energy" json:"energy"` + Star int32 `thrift:"star,3" db:"star" json:"star"` + RecoverTime int32 `thrift:"recoverTime,4" db:"recoverTime" json:"recoverTime"` + Diamond int32 `thrift:"diamond,5" db:"diamond" json:"diamond"` + Level int32 `thrift:"level,6" db:"level" json:"level"` + Exp int32 `thrift:"exp,7" db:"exp" json:"exp"` + StartOrderId string `thrift:"startOrderId,8" db:"startOrderId" json:"startOrderId"` + MusicCode int32 `thrift:"musicCode,9" db:"musicCode" json:"musicCode"` + Guild int32 `thrift:"guild,10" db:"guild" json:"guild"` + PackUnlockCount int32 `thrift:"packUnlockCount,11" db:"packUnlockCount" json:"packUnlockCount"` + LastPlayTime int32 `thrift:"lastPlayTime,12" db:"lastPlayTime" json:"lastPlayTime"` + Ban int64 `thrift:"ban,13" db:"ban" json:"ban"` + UserName string `thrift:"userName,14" db:"userName" json:"userName"` + LoginTime int32 `thrift:"loginTime,15" db:"loginTime" json:"loginTime"` + LogoutTime int32 `thrift:"logoutTime,16" db:"logoutTime" json:"logoutTime"` + Node int32 `thrift:"node,17" db:"node" json:"node"` + Rolecreatetime int32 `thrift:"rolecreatetime,18" db:"rolecreatetime" json:"rolecreatetime"` + EmitOrderCnt int32 `thrift:"EmitOrderCnt,19" db:"EmitOrderCnt" json:"EmitOrderCnt"` + NoAd int32 `thrift:"NoAd,20" db:"NoAd" json:"NoAd"` + ChampshipsGroupID int32 `thrift:"ChampshipsGroupID,21" db:"ChampshipsGroupID" json:"ChampshipsGroupID"` + LastChampGroupID int32 `thrift:"LastChampGroupID,22" db:"LastChampGroupID" json:"LastChampGroupID"` + FaceBookId string `thrift:"FaceBookId,23" db:"FaceBookId" json:"FaceBookId"` + RegisterTime int32 `thrift:"registerTime,24" db:"registerTime" json:"registerTime"` +} + +func NewResPlayerBaseInfo() *ResPlayerBaseInfo { + return &ResPlayerBaseInfo{} +} + +func (p *ResPlayerBaseInfo) GetDwUin() int64 { + return p.DwUin +} + +func (p *ResPlayerBaseInfo) GetEnergy() int32 { + return p.Energy +} + +func (p *ResPlayerBaseInfo) GetStar() int32 { + return p.Star +} + +func (p *ResPlayerBaseInfo) GetRecoverTime() int32 { + return p.RecoverTime +} + +func (p *ResPlayerBaseInfo) GetDiamond() int32 { + return p.Diamond +} + +func (p *ResPlayerBaseInfo) GetLevel() int32 { + return p.Level +} + +func (p *ResPlayerBaseInfo) GetExp() int32 { + return p.Exp +} + +func (p *ResPlayerBaseInfo) GetStartOrderId() string { + return p.StartOrderId +} + +func (p *ResPlayerBaseInfo) GetMusicCode() int32 { + return p.MusicCode +} + +func (p *ResPlayerBaseInfo) GetGuild() int32 { + return p.Guild +} + +func (p *ResPlayerBaseInfo) GetPackUnlockCount() int32 { + return p.PackUnlockCount +} + +func (p *ResPlayerBaseInfo) GetLastPlayTime() int32 { + return p.LastPlayTime +} + +func (p *ResPlayerBaseInfo) GetBan() int64 { + return p.Ban +} + +func (p *ResPlayerBaseInfo) GetUserName() string { + return p.UserName +} + +func (p *ResPlayerBaseInfo) GetLoginTime() int32 { + return p.LoginTime +} + +func (p *ResPlayerBaseInfo) GetLogoutTime() int32 { + return p.LogoutTime +} + +func (p *ResPlayerBaseInfo) GetNode() int32 { + return p.Node +} + +func (p *ResPlayerBaseInfo) GetRolecreatetime() int32 { + return p.Rolecreatetime +} + +func (p *ResPlayerBaseInfo) GetEmitOrderCnt() int32 { + return p.EmitOrderCnt +} + +func (p *ResPlayerBaseInfo) GetNoAd() int32 { + return p.NoAd +} + +func (p *ResPlayerBaseInfo) GetChampshipsGroupID() int32 { + return p.ChampshipsGroupID +} + +func (p *ResPlayerBaseInfo) GetLastChampGroupID() int32 { + return p.LastChampGroupID +} + +func (p *ResPlayerBaseInfo) GetFaceBookId() string { + return p.FaceBookId +} + +func (p *ResPlayerBaseInfo) GetRegisterTime() int32 { + return p.RegisterTime +} + +func (p *ResPlayerBaseInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.I32 { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.STRING { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.I32 { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.I32 { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 11: + if fieldTypeId == thrift.I32 { + if err := p.ReadField11(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 12: + if fieldTypeId == thrift.I32 { + if err := p.ReadField12(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 13: + if fieldTypeId == thrift.I64 { + if err := p.ReadField13(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 14: + if fieldTypeId == thrift.STRING { + if err := p.ReadField14(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 15: + if fieldTypeId == thrift.I32 { + if err := p.ReadField15(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 16: + if fieldTypeId == thrift.I32 { + if err := p.ReadField16(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 17: + if fieldTypeId == thrift.I32 { + if err := p.ReadField17(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 18: + if fieldTypeId == thrift.I32 { + if err := p.ReadField18(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 19: + if fieldTypeId == thrift.I32 { + if err := p.ReadField19(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 20: + if fieldTypeId == thrift.I32 { + if err := p.ReadField20(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 21: + if fieldTypeId == thrift.I32 { + if err := p.ReadField21(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 22: + if fieldTypeId == thrift.I32 { + if err := p.ReadField22(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 23: + if fieldTypeId == thrift.STRING { + if err := p.ReadField23(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 24: + if fieldTypeId == thrift.I32 { + if err := p.ReadField24(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Energy = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Star = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.RecoverTime = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Diamond = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.Level = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.Exp = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.StartOrderId = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 9: ", err) + } else { + p.MusicCode = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 10: ", err) + } else { + p.Guild = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField11(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 11: ", err) + } else { + p.PackUnlockCount = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField12(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 12: ", err) + } else { + p.LastPlayTime = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField13(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 13: ", err) + } else { + p.Ban = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField14(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 14: ", err) + } else { + p.UserName = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField15(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 15: ", err) + } else { + p.LoginTime = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField16(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 16: ", err) + } else { + p.LogoutTime = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField17(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 17: ", err) + } else { + p.Node = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField18(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 18: ", err) + } else { + p.Rolecreatetime = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField19(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 19: ", err) + } else { + p.EmitOrderCnt = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField20(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 20: ", err) + } else { + p.NoAd = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField21(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 21: ", err) + } else { + p.ChampshipsGroupID = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField22(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 22: ", err) + } else { + p.LastChampGroupID = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField23(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 23: ", err) + } else { + p.FaceBookId = v + } + return nil +} + +func (p *ResPlayerBaseInfo) ReadField24(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 24: ", err) + } else { + p.RegisterTime = v + } + return nil +} + +func (p *ResPlayerBaseInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayerBaseInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + if err := p.writeField11(ctx, oprot); err != nil { + return err + } + if err := p.writeField12(ctx, oprot); err != nil { + return err + } + if err := p.writeField13(ctx, oprot); err != nil { + return err + } + if err := p.writeField14(ctx, oprot); err != nil { + return err + } + if err := p.writeField15(ctx, oprot); err != nil { + return err + } + if err := p.writeField16(ctx, oprot); err != nil { + return err + } + if err := p.writeField17(ctx, oprot); err != nil { + return err + } + if err := p.writeField18(ctx, oprot); err != nil { + return err + } + if err := p.writeField19(ctx, oprot); err != nil { + return err + } + if err := p.writeField20(ctx, oprot); err != nil { + return err + } + if err := p.writeField21(ctx, oprot); err != nil { + return err + } + if err := p.writeField22(ctx, oprot); err != nil { + return err + } + if err := p.writeField23(ctx, oprot); err != nil { + return err + } + if err := p.writeField24(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayerBaseInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "energy", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:energy: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Energy)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.energy (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:energy: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "star", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:star: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Star)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.star (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:star: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "recoverTime", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:recoverTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.RecoverTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.recoverTime (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:recoverTime: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "diamond", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:diamond: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Diamond)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.diamond (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:diamond: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "level", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:level: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Level)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.level (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:level: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "exp", thrift.I32, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:exp: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Exp)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.exp (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:exp: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "startOrderId", thrift.STRING, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:startOrderId: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.StartOrderId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.startOrderId (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:startOrderId: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "musicCode", thrift.I32, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:musicCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.MusicCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.musicCode (9) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:musicCode: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "guild", thrift.I32, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:guild: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Guild)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.guild (10) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:guild: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "packUnlockCount", thrift.I32, 11); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:packUnlockCount: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.PackUnlockCount)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.packUnlockCount (11) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 11:packUnlockCount: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "lastPlayTime", thrift.I32, 12); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:lastPlayTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.LastPlayTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.lastPlayTime (12) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 12:lastPlayTime: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField13(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ban", thrift.I64, 13); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 13:ban: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Ban)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ban (13) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 13:ban: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField14(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "userName", thrift.STRING, 14); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 14:userName: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.UserName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.userName (14) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 14:userName: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField15(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "loginTime", thrift.I32, 15); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 15:loginTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.LoginTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.loginTime (15) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 15:loginTime: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField16(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "logoutTime", thrift.I32, 16); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 16:logoutTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.LogoutTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.logoutTime (16) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 16:logoutTime: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField17(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "node", thrift.I32, 17); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 17:node: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Node)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.node (17) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 17:node: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField18(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "rolecreatetime", thrift.I32, 18); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 18:rolecreatetime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Rolecreatetime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.rolecreatetime (18) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 18:rolecreatetime: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField19(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EmitOrderCnt", thrift.I32, 19); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 19:EmitOrderCnt: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EmitOrderCnt)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EmitOrderCnt (19) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 19:EmitOrderCnt: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField20(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "NoAd", thrift.I32, 20); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 20:NoAd: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.NoAd)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.NoAd (20) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 20:NoAd: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField21(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChampshipsGroupID", thrift.I32, 21); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 21:ChampshipsGroupID: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ChampshipsGroupID)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ChampshipsGroupID (21) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 21:ChampshipsGroupID: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField22(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "LastChampGroupID", thrift.I32, 22); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 22:LastChampGroupID: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.LastChampGroupID)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.LastChampGroupID (22) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 22:LastChampGroupID: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField23(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FaceBookId", thrift.STRING, 23); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 23:FaceBookId: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.FaceBookId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.FaceBookId (23) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 23:FaceBookId: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) writeField24(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "registerTime", thrift.I32, 24); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 24:registerTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.RegisterTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.registerTime (24) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 24:registerTime: ", p), err) + } + return err +} + +func (p *ResPlayerBaseInfo) Equals(other *ResPlayerBaseInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.Energy != other.Energy { + return false + } + if p.Star != other.Star { + return false + } + if p.RecoverTime != other.RecoverTime { + return false + } + if p.Diamond != other.Diamond { + return false + } + if p.Level != other.Level { + return false + } + if p.Exp != other.Exp { + return false + } + if p.StartOrderId != other.StartOrderId { + return false + } + if p.MusicCode != other.MusicCode { + return false + } + if p.Guild != other.Guild { + return false + } + if p.PackUnlockCount != other.PackUnlockCount { + return false + } + if p.LastPlayTime != other.LastPlayTime { + return false + } + if p.Ban != other.Ban { + return false + } + if p.UserName != other.UserName { + return false + } + if p.LoginTime != other.LoginTime { + return false + } + if p.LogoutTime != other.LogoutTime { + return false + } + if p.Node != other.Node { + return false + } + if p.Rolecreatetime != other.Rolecreatetime { + return false + } + if p.EmitOrderCnt != other.EmitOrderCnt { + return false + } + if p.NoAd != other.NoAd { + return false + } + if p.ChampshipsGroupID != other.ChampshipsGroupID { + return false + } + if p.LastChampGroupID != other.LastChampGroupID { + return false + } + if p.FaceBookId != other.FaceBookId { + return false + } + if p.RegisterTime != other.RegisterTime { + return false + } + return true +} + +func (p *ResPlayerBaseInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayerBaseInfo(%+v)", *p) +} + +func (p *ResPlayerBaseInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayerBaseInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayerBaseInfo)(nil) + +func (p *ResPlayerBaseInfo) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - ImageFrame +// - ImageIcon +// - DecorateCnt +// - NickName +// - PicURL +// - ActiveTime +// - SetEmoji +// +type ResPlayerBriefProfileData struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + ImageFrame int32 `thrift:"ImageFrame,2" db:"ImageFrame" json:"ImageFrame"` + ImageIcon int32 `thrift:"ImageIcon,3" db:"ImageIcon" json:"ImageIcon"` + DecorateCnt int32 `thrift:"DecorateCnt,4" db:"DecorateCnt" json:"DecorateCnt"` + NickName string `thrift:"NickName,5" db:"NickName" json:"NickName"` + PicURL string `thrift:"PicURL,6" db:"PicURL" json:"PicURL"` + ActiveTime int32 `thrift:"ActiveTime,7" db:"ActiveTime" json:"ActiveTime"` + // unused fields # 8 to 10 + SetEmoji map[int32]int32 `thrift:"SetEmoji,11" db:"SetEmoji" json:"SetEmoji"` +} + +func NewResPlayerBriefProfileData() *ResPlayerBriefProfileData { + return &ResPlayerBriefProfileData{} +} + +func (p *ResPlayerBriefProfileData) GetDwUin() int64 { + return p.DwUin +} + +func (p *ResPlayerBriefProfileData) GetImageFrame() int32 { + return p.ImageFrame +} + +func (p *ResPlayerBriefProfileData) GetImageIcon() int32 { + return p.ImageIcon +} + +func (p *ResPlayerBriefProfileData) GetDecorateCnt() int32 { + return p.DecorateCnt +} + +func (p *ResPlayerBriefProfileData) GetNickName() string { + return p.NickName +} + +func (p *ResPlayerBriefProfileData) GetPicURL() string { + return p.PicURL +} + +func (p *ResPlayerBriefProfileData) GetActiveTime() int32 { + return p.ActiveTime +} + +func (p *ResPlayerBriefProfileData) GetSetEmoji() map[int32]int32 { + return p.SetEmoji +} + +func (p *ResPlayerBriefProfileData) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.STRING { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.STRING { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.I32 { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 11: + if fieldTypeId == thrift.MAP { + if err := p.ReadField11(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayerBriefProfileData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ResPlayerBriefProfileData) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.ImageFrame = v + } + return nil +} + +func (p *ResPlayerBriefProfileData) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.ImageIcon = v + } + return nil +} + +func (p *ResPlayerBriefProfileData) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.DecorateCnt = v + } + return nil +} + +func (p *ResPlayerBriefProfileData) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.NickName = v + } + return nil +} + +func (p *ResPlayerBriefProfileData) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.PicURL = v + } + return nil +} + +func (p *ResPlayerBriefProfileData) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.ActiveTime = v + } + return nil +} + +func (p *ResPlayerBriefProfileData) ReadField11(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.SetEmoji = tMap + for i := 0; i < size; i++ { + var _key326 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key326 = v + } + var _val327 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val327 = v + } + p.SetEmoji[_key326] = _val327 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayerBriefProfileData) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayerBriefProfileData"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField11(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayerBriefProfileData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ResPlayerBriefProfileData) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ImageFrame", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:ImageFrame: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ImageFrame)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ImageFrame (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:ImageFrame: ", p), err) + } + return err +} + +func (p *ResPlayerBriefProfileData) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ImageIcon", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ImageIcon: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ImageIcon)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ImageIcon (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ImageIcon: ", p), err) + } + return err +} + +func (p *ResPlayerBriefProfileData) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "DecorateCnt", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:DecorateCnt: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.DecorateCnt)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.DecorateCnt (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:DecorateCnt: ", p), err) + } + return err +} + +func (p *ResPlayerBriefProfileData) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "NickName", thrift.STRING, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:NickName: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.NickName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.NickName (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:NickName: ", p), err) + } + return err +} + +func (p *ResPlayerBriefProfileData) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PicURL", thrift.STRING, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:PicURL: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.PicURL)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.PicURL (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:PicURL: ", p), err) + } + return err +} + +func (p *ResPlayerBriefProfileData) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ActiveTime", thrift.I32, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:ActiveTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ActiveTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ActiveTime (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:ActiveTime: ", p), err) + } + return err +} + +func (p *ResPlayerBriefProfileData) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "SetEmoji", thrift.MAP, 11); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:SetEmoji: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.SetEmoji)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.SetEmoji { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 11:SetEmoji: ", p), err) + } + return err +} + +func (p *ResPlayerBriefProfileData) Equals(other *ResPlayerBriefProfileData) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.ImageFrame != other.ImageFrame { + return false + } + if p.ImageIcon != other.ImageIcon { + return false + } + if p.DecorateCnt != other.DecorateCnt { + return false + } + if p.NickName != other.NickName { + return false + } + if p.PicURL != other.PicURL { + return false + } + if p.ActiveTime != other.ActiveTime { + return false + } + if len(p.SetEmoji) != len(other.SetEmoji) { + return false + } + for k, _tgt := range p.SetEmoji { + _src328 := other.SetEmoji[k] + if _tgt != _src328 { + return false + } + } + return true +} + +func (p *ResPlayerBriefProfileData) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayerBriefProfileData(%+v)", *p) +} + +func (p *ResPlayerBriefProfileData) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayerBriefProfileData", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayerBriefProfileData)(nil) + +func (p *ResPlayerBriefProfileData) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - MChessData +// - ChessList +// - ChessBuff +// +type ResPlayerChessData struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + MChessData map[string]int32 `thrift:"MChessData,2" db:"MChessData" json:"MChessData"` + ChessList []int32 `thrift:"ChessList,3" db:"ChessList" json:"ChessList"` + ChessBuff []int32 `thrift:"ChessBuff,4" db:"ChessBuff" json:"ChessBuff"` +} + +func NewResPlayerChessData() *ResPlayerChessData { + return &ResPlayerChessData{} +} + +func (p *ResPlayerChessData) GetDwUin() int64 { + return p.DwUin +} + +func (p *ResPlayerChessData) GetMChessData() map[string]int32 { + return p.MChessData +} + +func (p *ResPlayerChessData) GetChessList() []int32 { + return p.ChessList +} + +func (p *ResPlayerChessData) GetChessBuff() []int32 { + return p.ChessBuff +} + +func (p *ResPlayerChessData) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayerChessData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ResPlayerChessData) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.MChessData = tMap + for i := 0; i < size; i++ { + var _key329 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key329 = v + } + var _val330 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val330 = v + } + p.MChessData[_key329] = _val330 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayerChessData) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.ChessList = tSlice + for i := 0; i < size; i++ { + var _elem331 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem331 = v + } + p.ChessList = append(p.ChessList, _elem331) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayerChessData) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.ChessBuff = tSlice + for i := 0; i < size; i++ { + var _elem332 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem332 = v + } + p.ChessBuff = append(p.ChessBuff, _elem332) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayerChessData) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayerChessData"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayerChessData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ResPlayerChessData) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MChessData", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MChessData: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.MChessData)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MChessData { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MChessData: ", p), err) + } + return err +} + +func (p *ResPlayerChessData) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessList", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ChessList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.ChessList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ChessList { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ChessList: ", p), err) + } + return err +} + +func (p *ResPlayerChessData) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessBuff", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:ChessBuff: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.ChessBuff)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ChessBuff { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:ChessBuff: ", p), err) + } + return err +} + +func (p *ResPlayerChessData) Equals(other *ResPlayerChessData) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if len(p.MChessData) != len(other.MChessData) { + return false + } + for k, _tgt := range p.MChessData { + _src333 := other.MChessData[k] + if _tgt != _src333 { + return false + } + } + if len(p.ChessList) != len(other.ChessList) { + return false + } + for i, _tgt := range p.ChessList { + _src334 := other.ChessList[i] + if _tgt != _src334 { + return false + } + } + if len(p.ChessBuff) != len(other.ChessBuff) { + return false + } + for i, _tgt := range p.ChessBuff { + _src335 := other.ChessBuff[i] + if _tgt != _src335 { + return false + } + } + return true +} + +func (p *ResPlayerChessData) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayerChessData(%+v)", *p) +} + +func (p *ResPlayerChessData) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayerChessData", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayerChessData)(nil) + +func (p *ResPlayerChessData) Validate() error { + return nil +} + +// Attributes: +// - ChessList +// - ChessBuff +// - ChessBag +// - RetireEmit +// - Honor +// - PartBag +// - RetireReward +// +type ResPlayerChessInfo struct { + ChessList []int32 `thrift:"ChessList,1" db:"ChessList" json:"ChessList"` + ChessBuff []int32 `thrift:"ChessBuff,2" db:"ChessBuff" json:"ChessBuff"` + ChessBag *ChessBag `thrift:"ChessBag,3" db:"ChessBag" json:"ChessBag"` + RetireEmit []string `thrift:"RetireEmit,4" db:"RetireEmit" json:"RetireEmit"` + Honor []int32 `thrift:"Honor,5" db:"Honor" json:"Honor"` + PartBag *PartBag `thrift:"PartBag,6" db:"PartBag" json:"PartBag"` + RetireReward []string `thrift:"RetireReward,7" db:"RetireReward" json:"RetireReward"` +} + +func NewResPlayerChessInfo() *ResPlayerChessInfo { + return &ResPlayerChessInfo{} +} + +func (p *ResPlayerChessInfo) GetChessList() []int32 { + return p.ChessList +} + +func (p *ResPlayerChessInfo) GetChessBuff() []int32 { + return p.ChessBuff +} + +var ResPlayerChessInfo_ChessBag_DEFAULT *ChessBag + +func (p *ResPlayerChessInfo) GetChessBag() *ChessBag { + if !p.IsSetChessBag() { + return ResPlayerChessInfo_ChessBag_DEFAULT + } + return p.ChessBag +} + +func (p *ResPlayerChessInfo) GetRetireEmit() []string { + return p.RetireEmit +} + +func (p *ResPlayerChessInfo) GetHonor() []int32 { + return p.Honor +} + +var ResPlayerChessInfo_PartBag_DEFAULT *PartBag + +func (p *ResPlayerChessInfo) GetPartBag() *PartBag { + if !p.IsSetPartBag() { + return ResPlayerChessInfo_PartBag_DEFAULT + } + return p.PartBag +} + +func (p *ResPlayerChessInfo) GetRetireReward() []string { + return p.RetireReward +} + +func (p *ResPlayerChessInfo) IsSetChessBag() bool { + return p.ChessBag != nil +} + +func (p *ResPlayerChessInfo) IsSetPartBag() bool { + return p.PartBag != nil +} + +func (p *ResPlayerChessInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.LIST { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.LIST { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayerChessInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.ChessList = tSlice + for i := 0; i < size; i++ { + var _elem336 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem336 = v + } + p.ChessList = append(p.ChessList, _elem336) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayerChessInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.ChessBuff = tSlice + for i := 0; i < size; i++ { + var _elem337 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem337 = v + } + p.ChessBuff = append(p.ChessBuff, _elem337) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayerChessInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + p.ChessBag = &ChessBag{} + if err := p.ChessBag.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.ChessBag), err) + } + return nil +} + +func (p *ResPlayerChessInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]string, 0, size) + p.RetireEmit = tSlice + for i := 0; i < size; i++ { + var _elem338 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem338 = v + } + p.RetireEmit = append(p.RetireEmit, _elem338) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayerChessInfo) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.Honor = tSlice + for i := 0; i < size; i++ { + var _elem339 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem339 = v + } + p.Honor = append(p.Honor, _elem339) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayerChessInfo) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + p.PartBag = &PartBag{} + if err := p.PartBag.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.PartBag), err) + } + return nil +} + +func (p *ResPlayerChessInfo) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]string, 0, size) + p.RetireReward = tSlice + for i := 0; i < size; i++ { + var _elem340 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem340 = v + } + p.RetireReward = append(p.RetireReward, _elem340) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayerChessInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayerChessInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayerChessInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessList", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ChessList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.ChessList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ChessList { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ChessList: ", p), err) + } + return err +} + +func (p *ResPlayerChessInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessBuff", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:ChessBuff: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.ChessBuff)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ChessBuff { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:ChessBuff: ", p), err) + } + return err +} + +func (p *ResPlayerChessInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessBag", thrift.STRUCT, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ChessBag: ", p), err) + } + if err := p.ChessBag.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.ChessBag), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ChessBag: ", p), err) + } + return err +} + +func (p *ResPlayerChessInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "RetireEmit", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:RetireEmit: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.RetireEmit)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.RetireEmit { + if err := oprot.WriteString(ctx, string(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:RetireEmit: ", p), err) + } + return err +} + +func (p *ResPlayerChessInfo) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Honor", thrift.LIST, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Honor: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.Honor)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Honor { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Honor: ", p), err) + } + return err +} + +func (p *ResPlayerChessInfo) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PartBag", thrift.STRUCT, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:PartBag: ", p), err) + } + if err := p.PartBag.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.PartBag), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:PartBag: ", p), err) + } + return err +} + +func (p *ResPlayerChessInfo) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "RetireReward", thrift.LIST, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:RetireReward: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.RetireReward)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.RetireReward { + if err := oprot.WriteString(ctx, string(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:RetireReward: ", p), err) + } + return err +} + +func (p *ResPlayerChessInfo) Equals(other *ResPlayerChessInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.ChessList) != len(other.ChessList) { + return false + } + for i, _tgt := range p.ChessList { + _src341 := other.ChessList[i] + if _tgt != _src341 { + return false + } + } + if len(p.ChessBuff) != len(other.ChessBuff) { + return false + } + for i, _tgt := range p.ChessBuff { + _src342 := other.ChessBuff[i] + if _tgt != _src342 { + return false + } + } + if !p.ChessBag.Equals(other.ChessBag) { + return false + } + if len(p.RetireEmit) != len(other.RetireEmit) { + return false + } + for i, _tgt := range p.RetireEmit { + _src343 := other.RetireEmit[i] + if _tgt != _src343 { + return false + } + } + if len(p.Honor) != len(other.Honor) { + return false + } + for i, _tgt := range p.Honor { + _src344 := other.Honor[i] + if _tgt != _src344 { + return false + } + } + if !p.PartBag.Equals(other.PartBag) { + return false + } + if len(p.RetireReward) != len(other.RetireReward) { + return false + } + for i, _tgt := range p.RetireReward { + _src345 := other.RetireReward[i] + if _tgt != _src345 { + return false + } + } + return true +} + +func (p *ResPlayerChessInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayerChessInfo(%+v)", *p) +} + +func (p *ResPlayerChessInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayerChessInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayerChessInfo)(nil) + +func (p *ResPlayerChessInfo) Validate() error { + return nil +} + +// Attributes: +// - Type +// - Name +// - Face +// - Count +// - FacebookPic +// - Uids +// +type ResPlayerLougouMsg struct { + Type int32 `thrift:"Type,1" db:"Type" json:"Type"` + Name string `thrift:"Name,2" db:"Name" json:"Name"` + Face []int32 `thrift:"Face,3" db:"Face" json:"Face"` + Count int32 `thrift:"Count,4" db:"Count" json:"Count"` + FacebookPic []string `thrift:"FacebookPic,5" db:"FacebookPic" json:"FacebookPic"` + Uids []int64 `thrift:"Uids,6" db:"Uids" json:"Uids"` +} + +func NewResPlayerLougouMsg() *ResPlayerLougouMsg { + return &ResPlayerLougouMsg{} +} + +func (p *ResPlayerLougouMsg) GetType() int32 { + return p.Type +} + +func (p *ResPlayerLougouMsg) GetName() string { + return p.Name +} + +func (p *ResPlayerLougouMsg) GetFace() []int32 { + return p.Face +} + +func (p *ResPlayerLougouMsg) GetCount() int32 { + return p.Count +} + +func (p *ResPlayerLougouMsg) GetFacebookPic() []string { + return p.FacebookPic +} + +func (p *ResPlayerLougouMsg) GetUids() []int64 { + return p.Uids +} + +func (p *ResPlayerLougouMsg) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.LIST { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.LIST { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayerLougouMsg) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ResPlayerLougouMsg) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Name = v + } + return nil +} + +func (p *ResPlayerLougouMsg) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.Face = tSlice + for i := 0; i < size; i++ { + var _elem346 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem346 = v + } + p.Face = append(p.Face, _elem346) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayerLougouMsg) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Count = v + } + return nil +} + +func (p *ResPlayerLougouMsg) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]string, 0, size) + p.FacebookPic = tSlice + for i := 0; i < size; i++ { + var _elem347 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem347 = v + } + p.FacebookPic = append(p.FacebookPic, _elem347) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayerLougouMsg) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int64, 0, size) + p.Uids = tSlice + for i := 0; i < size; i++ { + var _elem348 int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem348 = v + } + p.Uids = append(p.Uids, _elem348) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayerLougouMsg) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayerLougouMsg"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayerLougouMsg) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Type: ", p), err) + } + return err +} + +func (p *ResPlayerLougouMsg) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Name", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Name: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Name)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Name (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Name: ", p), err) + } + return err +} + +func (p *ResPlayerLougouMsg) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Face", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Face: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.Face)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Face { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Face: ", p), err) + } + return err +} + +func (p *ResPlayerLougouMsg) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Count", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Count: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Count)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Count (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Count: ", p), err) + } + return err +} + +func (p *ResPlayerLougouMsg) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FacebookPic", thrift.LIST, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:FacebookPic: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.FacebookPic)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.FacebookPic { + if err := oprot.WriteString(ctx, string(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:FacebookPic: ", p), err) + } + return err +} + +func (p *ResPlayerLougouMsg) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uids", thrift.LIST, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Uids: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.Uids)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Uids { + if err := oprot.WriteI64(ctx, int64(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Uids: ", p), err) + } + return err +} + +func (p *ResPlayerLougouMsg) Equals(other *ResPlayerLougouMsg) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Type != other.Type { + return false + } + if p.Name != other.Name { + return false + } + if len(p.Face) != len(other.Face) { + return false + } + for i, _tgt := range p.Face { + _src349 := other.Face[i] + if _tgt != _src349 { + return false + } + } + if p.Count != other.Count { + return false + } + if len(p.FacebookPic) != len(other.FacebookPic) { + return false + } + for i, _tgt := range p.FacebookPic { + _src350 := other.FacebookPic[i] + if _tgt != _src350 { + return false + } + } + if len(p.Uids) != len(other.Uids) { + return false + } + for i, _tgt := range p.Uids { + _src351 := other.Uids[i] + if _tgt != _src351 { + return false + } + } + return true +} + +func (p *ResPlayerLougouMsg) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayerLougouMsg(%+v)", *p) +} + +func (p *ResPlayerLougouMsg) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayerLougouMsg", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayerLougouMsg)(nil) + +func (p *ResPlayerLougouMsg) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - ImageFrame +// - ImageIcon +// - DecorateCnt +// - NickName +// - PicURL +// - UnlockFrame +// - UnlockIcon +// - ActiveTime +// +type ResPlayerProfileData struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + ImageFrame int32 `thrift:"ImageFrame,2" db:"ImageFrame" json:"ImageFrame"` + ImageIcon int32 `thrift:"ImageIcon,3" db:"ImageIcon" json:"ImageIcon"` + DecorateCnt int32 `thrift:"DecorateCnt,4" db:"DecorateCnt" json:"DecorateCnt"` + NickName string `thrift:"NickName,5" db:"NickName" json:"NickName"` + PicURL string `thrift:"PicURL,6" db:"PicURL" json:"PicURL"` + UnlockFrame string `thrift:"UnlockFrame,7" db:"UnlockFrame" json:"UnlockFrame"` + UnlockIcon string `thrift:"UnlockIcon,8" db:"UnlockIcon" json:"UnlockIcon"` + ActiveTime int32 `thrift:"ActiveTime,9" db:"ActiveTime" json:"ActiveTime"` +} + +func NewResPlayerProfileData() *ResPlayerProfileData { + return &ResPlayerProfileData{} +} + +func (p *ResPlayerProfileData) GetDwUin() int64 { + return p.DwUin +} + +func (p *ResPlayerProfileData) GetImageFrame() int32 { + return p.ImageFrame +} + +func (p *ResPlayerProfileData) GetImageIcon() int32 { + return p.ImageIcon +} + +func (p *ResPlayerProfileData) GetDecorateCnt() int32 { + return p.DecorateCnt +} + +func (p *ResPlayerProfileData) GetNickName() string { + return p.NickName +} + +func (p *ResPlayerProfileData) GetPicURL() string { + return p.PicURL +} + +func (p *ResPlayerProfileData) GetUnlockFrame() string { + return p.UnlockFrame +} + +func (p *ResPlayerProfileData) GetUnlockIcon() string { + return p.UnlockIcon +} + +func (p *ResPlayerProfileData) GetActiveTime() int32 { + return p.ActiveTime +} + +func (p *ResPlayerProfileData) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.STRING { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.STRING { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.STRING { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.STRING { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.I32 { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayerProfileData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ResPlayerProfileData) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.ImageFrame = v + } + return nil +} + +func (p *ResPlayerProfileData) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.ImageIcon = v + } + return nil +} + +func (p *ResPlayerProfileData) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.DecorateCnt = v + } + return nil +} + +func (p *ResPlayerProfileData) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.NickName = v + } + return nil +} + +func (p *ResPlayerProfileData) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.PicURL = v + } + return nil +} + +func (p *ResPlayerProfileData) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.UnlockFrame = v + } + return nil +} + +func (p *ResPlayerProfileData) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.UnlockIcon = v + } + return nil +} + +func (p *ResPlayerProfileData) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 9: ", err) + } else { + p.ActiveTime = v + } + return nil +} + +func (p *ResPlayerProfileData) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayerProfileData"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayerProfileData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ResPlayerProfileData) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ImageFrame", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:ImageFrame: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ImageFrame)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ImageFrame (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:ImageFrame: ", p), err) + } + return err +} + +func (p *ResPlayerProfileData) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ImageIcon", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:ImageIcon: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ImageIcon)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ImageIcon (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:ImageIcon: ", p), err) + } + return err +} + +func (p *ResPlayerProfileData) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "DecorateCnt", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:DecorateCnt: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.DecorateCnt)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.DecorateCnt (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:DecorateCnt: ", p), err) + } + return err +} + +func (p *ResPlayerProfileData) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "NickName", thrift.STRING, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:NickName: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.NickName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.NickName (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:NickName: ", p), err) + } + return err +} + +func (p *ResPlayerProfileData) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PicURL", thrift.STRING, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:PicURL: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.PicURL)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.PicURL (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:PicURL: ", p), err) + } + return err +} + +func (p *ResPlayerProfileData) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "UnlockFrame", thrift.STRING, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:UnlockFrame: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.UnlockFrame)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.UnlockFrame (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:UnlockFrame: ", p), err) + } + return err +} + +func (p *ResPlayerProfileData) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "UnlockIcon", thrift.STRING, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:UnlockIcon: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.UnlockIcon)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.UnlockIcon (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:UnlockIcon: ", p), err) + } + return err +} + +func (p *ResPlayerProfileData) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ActiveTime", thrift.I32, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:ActiveTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ActiveTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ActiveTime (9) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:ActiveTime: ", p), err) + } + return err +} + +func (p *ResPlayerProfileData) Equals(other *ResPlayerProfileData) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.ImageFrame != other.ImageFrame { + return false + } + if p.ImageIcon != other.ImageIcon { + return false + } + if p.DecorateCnt != other.DecorateCnt { + return false + } + if p.NickName != other.NickName { + return false + } + if p.PicURL != other.PicURL { + return false + } + if p.UnlockFrame != other.UnlockFrame { + return false + } + if p.UnlockIcon != other.UnlockIcon { + return false + } + if p.ActiveTime != other.ActiveTime { + return false + } + return true +} + +func (p *ResPlayerProfileData) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayerProfileData(%+v)", *p) +} + +func (p *ResPlayerProfileData) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayerProfileData", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayerProfileData)(nil) + +func (p *ResPlayerProfileData) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - Name +// - Face +// - Avatar +// - Level +// - Score +// - Type +// - PlayroomSet +// - DressSet +// - FurSet +// - Last +// - PetName +// +type ResPlayerRank struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + Name string `thrift:"Name,2" db:"Name" json:"Name"` + Face int32 `thrift:"Face,3" db:"Face" json:"Face"` + Avatar int32 `thrift:"Avatar,4" db:"Avatar" json:"Avatar"` + Level int32 `thrift:"Level,5" db:"Level" json:"Level"` + Score float64 `thrift:"score,6" db:"score" json:"score"` + Type int32 `thrift:"type,7" db:"type" json:"type"` + PlayroomSet map[int32]int32 `thrift:"PlayroomSet,8" db:"PlayroomSet" json:"PlayroomSet"` + DressSet map[int32]int32 `thrift:"DressSet,9" db:"DressSet" json:"DressSet"` + FurSet int32 `thrift:"FurSet,10" db:"FurSet" json:"FurSet"` + Last *ActLog `thrift:"Last,11" db:"Last" json:"Last"` + PetName string `thrift:"PetName,12" db:"PetName" json:"PetName"` +} + +func NewResPlayerRank() *ResPlayerRank { + return &ResPlayerRank{} +} + +func (p *ResPlayerRank) GetUid() int64 { + return p.Uid +} + +func (p *ResPlayerRank) GetName() string { + return p.Name +} + +func (p *ResPlayerRank) GetFace() int32 { + return p.Face +} + +func (p *ResPlayerRank) GetAvatar() int32 { + return p.Avatar +} + +func (p *ResPlayerRank) GetLevel() int32 { + return p.Level +} + +func (p *ResPlayerRank) GetScore() float64 { + return p.Score +} + +func (p *ResPlayerRank) GetType() int32 { + return p.Type +} + +func (p *ResPlayerRank) GetPlayroomSet() map[int32]int32 { + return p.PlayroomSet +} + +func (p *ResPlayerRank) GetDressSet() map[int32]int32 { + return p.DressSet +} + +func (p *ResPlayerRank) GetFurSet() int32 { + return p.FurSet +} + +var ResPlayerRank_Last_DEFAULT *ActLog + +func (p *ResPlayerRank) GetLast() *ActLog { + if !p.IsSetLast() { + return ResPlayerRank_Last_DEFAULT + } + return p.Last +} + +func (p *ResPlayerRank) GetPetName() string { + return p.PetName +} + +func (p *ResPlayerRank) IsSetLast() bool { + return p.Last != nil +} + +func (p *ResPlayerRank) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.DOUBLE { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.I32 { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.MAP { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.MAP { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.I32 { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 11: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField11(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 12: + if fieldTypeId == thrift.STRING { + if err := p.ReadField12(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayerRank) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ResPlayerRank) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Name = v + } + return nil +} + +func (p *ResPlayerRank) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Face = v + } + return nil +} + +func (p *ResPlayerRank) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Avatar = v + } + return nil +} + +func (p *ResPlayerRank) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Level = v + } + return nil +} + +func (p *ResPlayerRank) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadDouble(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.Score = v + } + return nil +} + +func (p *ResPlayerRank) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ResPlayerRank) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.PlayroomSet = tMap + for i := 0; i < size; i++ { + var _key352 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key352 = v + } + var _val353 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val353 = v + } + p.PlayroomSet[_key352] = _val353 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayerRank) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.DressSet = tMap + for i := 0; i < size; i++ { + var _key354 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key354 = v + } + var _val355 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val355 = v + } + p.DressSet[_key354] = _val355 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayerRank) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 10: ", err) + } else { + p.FurSet = v + } + return nil +} + +func (p *ResPlayerRank) ReadField11(ctx context.Context, iprot thrift.TProtocol) error { + p.Last = &ActLog{} + if err := p.Last.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Last), err) + } + return nil +} + +func (p *ResPlayerRank) ReadField12(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 12: ", err) + } else { + p.PetName = v + } + return nil +} + +func (p *ResPlayerRank) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayerRank"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + if err := p.writeField11(ctx, oprot); err != nil { + return err + } + if err := p.writeField12(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayerRank) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ResPlayerRank) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Name", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Name: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Name)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Name (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Name: ", p), err) + } + return err +} + +func (p *ResPlayerRank) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Face", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Face: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Face)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Face (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Face: ", p), err) + } + return err +} + +func (p *ResPlayerRank) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Avatar", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Avatar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Avatar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Avatar (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Avatar: ", p), err) + } + return err +} + +func (p *ResPlayerRank) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Level", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Level: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Level)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Level (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Level: ", p), err) + } + return err +} + +func (p *ResPlayerRank) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "score", thrift.DOUBLE, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:score: ", p), err) + } + if err := oprot.WriteDouble(ctx, float64(p.Score)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.score (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:score: ", p), err) + } + return err +} + +func (p *ResPlayerRank) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "type", thrift.I32, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.type (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:type: ", p), err) + } + return err +} + +func (p *ResPlayerRank) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PlayroomSet", thrift.MAP, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:PlayroomSet: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.PlayroomSet)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.PlayroomSet { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:PlayroomSet: ", p), err) + } + return err +} + +func (p *ResPlayerRank) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "DressSet", thrift.MAP, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:DressSet: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.DressSet)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.DressSet { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:DressSet: ", p), err) + } + return err +} + +func (p *ResPlayerRank) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FurSet", thrift.I32, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:FurSet: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.FurSet)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.FurSet (10) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:FurSet: ", p), err) + } + return err +} + +func (p *ResPlayerRank) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Last", thrift.STRUCT, 11); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:Last: ", p), err) + } + if err := p.Last.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Last), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 11:Last: ", p), err) + } + return err +} + +func (p *ResPlayerRank) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PetName", thrift.STRING, 12); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:PetName: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.PetName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.PetName (12) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 12:PetName: ", p), err) + } + return err +} + +func (p *ResPlayerRank) Equals(other *ResPlayerRank) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.Name != other.Name { + return false + } + if p.Face != other.Face { + return false + } + if p.Avatar != other.Avatar { + return false + } + if p.Level != other.Level { + return false + } + if p.Score != other.Score { + return false + } + if p.Type != other.Type { + return false + } + if len(p.PlayroomSet) != len(other.PlayroomSet) { + return false + } + for k, _tgt := range p.PlayroomSet { + _src356 := other.PlayroomSet[k] + if _tgt != _src356 { + return false + } + } + if len(p.DressSet) != len(other.DressSet) { + return false + } + for k, _tgt := range p.DressSet { + _src357 := other.DressSet[k] + if _tgt != _src357 { + return false + } + } + if p.FurSet != other.FurSet { + return false + } + if !p.Last.Equals(other.Last) { + return false + } + if p.PetName != other.PetName { + return false + } + return true +} + +func (p *ResPlayerRank) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayerRank(%+v)", *p) +} + +func (p *ResPlayerRank) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayerRank", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayerRank)(nil) + +func (p *ResPlayerRank) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - Name +// - Face +// - Avatar +// - Level +// - Decorate +// - Login +// - Loginout +// - Facebook +// - Emoji +// - AddTime +// - Interact +// +type ResPlayerSimple struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + Name string `thrift:"Name,2" db:"Name" json:"Name"` + Face int32 `thrift:"Face,3" db:"Face" json:"Face"` + Avatar int32 `thrift:"Avatar,4" db:"Avatar" json:"Avatar"` + Level int32 `thrift:"Level,5" db:"Level" json:"Level"` + Decorate int32 `thrift:"Decorate,6" db:"Decorate" json:"Decorate"` + Login int32 `thrift:"login,7" db:"login" json:"login"` + Loginout int32 `thrift:"loginout,8" db:"loginout" json:"loginout"` + Facebook string `thrift:"Facebook,9" db:"Facebook" json:"Facebook"` + Emoji map[int32]int32 `thrift:"Emoji,10" db:"Emoji" json:"Emoji"` + AddTime int64 `thrift:"AddTime,11" db:"AddTime" json:"AddTime"` + Interact int64 `thrift:"Interact,12" db:"Interact" json:"Interact"` +} + +func NewResPlayerSimple() *ResPlayerSimple { + return &ResPlayerSimple{} +} + +func (p *ResPlayerSimple) GetUid() int64 { + return p.Uid +} + +func (p *ResPlayerSimple) GetName() string { + return p.Name +} + +func (p *ResPlayerSimple) GetFace() int32 { + return p.Face +} + +func (p *ResPlayerSimple) GetAvatar() int32 { + return p.Avatar +} + +func (p *ResPlayerSimple) GetLevel() int32 { + return p.Level +} + +func (p *ResPlayerSimple) GetDecorate() int32 { + return p.Decorate +} + +func (p *ResPlayerSimple) GetLogin() int32 { + return p.Login +} + +func (p *ResPlayerSimple) GetLoginout() int32 { + return p.Loginout +} + +func (p *ResPlayerSimple) GetFacebook() string { + return p.Facebook +} + +func (p *ResPlayerSimple) GetEmoji() map[int32]int32 { + return p.Emoji +} + +func (p *ResPlayerSimple) GetAddTime() int64 { + return p.AddTime +} + +func (p *ResPlayerSimple) GetInteract() int64 { + return p.Interact +} + +func (p *ResPlayerSimple) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.I32 { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.I32 { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.STRING { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.MAP { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 11: + if fieldTypeId == thrift.I64 { + if err := p.ReadField11(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 12: + if fieldTypeId == thrift.I64 { + if err := p.ReadField12(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayerSimple) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ResPlayerSimple) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Name = v + } + return nil +} + +func (p *ResPlayerSimple) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Face = v + } + return nil +} + +func (p *ResPlayerSimple) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Avatar = v + } + return nil +} + +func (p *ResPlayerSimple) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Level = v + } + return nil +} + +func (p *ResPlayerSimple) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.Decorate = v + } + return nil +} + +func (p *ResPlayerSimple) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.Login = v + } + return nil +} + +func (p *ResPlayerSimple) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.Loginout = v + } + return nil +} + +func (p *ResPlayerSimple) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 9: ", err) + } else { + p.Facebook = v + } + return nil +} + +func (p *ResPlayerSimple) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Emoji = tMap + for i := 0; i < size; i++ { + var _key358 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key358 = v + } + var _val359 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val359 = v + } + p.Emoji[_key358] = _val359 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayerSimple) ReadField11(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 11: ", err) + } else { + p.AddTime = v + } + return nil +} + +func (p *ResPlayerSimple) ReadField12(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 12: ", err) + } else { + p.Interact = v + } + return nil +} + +func (p *ResPlayerSimple) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayerSimple"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + if err := p.writeField11(ctx, oprot); err != nil { + return err + } + if err := p.writeField12(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayerSimple) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ResPlayerSimple) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Name", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Name: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Name)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Name (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Name: ", p), err) + } + return err +} + +func (p *ResPlayerSimple) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Face", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Face: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Face)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Face (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Face: ", p), err) + } + return err +} + +func (p *ResPlayerSimple) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Avatar", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Avatar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Avatar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Avatar (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Avatar: ", p), err) + } + return err +} + +func (p *ResPlayerSimple) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Level", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Level: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Level)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Level (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Level: ", p), err) + } + return err +} + +func (p *ResPlayerSimple) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Decorate", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Decorate: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Decorate)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Decorate (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Decorate: ", p), err) + } + return err +} + +func (p *ResPlayerSimple) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "login", thrift.I32, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:login: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Login)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.login (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:login: ", p), err) + } + return err +} + +func (p *ResPlayerSimple) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "loginout", thrift.I32, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:loginout: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Loginout)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.loginout (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:loginout: ", p), err) + } + return err +} + +func (p *ResPlayerSimple) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Facebook", thrift.STRING, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:Facebook: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Facebook)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Facebook (9) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:Facebook: ", p), err) + } + return err +} + +func (p *ResPlayerSimple) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Emoji", thrift.MAP, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:Emoji: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Emoji)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Emoji { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:Emoji: ", p), err) + } + return err +} + +func (p *ResPlayerSimple) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AddTime", thrift.I64, 11); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:AddTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.AddTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AddTime (11) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 11:AddTime: ", p), err) + } + return err +} + +func (p *ResPlayerSimple) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Interact", thrift.I64, 12); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:Interact: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Interact)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Interact (12) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 12:Interact: ", p), err) + } + return err +} + +func (p *ResPlayerSimple) Equals(other *ResPlayerSimple) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.Name != other.Name { + return false + } + if p.Face != other.Face { + return false + } + if p.Avatar != other.Avatar { + return false + } + if p.Level != other.Level { + return false + } + if p.Decorate != other.Decorate { + return false + } + if p.Login != other.Login { + return false + } + if p.Loginout != other.Loginout { + return false + } + if p.Facebook != other.Facebook { + return false + } + if len(p.Emoji) != len(other.Emoji) { + return false + } + for k, _tgt := range p.Emoji { + _src360 := other.Emoji[k] + if _tgt != _src360 { + return false + } + } + if p.AddTime != other.AddTime { + return false + } + if p.Interact != other.Interact { + return false + } + return true +} + +func (p *ResPlayerSimple) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayerSimple(%+v)", *p) +} + +func (p *ResPlayerSimple) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayerSimple", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayerSimple)(nil) + +func (p *ResPlayerSimple) Validate() error { + return nil +} + +// Attributes: +// - Status +// - Items +// - Opponent +// - Friend +// - Playroom +// - Collect +// - Mood +// - LoseItem +// - StartTime +// - WorkStatus +// - AllMood +// - Chip +// - WorkOutline +// - Jackpot +// - Physiology +// - Dress +// - DressSet +// - PetAir +// - PetAirSet +// - Upvote +// - RoomPoint +// - Unlock +// - DailyTask +// - DailyTaskReward +// - InteractNum +// - Kiss +// - Revenge +// - AdItem +// - Target +// - WeeklyDiscount +// +type ResPlayroom struct { + Status int32 `thrift:"status,1" db:"status" json:"status"` + Items []*ItemInfo `thrift:"Items,2" db:"Items" json:"Items"` + Opponent []*RoomOpponent `thrift:"Opponent,3" db:"Opponent" json:"Opponent"` + Friend []*FriendRoom `thrift:"Friend,4" db:"Friend" json:"Friend"` + Playroom map[int32]int32 `thrift:"Playroom,5" db:"Playroom" json:"Playroom"` + Collect []*PlayroomCollectInfo `thrift:"collect,6" db:"collect" json:"collect"` + Mood map[int32]int32 `thrift:"Mood,7" db:"Mood" json:"Mood"` + LoseItem []*ItemInfo `thrift:"LoseItem,8" db:"LoseItem" json:"LoseItem"` + StartTime int32 `thrift:"StartTime,9" db:"StartTime" json:"StartTime"` + WorkStatus int32 `thrift:"WorkStatus,10" db:"WorkStatus" json:"WorkStatus"` + AllMood int32 `thrift:"AllMood,11" db:"AllMood" json:"AllMood"` + Chip []*ChipInfo `thrift:"Chip,12" db:"Chip" json:"Chip"` + WorkOutline int32 `thrift:"WorkOutline,13" db:"WorkOutline" json:"WorkOutline"` + Jackpot int32 `thrift:"Jackpot,14" db:"Jackpot" json:"Jackpot"` + Physiology map[int32]int32 `thrift:"Physiology,15" db:"Physiology" json:"Physiology"` + Dress map[int32]*PlayroomDress `thrift:"Dress,16" db:"Dress" json:"Dress"` + DressSet map[int32]int32 `thrift:"DressSet,17" db:"DressSet" json:"DressSet"` + PetAir []*PlayroomAirInfo `thrift:"PetAir,18" db:"PetAir" json:"PetAir"` + PetAirSet int32 `thrift:"PetAirSet,19" db:"PetAirSet" json:"PetAirSet"` + Upvote int32 `thrift:"Upvote,20" db:"Upvote" json:"Upvote"` + RoomPoint int32 `thrift:"RoomPoint,21" db:"RoomPoint" json:"RoomPoint"` + Unlock []int32 `thrift:"Unlock,22" db:"Unlock" json:"Unlock"` + DailyTask []*DailyTask `thrift:"DailyTask,23" db:"DailyTask" json:"DailyTask"` + DailyTaskReward []int32 `thrift:"DailyTaskReward,24" db:"DailyTaskReward" json:"DailyTaskReward"` + InteractNum int32 `thrift:"InteractNum,25" db:"InteractNum" json:"InteractNum"` + Kiss int32 `thrift:"Kiss,26" db:"Kiss" json:"Kiss"` + Revenge int64 `thrift:"Revenge,27" db:"Revenge" json:"Revenge"` + AdItem []*AdItem `thrift:"AdItem,28" db:"AdItem" json:"AdItem"` + Target *FriendRoom `thrift:"Target,29" db:"Target" json:"Target"` + WeeklyDiscount map[int32]*WeeklyDiscountInfo `thrift:"WeeklyDiscount,30" db:"WeeklyDiscount" json:"WeeklyDiscount"` +} + +func NewResPlayroom() *ResPlayroom { + return &ResPlayroom{} +} + +func (p *ResPlayroom) GetStatus() int32 { + return p.Status +} + +func (p *ResPlayroom) GetItems() []*ItemInfo { + return p.Items +} + +func (p *ResPlayroom) GetOpponent() []*RoomOpponent { + return p.Opponent +} + +func (p *ResPlayroom) GetFriend() []*FriendRoom { + return p.Friend +} + +func (p *ResPlayroom) GetPlayroom() map[int32]int32 { + return p.Playroom +} + +func (p *ResPlayroom) GetCollect() []*PlayroomCollectInfo { + return p.Collect +} + +func (p *ResPlayroom) GetMood() map[int32]int32 { + return p.Mood +} + +func (p *ResPlayroom) GetLoseItem() []*ItemInfo { + return p.LoseItem +} + +func (p *ResPlayroom) GetStartTime() int32 { + return p.StartTime +} + +func (p *ResPlayroom) GetWorkStatus() int32 { + return p.WorkStatus +} + +func (p *ResPlayroom) GetAllMood() int32 { + return p.AllMood +} + +func (p *ResPlayroom) GetChip() []*ChipInfo { + return p.Chip +} + +func (p *ResPlayroom) GetWorkOutline() int32 { + return p.WorkOutline +} + +func (p *ResPlayroom) GetJackpot() int32 { + return p.Jackpot +} + +func (p *ResPlayroom) GetPhysiology() map[int32]int32 { + return p.Physiology +} + +func (p *ResPlayroom) GetDress() map[int32]*PlayroomDress { + return p.Dress +} + +func (p *ResPlayroom) GetDressSet() map[int32]int32 { + return p.DressSet +} + +func (p *ResPlayroom) GetPetAir() []*PlayroomAirInfo { + return p.PetAir +} + +func (p *ResPlayroom) GetPetAirSet() int32 { + return p.PetAirSet +} + +func (p *ResPlayroom) GetUpvote() int32 { + return p.Upvote +} + +func (p *ResPlayroom) GetRoomPoint() int32 { + return p.RoomPoint +} + +func (p *ResPlayroom) GetUnlock() []int32 { + return p.Unlock +} + +func (p *ResPlayroom) GetDailyTask() []*DailyTask { + return p.DailyTask +} + +func (p *ResPlayroom) GetDailyTaskReward() []int32 { + return p.DailyTaskReward +} + +func (p *ResPlayroom) GetInteractNum() int32 { + return p.InteractNum +} + +func (p *ResPlayroom) GetKiss() int32 { + return p.Kiss +} + +func (p *ResPlayroom) GetRevenge() int64 { + return p.Revenge +} + +func (p *ResPlayroom) GetAdItem() []*AdItem { + return p.AdItem +} + +var ResPlayroom_Target_DEFAULT *FriendRoom + +func (p *ResPlayroom) GetTarget() *FriendRoom { + if !p.IsSetTarget() { + return ResPlayroom_Target_DEFAULT + } + return p.Target +} + +func (p *ResPlayroom) GetWeeklyDiscount() map[int32]*WeeklyDiscountInfo { + return p.WeeklyDiscount +} + +func (p *ResPlayroom) IsSetTarget() bool { + return p.Target != nil +} + +func (p *ResPlayroom) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.MAP { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.LIST { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.MAP { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.LIST { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.I32 { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.I32 { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 11: + if fieldTypeId == thrift.I32 { + if err := p.ReadField11(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 12: + if fieldTypeId == thrift.LIST { + if err := p.ReadField12(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 13: + if fieldTypeId == thrift.I32 { + if err := p.ReadField13(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 14: + if fieldTypeId == thrift.I32 { + if err := p.ReadField14(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 15: + if fieldTypeId == thrift.MAP { + if err := p.ReadField15(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 16: + if fieldTypeId == thrift.MAP { + if err := p.ReadField16(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 17: + if fieldTypeId == thrift.MAP { + if err := p.ReadField17(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 18: + if fieldTypeId == thrift.LIST { + if err := p.ReadField18(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 19: + if fieldTypeId == thrift.I32 { + if err := p.ReadField19(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 20: + if fieldTypeId == thrift.I32 { + if err := p.ReadField20(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 21: + if fieldTypeId == thrift.I32 { + if err := p.ReadField21(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 22: + if fieldTypeId == thrift.LIST { + if err := p.ReadField22(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 23: + if fieldTypeId == thrift.LIST { + if err := p.ReadField23(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 24: + if fieldTypeId == thrift.LIST { + if err := p.ReadField24(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 25: + if fieldTypeId == thrift.I32 { + if err := p.ReadField25(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 26: + if fieldTypeId == thrift.I32 { + if err := p.ReadField26(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 27: + if fieldTypeId == thrift.I64 { + if err := p.ReadField27(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 28: + if fieldTypeId == thrift.LIST { + if err := p.ReadField28(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 29: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField29(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 30: + if fieldTypeId == thrift.MAP { + if err := p.ReadField30(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroom) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ResPlayroom) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem361 := &ItemInfo{} + if err := _elem361.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem361), err) + } + p.Items = append(p.Items, _elem361) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*RoomOpponent, 0, size) + p.Opponent = tSlice + for i := 0; i < size; i++ { + _elem362 := &RoomOpponent{} + if err := _elem362.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem362), err) + } + p.Opponent = append(p.Opponent, _elem362) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*FriendRoom, 0, size) + p.Friend = tSlice + for i := 0; i < size; i++ { + _elem363 := &FriendRoom{} + if err := _elem363.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem363), err) + } + p.Friend = append(p.Friend, _elem363) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Playroom = tMap + for i := 0; i < size; i++ { + var _key364 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key364 = v + } + var _val365 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val365 = v + } + p.Playroom[_key364] = _val365 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*PlayroomCollectInfo, 0, size) + p.Collect = tSlice + for i := 0; i < size; i++ { + _elem366 := &PlayroomCollectInfo{} + if err := _elem366.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem366), err) + } + p.Collect = append(p.Collect, _elem366) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Mood = tMap + for i := 0; i < size; i++ { + var _key367 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key367 = v + } + var _val368 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val368 = v + } + p.Mood[_key367] = _val368 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.LoseItem = tSlice + for i := 0; i < size; i++ { + _elem369 := &ItemInfo{} + if err := _elem369.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem369), err) + } + p.LoseItem = append(p.LoseItem, _elem369) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 9: ", err) + } else { + p.StartTime = v + } + return nil +} + +func (p *ResPlayroom) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 10: ", err) + } else { + p.WorkStatus = v + } + return nil +} + +func (p *ResPlayroom) ReadField11(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 11: ", err) + } else { + p.AllMood = v + } + return nil +} + +func (p *ResPlayroom) ReadField12(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ChipInfo, 0, size) + p.Chip = tSlice + for i := 0; i < size; i++ { + _elem370 := &ChipInfo{} + if err := _elem370.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem370), err) + } + p.Chip = append(p.Chip, _elem370) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField13(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 13: ", err) + } else { + p.WorkOutline = v + } + return nil +} + +func (p *ResPlayroom) ReadField14(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 14: ", err) + } else { + p.Jackpot = v + } + return nil +} + +func (p *ResPlayroom) ReadField15(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Physiology = tMap + for i := 0; i < size; i++ { + var _key371 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key371 = v + } + var _val372 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val372 = v + } + p.Physiology[_key371] = _val372 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField16(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*PlayroomDress, size) + p.Dress = tMap + for i := 0; i < size; i++ { + var _key373 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key373 = v + } + _val374 := &PlayroomDress{} + if err := _val374.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val374), err) + } + p.Dress[_key373] = _val374 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField17(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.DressSet = tMap + for i := 0; i < size; i++ { + var _key375 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key375 = v + } + var _val376 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val376 = v + } + p.DressSet[_key375] = _val376 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField18(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*PlayroomAirInfo, 0, size) + p.PetAir = tSlice + for i := 0; i < size; i++ { + _elem377 := &PlayroomAirInfo{} + if err := _elem377.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem377), err) + } + p.PetAir = append(p.PetAir, _elem377) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField19(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 19: ", err) + } else { + p.PetAirSet = v + } + return nil +} + +func (p *ResPlayroom) ReadField20(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 20: ", err) + } else { + p.Upvote = v + } + return nil +} + +func (p *ResPlayroom) ReadField21(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 21: ", err) + } else { + p.RoomPoint = v + } + return nil +} + +func (p *ResPlayroom) ReadField22(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.Unlock = tSlice + for i := 0; i < size; i++ { + var _elem378 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem378 = v + } + p.Unlock = append(p.Unlock, _elem378) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField23(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*DailyTask, 0, size) + p.DailyTask = tSlice + for i := 0; i < size; i++ { + _elem379 := &DailyTask{} + if err := _elem379.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem379), err) + } + p.DailyTask = append(p.DailyTask, _elem379) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField24(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int32, 0, size) + p.DailyTaskReward = tSlice + for i := 0; i < size; i++ { + var _elem380 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem380 = v + } + p.DailyTaskReward = append(p.DailyTaskReward, _elem380) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField25(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 25: ", err) + } else { + p.InteractNum = v + } + return nil +} + +func (p *ResPlayroom) ReadField26(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 26: ", err) + } else { + p.Kiss = v + } + return nil +} + +func (p *ResPlayroom) ReadField27(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 27: ", err) + } else { + p.Revenge = v + } + return nil +} + +func (p *ResPlayroom) ReadField28(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*AdItem, 0, size) + p.AdItem = tSlice + for i := 0; i < size; i++ { + _elem381 := &AdItem{} + if err := _elem381.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem381), err) + } + p.AdItem = append(p.AdItem, _elem381) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayroom) ReadField29(ctx context.Context, iprot thrift.TProtocol) error { + p.Target = &FriendRoom{} + if err := p.Target.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Target), err) + } + return nil +} + +func (p *ResPlayroom) ReadField30(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*WeeklyDiscountInfo, size) + p.WeeklyDiscount = tMap + for i := 0; i < size; i++ { + var _key382 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key382 = v + } + _val383 := &WeeklyDiscountInfo{} + if err := _val383.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val383), err) + } + p.WeeklyDiscount[_key382] = _val383 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayroom) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroom"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + if err := p.writeField11(ctx, oprot); err != nil { + return err + } + if err := p.writeField12(ctx, oprot); err != nil { + return err + } + if err := p.writeField13(ctx, oprot); err != nil { + return err + } + if err := p.writeField14(ctx, oprot); err != nil { + return err + } + if err := p.writeField15(ctx, oprot); err != nil { + return err + } + if err := p.writeField16(ctx, oprot); err != nil { + return err + } + if err := p.writeField17(ctx, oprot); err != nil { + return err + } + if err := p.writeField18(ctx, oprot); err != nil { + return err + } + if err := p.writeField19(ctx, oprot); err != nil { + return err + } + if err := p.writeField20(ctx, oprot); err != nil { + return err + } + if err := p.writeField21(ctx, oprot); err != nil { + return err + } + if err := p.writeField22(ctx, oprot); err != nil { + return err + } + if err := p.writeField23(ctx, oprot); err != nil { + return err + } + if err := p.writeField24(ctx, oprot); err != nil { + return err + } + if err := p.writeField25(ctx, oprot); err != nil { + return err + } + if err := p.writeField26(ctx, oprot); err != nil { + return err + } + if err := p.writeField27(ctx, oprot); err != nil { + return err + } + if err := p.writeField28(ctx, oprot); err != nil { + return err + } + if err := p.writeField29(ctx, oprot); err != nil { + return err + } + if err := p.writeField30(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroom) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "status", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.status (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:status: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Items: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Opponent", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Opponent: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Opponent)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Opponent { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Opponent: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Friend", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Friend: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Friend)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Friend { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Friend: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Playroom", thrift.MAP, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Playroom: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Playroom)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Playroom { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Playroom: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "collect", thrift.LIST, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:collect: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Collect)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Collect { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:collect: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Mood", thrift.MAP, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:Mood: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Mood)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Mood { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:Mood: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "LoseItem", thrift.LIST, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:LoseItem: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.LoseItem)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.LoseItem { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:LoseItem: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "StartTime", thrift.I32, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:StartTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.StartTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.StartTime (9) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:StartTime: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "WorkStatus", thrift.I32, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:WorkStatus: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.WorkStatus)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.WorkStatus (10) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:WorkStatus: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AllMood", thrift.I32, 11); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:AllMood: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.AllMood)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AllMood (11) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 11:AllMood: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Chip", thrift.LIST, 12); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:Chip: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Chip)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Chip { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 12:Chip: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField13(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "WorkOutline", thrift.I32, 13); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 13:WorkOutline: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.WorkOutline)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.WorkOutline (13) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 13:WorkOutline: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField14(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Jackpot", thrift.I32, 14); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 14:Jackpot: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Jackpot)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Jackpot (14) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 14:Jackpot: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField15(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Physiology", thrift.MAP, 15); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 15:Physiology: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Physiology)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Physiology { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 15:Physiology: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField16(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Dress", thrift.MAP, 16); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 16:Dress: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.Dress)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Dress { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 16:Dress: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField17(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "DressSet", thrift.MAP, 17); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 17:DressSet: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.DressSet)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.DressSet { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 17:DressSet: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField18(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PetAir", thrift.LIST, 18); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 18:PetAir: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.PetAir)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.PetAir { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 18:PetAir: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField19(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PetAirSet", thrift.I32, 19); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 19:PetAirSet: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.PetAirSet)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.PetAirSet (19) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 19:PetAirSet: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField20(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Upvote", thrift.I32, 20); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 20:Upvote: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Upvote)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Upvote (20) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 20:Upvote: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField21(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "RoomPoint", thrift.I32, 21); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 21:RoomPoint: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.RoomPoint)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.RoomPoint (21) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 21:RoomPoint: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField22(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Unlock", thrift.LIST, 22); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 22:Unlock: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.Unlock)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Unlock { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 22:Unlock: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField23(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "DailyTask", thrift.LIST, 23); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 23:DailyTask: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.DailyTask)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.DailyTask { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 23:DailyTask: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField24(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "DailyTaskReward", thrift.LIST, 24); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 24:DailyTaskReward: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.DailyTaskReward)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.DailyTaskReward { + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 24:DailyTaskReward: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField25(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "InteractNum", thrift.I32, 25); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 25:InteractNum: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.InteractNum)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.InteractNum (25) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 25:InteractNum: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField26(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Kiss", thrift.I32, 26); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 26:Kiss: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Kiss)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Kiss (26) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 26:Kiss: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField27(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Revenge", thrift.I64, 27); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 27:Revenge: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Revenge)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Revenge (27) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 27:Revenge: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField28(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AdItem", thrift.LIST, 28); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 28:AdItem: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.AdItem)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.AdItem { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 28:AdItem: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField29(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Target", thrift.STRUCT, 29); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 29:Target: ", p), err) + } + if err := p.Target.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Target), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 29:Target: ", p), err) + } + return err +} + +func (p *ResPlayroom) writeField30(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "WeeklyDiscount", thrift.MAP, 30); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 30:WeeklyDiscount: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.WeeklyDiscount)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.WeeklyDiscount { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 30:WeeklyDiscount: ", p), err) + } + return err +} + +func (p *ResPlayroom) Equals(other *ResPlayroom) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Status != other.Status { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src384 := other.Items[i] + if !_tgt.Equals(_src384) { + return false + } + } + if len(p.Opponent) != len(other.Opponent) { + return false + } + for i, _tgt := range p.Opponent { + _src385 := other.Opponent[i] + if !_tgt.Equals(_src385) { + return false + } + } + if len(p.Friend) != len(other.Friend) { + return false + } + for i, _tgt := range p.Friend { + _src386 := other.Friend[i] + if !_tgt.Equals(_src386) { + return false + } + } + if len(p.Playroom) != len(other.Playroom) { + return false + } + for k, _tgt := range p.Playroom { + _src387 := other.Playroom[k] + if _tgt != _src387 { + return false + } + } + if len(p.Collect) != len(other.Collect) { + return false + } + for i, _tgt := range p.Collect { + _src388 := other.Collect[i] + if !_tgt.Equals(_src388) { + return false + } + } + if len(p.Mood) != len(other.Mood) { + return false + } + for k, _tgt := range p.Mood { + _src389 := other.Mood[k] + if _tgt != _src389 { + return false + } + } + if len(p.LoseItem) != len(other.LoseItem) { + return false + } + for i, _tgt := range p.LoseItem { + _src390 := other.LoseItem[i] + if !_tgt.Equals(_src390) { + return false + } + } + if p.StartTime != other.StartTime { + return false + } + if p.WorkStatus != other.WorkStatus { + return false + } + if p.AllMood != other.AllMood { + return false + } + if len(p.Chip) != len(other.Chip) { + return false + } + for i, _tgt := range p.Chip { + _src391 := other.Chip[i] + if !_tgt.Equals(_src391) { + return false + } + } + if p.WorkOutline != other.WorkOutline { + return false + } + if p.Jackpot != other.Jackpot { + return false + } + if len(p.Physiology) != len(other.Physiology) { + return false + } + for k, _tgt := range p.Physiology { + _src392 := other.Physiology[k] + if _tgt != _src392 { + return false + } + } + if len(p.Dress) != len(other.Dress) { + return false + } + for k, _tgt := range p.Dress { + _src393 := other.Dress[k] + if !_tgt.Equals(_src393) { + return false + } + } + if len(p.DressSet) != len(other.DressSet) { + return false + } + for k, _tgt := range p.DressSet { + _src394 := other.DressSet[k] + if _tgt != _src394 { + return false + } + } + if len(p.PetAir) != len(other.PetAir) { + return false + } + for i, _tgt := range p.PetAir { + _src395 := other.PetAir[i] + if !_tgt.Equals(_src395) { + return false + } + } + if p.PetAirSet != other.PetAirSet { + return false + } + if p.Upvote != other.Upvote { + return false + } + if p.RoomPoint != other.RoomPoint { + return false + } + if len(p.Unlock) != len(other.Unlock) { + return false + } + for i, _tgt := range p.Unlock { + _src396 := other.Unlock[i] + if _tgt != _src396 { + return false + } + } + if len(p.DailyTask) != len(other.DailyTask) { + return false + } + for i, _tgt := range p.DailyTask { + _src397 := other.DailyTask[i] + if !_tgt.Equals(_src397) { + return false + } + } + if len(p.DailyTaskReward) != len(other.DailyTaskReward) { + return false + } + for i, _tgt := range p.DailyTaskReward { + _src398 := other.DailyTaskReward[i] + if _tgt != _src398 { + return false + } + } + if p.InteractNum != other.InteractNum { + return false + } + if p.Kiss != other.Kiss { + return false + } + if p.Revenge != other.Revenge { + return false + } + if len(p.AdItem) != len(other.AdItem) { + return false + } + for i, _tgt := range p.AdItem { + _src399 := other.AdItem[i] + if !_tgt.Equals(_src399) { + return false + } + } + if !p.Target.Equals(other.Target) { + return false + } + if len(p.WeeklyDiscount) != len(other.WeeklyDiscount) { + return false + } + for k, _tgt := range p.WeeklyDiscount { + _src400 := other.WeeklyDiscount[k] + if !_tgt.Equals(_src400) { + return false + } + } + return true +} + +func (p *ResPlayroom) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroom(%+v)", *p) +} + +func (p *ResPlayroom) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroom", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroom)(nil) + +func (p *ResPlayroom) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPlayroomBuyItem struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResPlayroomBuyItem() *ResPlayroomBuyItem { + return &ResPlayroomBuyItem{} +} + +func (p *ResPlayroomBuyItem) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomBuyItem) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomBuyItem) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomBuyItem) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomBuyItem) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomBuyItem) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomBuyItem"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomBuyItem) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomBuyItem) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomBuyItem) Equals(other *ResPlayroomBuyItem) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPlayroomBuyItem) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomBuyItem(%+v)", *p) +} + +func (p *ResPlayroomBuyItem) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomBuyItem", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomBuyItem)(nil) + +func (p *ResPlayroomBuyItem) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPlayroomChip struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResPlayroomChip() *ResPlayroomChip { + return &ResPlayroomChip{} +} + +func (p *ResPlayroomChip) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomChip) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomChip) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomChip) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomChip) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomChip) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomChip"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomChip) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomChip) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomChip) Equals(other *ResPlayroomChip) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPlayroomChip) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomChip(%+v)", *p) +} + +func (p *ResPlayroomChip) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomChip", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomChip)(nil) + +func (p *ResPlayroomChip) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResPlayroomDraw struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id int32 `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResPlayroomDraw() *ResPlayroomDraw { + return &ResPlayroomDraw{} +} + +func (p *ResPlayroomDraw) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomDraw) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomDraw) GetId() int32 { + return p.Id +} + +func (p *ResPlayroomDraw) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomDraw) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomDraw) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomDraw) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResPlayroomDraw) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomDraw"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomDraw) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomDraw) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomDraw) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResPlayroomDraw) Equals(other *ResPlayroomDraw) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResPlayroomDraw) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomDraw(%+v)", *p) +} + +func (p *ResPlayroomDraw) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomDraw", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomDraw)(nil) + +func (p *ResPlayroomDraw) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPlayroomDressSet struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResPlayroomDressSet() *ResPlayroomDressSet { + return &ResPlayroomDressSet{} +} + +func (p *ResPlayroomDressSet) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomDressSet) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomDressSet) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomDressSet) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomDressSet) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomDressSet) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomDressSet"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomDressSet) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomDressSet) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomDressSet) Equals(other *ResPlayroomDressSet) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPlayroomDressSet) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomDressSet(%+v)", *p) +} + +func (p *ResPlayroomDressSet) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomDressSet", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomDressSet)(nil) + +func (p *ResPlayroomDressSet) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// - CardId +// +type ResPlayroomFlip struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id int32 `thrift:"Id,3" db:"Id" json:"Id"` + CardId int32 `thrift:"CardId,4" db:"CardId" json:"CardId"` +} + +func NewResPlayroomFlip() *ResPlayroomFlip { + return &ResPlayroomFlip{} +} + +func (p *ResPlayroomFlip) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomFlip) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomFlip) GetId() int32 { + return p.Id +} + +func (p *ResPlayroomFlip) GetCardId() int32 { + return p.CardId +} + +func (p *ResPlayroomFlip) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomFlip) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomFlip) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomFlip) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResPlayroomFlip) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.CardId = v + } + return nil +} + +func (p *ResPlayroomFlip) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomFlip"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomFlip) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomFlip) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomFlip) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResPlayroomFlip) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "CardId", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:CardId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.CardId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.CardId (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:CardId: ", p), err) + } + return err +} + +func (p *ResPlayroomFlip) Equals(other *ResPlayroomFlip) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + if p.CardId != other.CardId { + return false + } + return true +} + +func (p *ResPlayroomFlip) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomFlip(%+v)", *p) +} + +func (p *ResPlayroomFlip) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomFlip", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomFlip)(nil) + +func (p *ResPlayroomFlip) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Broken +// +type ResPlayroomFlipReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Broken bool `thrift:"Broken,3" db:"Broken" json:"Broken"` +} + +func NewResPlayroomFlipReward() *ResPlayroomFlipReward { + return &ResPlayroomFlipReward{} +} + +func (p *ResPlayroomFlipReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomFlipReward) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomFlipReward) GetBroken() bool { + return p.Broken +} + +func (p *ResPlayroomFlipReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomFlipReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomFlipReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomFlipReward) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Broken = v + } + return nil +} + +func (p *ResPlayroomFlipReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomFlipReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomFlipReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomFlipReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomFlipReward) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Broken", thrift.BOOL, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Broken: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.Broken)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Broken (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Broken: ", p), err) + } + return err +} + +func (p *ResPlayroomFlipReward) Equals(other *ResPlayroomFlipReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Broken != other.Broken { + return false + } + return true +} + +func (p *ResPlayroomFlipReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomFlipReward(%+v)", *p) +} + +func (p *ResPlayroomFlipReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomFlipReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomFlipReward)(nil) + +func (p *ResPlayroomFlipReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Type +// - Items +// +type ResPlayroomGame struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Type int32 `thrift:"Type,3" db:"Type" json:"Type"` + Items map[int32]*ItemInfo `thrift:"Items,4" db:"Items" json:"Items"` +} + +func NewResPlayroomGame() *ResPlayroomGame { + return &ResPlayroomGame{} +} + +func (p *ResPlayroomGame) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomGame) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomGame) GetType() int32 { + return p.Type +} + +func (p *ResPlayroomGame) GetItems() map[int32]*ItemInfo { + return p.Items +} + +func (p *ResPlayroomGame) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.MAP { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomGame) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomGame) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomGame) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ResPlayroomGame) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*ItemInfo, size) + p.Items = tMap + for i := 0; i < size; i++ { + var _key401 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key401 = v + } + _val402 := &ItemInfo{} + if err := _val402.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val402), err) + } + p.Items[_key401] = _val402 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayroomGame) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomGame"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomGame) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomGame) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomGame) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Type: ", p), err) + } + return err +} + +func (p *ResPlayroomGame) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.MAP, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Items: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Items { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Items: ", p), err) + } + return err +} + +func (p *ResPlayroomGame) Equals(other *ResPlayroomGame) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Type != other.Type { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for k, _tgt := range p.Items { + _src403 := other.Items[k] + if !_tgt.Equals(_src403) { + return false + } + } + return true +} + +func (p *ResPlayroomGame) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomGame(%+v)", *p) +} + +func (p *ResPlayroomGame) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomGame", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomGame)(nil) + +func (p *ResPlayroomGame) Validate() error { + return nil +} + +// Attributes: +// - Items +// +type ResPlayroomGameShowReward struct { + Items []*ItemInfo `thrift:"Items,1" db:"Items" json:"Items"` +} + +func NewResPlayroomGameShowReward() *ResPlayroomGameShowReward { + return &ResPlayroomGameShowReward{} +} + +func (p *ResPlayroomGameShowReward) GetItems() []*ItemInfo { + return p.Items +} + +func (p *ResPlayroomGameShowReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomGameShowReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Items = tSlice + for i := 0; i < size; i++ { + _elem404 := &ItemInfo{} + if err := _elem404.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem404), err) + } + p.Items = append(p.Items, _elem404) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResPlayroomGameShowReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomGameShowReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomGameShowReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Items: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Items { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Items: ", p), err) + } + return err +} + +func (p *ResPlayroomGameShowReward) Equals(other *ResPlayroomGameShowReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for i, _tgt := range p.Items { + _src405 := other.Items[i] + if !_tgt.Equals(_src405) { + return false + } + } + return true +} + +func (p *ResPlayroomGameShowReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomGameShowReward(%+v)", *p) +} + +func (p *ResPlayroomGameShowReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomGameShowReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomGameShowReward)(nil) + +func (p *ResPlayroomGameShowReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPlayroomGuide struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResPlayroomGuide() *ResPlayroomGuide { + return &ResPlayroomGuide{} +} + +func (p *ResPlayroomGuide) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomGuide) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomGuide) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomGuide) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomGuide) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomGuide) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomGuide"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomGuide) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomGuide) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomGuide) Equals(other *ResPlayroomGuide) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPlayroomGuide) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomGuide(%+v)", *p) +} + +func (p *ResPlayroomGuide) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomGuide", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomGuide)(nil) + +func (p *ResPlayroomGuide) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - Name +// - Face +// - Avatar +// - Playroom +// - GameId +// - Items +// - Status +// - Defense +// - Flip +// - Chip +// - PetName +// - Emoji +// - Upvote +// - UpvoteCount +// - DressSet +// - Kiss +// - Fur +// - Star +// +type ResPlayroomInfo struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + Name string `thrift:"name,2" db:"name" json:"name"` + Face int32 `thrift:"Face,3" db:"Face" json:"Face"` + Avatar int32 `thrift:"Avatar,4" db:"Avatar" json:"Avatar"` + Playroom map[int32]int32 `thrift:"Playroom,5" db:"Playroom" json:"Playroom"` + GameId int32 `thrift:"GameId,6" db:"GameId" json:"GameId"` + Items map[int32]*ItemInfo `thrift:"Items,7" db:"Items" json:"Items"` + Status int32 `thrift:"Status,8" db:"Status" json:"Status"` + Defense bool `thrift:"defense,9" db:"defense" json:"defense"` + Flip map[int32]int32 `thrift:"Flip,10" db:"Flip" json:"Flip"` + Chip int32 `thrift:"Chip,11" db:"Chip" json:"Chip"` + PetName string `thrift:"PetName,12" db:"PetName" json:"PetName"` + Emoji map[int32]int32 `thrift:"Emoji,13" db:"Emoji" json:"Emoji"` + Upvote bool `thrift:"Upvote,14" db:"Upvote" json:"Upvote"` + UpvoteCount int32 `thrift:"UpvoteCount,15" db:"UpvoteCount" json:"UpvoteCount"` + DressSet map[int32]int32 `thrift:"DressSet,16" db:"DressSet" json:"DressSet"` + Kiss int32 `thrift:"Kiss,17" db:"Kiss" json:"Kiss"` + Fur int32 `thrift:"Fur,18" db:"Fur" json:"Fur"` + Star int32 `thrift:"Star,19" db:"Star" json:"Star"` +} + +func NewResPlayroomInfo() *ResPlayroomInfo { + return &ResPlayroomInfo{} +} + +func (p *ResPlayroomInfo) GetUid() int64 { + return p.Uid +} + +func (p *ResPlayroomInfo) GetName() string { + return p.Name +} + +func (p *ResPlayroomInfo) GetFace() int32 { + return p.Face +} + +func (p *ResPlayroomInfo) GetAvatar() int32 { + return p.Avatar +} + +func (p *ResPlayroomInfo) GetPlayroom() map[int32]int32 { + return p.Playroom +} + +func (p *ResPlayroomInfo) GetGameId() int32 { + return p.GameId +} + +func (p *ResPlayroomInfo) GetItems() map[int32]*ItemInfo { + return p.Items +} + +func (p *ResPlayroomInfo) GetStatus() int32 { + return p.Status +} + +func (p *ResPlayroomInfo) GetDefense() bool { + return p.Defense +} + +func (p *ResPlayroomInfo) GetFlip() map[int32]int32 { + return p.Flip +} + +func (p *ResPlayroomInfo) GetChip() int32 { + return p.Chip +} + +func (p *ResPlayroomInfo) GetPetName() string { + return p.PetName +} + +func (p *ResPlayroomInfo) GetEmoji() map[int32]int32 { + return p.Emoji +} + +func (p *ResPlayroomInfo) GetUpvote() bool { + return p.Upvote +} + +func (p *ResPlayroomInfo) GetUpvoteCount() int32 { + return p.UpvoteCount +} + +func (p *ResPlayroomInfo) GetDressSet() map[int32]int32 { + return p.DressSet +} + +func (p *ResPlayroomInfo) GetKiss() int32 { + return p.Kiss +} + +func (p *ResPlayroomInfo) GetFur() int32 { + return p.Fur +} + +func (p *ResPlayroomInfo) GetStar() int32 { + return p.Star +} + +func (p *ResPlayroomInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.MAP { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.MAP { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.I32 { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.MAP { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 11: + if fieldTypeId == thrift.I32 { + if err := p.ReadField11(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 12: + if fieldTypeId == thrift.STRING { + if err := p.ReadField12(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 13: + if fieldTypeId == thrift.MAP { + if err := p.ReadField13(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 14: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField14(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 15: + if fieldTypeId == thrift.I32 { + if err := p.ReadField15(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 16: + if fieldTypeId == thrift.MAP { + if err := p.ReadField16(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 17: + if fieldTypeId == thrift.I32 { + if err := p.ReadField17(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 18: + if fieldTypeId == thrift.I32 { + if err := p.ReadField18(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 19: + if fieldTypeId == thrift.I32 { + if err := p.ReadField19(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ResPlayroomInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Name = v + } + return nil +} + +func (p *ResPlayroomInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Face = v + } + return nil +} + +func (p *ResPlayroomInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Avatar = v + } + return nil +} + +func (p *ResPlayroomInfo) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Playroom = tMap + for i := 0; i < size; i++ { + var _key406 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key406 = v + } + var _val407 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val407 = v + } + p.Playroom[_key406] = _val407 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayroomInfo) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.GameId = v + } + return nil +} + +func (p *ResPlayroomInfo) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*ItemInfo, size) + p.Items = tMap + for i := 0; i < size; i++ { + var _key408 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key408 = v + } + _val409 := &ItemInfo{} + if err := _val409.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val409), err) + } + p.Items[_key408] = _val409 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayroomInfo) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ResPlayroomInfo) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 9: ", err) + } else { + p.Defense = v + } + return nil +} + +func (p *ResPlayroomInfo) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Flip = tMap + for i := 0; i < size; i++ { + var _key410 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key410 = v + } + var _val411 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val411 = v + } + p.Flip[_key410] = _val411 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayroomInfo) ReadField11(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 11: ", err) + } else { + p.Chip = v + } + return nil +} + +func (p *ResPlayroomInfo) ReadField12(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 12: ", err) + } else { + p.PetName = v + } + return nil +} + +func (p *ResPlayroomInfo) ReadField13(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.Emoji = tMap + for i := 0; i < size; i++ { + var _key412 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key412 = v + } + var _val413 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val413 = v + } + p.Emoji[_key412] = _val413 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayroomInfo) ReadField14(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 14: ", err) + } else { + p.Upvote = v + } + return nil +} + +func (p *ResPlayroomInfo) ReadField15(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 15: ", err) + } else { + p.UpvoteCount = v + } + return nil +} + +func (p *ResPlayroomInfo) ReadField16(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.DressSet = tMap + for i := 0; i < size; i++ { + var _key414 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key414 = v + } + var _val415 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val415 = v + } + p.DressSet[_key414] = _val415 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResPlayroomInfo) ReadField17(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 17: ", err) + } else { + p.Kiss = v + } + return nil +} + +func (p *ResPlayroomInfo) ReadField18(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 18: ", err) + } else { + p.Fur = v + } + return nil +} + +func (p *ResPlayroomInfo) ReadField19(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 19: ", err) + } else { + p.Star = v + } + return nil +} + +func (p *ResPlayroomInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + if err := p.writeField11(ctx, oprot); err != nil { + return err + } + if err := p.writeField12(ctx, oprot); err != nil { + return err + } + if err := p.writeField13(ctx, oprot); err != nil { + return err + } + if err := p.writeField14(ctx, oprot); err != nil { + return err + } + if err := p.writeField15(ctx, oprot); err != nil { + return err + } + if err := p.writeField16(ctx, oprot); err != nil { + return err + } + if err := p.writeField17(ctx, oprot); err != nil { + return err + } + if err := p.writeField18(ctx, oprot); err != nil { + return err + } + if err := p.writeField19(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "name", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:name: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Name)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.name (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:name: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Face", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Face: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Face)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Face (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Face: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Avatar", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Avatar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Avatar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Avatar (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Avatar: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Playroom", thrift.MAP, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Playroom: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Playroom)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Playroom { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Playroom: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "GameId", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:GameId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.GameId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.GameId (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:GameId: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Items", thrift.MAP, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:Items: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.Items)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Items { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:Items: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:Status: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "defense", thrift.BOOL, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:defense: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.Defense)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.defense (9) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:defense: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Flip", thrift.MAP, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:Flip: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Flip)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Flip { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:Flip: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Chip", thrift.I32, 11); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:Chip: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Chip)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Chip (11) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 11:Chip: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PetName", thrift.STRING, 12); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:PetName: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.PetName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.PetName (12) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 12:PetName: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField13(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Emoji", thrift.MAP, 13); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 13:Emoji: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.Emoji)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.Emoji { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 13:Emoji: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField14(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Upvote", thrift.BOOL, 14); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 14:Upvote: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.Upvote)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Upvote (14) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 14:Upvote: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField15(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "UpvoteCount", thrift.I32, 15); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 15:UpvoteCount: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.UpvoteCount)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.UpvoteCount (15) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 15:UpvoteCount: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField16(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "DressSet", thrift.MAP, 16); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 16:DressSet: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.DressSet)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.DressSet { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 16:DressSet: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField17(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Kiss", thrift.I32, 17); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 17:Kiss: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Kiss)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Kiss (17) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 17:Kiss: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField18(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Fur", thrift.I32, 18); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 18:Fur: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Fur)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Fur (18) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 18:Fur: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) writeField19(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Star", thrift.I32, 19); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 19:Star: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Star)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Star (19) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 19:Star: ", p), err) + } + return err +} + +func (p *ResPlayroomInfo) Equals(other *ResPlayroomInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.Name != other.Name { + return false + } + if p.Face != other.Face { + return false + } + if p.Avatar != other.Avatar { + return false + } + if len(p.Playroom) != len(other.Playroom) { + return false + } + for k, _tgt := range p.Playroom { + _src416 := other.Playroom[k] + if _tgt != _src416 { + return false + } + } + if p.GameId != other.GameId { + return false + } + if len(p.Items) != len(other.Items) { + return false + } + for k, _tgt := range p.Items { + _src417 := other.Items[k] + if !_tgt.Equals(_src417) { + return false + } + } + if p.Status != other.Status { + return false + } + if p.Defense != other.Defense { + return false + } + if len(p.Flip) != len(other.Flip) { + return false + } + for k, _tgt := range p.Flip { + _src418 := other.Flip[k] + if _tgt != _src418 { + return false + } + } + if p.Chip != other.Chip { + return false + } + if p.PetName != other.PetName { + return false + } + if len(p.Emoji) != len(other.Emoji) { + return false + } + for k, _tgt := range p.Emoji { + _src419 := other.Emoji[k] + if _tgt != _src419 { + return false + } + } + if p.Upvote != other.Upvote { + return false + } + if p.UpvoteCount != other.UpvoteCount { + return false + } + if len(p.DressSet) != len(other.DressSet) { + return false + } + for k, _tgt := range p.DressSet { + _src420 := other.DressSet[k] + if _tgt != _src420 { + return false + } + } + if p.Kiss != other.Kiss { + return false + } + if p.Fur != other.Fur { + return false + } + if p.Star != other.Star { + return false + } + return true +} + +func (p *ResPlayroomInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomInfo(%+v)", *p) +} + +func (p *ResPlayroomInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomInfo)(nil) + +func (p *ResPlayroomInfo) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - InteractNum +// +type ResPlayroomInteract struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + InteractNum int32 `thrift:"InteractNum,3" db:"InteractNum" json:"InteractNum"` +} + +func NewResPlayroomInteract() *ResPlayroomInteract { + return &ResPlayroomInteract{} +} + +func (p *ResPlayroomInteract) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomInteract) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomInteract) GetInteractNum() int32 { + return p.InteractNum +} + +func (p *ResPlayroomInteract) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomInteract) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomInteract) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomInteract) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.InteractNum = v + } + return nil +} + +func (p *ResPlayroomInteract) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomInteract"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomInteract) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomInteract) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomInteract) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "InteractNum", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:InteractNum: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.InteractNum)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.InteractNum (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:InteractNum: ", p), err) + } + return err +} + +func (p *ResPlayroomInteract) Equals(other *ResPlayroomInteract) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.InteractNum != other.InteractNum { + return false + } + return true +} + +func (p *ResPlayroomInteract) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomInteract(%+v)", *p) +} + +func (p *ResPlayroomInteract) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomInteract", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomInteract)(nil) + +func (p *ResPlayroomInteract) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPlayroomLose struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResPlayroomLose() *ResPlayroomLose { + return &ResPlayroomLose{} +} + +func (p *ResPlayroomLose) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomLose) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomLose) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomLose) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomLose) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomLose) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomLose"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomLose) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomLose) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomLose) Equals(other *ResPlayroomLose) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPlayroomLose) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomLose(%+v)", *p) +} + +func (p *ResPlayroomLose) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomLose", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomLose)(nil) + +func (p *ResPlayroomLose) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPlayroomOutline struct { + Code RES_CODE `thrift:"code,1" db:"code" json:"code"` + Msg string `thrift:"msg,2" db:"msg" json:"msg"` +} + +func NewResPlayroomOutline() *ResPlayroomOutline { + return &ResPlayroomOutline{} +} + +func (p *ResPlayroomOutline) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomOutline) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomOutline) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomOutline) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomOutline) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomOutline) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomOutline"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomOutline) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err) + } + return err +} + +func (p *ResPlayroomOutline) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:msg: ", p), err) + } + return err +} + +func (p *ResPlayroomOutline) Equals(other *ResPlayroomOutline) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPlayroomOutline) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomOutline(%+v)", *p) +} + +func (p *ResPlayroomOutline) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomOutline", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomOutline)(nil) + +func (p *ResPlayroomOutline) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPlayroomPetAirSet struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResPlayroomPetAirSet() *ResPlayroomPetAirSet { + return &ResPlayroomPetAirSet{} +} + +func (p *ResPlayroomPetAirSet) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomPetAirSet) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomPetAirSet) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomPetAirSet) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomPetAirSet) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomPetAirSet) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomPetAirSet"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomPetAirSet) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomPetAirSet) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomPetAirSet) Equals(other *ResPlayroomPetAirSet) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPlayroomPetAirSet) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomPetAirSet(%+v)", *p) +} + +func (p *ResPlayroomPetAirSet) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomPetAirSet", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomPetAirSet)(nil) + +func (p *ResPlayroomPetAirSet) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPlayroomRest struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResPlayroomRest() *ResPlayroomRest { + return &ResPlayroomRest{} +} + +func (p *ResPlayroomRest) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomRest) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomRest) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomRest) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomRest) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomRest) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomRest"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomRest) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomRest) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomRest) Equals(other *ResPlayroomRest) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPlayroomRest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomRest(%+v)", *p) +} + +func (p *ResPlayroomRest) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomRest", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomRest)(nil) + +func (p *ResPlayroomRest) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPlayroomSelectReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResPlayroomSelectReward() *ResPlayroomSelectReward { + return &ResPlayroomSelectReward{} +} + +func (p *ResPlayroomSelectReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomSelectReward) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomSelectReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomSelectReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomSelectReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomSelectReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomSelectReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomSelectReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomSelectReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomSelectReward) Equals(other *ResPlayroomSelectReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPlayroomSelectReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomSelectReward(%+v)", *p) +} + +func (p *ResPlayroomSelectReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomSelectReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomSelectReward)(nil) + +func (p *ResPlayroomSelectReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPlayroomSetRoom struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResPlayroomSetRoom() *ResPlayroomSetRoom { + return &ResPlayroomSetRoom{} +} + +func (p *ResPlayroomSetRoom) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomSetRoom) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomSetRoom) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomSetRoom) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomSetRoom) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomSetRoom) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomSetRoom"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomSetRoom) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomSetRoom) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomSetRoom) Equals(other *ResPlayroomSetRoom) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPlayroomSetRoom) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomSetRoom(%+v)", *p) +} + +func (p *ResPlayroomSetRoom) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomSetRoom", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomSetRoom)(nil) + +func (p *ResPlayroomSetRoom) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPlayroomShop struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResPlayroomShop() *ResPlayroomShop { + return &ResPlayroomShop{} +} + +func (p *ResPlayroomShop) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomShop) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomShop) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomShop) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomShop) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomShop) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomShop"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomShop) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomShop) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomShop) Equals(other *ResPlayroomShop) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPlayroomShop) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomShop(%+v)", *p) +} + +func (p *ResPlayroomShop) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomShop", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomShop)(nil) + +func (p *ResPlayroomShop) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResPlayroomTask struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id int32 `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResPlayroomTask() *ResPlayroomTask { + return &ResPlayroomTask{} +} + +func (p *ResPlayroomTask) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomTask) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomTask) GetId() int32 { + return p.Id +} + +func (p *ResPlayroomTask) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomTask) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomTask) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomTask) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResPlayroomTask) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomTask"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomTask) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomTask) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomTask) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResPlayroomTask) Equals(other *ResPlayroomTask) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResPlayroomTask) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomTask(%+v)", *p) +} + +func (p *ResPlayroomTask) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomTask", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomTask)(nil) + +func (p *ResPlayroomTask) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// - Type +// +type ResPlayroomTaskReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id int32 `thrift:"Id,3" db:"Id" json:"Id"` + Type int32 `thrift:"Type,4" db:"Type" json:"Type"` +} + +func NewResPlayroomTaskReward() *ResPlayroomTaskReward { + return &ResPlayroomTaskReward{} +} + +func (p *ResPlayroomTaskReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomTaskReward) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomTaskReward) GetId() int32 { + return p.Id +} + +func (p *ResPlayroomTaskReward) GetType() int32 { + return p.Type +} + +func (p *ResPlayroomTaskReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomTaskReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomTaskReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomTaskReward) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResPlayroomTaskReward) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ResPlayroomTaskReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomTaskReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomTaskReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomTaskReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomTaskReward) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResPlayroomTaskReward) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Type: ", p), err) + } + return err +} + +func (p *ResPlayroomTaskReward) Equals(other *ResPlayroomTaskReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + if p.Type != other.Type { + return false + } + return true +} + +func (p *ResPlayroomTaskReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomTaskReward(%+v)", *p) +} + +func (p *ResPlayroomTaskReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomTaskReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomTaskReward)(nil) + +func (p *ResPlayroomTaskReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResPlayroomUnlock struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id int32 `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResPlayroomUnlock() *ResPlayroomUnlock { + return &ResPlayroomUnlock{} +} + +func (p *ResPlayroomUnlock) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomUnlock) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomUnlock) GetId() int32 { + return p.Id +} + +func (p *ResPlayroomUnlock) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomUnlock) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomUnlock) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomUnlock) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResPlayroomUnlock) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomUnlock"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomUnlock) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomUnlock) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomUnlock) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResPlayroomUnlock) Equals(other *ResPlayroomUnlock) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResPlayroomUnlock) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomUnlock(%+v)", *p) +} + +func (p *ResPlayroomUnlock) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomUnlock", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomUnlock)(nil) + +func (p *ResPlayroomUnlock) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResPlayroomUpvote struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id int64 `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResPlayroomUpvote() *ResPlayroomUpvote { + return &ResPlayroomUpvote{} +} + +func (p *ResPlayroomUpvote) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomUpvote) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomUpvote) GetId() int64 { + return p.Id +} + +func (p *ResPlayroomUpvote) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomUpvote) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomUpvote) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomUpvote) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResPlayroomUpvote) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomUpvote"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomUpvote) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomUpvote) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomUpvote) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResPlayroomUpvote) Equals(other *ResPlayroomUpvote) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResPlayroomUpvote) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomUpvote(%+v)", *p) +} + +func (p *ResPlayroomUpvote) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomUpvote", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomUpvote)(nil) + +func (p *ResPlayroomUpvote) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPlayroomWork struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResPlayroomWork() *ResPlayroomWork { + return &ResPlayroomWork{} +} + +func (p *ResPlayroomWork) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomWork) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomWork) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomWork) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomWork) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomWork) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomWork"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomWork) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomWork) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomWork) Equals(other *ResPlayroomWork) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPlayroomWork) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomWork(%+v)", *p) +} + +func (p *ResPlayroomWork) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomWork", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomWork)(nil) + +func (p *ResPlayroomWork) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPlayroomWorkOutline struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResPlayroomWorkOutline() *ResPlayroomWorkOutline { + return &ResPlayroomWorkOutline{} +} + +func (p *ResPlayroomWorkOutline) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPlayroomWorkOutline) GetMsg() string { + return p.Msg +} + +func (p *ResPlayroomWorkOutline) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPlayroomWorkOutline) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPlayroomWorkOutline) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPlayroomWorkOutline) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPlayroomWorkOutline"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPlayroomWorkOutline) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResPlayroomWorkOutline) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResPlayroomWorkOutline) Equals(other *ResPlayroomWorkOutline) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPlayroomWorkOutline) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPlayroomWorkOutline(%+v)", *p) +} + +func (p *ResPlayroomWorkOutline) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPlayroomWorkOutline", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPlayroomWorkOutline)(nil) + +func (p *ResPlayroomWorkOutline) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPutChessInBag struct { + Code RES_CODE `thrift:"code,1" db:"code" json:"code"` + Msg string `thrift:"msg,2" db:"msg" json:"msg"` +} + +func NewResPutChessInBag() *ResPutChessInBag { + return &ResPutChessInBag{} +} + +func (p *ResPutChessInBag) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPutChessInBag) GetMsg() string { + return p.Msg +} + +func (p *ResPutChessInBag) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPutChessInBag) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPutChessInBag) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPutChessInBag) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPutChessInBag"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPutChessInBag) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err) + } + return err +} + +func (p *ResPutChessInBag) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:msg: ", p), err) + } + return err +} + +func (p *ResPutChessInBag) Equals(other *ResPutChessInBag) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPutChessInBag) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPutChessInBag(%+v)", *p) +} + +func (p *ResPutChessInBag) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPutChessInBag", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPutChessInBag)(nil) + +func (p *ResPutChessInBag) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResPutPartInBag struct { + Code RES_CODE `thrift:"code,1" db:"code" json:"code"` + Msg string `thrift:"msg,2" db:"msg" json:"msg"` +} + +func NewResPutPartInBag() *ResPutPartInBag { + return &ResPutPartInBag{} +} + +func (p *ResPutPartInBag) GetCode() RES_CODE { + return p.Code +} + +func (p *ResPutPartInBag) GetMsg() string { + return p.Msg +} + +func (p *ResPutPartInBag) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResPutPartInBag) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResPutPartInBag) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResPutPartInBag) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResPutPartInBag"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResPutPartInBag) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err) + } + return err +} + +func (p *ResPutPartInBag) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:msg: ", p), err) + } + return err +} + +func (p *ResPutPartInBag) Equals(other *ResPutPartInBag) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResPutPartInBag) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResPutPartInBag(%+v)", *p) +} + +func (p *ResPutPartInBag) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResPutPartInBag", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResPutPartInBag)(nil) + +func (p *ResPutPartInBag) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Status +// - EndTime +// - Template +// - Pass +// - GameStartTime +// - GameEndTime +// - Progress +// - Opponent +// - Rank +// +type ResRace struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Status int32 `thrift:"Status,2" db:"Status" json:"Status"` + EndTime int32 `thrift:"EndTime,3" db:"EndTime" json:"EndTime"` + Template int32 `thrift:"Template,4" db:"Template" json:"Template"` + Pass int32 `thrift:"Pass,5" db:"Pass" json:"Pass"` + GameStartTime int32 `thrift:"GameStartTime,6" db:"GameStartTime" json:"GameStartTime"` + GameEndTime int32 `thrift:"GameEndTime,7" db:"GameEndTime" json:"GameEndTime"` + Progress int32 `thrift:"Progress,8" db:"Progress" json:"Progress"` + Opponent []*Raceopponent `thrift:"Opponent,9" db:"Opponent" json:"Opponent"` + Rank int32 `thrift:"Rank,10" db:"Rank" json:"Rank"` +} + +func NewResRace() *ResRace { + return &ResRace{} +} + +func (p *ResRace) GetId() int32 { + return p.Id +} + +func (p *ResRace) GetStatus() int32 { + return p.Status +} + +func (p *ResRace) GetEndTime() int32 { + return p.EndTime +} + +func (p *ResRace) GetTemplate() int32 { + return p.Template +} + +func (p *ResRace) GetPass() int32 { + return p.Pass +} + +func (p *ResRace) GetGameStartTime() int32 { + return p.GameStartTime +} + +func (p *ResRace) GetGameEndTime() int32 { + return p.GameEndTime +} + +func (p *ResRace) GetProgress() int32 { + return p.Progress +} + +func (p *ResRace) GetOpponent() []*Raceopponent { + return p.Opponent +} + +func (p *ResRace) GetRank() int32 { + return p.Rank +} + +func (p *ResRace) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.I32 { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.I32 { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.LIST { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.I32 { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResRace) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResRace) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *ResRace) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.EndTime = v + } + return nil +} + +func (p *ResRace) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Template = v + } + return nil +} + +func (p *ResRace) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Pass = v + } + return nil +} + +func (p *ResRace) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.GameStartTime = v + } + return nil +} + +func (p *ResRace) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.GameEndTime = v + } + return nil +} + +func (p *ResRace) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.Progress = v + } + return nil +} + +func (p *ResRace) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*Raceopponent, 0, size) + p.Opponent = tSlice + for i := 0; i < size; i++ { + _elem421 := &Raceopponent{} + if err := _elem421.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem421), err) + } + p.Opponent = append(p.Opponent, _elem421) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResRace) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 10: ", err) + } else { + p.Rank = v + } + return nil +} + +func (p *ResRace) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResRace"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResRace) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *ResRace) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Status: ", p), err) + } + return err +} + +func (p *ResRace) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EndTime", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:EndTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.EndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.EndTime (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:EndTime: ", p), err) + } + return err +} + +func (p *ResRace) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Template", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Template: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Template)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Template (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Template: ", p), err) + } + return err +} + +func (p *ResRace) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Pass", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Pass: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Pass)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Pass (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Pass: ", p), err) + } + return err +} + +func (p *ResRace) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "GameStartTime", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:GameStartTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.GameStartTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.GameStartTime (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:GameStartTime: ", p), err) + } + return err +} + +func (p *ResRace) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "GameEndTime", thrift.I32, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:GameEndTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.GameEndTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.GameEndTime (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:GameEndTime: ", p), err) + } + return err +} + +func (p *ResRace) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Progress", thrift.I32, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:Progress: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Progress)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Progress (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:Progress: ", p), err) + } + return err +} + +func (p *ResRace) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Opponent", thrift.LIST, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:Opponent: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Opponent)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Opponent { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:Opponent: ", p), err) + } + return err +} + +func (p *ResRace) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Rank", thrift.I32, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:Rank: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Rank)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Rank (10) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:Rank: ", p), err) + } + return err +} + +func (p *ResRace) Equals(other *ResRace) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Status != other.Status { + return false + } + if p.EndTime != other.EndTime { + return false + } + if p.Template != other.Template { + return false + } + if p.Pass != other.Pass { + return false + } + if p.GameStartTime != other.GameStartTime { + return false + } + if p.GameEndTime != other.GameEndTime { + return false + } + if p.Progress != other.Progress { + return false + } + if len(p.Opponent) != len(other.Opponent) { + return false + } + for i, _tgt := range p.Opponent { + _src422 := other.Opponent[i] + if !_tgt.Equals(_src422) { + return false + } + } + if p.Rank != other.Rank { + return false + } + return true +} + +func (p *ResRace) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResRace(%+v)", *p) +} + +func (p *ResRace) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResRace", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResRace)(nil) + +func (p *ResRace) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResRaceReward struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResRaceReward() *ResRaceReward { + return &ResRaceReward{} +} + +func (p *ResRaceReward) GetCode() RES_CODE { + return p.Code +} + +func (p *ResRaceReward) GetMsg() string { + return p.Msg +} + +func (p *ResRaceReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResRaceReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResRaceReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResRaceReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResRaceReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResRaceReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResRaceReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResRaceReward) Equals(other *ResRaceReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResRaceReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResRaceReward(%+v)", *p) +} + +func (p *ResRaceReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResRaceReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResRaceReward)(nil) + +func (p *ResRaceReward) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResRaceStart struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResRaceStart() *ResRaceStart { + return &ResRaceStart{} +} + +func (p *ResRaceStart) GetCode() RES_CODE { + return p.Code +} + +func (p *ResRaceStart) GetMsg() string { + return p.Msg +} + +func (p *ResRaceStart) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResRaceStart) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResRaceStart) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResRaceStart) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResRaceStart"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResRaceStart) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResRaceStart) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResRaceStart) Equals(other *ResRaceStart) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResRaceStart) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResRaceStart(%+v)", *p) +} + +func (p *ResRaceStart) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResRaceStart", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResRaceStart)(nil) + +func (p *ResRaceStart) Validate() error { + return nil +} + +// Attributes: +// - Type +// - RankList +// - MyRank +// - MyScore +// +type ResRank struct { + Type int32 `thrift:"Type,1" db:"Type" json:"Type"` + RankList map[int32]*ResPlayerSimple `thrift:"RankList,2" db:"RankList" json:"RankList"` + MyRank int32 `thrift:"MyRank,3" db:"MyRank" json:"MyRank"` + MyScore float64 `thrift:"MyScore,4" db:"MyScore" json:"MyScore"` +} + +func NewResRank() *ResRank { + return &ResRank{} +} + +func (p *ResRank) GetType() int32 { + return p.Type +} + +func (p *ResRank) GetRankList() map[int32]*ResPlayerSimple { + return p.RankList +} + +func (p *ResRank) GetMyRank() int32 { + return p.MyRank +} + +func (p *ResRank) GetMyScore() float64 { + return p.MyScore +} + +func (p *ResRank) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.DOUBLE { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResRank) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *ResRank) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]*ResPlayerSimple, size) + p.RankList = tMap + for i := 0; i < size; i++ { + var _key423 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key423 = v + } + _val424 := &ResPlayerSimple{} + if err := _val424.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val424), err) + } + p.RankList[_key423] = _val424 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResRank) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.MyRank = v + } + return nil +} + +func (p *ResRank) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadDouble(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.MyScore = v + } + return nil +} + +func (p *ResRank) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResRank"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResRank) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Type: ", p), err) + } + return err +} + +func (p *ResRank) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "RankList", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:RankList: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.RankList)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.RankList { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:RankList: ", p), err) + } + return err +} + +func (p *ResRank) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MyRank", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:MyRank: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.MyRank)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.MyRank (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:MyRank: ", p), err) + } + return err +} + +func (p *ResRank) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MyScore", thrift.DOUBLE, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:MyScore: ", p), err) + } + if err := oprot.WriteDouble(ctx, float64(p.MyScore)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.MyScore (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:MyScore: ", p), err) + } + return err +} + +func (p *ResRank) Equals(other *ResRank) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Type != other.Type { + return false + } + if len(p.RankList) != len(other.RankList) { + return false + } + for k, _tgt := range p.RankList { + _src425 := other.RankList[k] + if !_tgt.Equals(_src425) { + return false + } + } + if p.MyRank != other.MyRank { + return false + } + if p.MyScore != other.MyScore { + return false + } + return true +} + +func (p *ResRank) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResRank(%+v)", *p) +} + +func (p *ResRank) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResRank", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResRank)(nil) + +func (p *ResRank) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResReadMail struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id int32 `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResReadMail() *ResReadMail { + return &ResReadMail{} +} + +func (p *ResReadMail) GetCode() RES_CODE { + return p.Code +} + +func (p *ResReadMail) GetMsg() string { + return p.Msg +} + +func (p *ResReadMail) GetId() int32 { + return p.Id +} + +func (p *ResReadMail) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResReadMail) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResReadMail) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResReadMail) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResReadMail) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResReadMail"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResReadMail) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResReadMail) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResReadMail) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResReadMail) Equals(other *ResReadMail) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResReadMail) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResReadMail(%+v)", *p) +} + +func (p *ResReadMail) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResReadMail", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResReadMail)(nil) + +func (p *ResReadMail) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResRefreshChessShop struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResRefreshChessShop() *ResRefreshChessShop { + return &ResRefreshChessShop{} +} + +func (p *ResRefreshChessShop) GetCode() RES_CODE { + return p.Code +} + +func (p *ResRefreshChessShop) GetMsg() string { + return p.Msg +} + +func (p *ResRefreshChessShop) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResRefreshChessShop) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResRefreshChessShop) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResRefreshChessShop) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResRefreshChessShop"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResRefreshChessShop) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResRefreshChessShop) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResRefreshChessShop) Equals(other *ResRefreshChessShop) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResRefreshChessShop) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResRefreshChessShop(%+v)", *p) +} + +func (p *ResRefreshChessShop) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResRefreshChessShop", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResRefreshChessShop)(nil) + +func (p *ResRefreshChessShop) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResRefuseCardExchange struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id string `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResRefuseCardExchange() *ResRefuseCardExchange { + return &ResRefuseCardExchange{} +} + +func (p *ResRefuseCardExchange) GetCode() RES_CODE { + return p.Code +} + +func (p *ResRefuseCardExchange) GetMsg() string { + return p.Msg +} + +func (p *ResRefuseCardExchange) GetId() string { + return p.Id +} + +func (p *ResRefuseCardExchange) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResRefuseCardExchange) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResRefuseCardExchange) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResRefuseCardExchange) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResRefuseCardExchange) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResRefuseCardExchange"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResRefuseCardExchange) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResRefuseCardExchange) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResRefuseCardExchange) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResRefuseCardExchange) Equals(other *ResRefuseCardExchange) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResRefuseCardExchange) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResRefuseCardExchange(%+v)", *p) +} + +func (p *ResRefuseCardExchange) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResRefuseCardExchange", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResRefuseCardExchange)(nil) + +func (p *ResRefuseCardExchange) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResRefuseCardGive struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id string `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResRefuseCardGive() *ResRefuseCardGive { + return &ResRefuseCardGive{} +} + +func (p *ResRefuseCardGive) GetCode() RES_CODE { + return p.Code +} + +func (p *ResRefuseCardGive) GetMsg() string { + return p.Msg +} + +func (p *ResRefuseCardGive) GetId() string { + return p.Id +} + +func (p *ResRefuseCardGive) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResRefuseCardGive) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResRefuseCardGive) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResRefuseCardGive) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResRefuseCardGive) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResRefuseCardGive"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResRefuseCardGive) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResRefuseCardGive) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResRefuseCardGive) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResRefuseCardGive) Equals(other *ResRefuseCardGive) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResRefuseCardGive) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResRefuseCardGive(%+v)", *p) +} + +func (p *ResRefuseCardGive) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResRefuseCardGive", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResRefuseCardGive)(nil) + +func (p *ResRefuseCardGive) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResRefuseCardSelect struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id string `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResRefuseCardSelect() *ResRefuseCardSelect { + return &ResRefuseCardSelect{} +} + +func (p *ResRefuseCardSelect) GetCode() RES_CODE { + return p.Code +} + +func (p *ResRefuseCardSelect) GetMsg() string { + return p.Msg +} + +func (p *ResRefuseCardSelect) GetId() string { + return p.Id +} + +func (p *ResRefuseCardSelect) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResRefuseCardSelect) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResRefuseCardSelect) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResRefuseCardSelect) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResRefuseCardSelect) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResRefuseCardSelect"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResRefuseCardSelect) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResRefuseCardSelect) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResRefuseCardSelect) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResRefuseCardSelect) Equals(other *ResRefuseCardSelect) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResRefuseCardSelect) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResRefuseCardSelect(%+v)", *p) +} + +func (p *ResRefuseCardSelect) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResRefuseCardSelect", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResRefuseCardSelect)(nil) + +func (p *ResRefuseCardSelect) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Uid +// +type ResRefuseFriend struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Uid int64 `thrift:"Uid,3" db:"Uid" json:"Uid"` +} + +func NewResRefuseFriend() *ResRefuseFriend { + return &ResRefuseFriend{} +} + +func (p *ResRefuseFriend) GetCode() RES_CODE { + return p.Code +} + +func (p *ResRefuseFriend) GetMsg() string { + return p.Msg +} + +func (p *ResRefuseFriend) GetUid() int64 { + return p.Uid +} + +func (p *ResRefuseFriend) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResRefuseFriend) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResRefuseFriend) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResRefuseFriend) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ResRefuseFriend) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResRefuseFriend"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResRefuseFriend) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResRefuseFriend) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResRefuseFriend) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Uid: ", p), err) + } + return err +} + +func (p *ResRefuseFriend) Equals(other *ResRefuseFriend) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ResRefuseFriend) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResRefuseFriend(%+v)", *p) +} + +func (p *ResRefuseFriend) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResRefuseFriend", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResRefuseFriend)(nil) + +func (p *ResRefuseFriend) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// +type ResRegisterAccount struct { + ResultCode int32 `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` +} + +func NewResRegisterAccount() *ResRegisterAccount { + return &ResRegisterAccount{} +} + +func (p *ResRegisterAccount) GetResultCode() int32 { + return p.ResultCode +} + +func (p *ResRegisterAccount) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResRegisterAccount) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ResultCode = v + } + return nil +} + +func (p *ResRegisterAccount) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResRegisterAccount"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResRegisterAccount) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *ResRegisterAccount) Equals(other *ResRegisterAccount) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + return true +} + +func (p *ResRegisterAccount) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResRegisterAccount(%+v)", *p) +} + +func (p *ResRegisterAccount) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResRegisterAccount", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResRegisterAccount)(nil) + +func (p *ResRegisterAccount) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// +type ResRemoveAd struct { + ResultCode int32 `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` +} + +func NewResRemoveAd() *ResRemoveAd { + return &ResRemoveAd{} +} + +func (p *ResRemoveAd) GetResultCode() int32 { + return p.ResultCode +} + +func (p *ResRemoveAd) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResRemoveAd) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ResultCode = v + } + return nil +} + +func (p *ResRemoveAd) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResRemoveAd"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResRemoveAd) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *ResRemoveAd) Equals(other *ResRemoveAd) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + return true +} + +func (p *ResRemoveAd) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResRemoveAd(%+v)", *p) +} + +func (p *ResRemoveAd) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResRemoveAd", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResRemoveAd)(nil) + +func (p *ResRemoveAd) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResRewardOrder struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResRewardOrder() *ResRewardOrder { + return &ResRewardOrder{} +} + +func (p *ResRewardOrder) GetCode() RES_CODE { + return p.Code +} + +func (p *ResRewardOrder) GetMsg() string { + return p.Msg +} + +func (p *ResRewardOrder) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResRewardOrder) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResRewardOrder) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResRewardOrder) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResRewardOrder"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResRewardOrder) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResRewardOrder) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResRewardOrder) Equals(other *ResRewardOrder) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResRewardOrder) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResRewardOrder(%+v)", *p) +} + +func (p *ResRewardOrder) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResRewardOrder", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResRewardOrder)(nil) + +func (p *ResRewardOrder) Validate() error { + return nil +} + +// Attributes: +// - Code +// - List +// +type ResSearchPlayer struct { + Code int32 `thrift:"Code,1" db:"Code" json:"Code"` + List []*ResPlayerSimple `thrift:"List,2" db:"List" json:"List"` +} + +func NewResSearchPlayer() *ResSearchPlayer { + return &ResSearchPlayer{} +} + +func (p *ResSearchPlayer) GetCode() int32 { + return p.Code +} + +func (p *ResSearchPlayer) GetList() []*ResPlayerSimple { + return p.List +} + +func (p *ResSearchPlayer) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSearchPlayer) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Code = v + } + return nil +} + +func (p *ResSearchPlayer) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ResPlayerSimple, 0, size) + p.List = tSlice + for i := 0; i < size; i++ { + _elem426 := &ResPlayerSimple{} + if err := _elem426.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem426), err) + } + p.List = append(p.List, _elem426) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResSearchPlayer) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSearchPlayer"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSearchPlayer) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResSearchPlayer) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "List", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:List: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.List)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.List { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:List: ", p), err) + } + return err +} + +func (p *ResSearchPlayer) Equals(other *ResSearchPlayer) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if len(p.List) != len(other.List) { + return false + } + for i, _tgt := range p.List { + _src427 := other.List[i] + if !_tgt.Equals(_src427) { + return false + } + } + return true +} + +func (p *ResSearchPlayer) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSearchPlayer(%+v)", *p) +} + +func (p *ResSearchPlayer) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSearchPlayer", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSearchPlayer)(nil) + +func (p *ResSearchPlayer) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Id +// +type ResSelectCardExchange struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Id string `thrift:"Id,3" db:"Id" json:"Id"` +} + +func NewResSelectCardExchange() *ResSelectCardExchange { + return &ResSelectCardExchange{} +} + +func (p *ResSelectCardExchange) GetCode() RES_CODE { + return p.Code +} + +func (p *ResSelectCardExchange) GetMsg() string { + return p.Msg +} + +func (p *ResSelectCardExchange) GetId() string { + return p.Id +} + +func (p *ResSelectCardExchange) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSelectCardExchange) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResSelectCardExchange) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResSelectCardExchange) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *ResSelectCardExchange) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSelectCardExchange"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSelectCardExchange) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResSelectCardExchange) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResSelectCardExchange) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Id: ", p), err) + } + return err +} + +func (p *ResSelectCardExchange) Equals(other *ResSelectCardExchange) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Id != other.Id { + return false + } + return true +} + +func (p *ResSelectCardExchange) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSelectCardExchange(%+v)", *p) +} + +func (p *ResSelectCardExchange) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSelectCardExchange", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSelectCardExchange)(nil) + +func (p *ResSelectCardExchange) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResSelectLimitEvent struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResSelectLimitEvent() *ResSelectLimitEvent { + return &ResSelectLimitEvent{} +} + +func (p *ResSelectLimitEvent) GetCode() RES_CODE { + return p.Code +} + +func (p *ResSelectLimitEvent) GetMsg() string { + return p.Msg +} + +func (p *ResSelectLimitEvent) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSelectLimitEvent) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResSelectLimitEvent) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResSelectLimitEvent) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSelectLimitEvent"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSelectLimitEvent) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResSelectLimitEvent) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResSelectLimitEvent) Equals(other *ResSelectLimitEvent) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResSelectLimitEvent) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSelectLimitEvent(%+v)", *p) +} + +func (p *ResSelectLimitEvent) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSelectLimitEvent", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSelectLimitEvent)(nil) + +func (p *ResSelectLimitEvent) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// +type ResSelfInvited struct { + ResultCode int32 `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` +} + +func NewResSelfInvited() *ResSelfInvited { + return &ResSelfInvited{} +} + +func (p *ResSelfInvited) GetResultCode() int32 { + return p.ResultCode +} + +func (p *ResSelfInvited) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSelfInvited) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ResultCode = v + } + return nil +} + +func (p *ResSelfInvited) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSelfInvited"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSelfInvited) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *ResSelfInvited) Equals(other *ResSelfInvited) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + return true +} + +func (p *ResSelfInvited) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSelfInvited(%+v)", *p) +} + +func (p *ResSelfInvited) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSelfInvited", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSelfInvited)(nil) + +func (p *ResSelfInvited) Validate() error { + return nil +} + +// Attributes: +// - Num +// +type ResSellChessNum struct { + Num int32 `thrift:"Num,1" db:"Num" json:"Num"` +} + +func NewResSellChessNum() *ResSellChessNum { + return &ResSellChessNum{} +} + +func (p *ResSellChessNum) GetNum() int32 { + return p.Num +} + +func (p *ResSellChessNum) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSellChessNum) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Num = v + } + return nil +} + +func (p *ResSellChessNum) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSellChessNum"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSellChessNum) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Num", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Num: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Num)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Num (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Num: ", p), err) + } + return err +} + +func (p *ResSellChessNum) Equals(other *ResSellChessNum) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Num != other.Num { + return false + } + return true +} + +func (p *ResSellChessNum) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSellChessNum(%+v)", *p) +} + +func (p *ResSellChessNum) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSellChessNum", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSellChessNum)(nil) + +func (p *ResSellChessNum) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResSendWishBeg struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResSendWishBeg() *ResSendWishBeg { + return &ResSendWishBeg{} +} + +func (p *ResSendWishBeg) GetCode() RES_CODE { + return p.Code +} + +func (p *ResSendWishBeg) GetMsg() string { + return p.Msg +} + +func (p *ResSendWishBeg) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSendWishBeg) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResSendWishBeg) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResSendWishBeg) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSendWishBeg"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSendWishBeg) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResSendWishBeg) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResSendWishBeg) Equals(other *ResSendWishBeg) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResSendWishBeg) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSendWishBeg(%+v)", *p) +} + +func (p *ResSendWishBeg) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSendWishBeg", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSendWishBeg)(nil) + +func (p *ResSendWishBeg) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResSeparateChess struct { + Code RES_CODE `thrift:"code,1" db:"code" json:"code"` + Msg string `thrift:"msg,2" db:"msg" json:"msg"` +} + +func NewResSeparateChess() *ResSeparateChess { + return &ResSeparateChess{} +} + +func (p *ResSeparateChess) GetCode() RES_CODE { + return p.Code +} + +func (p *ResSeparateChess) GetMsg() string { + return p.Msg +} + +func (p *ResSeparateChess) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSeparateChess) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResSeparateChess) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResSeparateChess) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSeparateChess"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSeparateChess) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err) + } + return err +} + +func (p *ResSeparateChess) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:msg: ", p), err) + } + return err +} + +func (p *ResSeparateChess) Equals(other *ResSeparateChess) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResSeparateChess) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSeparateChess(%+v)", *p) +} + +func (p *ResSeparateChess) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSeparateChess", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSeparateChess)(nil) + +func (p *ResSeparateChess) Validate() error { + return nil +} + +// Attributes: +// - ServerTime +// +type ResServerTime struct { + ServerTime int32 `thrift:"ServerTime,1" db:"ServerTime" json:"ServerTime"` +} + +func NewResServerTime() *ResServerTime { + return &ResServerTime{} +} + +func (p *ResServerTime) GetServerTime() int32 { + return p.ServerTime +} + +func (p *ResServerTime) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResServerTime) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ServerTime = v + } + return nil +} + +func (p *ResServerTime) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResServerTime"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResServerTime) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ServerTime", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ServerTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ServerTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ServerTime (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ServerTime: ", p), err) + } + return err +} + +func (p *ResServerTime) Equals(other *ResServerTime) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ServerTime != other.ServerTime { + return false + } + return true +} + +func (p *ResServerTime) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResServerTime(%+v)", *p) +} + +func (p *ResServerTime) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResServerTime", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResServerTime)(nil) + +func (p *ResServerTime) Validate() error { + return nil +} + +// Attributes: +// - Version +// +type ResServerVersion struct { + Version int32 `thrift:"Version,1" db:"Version" json:"Version"` +} + +func NewResServerVersion() *ResServerVersion { + return &ResServerVersion{} +} + +func (p *ResServerVersion) GetVersion() int32 { + return p.Version +} + +func (p *ResServerVersion) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResServerVersion) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Version = v + } + return nil +} + +func (p *ResServerVersion) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResServerVersion"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResServerVersion) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Version", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Version: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Version)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Version (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Version: ", p), err) + } + return err +} + +func (p *ResServerVersion) Equals(other *ResServerVersion) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Version != other.Version { + return false + } + return true +} + +func (p *ResServerVersion) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResServerVersion(%+v)", *p) +} + +func (p *ResServerVersion) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResServerVersion", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResServerVersion)(nil) + +func (p *ResServerVersion) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResSetAvatar struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResSetAvatar() *ResSetAvatar { + return &ResSetAvatar{} +} + +func (p *ResSetAvatar) GetCode() RES_CODE { + return p.Code +} + +func (p *ResSetAvatar) GetMsg() string { + return p.Msg +} + +func (p *ResSetAvatar) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSetAvatar) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResSetAvatar) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResSetAvatar) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSetAvatar"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSetAvatar) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResSetAvatar) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResSetAvatar) Equals(other *ResSetAvatar) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResSetAvatar) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSetAvatar(%+v)", *p) +} + +func (p *ResSetAvatar) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSetAvatar", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSetAvatar)(nil) + +func (p *ResSetAvatar) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResSetEmoji struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResSetEmoji() *ResSetEmoji { + return &ResSetEmoji{} +} + +func (p *ResSetEmoji) GetCode() RES_CODE { + return p.Code +} + +func (p *ResSetEmoji) GetMsg() string { + return p.Msg +} + +func (p *ResSetEmoji) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSetEmoji) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResSetEmoji) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResSetEmoji) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSetEmoji"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSetEmoji) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResSetEmoji) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResSetEmoji) Equals(other *ResSetEmoji) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResSetEmoji) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSetEmoji(%+v)", *p) +} + +func (p *ResSetEmoji) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSetEmoji", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSetEmoji)(nil) + +func (p *ResSetEmoji) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// - Msg +// +type ResSetEnergyMul struct { + ResultCode RES_CODE `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResSetEnergyMul() *ResSetEnergyMul { + return &ResSetEnergyMul{} +} + +func (p *ResSetEnergyMul) GetResultCode() RES_CODE { + return p.ResultCode +} + +func (p *ResSetEnergyMul) GetMsg() string { + return p.Msg +} + +func (p *ResSetEnergyMul) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSetEnergyMul) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.ResultCode = temp + } + return nil +} + +func (p *ResSetEnergyMul) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResSetEnergyMul) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSetEnergyMul"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSetEnergyMul) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *ResSetEnergyMul) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResSetEnergyMul) Equals(other *ResSetEnergyMul) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResSetEnergyMul) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSetEnergyMul(%+v)", *p) +} + +func (p *ResSetEnergyMul) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSetEnergyMul", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSetEnergyMul)(nil) + +func (p *ResSetEnergyMul) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResSetFace struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResSetFace() *ResSetFace { + return &ResSetFace{} +} + +func (p *ResSetFace) GetCode() RES_CODE { + return p.Code +} + +func (p *ResSetFace) GetMsg() string { + return p.Msg +} + +func (p *ResSetFace) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSetFace) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResSetFace) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResSetFace) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSetFace"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSetFace) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResSetFace) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResSetFace) Equals(other *ResSetFace) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResSetFace) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSetFace(%+v)", *p) +} + +func (p *ResSetFace) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSetFace", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSetFace)(nil) + +func (p *ResSetFace) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResSetFacebookUrl struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResSetFacebookUrl() *ResSetFacebookUrl { + return &ResSetFacebookUrl{} +} + +func (p *ResSetFacebookUrl) GetCode() RES_CODE { + return p.Code +} + +func (p *ResSetFacebookUrl) GetMsg() string { + return p.Msg +} + +func (p *ResSetFacebookUrl) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSetFacebookUrl) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResSetFacebookUrl) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResSetFacebookUrl) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSetFacebookUrl"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSetFacebookUrl) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResSetFacebookUrl) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResSetFacebookUrl) Equals(other *ResSetFacebookUrl) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResSetFacebookUrl) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSetFacebookUrl(%+v)", *p) +} + +func (p *ResSetFacebookUrl) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSetFacebookUrl", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSetFacebookUrl)(nil) + +func (p *ResSetFacebookUrl) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// - Msg +// +type ResSetName struct { + ResultCode RES_CODE `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResSetName() *ResSetName { + return &ResSetName{} +} + +func (p *ResSetName) GetResultCode() RES_CODE { + return p.ResultCode +} + +func (p *ResSetName) GetMsg() string { + return p.Msg +} + +func (p *ResSetName) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSetName) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.ResultCode = temp + } + return nil +} + +func (p *ResSetName) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResSetName) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSetName"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSetName) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *ResSetName) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResSetName) Equals(other *ResSetName) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResSetName) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSetName(%+v)", *p) +} + +func (p *ResSetName) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSetName", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSetName)(nil) + +func (p *ResSetName) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// - Msg +// +type ResSetPetName struct { + ResultCode RES_CODE `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResSetPetName() *ResSetPetName { + return &ResSetPetName{} +} + +func (p *ResSetPetName) GetResultCode() RES_CODE { + return p.ResultCode +} + +func (p *ResSetPetName) GetMsg() string { + return p.Msg +} + +func (p *ResSetPetName) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSetPetName) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.ResultCode = temp + } + return nil +} + +func (p *ResSetPetName) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResSetPetName) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSetPetName"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSetPetName) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *ResSetPetName) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResSetPetName) Equals(other *ResSetPetName) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResSetPetName) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSetPetName(%+v)", *p) +} + +func (p *ResSetPetName) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSetPetName", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSetPetName)(nil) + +func (p *ResSetPetName) Validate() error { + return nil +} + +// Attributes: +// - WeekReward +// - MonthReward +// - Active +// - IsBack +// +type ResSevenLogin struct { + WeekReward []*SevenLoginReward `thrift:"WeekReward,1" db:"WeekReward" json:"WeekReward"` + MonthReward []*SevenLoginReward `thrift:"MonthReward,2" db:"MonthReward" json:"MonthReward"` + Active int32 `thrift:"Active,3" db:"Active" json:"Active"` + IsBack bool `thrift:"IsBack,4" db:"IsBack" json:"IsBack"` +} + +func NewResSevenLogin() *ResSevenLogin { + return &ResSevenLogin{} +} + +func (p *ResSevenLogin) GetWeekReward() []*SevenLoginReward { + return p.WeekReward +} + +func (p *ResSevenLogin) GetMonthReward() []*SevenLoginReward { + return p.MonthReward +} + +func (p *ResSevenLogin) GetActive() int32 { + return p.Active +} + +func (p *ResSevenLogin) GetIsBack() bool { + return p.IsBack +} + +func (p *ResSevenLogin) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSevenLogin) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*SevenLoginReward, 0, size) + p.WeekReward = tSlice + for i := 0; i < size; i++ { + _elem428 := &SevenLoginReward{} + if err := _elem428.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem428), err) + } + p.WeekReward = append(p.WeekReward, _elem428) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResSevenLogin) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*SevenLoginReward, 0, size) + p.MonthReward = tSlice + for i := 0; i < size; i++ { + _elem429 := &SevenLoginReward{} + if err := _elem429.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem429), err) + } + p.MonthReward = append(p.MonthReward, _elem429) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResSevenLogin) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Active = v + } + return nil +} + +func (p *ResSevenLogin) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.IsBack = v + } + return nil +} + +func (p *ResSevenLogin) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSevenLogin"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSevenLogin) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "WeekReward", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:WeekReward: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.WeekReward)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.WeekReward { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:WeekReward: ", p), err) + } + return err +} + +func (p *ResSevenLogin) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MonthReward", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MonthReward: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.MonthReward)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.MonthReward { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MonthReward: ", p), err) + } + return err +} + +func (p *ResSevenLogin) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Active", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Active: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Active)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Active (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Active: ", p), err) + } + return err +} + +func (p *ResSevenLogin) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "IsBack", thrift.BOOL, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:IsBack: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.IsBack)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.IsBack (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:IsBack: ", p), err) + } + return err +} + +func (p *ResSevenLogin) Equals(other *ResSevenLogin) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.WeekReward) != len(other.WeekReward) { + return false + } + for i, _tgt := range p.WeekReward { + _src430 := other.WeekReward[i] + if !_tgt.Equals(_src430) { + return false + } + } + if len(p.MonthReward) != len(other.MonthReward) { + return false + } + for i, _tgt := range p.MonthReward { + _src431 := other.MonthReward[i] + if !_tgt.Equals(_src431) { + return false + } + } + if p.Active != other.Active { + return false + } + if p.IsBack != other.IsBack { + return false + } + return true +} + +func (p *ResSevenLogin) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSevenLogin(%+v)", *p) +} + +func (p *ResSevenLogin) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSevenLogin", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSevenLogin)(nil) + +func (p *ResSevenLogin) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResShippingOrder struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` +} + +func NewResShippingOrder() *ResShippingOrder { + return &ResShippingOrder{} +} + +func (p *ResShippingOrder) GetCode() RES_CODE { + return p.Code +} + +func (p *ResShippingOrder) GetMsg() string { + return p.Msg +} + +func (p *ResShippingOrder) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResShippingOrder) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResShippingOrder) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResShippingOrder) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResShippingOrder"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResShippingOrder) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResShippingOrder) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResShippingOrder) Equals(other *ResShippingOrder) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResShippingOrder) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResShippingOrder(%+v)", *p) +} + +func (p *ResShippingOrder) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResShippingOrder", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResShippingOrder)(nil) + +func (p *ResShippingOrder) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResSourceChest struct { + Code RES_CODE `thrift:"code,1" db:"code" json:"code"` + Msg string `thrift:"msg,2" db:"msg" json:"msg"` +} + +func NewResSourceChest() *ResSourceChest { + return &ResSourceChest{} +} + +func (p *ResSourceChest) GetCode() RES_CODE { + return p.Code +} + +func (p *ResSourceChest) GetMsg() string { + return p.Msg +} + +func (p *ResSourceChest) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSourceChest) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResSourceChest) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResSourceChest) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSourceChest"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSourceChest) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err) + } + return err +} + +func (p *ResSourceChest) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:msg: ", p), err) + } + return err +} + +func (p *ResSourceChest) Equals(other *ResSourceChest) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResSourceChest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSourceChest(%+v)", *p) +} + +func (p *ResSourceChest) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSourceChest", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSourceChest)(nil) + +func (p *ResSourceChest) Validate() error { + return nil +} + +// Attributes: +// - Grade +// - Count +// +type ResSpecialShop struct { + Grade int32 `thrift:"Grade,1" db:"Grade" json:"Grade"` + Count int32 `thrift:"Count,2" db:"Count" json:"Count"` +} + +func NewResSpecialShop() *ResSpecialShop { + return &ResSpecialShop{} +} + +func (p *ResSpecialShop) GetGrade() int32 { + return p.Grade +} + +func (p *ResSpecialShop) GetCount() int32 { + return p.Count +} + +func (p *ResSpecialShop) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSpecialShop) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Grade = v + } + return nil +} + +func (p *ResSpecialShop) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Count = v + } + return nil +} + +func (p *ResSpecialShop) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSpecialShop"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSpecialShop) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Grade", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Grade: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Grade)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Grade (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Grade: ", p), err) + } + return err +} + +func (p *ResSpecialShop) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Count", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Count: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Count)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Count (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Count: ", p), err) + } + return err +} + +func (p *ResSpecialShop) Equals(other *ResSpecialShop) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Grade != other.Grade { + return false + } + if p.Count != other.Count { + return false + } + return true +} + +func (p *ResSpecialShop) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSpecialShop(%+v)", *p) +} + +func (p *ResSpecialShop) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSpecialShop", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSpecialShop)(nil) + +func (p *ResSpecialShop) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - ResultCode +// +type ResSynGameData struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + ResultCode int32 `thrift:"ResultCode,2" db:"ResultCode" json:"ResultCode"` +} + +func NewResSynGameData() *ResSynGameData { + return &ResSynGameData{} +} + +func (p *ResSynGameData) GetDwUin() int64 { + return p.DwUin +} + +func (p *ResSynGameData) GetResultCode() int32 { + return p.ResultCode +} + +func (p *ResSynGameData) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResSynGameData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *ResSynGameData) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.ResultCode = v + } + return nil +} + +func (p *ResSynGameData) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResSynGameData"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResSynGameData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *ResSynGameData) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:ResultCode: ", p), err) + } + return err +} + +func (p *ResSynGameData) Equals(other *ResSynGameData) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + return true +} + +func (p *ResSynGameData) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResSynGameData(%+v)", *p) +} + +func (p *ResSynGameData) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResSynGameData", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResSynGameData)(nil) + +func (p *ResSynGameData) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResTakeChessOutBag struct { + Code RES_CODE `thrift:"code,1" db:"code" json:"code"` + Msg string `thrift:"msg,2" db:"msg" json:"msg"` +} + +func NewResTakeChessOutBag() *ResTakeChessOutBag { + return &ResTakeChessOutBag{} +} + +func (p *ResTakeChessOutBag) GetCode() RES_CODE { + return p.Code +} + +func (p *ResTakeChessOutBag) GetMsg() string { + return p.Msg +} + +func (p *ResTakeChessOutBag) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResTakeChessOutBag) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResTakeChessOutBag) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResTakeChessOutBag) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResTakeChessOutBag"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResTakeChessOutBag) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err) + } + return err +} + +func (p *ResTakeChessOutBag) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:msg: ", p), err) + } + return err +} + +func (p *ResTakeChessOutBag) Equals(other *ResTakeChessOutBag) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResTakeChessOutBag) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResTakeChessOutBag(%+v)", *p) +} + +func (p *ResTakeChessOutBag) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResTakeChessOutBag", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResTakeChessOutBag)(nil) + +func (p *ResTakeChessOutBag) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResTakeChessOutBagToHonor struct { + Code RES_CODE `thrift:"code,1" db:"code" json:"code"` + Msg string `thrift:"msg,2" db:"msg" json:"msg"` +} + +func NewResTakeChessOutBagToHonor() *ResTakeChessOutBagToHonor { + return &ResTakeChessOutBagToHonor{} +} + +func (p *ResTakeChessOutBagToHonor) GetCode() RES_CODE { + return p.Code +} + +func (p *ResTakeChessOutBagToHonor) GetMsg() string { + return p.Msg +} + +func (p *ResTakeChessOutBagToHonor) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResTakeChessOutBagToHonor) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResTakeChessOutBagToHonor) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResTakeChessOutBagToHonor) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResTakeChessOutBagToHonor"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResTakeChessOutBagToHonor) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err) + } + return err +} + +func (p *ResTakeChessOutBagToHonor) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:msg: ", p), err) + } + return err +} + +func (p *ResTakeChessOutBagToHonor) Equals(other *ResTakeChessOutBagToHonor) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResTakeChessOutBagToHonor) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResTakeChessOutBagToHonor(%+v)", *p) +} + +func (p *ResTakeChessOutBagToHonor) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResTakeChessOutBagToHonor", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResTakeChessOutBagToHonor)(nil) + +func (p *ResTakeChessOutBagToHonor) Validate() error { + return nil +} + +// Attributes: +// - ResultCode +// - BindAccountId +// +type ResUnBindFacebook struct { + ResultCode int32 `thrift:"ResultCode,1" db:"ResultCode" json:"ResultCode"` + BindAccountId string `thrift:"BindAccountId,2" db:"BindAccountId" json:"BindAccountId"` +} + +func NewResUnBindFacebook() *ResUnBindFacebook { + return &ResUnBindFacebook{} +} + +func (p *ResUnBindFacebook) GetResultCode() int32 { + return p.ResultCode +} + +func (p *ResUnBindFacebook) GetBindAccountId() string { + return p.BindAccountId +} + +func (p *ResUnBindFacebook) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResUnBindFacebook) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.ResultCode = v + } + return nil +} + +func (p *ResUnBindFacebook) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.BindAccountId = v + } + return nil +} + +func (p *ResUnBindFacebook) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResUnBindFacebook"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResUnBindFacebook) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ResultCode", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ResultCode: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.ResultCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ResultCode (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ResultCode: ", p), err) + } + return err +} + +func (p *ResUnBindFacebook) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "BindAccountId", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:BindAccountId: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.BindAccountId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.BindAccountId (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:BindAccountId: ", p), err) + } + return err +} + +func (p *ResUnBindFacebook) Equals(other *ResUnBindFacebook) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.ResultCode != other.ResultCode { + return false + } + if p.BindAccountId != other.BindAccountId { + return false + } + return true +} + +func (p *ResUnBindFacebook) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResUnBindFacebook(%+v)", *p) +} + +func (p *ResUnBindFacebook) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResUnBindFacebook", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResUnBindFacebook)(nil) + +func (p *ResUnBindFacebook) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResUpdatePlayerChessData struct { + Code RES_CODE `thrift:"code,1" db:"code" json:"code"` + Msg string `thrift:"msg,2" db:"msg" json:"msg"` +} + +func NewResUpdatePlayerChessData() *ResUpdatePlayerChessData { + return &ResUpdatePlayerChessData{} +} + +func (p *ResUpdatePlayerChessData) GetCode() RES_CODE { + return p.Code +} + +func (p *ResUpdatePlayerChessData) GetMsg() string { + return p.Msg +} + +func (p *ResUpdatePlayerChessData) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResUpdatePlayerChessData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResUpdatePlayerChessData) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResUpdatePlayerChessData) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResUpdatePlayerChessData"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResUpdatePlayerChessData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err) + } + return err +} + +func (p *ResUpdatePlayerChessData) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:msg: ", p), err) + } + return err +} + +func (p *ResUpdatePlayerChessData) Equals(other *ResUpdatePlayerChessData) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResUpdatePlayerChessData) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResUpdatePlayerChessData(%+v)", *p) +} + +func (p *ResUpdatePlayerChessData) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResUpdatePlayerChessData", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResUpdatePlayerChessData)(nil) + +func (p *ResUpdatePlayerChessData) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// +type ResUpgradeChess struct { + Code RES_CODE `thrift:"code,1" db:"code" json:"code"` + Msg string `thrift:"msg,2" db:"msg" json:"msg"` +} + +func NewResUpgradeChess() *ResUpgradeChess { + return &ResUpgradeChess{} +} + +func (p *ResUpgradeChess) GetCode() RES_CODE { + return p.Code +} + +func (p *ResUpgradeChess) GetMsg() string { + return p.Msg +} + +func (p *ResUpgradeChess) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResUpgradeChess) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResUpgradeChess) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResUpgradeChess) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResUpgradeChess"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResUpgradeChess) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err) + } + return err +} + +func (p *ResUpgradeChess) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:msg: ", p), err) + } + return err +} + +func (p *ResUpgradeChess) Equals(other *ResUpgradeChess) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + return true +} + +func (p *ResUpgradeChess) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResUpgradeChess(%+v)", *p) +} + +func (p *ResUpgradeChess) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResUpgradeChess", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResUpgradeChess)(nil) + +func (p *ResUpgradeChess) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Info +// +type ResUserDetail struct { + Code int32 `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Info *ResUserDetailInfo `thrift:"info,3" db:"info" json:"info"` +} + +func NewResUserDetail() *ResUserDetail { + return &ResUserDetail{} +} + +func (p *ResUserDetail) GetCode() int32 { + return p.Code +} + +func (p *ResUserDetail) GetMsg() string { + return p.Msg +} + +var ResUserDetail_Info_DEFAULT *ResUserDetailInfo + +func (p *ResUserDetail) GetInfo() *ResUserDetailInfo { + if !p.IsSetInfo() { + return ResUserDetail_Info_DEFAULT + } + return p.Info +} + +func (p *ResUserDetail) IsSetInfo() bool { + return p.Info != nil +} + +func (p *ResUserDetail) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.STRUCT { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResUserDetail) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Code = v + } + return nil +} + +func (p *ResUserDetail) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResUserDetail) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + p.Info = &ResUserDetailInfo{} + if err := p.Info.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Info), err) + } + return nil +} + +func (p *ResUserDetail) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResUserDetail"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResUserDetail) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResUserDetail) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResUserDetail) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "info", thrift.STRUCT, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:info: ", p), err) + } + if err := p.Info.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Info), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:info: ", p), err) + } + return err +} + +func (p *ResUserDetail) Equals(other *ResUserDetail) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if !p.Info.Equals(other.Info) { + return false + } + return true +} + +func (p *ResUserDetail) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResUserDetail(%+v)", *p) +} + +func (p *ResUserDetail) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResUserDetail", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResUserDetail)(nil) + +func (p *ResUserDetail) Validate() error { + return nil +} + +// Attributes: +// - Name +// - Uid +// - AreaId +// - Face +// - Charge +// - MaxCharge +// - Level +// - Diamond +// - Star +// - Energy +// - Mac +// - Login +// - Cumulative +// - RegisterTime +// - TodayCumulative +// - Ban +// - Bonus +// - Code +// - ChessMap +// - ActLog +// - AdWatch +// - FriendList +// - Order +// +type ResUserDetailInfo struct { + Name string `thrift:"Name,1" db:"Name" json:"Name"` + Uid int64 `thrift:"Uid,2" db:"Uid" json:"Uid"` + AreaId int32 `thrift:"AreaId,3" db:"AreaId" json:"AreaId"` + Face int32 `thrift:"Face,4" db:"Face" json:"Face"` + Charge int32 `thrift:"Charge,5" db:"Charge" json:"Charge"` + MaxCharge int32 `thrift:"MaxCharge,6" db:"MaxCharge" json:"MaxCharge"` + Level int32 `thrift:"Level,7" db:"Level" json:"Level"` + Diamond int64 `thrift:"Diamond,8" db:"Diamond" json:"Diamond"` + Star int32 `thrift:"Star,9" db:"Star" json:"Star"` + Energy int32 `thrift:"Energy,10" db:"Energy" json:"Energy"` + Mac string `thrift:"Mac,11" db:"Mac" json:"Mac"` + Login int64 `thrift:"Login,12" db:"Login" json:"Login"` + Cumulative int64 `thrift:"Cumulative,13" db:"Cumulative" json:"Cumulative"` + RegisterTime int64 `thrift:"RegisterTime,14" db:"RegisterTime" json:"RegisterTime"` + TodayCumulative int64 `thrift:"TodayCumulative,15" db:"TodayCumulative" json:"TodayCumulative"` + Ban bool `thrift:"Ban,16" db:"Ban" json:"Ban"` + Bonus int32 `thrift:"Bonus,17" db:"Bonus" json:"Bonus"` + Code string `thrift:"Code,18" db:"Code" json:"Code"` + ChessMap map[string]int32 `thrift:"ChessMap,19" db:"ChessMap" json:"ChessMap"` + ActLog []*ActLog `thrift:"ActLog,20" db:"ActLog" json:"ActLog"` + AdWatch int32 `thrift:"AdWatch,21" db:"AdWatch" json:"AdWatch"` + FriendList []*UserDetailFriendInfo `thrift:"FriendList,22" db:"FriendList" json:"FriendList"` + Order []*UserDetailOrderInfo `thrift:"Order,23" db:"Order" json:"Order"` +} + +func NewResUserDetailInfo() *ResUserDetailInfo { + return &ResUserDetailInfo{} +} + +func (p *ResUserDetailInfo) GetName() string { + return p.Name +} + +func (p *ResUserDetailInfo) GetUid() int64 { + return p.Uid +} + +func (p *ResUserDetailInfo) GetAreaId() int32 { + return p.AreaId +} + +func (p *ResUserDetailInfo) GetFace() int32 { + return p.Face +} + +func (p *ResUserDetailInfo) GetCharge() int32 { + return p.Charge +} + +func (p *ResUserDetailInfo) GetMaxCharge() int32 { + return p.MaxCharge +} + +func (p *ResUserDetailInfo) GetLevel() int32 { + return p.Level +} + +func (p *ResUserDetailInfo) GetDiamond() int64 { + return p.Diamond +} + +func (p *ResUserDetailInfo) GetStar() int32 { + return p.Star +} + +func (p *ResUserDetailInfo) GetEnergy() int32 { + return p.Energy +} + +func (p *ResUserDetailInfo) GetMac() string { + return p.Mac +} + +func (p *ResUserDetailInfo) GetLogin() int64 { + return p.Login +} + +func (p *ResUserDetailInfo) GetCumulative() int64 { + return p.Cumulative +} + +func (p *ResUserDetailInfo) GetRegisterTime() int64 { + return p.RegisterTime +} + +func (p *ResUserDetailInfo) GetTodayCumulative() int64 { + return p.TodayCumulative +} + +func (p *ResUserDetailInfo) GetBan() bool { + return p.Ban +} + +func (p *ResUserDetailInfo) GetBonus() int32 { + return p.Bonus +} + +func (p *ResUserDetailInfo) GetCode() string { + return p.Code +} + +func (p *ResUserDetailInfo) GetChessMap() map[string]int32 { + return p.ChessMap +} + +func (p *ResUserDetailInfo) GetActLog() []*ActLog { + return p.ActLog +} + +func (p *ResUserDetailInfo) GetAdWatch() int32 { + return p.AdWatch +} + +func (p *ResUserDetailInfo) GetFriendList() []*UserDetailFriendInfo { + return p.FriendList +} + +func (p *ResUserDetailInfo) GetOrder() []*UserDetailOrderInfo { + return p.Order +} + +func (p *ResUserDetailInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.I32 { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.I64 { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.I32 { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.I32 { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 11: + if fieldTypeId == thrift.STRING { + if err := p.ReadField11(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 12: + if fieldTypeId == thrift.I64 { + if err := p.ReadField12(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 13: + if fieldTypeId == thrift.I64 { + if err := p.ReadField13(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 14: + if fieldTypeId == thrift.I64 { + if err := p.ReadField14(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 15: + if fieldTypeId == thrift.I64 { + if err := p.ReadField15(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 16: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField16(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 17: + if fieldTypeId == thrift.I32 { + if err := p.ReadField17(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 18: + if fieldTypeId == thrift.STRING { + if err := p.ReadField18(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 19: + if fieldTypeId == thrift.MAP { + if err := p.ReadField19(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 20: + if fieldTypeId == thrift.LIST { + if err := p.ReadField20(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 21: + if fieldTypeId == thrift.I32 { + if err := p.ReadField21(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 22: + if fieldTypeId == thrift.LIST { + if err := p.ReadField22(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 23: + if fieldTypeId == thrift.LIST { + if err := p.ReadField23(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResUserDetailInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Name = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.AreaId = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Face = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Charge = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.MaxCharge = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.Level = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.Diamond = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 9: ", err) + } else { + p.Star = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 10: ", err) + } else { + p.Energy = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField11(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 11: ", err) + } else { + p.Mac = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField12(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 12: ", err) + } else { + p.Login = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField13(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 13: ", err) + } else { + p.Cumulative = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField14(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 14: ", err) + } else { + p.RegisterTime = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField15(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 15: ", err) + } else { + p.TodayCumulative = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField16(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 16: ", err) + } else { + p.Ban = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField17(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 17: ", err) + } else { + p.Bonus = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField18(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 18: ", err) + } else { + p.Code = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField19(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.ChessMap = tMap + for i := 0; i < size; i++ { + var _key432 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key432 = v + } + var _val433 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val433 = v + } + p.ChessMap[_key432] = _val433 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *ResUserDetailInfo) ReadField20(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ActLog, 0, size) + p.ActLog = tSlice + for i := 0; i < size; i++ { + _elem434 := &ActLog{} + if err := _elem434.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem434), err) + } + p.ActLog = append(p.ActLog, _elem434) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResUserDetailInfo) ReadField21(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 21: ", err) + } else { + p.AdWatch = v + } + return nil +} + +func (p *ResUserDetailInfo) ReadField22(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*UserDetailFriendInfo, 0, size) + p.FriendList = tSlice + for i := 0; i < size; i++ { + _elem435 := &UserDetailFriendInfo{} + if err := _elem435.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem435), err) + } + p.FriendList = append(p.FriendList, _elem435) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResUserDetailInfo) ReadField23(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*UserDetailOrderInfo, 0, size) + p.Order = tSlice + for i := 0; i < size; i++ { + _elem436 := &UserDetailOrderInfo{} + if err := _elem436.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem436), err) + } + p.Order = append(p.Order, _elem436) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResUserDetailInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResUserDetailInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + if err := p.writeField11(ctx, oprot); err != nil { + return err + } + if err := p.writeField12(ctx, oprot); err != nil { + return err + } + if err := p.writeField13(ctx, oprot); err != nil { + return err + } + if err := p.writeField14(ctx, oprot); err != nil { + return err + } + if err := p.writeField15(ctx, oprot); err != nil { + return err + } + if err := p.writeField16(ctx, oprot); err != nil { + return err + } + if err := p.writeField17(ctx, oprot); err != nil { + return err + } + if err := p.writeField18(ctx, oprot); err != nil { + return err + } + if err := p.writeField19(ctx, oprot); err != nil { + return err + } + if err := p.writeField20(ctx, oprot); err != nil { + return err + } + if err := p.writeField21(ctx, oprot); err != nil { + return err + } + if err := p.writeField22(ctx, oprot); err != nil { + return err + } + if err := p.writeField23(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResUserDetailInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Name", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Name: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Name)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Name (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Name: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Uid: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AreaId", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:AreaId: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.AreaId)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AreaId (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:AreaId: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Face", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Face: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Face)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Face (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Face: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Charge", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Charge: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Charge)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Charge (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Charge: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MaxCharge", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:MaxCharge: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.MaxCharge)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.MaxCharge (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:MaxCharge: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Level", thrift.I32, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:Level: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Level)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Level (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:Level: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Diamond", thrift.I64, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:Diamond: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Diamond)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Diamond (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:Diamond: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Star", thrift.I32, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:Star: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Star)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Star (9) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:Star: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Energy", thrift.I32, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:Energy: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Energy)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Energy (10) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:Energy: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Mac", thrift.STRING, 11); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:Mac: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Mac)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Mac (11) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 11:Mac: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Login", thrift.I64, 12); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:Login: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Login)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Login (12) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 12:Login: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField13(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Cumulative", thrift.I64, 13); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 13:Cumulative: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Cumulative)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Cumulative (13) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 13:Cumulative: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField14(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "RegisterTime", thrift.I64, 14); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 14:RegisterTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.RegisterTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.RegisterTime (14) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 14:RegisterTime: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField15(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "TodayCumulative", thrift.I64, 15); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 15:TodayCumulative: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.TodayCumulative)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.TodayCumulative (15) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 15:TodayCumulative: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField16(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Ban", thrift.BOOL, 16); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 16:Ban: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.Ban)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Ban (16) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 16:Ban: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField17(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Bonus", thrift.I32, 17); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 17:Bonus: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Bonus)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Bonus (17) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 17:Bonus: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField18(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.STRING, 18); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 18:Code: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (18) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 18:Code: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField19(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessMap", thrift.MAP, 19); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 19:ChessMap: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.ChessMap)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.ChessMap { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 19:ChessMap: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField20(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ActLog", thrift.LIST, 20); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 20:ActLog: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.ActLog)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ActLog { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 20:ActLog: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField21(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AdWatch", thrift.I32, 21); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 21:AdWatch: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.AdWatch)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AdWatch (21) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 21:AdWatch: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField22(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FriendList", thrift.LIST, 22); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 22:FriendList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.FriendList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.FriendList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 22:FriendList: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) writeField23(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Order", thrift.LIST, 23); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 23:Order: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Order)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Order { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 23:Order: ", p), err) + } + return err +} + +func (p *ResUserDetailInfo) Equals(other *ResUserDetailInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Name != other.Name { + return false + } + if p.Uid != other.Uid { + return false + } + if p.AreaId != other.AreaId { + return false + } + if p.Face != other.Face { + return false + } + if p.Charge != other.Charge { + return false + } + if p.MaxCharge != other.MaxCharge { + return false + } + if p.Level != other.Level { + return false + } + if p.Diamond != other.Diamond { + return false + } + if p.Star != other.Star { + return false + } + if p.Energy != other.Energy { + return false + } + if p.Mac != other.Mac { + return false + } + if p.Login != other.Login { + return false + } + if p.Cumulative != other.Cumulative { + return false + } + if p.RegisterTime != other.RegisterTime { + return false + } + if p.TodayCumulative != other.TodayCumulative { + return false + } + if p.Ban != other.Ban { + return false + } + if p.Bonus != other.Bonus { + return false + } + if p.Code != other.Code { + return false + } + if len(p.ChessMap) != len(other.ChessMap) { + return false + } + for k, _tgt := range p.ChessMap { + _src437 := other.ChessMap[k] + if _tgt != _src437 { + return false + } + } + if len(p.ActLog) != len(other.ActLog) { + return false + } + for i, _tgt := range p.ActLog { + _src438 := other.ActLog[i] + if !_tgt.Equals(_src438) { + return false + } + } + if p.AdWatch != other.AdWatch { + return false + } + if len(p.FriendList) != len(other.FriendList) { + return false + } + for i, _tgt := range p.FriendList { + _src439 := other.FriendList[i] + if !_tgt.Equals(_src439) { + return false + } + } + if len(p.Order) != len(other.Order) { + return false + } + for i, _tgt := range p.Order { + _src440 := other.Order[i] + if !_tgt.Equals(_src440) { + return false + } + } + return true +} + +func (p *ResUserDetailInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResUserDetailInfo(%+v)", *p) +} + +func (p *ResUserDetailInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResUserDetailInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResUserDetailInfo)(nil) + +func (p *ResUserDetailInfo) Validate() error { + return nil +} + +// Attributes: +// - Code +// - Msg +// - Uid +// +type ResWishApply struct { + Code RES_CODE `thrift:"Code,1" db:"Code" json:"Code"` + Msg string `thrift:"Msg,2" db:"Msg" json:"Msg"` + Uid int64 `thrift:"Uid,3" db:"Uid" json:"Uid"` +} + +func NewResWishApply() *ResWishApply { + return &ResWishApply{} +} + +func (p *ResWishApply) GetCode() RES_CODE { + return p.Code +} + +func (p *ResWishApply) GetMsg() string { + return p.Msg +} + +func (p *ResWishApply) GetUid() int64 { + return p.Uid +} + +func (p *ResWishApply) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResWishApply) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + temp := RES_CODE(v) + p.Code = temp + } + return nil +} + +func (p *ResWishApply) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Msg = v + } + return nil +} + +func (p *ResWishApply) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *ResWishApply) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResWishApply"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResWishApply) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Code", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Code: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Code (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Code: ", p), err) + } + return err +} + +func (p *ResWishApply) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Msg", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Msg: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Msg)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Msg (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Msg: ", p), err) + } + return err +} + +func (p *ResWishApply) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Uid: ", p), err) + } + return err +} + +func (p *ResWishApply) Equals(other *ResWishApply) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Code != other.Code { + return false + } + if p.Msg != other.Msg { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *ResWishApply) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResWishApply(%+v)", *p) +} + +func (p *ResWishApply) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResWishApply", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResWishApply)(nil) + +func (p *ResWishApply) Validate() error { + return nil +} + +// Attributes: +// - ApplyList +// +type ResWishApplyList struct { + ApplyList []*ResFriendApplyInfo `thrift:"ApplyList,1" db:"ApplyList" json:"ApplyList"` +} + +func NewResWishApplyList() *ResWishApplyList { + return &ResWishApplyList{} +} + +func (p *ResWishApplyList) GetApplyList() []*ResFriendApplyInfo { + return p.ApplyList +} + +func (p *ResWishApplyList) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *ResWishApplyList) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ResFriendApplyInfo, 0, size) + p.ApplyList = tSlice + for i := 0; i < size; i++ { + _elem441 := &ResFriendApplyInfo{} + if err := _elem441.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem441), err) + } + p.ApplyList = append(p.ApplyList, _elem441) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *ResWishApplyList) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "ResWishApplyList"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *ResWishApplyList) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ApplyList", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ApplyList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.ApplyList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ApplyList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ApplyList: ", p), err) + } + return err +} + +func (p *ResWishApplyList) Equals(other *ResWishApplyList) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.ApplyList) != len(other.ApplyList) { + return false + } + for i, _tgt := range p.ApplyList { + _src442 := other.ApplyList[i] + if !_tgt.Equals(_src442) { + return false + } + } + return true +} + +func (p *ResWishApplyList) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ResWishApplyList(%+v)", *p) +} + +func (p *ResWishApplyList) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.ResWishApplyList", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*ResWishApplyList)(nil) + +func (p *ResWishApplyList) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - Name +// - Face +// - Avatar +// - LastTime +// +type RoomOpponent struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + Name string `thrift:"Name,2" db:"Name" json:"Name"` + Face int32 `thrift:"Face,3" db:"Face" json:"Face"` + Avatar int32 `thrift:"Avatar,4" db:"Avatar" json:"Avatar"` + LastTime int32 `thrift:"LastTime,5" db:"LastTime" json:"LastTime"` +} + +func NewRoomOpponent() *RoomOpponent { + return &RoomOpponent{} +} + +func (p *RoomOpponent) GetUid() int64 { + return p.Uid +} + +func (p *RoomOpponent) GetName() string { + return p.Name +} + +func (p *RoomOpponent) GetFace() int32 { + return p.Face +} + +func (p *RoomOpponent) GetAvatar() int32 { + return p.Avatar +} + +func (p *RoomOpponent) GetLastTime() int32 { + return p.LastTime +} + +func (p *RoomOpponent) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *RoomOpponent) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *RoomOpponent) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Name = v + } + return nil +} + +func (p *RoomOpponent) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Face = v + } + return nil +} + +func (p *RoomOpponent) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Avatar = v + } + return nil +} + +func (p *RoomOpponent) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.LastTime = v + } + return nil +} + +func (p *RoomOpponent) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "RoomOpponent"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *RoomOpponent) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *RoomOpponent) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Name", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Name: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Name)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Name (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Name: ", p), err) + } + return err +} + +func (p *RoomOpponent) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Face", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Face: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Face)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Face (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Face: ", p), err) + } + return err +} + +func (p *RoomOpponent) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Avatar", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Avatar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Avatar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Avatar (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Avatar: ", p), err) + } + return err +} + +func (p *RoomOpponent) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "LastTime", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:LastTime: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.LastTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.LastTime (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:LastTime: ", p), err) + } + return err +} + +func (p *RoomOpponent) Equals(other *RoomOpponent) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.Name != other.Name { + return false + } + if p.Face != other.Face { + return false + } + if p.Avatar != other.Avatar { + return false + } + if p.LastTime != other.LastTime { + return false + } + return true +} + +func (p *RoomOpponent) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("RoomOpponent(%+v)", *p) +} + +func (p *RoomOpponent) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.RoomOpponent", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*RoomOpponent)(nil) + +func (p *RoomOpponent) Validate() error { + return nil +} + +// Attributes: +// - Item1 +// - Item2 +// - Item3 +// - Status +// - Id +// - NeedActive +// +type SevenLoginReward struct { + Item1 []*ItemInfo `thrift:"Item1,1" db:"Item1" json:"Item1"` + Item2 []*ItemInfo `thrift:"Item2,2" db:"Item2" json:"Item2"` + Item3 []*ItemInfo `thrift:"Item3,3" db:"Item3" json:"Item3"` + Status int32 `thrift:"Status,4" db:"Status" json:"Status"` + Id int32 `thrift:"Id,5" db:"Id" json:"Id"` + NeedActive int32 `thrift:"NeedActive,6" db:"NeedActive" json:"NeedActive"` +} + +func NewSevenLoginReward() *SevenLoginReward { + return &SevenLoginReward{} +} + +func (p *SevenLoginReward) GetItem1() []*ItemInfo { + return p.Item1 +} + +func (p *SevenLoginReward) GetItem2() []*ItemInfo { + return p.Item2 +} + +func (p *SevenLoginReward) GetItem3() []*ItemInfo { + return p.Item3 +} + +func (p *SevenLoginReward) GetStatus() int32 { + return p.Status +} + +func (p *SevenLoginReward) GetId() int32 { + return p.Id +} + +func (p *SevenLoginReward) GetNeedActive() int32 { + return p.NeedActive +} + +func (p *SevenLoginReward) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *SevenLoginReward) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Item1 = tSlice + for i := 0; i < size; i++ { + _elem443 := &ItemInfo{} + if err := _elem443.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem443), err) + } + p.Item1 = append(p.Item1, _elem443) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *SevenLoginReward) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Item2 = tSlice + for i := 0; i < size; i++ { + _elem444 := &ItemInfo{} + if err := _elem444.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem444), err) + } + p.Item2 = append(p.Item2, _elem444) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *SevenLoginReward) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ItemInfo, 0, size) + p.Item3 = tSlice + for i := 0; i < size; i++ { + _elem445 := &ItemInfo{} + if err := _elem445.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem445), err) + } + p.Item3 = append(p.Item3, _elem445) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *SevenLoginReward) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *SevenLoginReward) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *SevenLoginReward) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.NeedActive = v + } + return nil +} + +func (p *SevenLoginReward) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "SevenLoginReward"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *SevenLoginReward) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Item1", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Item1: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Item1)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Item1 { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Item1: ", p), err) + } + return err +} + +func (p *SevenLoginReward) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Item2", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Item2: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Item2)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Item2 { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Item2: ", p), err) + } + return err +} + +func (p *SevenLoginReward) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Item3", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Item3: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Item3)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Item3 { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Item3: ", p), err) + } + return err +} + +func (p *SevenLoginReward) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Status: ", p), err) + } + return err +} + +func (p *SevenLoginReward) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Id: ", p), err) + } + return err +} + +func (p *SevenLoginReward) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "NeedActive", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:NeedActive: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.NeedActive)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.NeedActive (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:NeedActive: ", p), err) + } + return err +} + +func (p *SevenLoginReward) Equals(other *SevenLoginReward) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if len(p.Item1) != len(other.Item1) { + return false + } + for i, _tgt := range p.Item1 { + _src446 := other.Item1[i] + if !_tgt.Equals(_src446) { + return false + } + } + if len(p.Item2) != len(other.Item2) { + return false + } + for i, _tgt := range p.Item2 { + _src447 := other.Item2[i] + if !_tgt.Equals(_src447) { + return false + } + } + if len(p.Item3) != len(other.Item3) { + return false + } + for i, _tgt := range p.Item3 { + _src448 := other.Item3[i] + if !_tgt.Equals(_src448) { + return false + } + } + if p.Status != other.Status { + return false + } + if p.Id != other.Id { + return false + } + if p.NeedActive != other.NeedActive { + return false + } + return true +} + +func (p *SevenLoginReward) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("SevenLoginReward(%+v)", *p) +} + +func (p *SevenLoginReward) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.SevenLoginReward", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*SevenLoginReward)(nil) + +func (p *SevenLoginReward) Validate() error { + return nil +} + +// Attributes: +// - Pos +// - Type +// - Face +// - Avatar +// - Uid +// - Status +// - NickName +// +type TreasureInfo struct { + Pos int32 `thrift:"Pos,1" db:"Pos" json:"Pos"` + Type int32 `thrift:"Type,2" db:"Type" json:"Type"` + Face int32 `thrift:"Face,3" db:"Face" json:"Face"` + Avatar int32 `thrift:"Avatar,4" db:"Avatar" json:"Avatar"` + Uid int64 `thrift:"Uid,5" db:"Uid" json:"Uid"` + Status int32 `thrift:"Status,6" db:"Status" json:"Status"` + NickName string `thrift:"NickName,7" db:"NickName" json:"NickName"` +} + +func NewTreasureInfo() *TreasureInfo { + return &TreasureInfo{} +} + +func (p *TreasureInfo) GetPos() int32 { + return p.Pos +} + +func (p *TreasureInfo) GetType() int32 { + return p.Type +} + +func (p *TreasureInfo) GetFace() int32 { + return p.Face +} + +func (p *TreasureInfo) GetAvatar() int32 { + return p.Avatar +} + +func (p *TreasureInfo) GetUid() int64 { + return p.Uid +} + +func (p *TreasureInfo) GetStatus() int32 { + return p.Status +} + +func (p *TreasureInfo) GetNickName() string { + return p.NickName +} + +func (p *TreasureInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I64 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.STRING { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *TreasureInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Pos = v + } + return nil +} + +func (p *TreasureInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *TreasureInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Face = v + } + return nil +} + +func (p *TreasureInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Avatar = v + } + return nil +} + +func (p *TreasureInfo) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *TreasureInfo) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.Status = v + } + return nil +} + +func (p *TreasureInfo) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.NickName = v + } + return nil +} + +func (p *TreasureInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "TreasureInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *TreasureInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Pos", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Pos: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Pos)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Pos (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Pos: ", p), err) + } + return err +} + +func (p *TreasureInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Type: ", p), err) + } + return err +} + +func (p *TreasureInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Face", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Face: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Face)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Face (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Face: ", p), err) + } + return err +} + +func (p *TreasureInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Avatar", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Avatar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Avatar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Avatar (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Avatar: ", p), err) + } + return err +} + +func (p *TreasureInfo) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Uid: ", p), err) + } + return err +} + +func (p *TreasureInfo) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Status", thrift.I32, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:Status: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Status)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Status (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:Status: ", p), err) + } + return err +} + +func (p *TreasureInfo) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "NickName", thrift.STRING, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:NickName: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.NickName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.NickName (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:NickName: ", p), err) + } + return err +} + +func (p *TreasureInfo) Equals(other *TreasureInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Pos != other.Pos { + return false + } + if p.Type != other.Type { + return false + } + if p.Face != other.Face { + return false + } + if p.Avatar != other.Avatar { + return false + } + if p.Uid != other.Uid { + return false + } + if p.Status != other.Status { + return false + } + if p.NickName != other.NickName { + return false + } + return true +} + +func (p *TreasureInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("TreasureInfo(%+v)", *p) +} + +func (p *TreasureInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.TreasureInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*TreasureInfo)(nil) + +func (p *TreasureInfo) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - MUpdateItem +// +type UpdateBaseItemInfo struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + MUpdateItem map[int32]int32 `thrift:"MUpdateItem,2" db:"MUpdateItem" json:"MUpdateItem"` +} + +func NewUpdateBaseItemInfo() *UpdateBaseItemInfo { + return &UpdateBaseItemInfo{} +} + +func (p *UpdateBaseItemInfo) GetDwUin() int64 { + return p.DwUin +} + +func (p *UpdateBaseItemInfo) GetMUpdateItem() map[int32]int32 { + return p.MUpdateItem +} + +func (p *UpdateBaseItemInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *UpdateBaseItemInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *UpdateBaseItemInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.MUpdateItem = tMap + for i := 0; i < size; i++ { + var _key449 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key449 = v + } + var _val450 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val450 = v + } + p.MUpdateItem[_key449] = _val450 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *UpdateBaseItemInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "UpdateBaseItemInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *UpdateBaseItemInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *UpdateBaseItemInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MUpdateItem", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MUpdateItem: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.MUpdateItem)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MUpdateItem { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MUpdateItem: ", p), err) + } + return err +} + +func (p *UpdateBaseItemInfo) Equals(other *UpdateBaseItemInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if len(p.MUpdateItem) != len(other.MUpdateItem) { + return false + } + for k, _tgt := range p.MUpdateItem { + _src451 := other.MUpdateItem[k] + if _tgt != _src451 { + return false + } + } + return true +} + +func (p *UpdateBaseItemInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("UpdateBaseItemInfo(%+v)", *p) +} + +func (p *UpdateBaseItemInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.UpdateBaseItemInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*UpdateBaseItemInfo)(nil) + +func (p *UpdateBaseItemInfo) Validate() error { + return nil +} + +// Attributes: +// - DwUin +// - MChessData +// - MChessHandle +// +type UpdatePlayerChessData struct { + DwUin int64 `thrift:"dwUin,1" db:"dwUin" json:"dwUin"` + MChessData map[string]int32 `thrift:"MChessData,2" db:"MChessData" json:"MChessData"` + MChessHandle []*ChessHandle `thrift:"mChessHandle,3" db:"mChessHandle" json:"mChessHandle"` +} + +func NewUpdatePlayerChessData() *UpdatePlayerChessData { + return &UpdatePlayerChessData{} +} + +func (p *UpdatePlayerChessData) GetDwUin() int64 { + return p.DwUin +} + +func (p *UpdatePlayerChessData) GetMChessData() map[string]int32 { + return p.MChessData +} + +func (p *UpdatePlayerChessData) GetMChessHandle() []*ChessHandle { + return p.MChessHandle +} + +func (p *UpdatePlayerChessData) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.MAP { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *UpdatePlayerChessData) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.DwUin = v + } + return nil +} + +func (p *UpdatePlayerChessData) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[string]int32, size) + p.MChessData = tMap + for i := 0; i < size; i++ { + var _key452 string + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key452 = v + } + var _val453 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val453 = v + } + p.MChessData[_key452] = _val453 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *UpdatePlayerChessData) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*ChessHandle, 0, size) + p.MChessHandle = tSlice + for i := 0; i < size; i++ { + _elem454 := &ChessHandle{} + if err := _elem454.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem454), err) + } + p.MChessHandle = append(p.MChessHandle, _elem454) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *UpdatePlayerChessData) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "UpdatePlayerChessData"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *UpdatePlayerChessData) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "dwUin", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dwUin: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.DwUin)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dwUin (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dwUin: ", p), err) + } + return err +} + +func (p *UpdatePlayerChessData) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "MChessData", thrift.MAP, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MChessData: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.MChessData)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.MChessData { + if err := oprot.WriteString(ctx, string(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MChessData: ", p), err) + } + return err +} + +func (p *UpdatePlayerChessData) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "mChessHandle", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:mChessHandle: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.MChessHandle)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.MChessHandle { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:mChessHandle: ", p), err) + } + return err +} + +func (p *UpdatePlayerChessData) Equals(other *UpdatePlayerChessData) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.DwUin != other.DwUin { + return false + } + if len(p.MChessData) != len(other.MChessData) { + return false + } + for k, _tgt := range p.MChessData { + _src455 := other.MChessData[k] + if _tgt != _src455 { + return false + } + } + if len(p.MChessHandle) != len(other.MChessHandle) { + return false + } + for i, _tgt := range p.MChessHandle { + _src456 := other.MChessHandle[i] + if !_tgt.Equals(_src456) { + return false + } + } + return true +} + +func (p *UpdatePlayerChessData) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("UpdatePlayerChessData(%+v)", *p) +} + +func (p *UpdatePlayerChessData) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.UpdatePlayerChessData", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*UpdatePlayerChessData)(nil) + +func (p *UpdatePlayerChessData) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - NickName +// - Avatar +// - Level +// - LogoutTime +// - LoginTime +// - AvatarUrl +// - OnlineStatus +// +type UserDetailFriendInfo struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + NickName string `thrift:"NickName,2" db:"NickName" json:"NickName"` + Avatar int32 `thrift:"Avatar,3" db:"Avatar" json:"Avatar"` + Level int32 `thrift:"Level,4" db:"Level" json:"Level"` + LogoutTime int64 `thrift:"LogoutTime,5" db:"LogoutTime" json:"LogoutTime"` + LoginTime int64 `thrift:"LoginTime,6" db:"LoginTime" json:"LoginTime"` + AvatarUrl string `thrift:"AvatarUrl,7" db:"AvatarUrl" json:"AvatarUrl"` + OnlineStatus bool `thrift:"OnlineStatus,8" db:"OnlineStatus" json:"OnlineStatus"` +} + +func NewUserDetailFriendInfo() *UserDetailFriendInfo { + return &UserDetailFriendInfo{} +} + +func (p *UserDetailFriendInfo) GetUid() int64 { + return p.Uid +} + +func (p *UserDetailFriendInfo) GetNickName() string { + return p.NickName +} + +func (p *UserDetailFriendInfo) GetAvatar() int32 { + return p.Avatar +} + +func (p *UserDetailFriendInfo) GetLevel() int32 { + return p.Level +} + +func (p *UserDetailFriendInfo) GetLogoutTime() int64 { + return p.LogoutTime +} + +func (p *UserDetailFriendInfo) GetLoginTime() int64 { + return p.LoginTime +} + +func (p *UserDetailFriendInfo) GetAvatarUrl() string { + return p.AvatarUrl +} + +func (p *UserDetailFriendInfo) GetOnlineStatus() bool { + return p.OnlineStatus +} + +func (p *UserDetailFriendInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I64 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.I64 { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.STRING { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.BOOL { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *UserDetailFriendInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *UserDetailFriendInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.NickName = v + } + return nil +} + +func (p *UserDetailFriendInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Avatar = v + } + return nil +} + +func (p *UserDetailFriendInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Level = v + } + return nil +} + +func (p *UserDetailFriendInfo) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.LogoutTime = v + } + return nil +} + +func (p *UserDetailFriendInfo) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.LoginTime = v + } + return nil +} + +func (p *UserDetailFriendInfo) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.AvatarUrl = v + } + return nil +} + +func (p *UserDetailFriendInfo) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.OnlineStatus = v + } + return nil +} + +func (p *UserDetailFriendInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "UserDetailFriendInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *UserDetailFriendInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *UserDetailFriendInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "NickName", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:NickName: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.NickName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.NickName (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:NickName: ", p), err) + } + return err +} + +func (p *UserDetailFriendInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Avatar", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Avatar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Avatar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Avatar (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Avatar: ", p), err) + } + return err +} + +func (p *UserDetailFriendInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Level", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Level: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Level)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Level (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Level: ", p), err) + } + return err +} + +func (p *UserDetailFriendInfo) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "LogoutTime", thrift.I64, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:LogoutTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.LogoutTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.LogoutTime (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:LogoutTime: ", p), err) + } + return err +} + +func (p *UserDetailFriendInfo) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "LoginTime", thrift.I64, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:LoginTime: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.LoginTime)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.LoginTime (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:LoginTime: ", p), err) + } + return err +} + +func (p *UserDetailFriendInfo) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AvatarUrl", thrift.STRING, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:AvatarUrl: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.AvatarUrl)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AvatarUrl (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:AvatarUrl: ", p), err) + } + return err +} + +func (p *UserDetailFriendInfo) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "OnlineStatus", thrift.BOOL, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:OnlineStatus: ", p), err) + } + if err := oprot.WriteBool(ctx, bool(p.OnlineStatus)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.OnlineStatus (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:OnlineStatus: ", p), err) + } + return err +} + +func (p *UserDetailFriendInfo) Equals(other *UserDetailFriendInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.NickName != other.NickName { + return false + } + if p.Avatar != other.Avatar { + return false + } + if p.Level != other.Level { + return false + } + if p.LogoutTime != other.LogoutTime { + return false + } + if p.LoginTime != other.LoginTime { + return false + } + if p.AvatarUrl != other.AvatarUrl { + return false + } + if p.OnlineStatus != other.OnlineStatus { + return false + } + return true +} + +func (p *UserDetailFriendInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("UserDetailFriendInfo(%+v)", *p) +} + +func (p *UserDetailFriendInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.UserDetailFriendInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*UserDetailFriendInfo)(nil) + +func (p *UserDetailFriendInfo) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Type +// - Time +// - Chess +// - Diff +// - ChessId +// +type UserDetailOrderInfo struct { + Id string `thrift:"Id,1" db:"Id" json:"Id"` + Type int32 `thrift:"Type,2" db:"Type" json:"Type"` + Time int64 `thrift:"Time,3" db:"Time" json:"Time"` + Chess []*UserDetailOrderInfoChess `thrift:"Chess,4" db:"Chess" json:"Chess"` + Diff int32 `thrift:"Diff,5" db:"Diff" json:"Diff"` + ChessId []*UserDetailOrderInfoChess `thrift:"ChessId,6" db:"ChessId" json:"ChessId"` +} + +func NewUserDetailOrderInfo() *UserDetailOrderInfo { + return &UserDetailOrderInfo{} +} + +func (p *UserDetailOrderInfo) GetId() string { + return p.Id +} + +func (p *UserDetailOrderInfo) GetType() int32 { + return p.Type +} + +func (p *UserDetailOrderInfo) GetTime() int64 { + return p.Time +} + +func (p *UserDetailOrderInfo) GetChess() []*UserDetailOrderInfoChess { + return p.Chess +} + +func (p *UserDetailOrderInfo) GetDiff() int32 { + return p.Diff +} + +func (p *UserDetailOrderInfo) GetChessId() []*UserDetailOrderInfoChess { + return p.ChessId +} + +func (p *UserDetailOrderInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I64 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.LIST { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.LIST { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *UserDetailOrderInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *UserDetailOrderInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Type = v + } + return nil +} + +func (p *UserDetailOrderInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Time = v + } + return nil +} + +func (p *UserDetailOrderInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*UserDetailOrderInfoChess, 0, size) + p.Chess = tSlice + for i := 0; i < size; i++ { + _elem457 := &UserDetailOrderInfoChess{} + if err := _elem457.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem457), err) + } + p.Chess = append(p.Chess, _elem457) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *UserDetailOrderInfo) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Diff = v + } + return nil +} + +func (p *UserDetailOrderInfo) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*UserDetailOrderInfoChess, 0, size) + p.ChessId = tSlice + for i := 0; i < size; i++ { + _elem458 := &UserDetailOrderInfoChess{} + if err := _elem458.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem458), err) + } + p.ChessId = append(p.ChessId, _elem458) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *UserDetailOrderInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "UserDetailOrderInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *UserDetailOrderInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *UserDetailOrderInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Type", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Type: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Type (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Type: ", p), err) + } + return err +} + +func (p *UserDetailOrderInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Time", thrift.I64, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Time: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Time)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Time (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Time: ", p), err) + } + return err +} + +func (p *UserDetailOrderInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Chess", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Chess: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Chess)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Chess { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Chess: ", p), err) + } + return err +} + +func (p *UserDetailOrderInfo) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Diff", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Diff: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Diff)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Diff (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Diff: ", p), err) + } + return err +} + +func (p *UserDetailOrderInfo) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "ChessId", thrift.LIST, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:ChessId: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.ChessId)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.ChessId { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:ChessId: ", p), err) + } + return err +} + +func (p *UserDetailOrderInfo) Equals(other *UserDetailOrderInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Type != other.Type { + return false + } + if p.Time != other.Time { + return false + } + if len(p.Chess) != len(other.Chess) { + return false + } + for i, _tgt := range p.Chess { + _src459 := other.Chess[i] + if !_tgt.Equals(_src459) { + return false + } + } + if p.Diff != other.Diff { + return false + } + if len(p.ChessId) != len(other.ChessId) { + return false + } + for i, _tgt := range p.ChessId { + _src460 := other.ChessId[i] + if !_tgt.Equals(_src460) { + return false + } + } + return true +} + +func (p *UserDetailOrderInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("UserDetailOrderInfo(%+v)", *p) +} + +func (p *UserDetailOrderInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.UserDetailOrderInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*UserDetailOrderInfo)(nil) + +func (p *UserDetailOrderInfo) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Icon +// +type UserDetailOrderInfoChess struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Icon string `thrift:"Icon,2" db:"Icon" json:"Icon"` +} + +func NewUserDetailOrderInfoChess() *UserDetailOrderInfoChess { + return &UserDetailOrderInfoChess{} +} + +func (p *UserDetailOrderInfoChess) GetId() int32 { + return p.Id +} + +func (p *UserDetailOrderInfoChess) GetIcon() string { + return p.Icon +} + +func (p *UserDetailOrderInfoChess) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *UserDetailOrderInfoChess) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *UserDetailOrderInfoChess) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Icon = v + } + return nil +} + +func (p *UserDetailOrderInfoChess) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "UserDetailOrderInfoChess"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *UserDetailOrderInfoChess) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *UserDetailOrderInfoChess) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Icon", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Icon: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Icon)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Icon (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Icon: ", p), err) + } + return err +} + +func (p *UserDetailOrderInfoChess) Equals(other *UserDetailOrderInfoChess) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Icon != other.Icon { + return false + } + return true +} + +func (p *UserDetailOrderInfoChess) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("UserDetailOrderInfoChess(%+v)", *p) +} + +func (p *UserDetailOrderInfoChess) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.UserDetailOrderInfoChess", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*UserDetailOrderInfoChess)(nil) + +func (p *UserDetailOrderInfoChess) Validate() error { + return nil +} + +// Attributes: +// - Uid +// +type UserDetailParam struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` +} + +func NewUserDetailParam() *UserDetailParam { + return &UserDetailParam{} +} + +func (p *UserDetailParam) GetUid() int64 { + return p.Uid +} + +func (p *UserDetailParam) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *UserDetailParam) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *UserDetailParam) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "UserDetailParam"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *UserDetailParam) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *UserDetailParam) Equals(other *UserDetailParam) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + return true +} + +func (p *UserDetailParam) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("UserDetailParam(%+v)", *p) +} + +func (p *UserDetailParam) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.UserDetailParam", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*UserDetailParam)(nil) + +func (p *UserDetailParam) Validate() error { + return nil +} + +// Attributes: +// - Uid +// - Nickname +// - Avatar +// - Face +// - DecorateCnt +// - AvatarList +// - FaceList +// - Login +// - PetName +// - EmojiList +// - SetEmoji +// - IdNum +// - AddCode +// +type UserInfo struct { + Uid int64 `thrift:"Uid,1" db:"Uid" json:"Uid"` + Nickname string `thrift:"Nickname,2" db:"Nickname" json:"Nickname"` + Avatar int32 `thrift:"Avatar,3" db:"Avatar" json:"Avatar"` + Face int32 `thrift:"Face,4" db:"Face" json:"Face"` + DecorateCnt int32 `thrift:"DecorateCnt,5" db:"DecorateCnt" json:"DecorateCnt"` + AvatarList []*AvatarInfo `thrift:"AvatarList,6" db:"AvatarList" json:"AvatarList"` + FaceList []*FaceInfo `thrift:"FaceList,7" db:"FaceList" json:"FaceList"` + Login int32 `thrift:"Login,8" db:"Login" json:"Login"` + PetName string `thrift:"PetName,9" db:"PetName" json:"PetName"` + EmojiList []*EmojiInfo `thrift:"EmojiList,10" db:"EmojiList" json:"EmojiList"` + SetEmoji map[int32]int32 `thrift:"SetEmoji,11" db:"SetEmoji" json:"SetEmoji"` + IdNum string `thrift:"IdNum,12" db:"IdNum" json:"IdNum"` + AddCode string `thrift:"AddCode,13" db:"AddCode" json:"AddCode"` +} + +func NewUserInfo() *UserInfo { + return &UserInfo{} +} + +func (p *UserInfo) GetUid() int64 { + return p.Uid +} + +func (p *UserInfo) GetNickname() string { + return p.Nickname +} + +func (p *UserInfo) GetAvatar() int32 { + return p.Avatar +} + +func (p *UserInfo) GetFace() int32 { + return p.Face +} + +func (p *UserInfo) GetDecorateCnt() int32 { + return p.DecorateCnt +} + +func (p *UserInfo) GetAvatarList() []*AvatarInfo { + return p.AvatarList +} + +func (p *UserInfo) GetFaceList() []*FaceInfo { + return p.FaceList +} + +func (p *UserInfo) GetLogin() int32 { + return p.Login +} + +func (p *UserInfo) GetPetName() string { + return p.PetName +} + +func (p *UserInfo) GetEmojiList() []*EmojiInfo { + return p.EmojiList +} + +func (p *UserInfo) GetSetEmoji() map[int32]int32 { + return p.SetEmoji +} + +func (p *UserInfo) GetIdNum() string { + return p.IdNum +} + +func (p *UserInfo) GetAddCode() string { + return p.AddCode +} + +func (p *UserInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 6: + if fieldTypeId == thrift.LIST { + if err := p.ReadField6(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 7: + if fieldTypeId == thrift.LIST { + if err := p.ReadField7(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 8: + if fieldTypeId == thrift.I32 { + if err := p.ReadField8(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 9: + if fieldTypeId == thrift.STRING { + if err := p.ReadField9(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 10: + if fieldTypeId == thrift.LIST { + if err := p.ReadField10(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 11: + if fieldTypeId == thrift.MAP { + if err := p.ReadField11(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 12: + if fieldTypeId == thrift.STRING { + if err := p.ReadField12(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 13: + if fieldTypeId == thrift.STRING { + if err := p.ReadField13(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *UserInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Uid = v + } + return nil +} + +func (p *UserInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Nickname = v + } + return nil +} + +func (p *UserInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Avatar = v + } + return nil +} + +func (p *UserInfo) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Face = v + } + return nil +} + +func (p *UserInfo) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.DecorateCnt = v + } + return nil +} + +func (p *UserInfo) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*AvatarInfo, 0, size) + p.AvatarList = tSlice + for i := 0; i < size; i++ { + _elem461 := &AvatarInfo{} + if err := _elem461.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem461), err) + } + p.AvatarList = append(p.AvatarList, _elem461) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *UserInfo) ReadField7(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*FaceInfo, 0, size) + p.FaceList = tSlice + for i := 0; i < size; i++ { + _elem462 := &FaceInfo{} + if err := _elem462.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem462), err) + } + p.FaceList = append(p.FaceList, _elem462) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *UserInfo) ReadField8(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.Login = v + } + return nil +} + +func (p *UserInfo) ReadField9(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 9: ", err) + } else { + p.PetName = v + } + return nil +} + +func (p *UserInfo) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]*EmojiInfo, 0, size) + p.EmojiList = tSlice + for i := 0; i < size; i++ { + _elem463 := &EmojiInfo{} + if err := _elem463.Read(ctx, iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem463), err) + } + p.EmojiList = append(p.EmojiList, _elem463) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *UserInfo) ReadField11(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return thrift.PrependError("error reading map begin: ", err) + } + tMap := make(map[int32]int32, size) + p.SetEmoji = tMap + for i := 0; i < size; i++ { + var _key464 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _key464 = v + } + var _val465 int32 + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _val465 = v + } + p.SetEmoji[_key464] = _val465 + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return thrift.PrependError("error reading map end: ", err) + } + return nil +} + +func (p *UserInfo) ReadField12(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 12: ", err) + } else { + p.IdNum = v + } + return nil +} + +func (p *UserInfo) ReadField13(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 13: ", err) + } else { + p.AddCode = v + } + return nil +} + +func (p *UserInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "UserInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + if err := p.writeField6(ctx, oprot); err != nil { + return err + } + if err := p.writeField7(ctx, oprot); err != nil { + return err + } + if err := p.writeField8(ctx, oprot); err != nil { + return err + } + if err := p.writeField9(ctx, oprot); err != nil { + return err + } + if err := p.writeField10(ctx, oprot); err != nil { + return err + } + if err := p.writeField11(ctx, oprot); err != nil { + return err + } + if err := p.writeField12(ctx, oprot); err != nil { + return err + } + if err := p.writeField13(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *UserInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.I64, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Uid: ", p), err) + } + if err := oprot.WriteI64(ctx, int64(p.Uid)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Uid (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Uid: ", p), err) + } + return err +} + +func (p *UserInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Nickname", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Nickname: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Nickname)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Nickname (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Nickname: ", p), err) + } + return err +} + +func (p *UserInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Avatar", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Avatar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Avatar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Avatar (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Avatar: ", p), err) + } + return err +} + +func (p *UserInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Face", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Face: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Face)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Face (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Face: ", p), err) + } + return err +} + +func (p *UserInfo) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "DecorateCnt", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:DecorateCnt: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.DecorateCnt)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.DecorateCnt (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:DecorateCnt: ", p), err) + } + return err +} + +func (p *UserInfo) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AvatarList", thrift.LIST, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:AvatarList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.AvatarList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.AvatarList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:AvatarList: ", p), err) + } + return err +} + +func (p *UserInfo) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "FaceList", thrift.LIST, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:FaceList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.FaceList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.FaceList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:FaceList: ", p), err) + } + return err +} + +func (p *UserInfo) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Login", thrift.I32, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:Login: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Login)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Login (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:Login: ", p), err) + } + return err +} + +func (p *UserInfo) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "PetName", thrift.STRING, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:PetName: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.PetName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.PetName (9) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:PetName: ", p), err) + } + return err +} + +func (p *UserInfo) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "EmojiList", thrift.LIST, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:EmojiList: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.EmojiList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.EmojiList { + if err := v.Write(ctx, oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:EmojiList: ", p), err) + } + return err +} + +func (p *UserInfo) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "SetEmoji", thrift.MAP, 11); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:SetEmoji: ", p), err) + } + if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.I32, len(p.SetEmoji)); err != nil { + return thrift.PrependError("error writing map begin: ", err) + } + for k, v := range p.SetEmoji { + if err := oprot.WriteI32(ctx, int32(k)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return thrift.PrependError("error writing map end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 11:SetEmoji: ", p), err) + } + return err +} + +func (p *UserInfo) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "IdNum", thrift.STRING, 12); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:IdNum: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.IdNum)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.IdNum (12) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 12:IdNum: ", p), err) + } + return err +} + +func (p *UserInfo) writeField13(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "AddCode", thrift.STRING, 13); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 13:AddCode: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.AddCode)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.AddCode (13) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 13:AddCode: ", p), err) + } + return err +} + +func (p *UserInfo) Equals(other *UserInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Uid != other.Uid { + return false + } + if p.Nickname != other.Nickname { + return false + } + if p.Avatar != other.Avatar { + return false + } + if p.Face != other.Face { + return false + } + if p.DecorateCnt != other.DecorateCnt { + return false + } + if len(p.AvatarList) != len(other.AvatarList) { + return false + } + for i, _tgt := range p.AvatarList { + _src466 := other.AvatarList[i] + if !_tgt.Equals(_src466) { + return false + } + } + if len(p.FaceList) != len(other.FaceList) { + return false + } + for i, _tgt := range p.FaceList { + _src467 := other.FaceList[i] + if !_tgt.Equals(_src467) { + return false + } + } + if p.Login != other.Login { + return false + } + if p.PetName != other.PetName { + return false + } + if len(p.EmojiList) != len(other.EmojiList) { + return false + } + for i, _tgt := range p.EmojiList { + _src468 := other.EmojiList[i] + if !_tgt.Equals(_src468) { + return false + } + } + if len(p.SetEmoji) != len(other.SetEmoji) { + return false + } + for k, _tgt := range p.SetEmoji { + _src469 := other.SetEmoji[k] + if _tgt != _src469 { + return false + } + } + if p.IdNum != other.IdNum { + return false + } + if p.AddCode != other.AddCode { + return false + } + return true +} + +func (p *UserInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("UserInfo(%+v)", *p) +} + +func (p *UserInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.UserInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*UserInfo)(nil) + +func (p *UserInfo) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Count +// - Discount +// +type WeeklyDiscountInfo struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Count int32 `thrift:"Count,2" db:"Count" json:"Count"` + Discount int32 `thrift:"Discount,3" db:"Discount" json:"Discount"` +} + +func NewWeeklyDiscountInfo() *WeeklyDiscountInfo { + return &WeeklyDiscountInfo{} +} + +func (p *WeeklyDiscountInfo) GetId() int32 { + return p.Id +} + +func (p *WeeklyDiscountInfo) GetCount() int32 { + return p.Count +} + +func (p *WeeklyDiscountInfo) GetDiscount() int32 { + return p.Discount +} + +func (p *WeeklyDiscountInfo) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *WeeklyDiscountInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *WeeklyDiscountInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Count = v + } + return nil +} + +func (p *WeeklyDiscountInfo) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Discount = v + } + return nil +} + +func (p *WeeklyDiscountInfo) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "WeeklyDiscountInfo"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *WeeklyDiscountInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *WeeklyDiscountInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Count", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Count: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Count)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Count (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Count: ", p), err) + } + return err +} + +func (p *WeeklyDiscountInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Discount", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Discount: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Discount)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Discount (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Discount: ", p), err) + } + return err +} + +func (p *WeeklyDiscountInfo) Equals(other *WeeklyDiscountInfo) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Count != other.Count { + return false + } + if p.Discount != other.Discount { + return false + } + return true +} + +func (p *WeeklyDiscountInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("WeeklyDiscountInfo(%+v)", *p) +} + +func (p *WeeklyDiscountInfo) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.WeeklyDiscountInfo", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*WeeklyDiscountInfo)(nil) + +func (p *WeeklyDiscountInfo) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Count +// - Uid +// +type WishList struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Count int32 `thrift:"Count,2" db:"Count" json:"Count"` + Uid []int64 `thrift:"Uid,3" db:"Uid" json:"Uid"` +} + +func NewWishList() *WishList { + return &WishList{} +} + +func (p *WishList) GetId() int32 { + return p.Id +} + +func (p *WishList) GetCount() int32 { + return p.Count +} + +func (p *WishList) GetUid() []int64 { + return p.Uid +} + +func (p *WishList) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *WishList) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *WishList) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Count = v + } + return nil +} + +func (p *WishList) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]int64, 0, size) + p.Uid = tSlice + for i := 0; i < size; i++ { + var _elem470 int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem470 = v + } + p.Uid = append(p.Uid, _elem470) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *WishList) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "WishList"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *WishList) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *WishList) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Count", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Count: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Count)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Count (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Count: ", p), err) + } + return err +} + +func (p *WishList) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Uid", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Uid: ", p), err) + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.Uid)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Uid { + if err := oprot.WriteI64(ctx, int64(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Uid: ", p), err) + } + return err +} + +func (p *WishList) Equals(other *WishList) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Count != other.Count { + return false + } + if len(p.Uid) != len(other.Uid) { + return false + } + for i, _tgt := range p.Uid { + _src471 := other.Uid[i] + if _tgt != _src471 { + return false + } + } + return true +} + +func (p *WishList) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("WishList(%+v)", *p) +} + +func (p *WishList) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.WishList", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*WishList)(nil) + +func (p *WishList) Validate() error { + return nil +} + +// Attributes: +// - Name +// - Face +// - Avatar +// - Progress +// +type Opponent struct { + // unused field # 1 + Name string `thrift:"Name,2" db:"Name" json:"Name"` + Face int32 `thrift:"Face,3" db:"Face" json:"Face"` + Avatar int32 `thrift:"Avatar,4" db:"Avatar" json:"Avatar"` + Progress int32 `thrift:"Progress,5" db:"Progress" json:"Progress"` +} + +func NewOpponent() *Opponent { + return &Opponent{} +} + +func (p *Opponent) GetName() string { + return p.Name +} + +func (p *Opponent) GetFace() int32 { + return p.Face +} + +func (p *Opponent) GetAvatar() int32 { + return p.Avatar +} + +func (p *Opponent) GetProgress() int32 { + return p.Progress +} + +func (p *Opponent) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 2: + if fieldTypeId == thrift.STRING { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.I32 { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *Opponent) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Name = v + } + return nil +} + +func (p *Opponent) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Face = v + } + return nil +} + +func (p *Opponent) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Avatar = v + } + return nil +} + +func (p *Opponent) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Progress = v + } + return nil +} + +func (p *Opponent) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "opponent"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *Opponent) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Name", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Name: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Name)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Name (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Name: ", p), err) + } + return err +} + +func (p *Opponent) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Face", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Face: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Face)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Face (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Face: ", p), err) + } + return err +} + +func (p *Opponent) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Avatar", thrift.I32, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Avatar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Avatar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Avatar (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Avatar: ", p), err) + } + return err +} + +func (p *Opponent) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Progress", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Progress: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Progress)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Progress (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Progress: ", p), err) + } + return err +} + +func (p *Opponent) Equals(other *Opponent) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Name != other.Name { + return false + } + if p.Face != other.Face { + return false + } + if p.Avatar != other.Avatar { + return false + } + if p.Progress != other.Progress { + return false + } + return true +} + +func (p *Opponent) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("Opponent(%+v)", *p) +} + +func (p *Opponent) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.Opponent", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*Opponent)(nil) + +func (p *Opponent) Validate() error { + return nil +} + +// Attributes: +// - Id +// - Face +// - Avatar +// - Name +// - Progress +// +type Raceopponent struct { + Id int32 `thrift:"Id,1" db:"Id" json:"Id"` + Face int32 `thrift:"Face,2" db:"Face" json:"Face"` + Avatar int32 `thrift:"Avatar,3" db:"Avatar" json:"Avatar"` + Name string `thrift:"Name,4" db:"Name" json:"Name"` + Progress int32 `thrift:"Progress,5" db:"Progress" json:"Progress"` +} + +func NewRaceopponent() *Raceopponent { + return &Raceopponent{} +} + +func (p *Raceopponent) GetId() int32 { + return p.Id +} + +func (p *Raceopponent) GetFace() int32 { + return p.Face +} + +func (p *Raceopponent) GetAvatar() int32 { + return p.Avatar +} + +func (p *Raceopponent) GetName() string { + return p.Name +} + +func (p *Raceopponent) GetProgress() int32 { + return p.Progress +} + +func (p *Raceopponent) Read(ctx context.Context, iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx) + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err := p.ReadField1(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err := p.ReadField2(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 3: + if fieldTypeId == thrift.I32 { + if err := p.ReadField3(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 4: + if fieldTypeId == thrift.STRING { + if err := p.ReadField4(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + case 5: + if fieldTypeId == thrift.I32 { + if err := p.ReadField5(ctx, iprot); err != nil { + return err + } + } else { + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + default: + if err := iprot.Skip(ctx, fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(ctx); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *Raceopponent) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Id = v + } + return nil +} + +func (p *Raceopponent) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Face = v + } + return nil +} + +func (p *Raceopponent) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.Avatar = v + } + return nil +} + +func (p *Raceopponent) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Name = v + } + return nil +} + +func (p *Raceopponent) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return thrift.PrependError("error reading field 5: ", err) + } else { + p.Progress = v + } + return nil +} + +func (p *Raceopponent) Write(ctx context.Context, oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin(ctx, "raceopponent"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if p != nil { + if err := p.writeField1(ctx, oprot); err != nil { + return err + } + if err := p.writeField2(ctx, oprot); err != nil { + return err + } + if err := p.writeField3(ctx, oprot); err != nil { + return err + } + if err := p.writeField4(ctx, oprot); err != nil { + return err + } + if err := p.writeField5(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteFieldStop(ctx); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(ctx); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *Raceopponent) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Id", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:Id: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Id)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Id (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:Id: ", p), err) + } + return err +} + +func (p *Raceopponent) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Face", thrift.I32, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:Face: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Face)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Face (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:Face: ", p), err) + } + return err +} + +func (p *Raceopponent) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Avatar", thrift.I32, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:Avatar: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Avatar)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Avatar (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:Avatar: ", p), err) + } + return err +} + +func (p *Raceopponent) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Name", thrift.STRING, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:Name: ", p), err) + } + if err := oprot.WriteString(ctx, string(p.Name)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Name (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:Name: ", p), err) + } + return err +} + +func (p *Raceopponent) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin(ctx, "Progress", thrift.I32, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:Progress: ", p), err) + } + if err := oprot.WriteI32(ctx, int32(p.Progress)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.Progress (5) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(ctx); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:Progress: ", p), err) + } + return err +} + +func (p *Raceopponent) Equals(other *Raceopponent) bool { + if p == other { + return true + } else if p == nil || other == nil { + return false + } + if p.Id != other.Id { + return false + } + if p.Face != other.Face { + return false + } + if p.Avatar != other.Avatar { + return false + } + if p.Name != other.Name { + return false + } + if p.Progress != other.Progress { + return false + } + return true +} + +func (p *Raceopponent) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("Raceopponent(%+v)", *p) +} + +func (p *Raceopponent) LogValue() slog.Value { + if p == nil { + return slog.AnyValue(nil) + } + v := thrift.SlogTStructWrapper{ + Type: "*meowmentnet.Raceopponent", + Value: p, + } + return slog.AnyValue(v) +} + +var _ slog.LogValuer = (*Raceopponent)(nil) + +func (p *Raceopponent) Validate() error { + return nil +} diff --git a/compiler/exe/thrift-go.exe b/compiler/exe/thrift-go.exe new file mode 100644 index 0000000000000000000000000000000000000000..ff6c0027ef6defc0e67d5eba37018f584e7fbc45 GIT binary patch literal 3331072 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

Dk1iqj;Kahw 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
1!M>&&oV)9A&HnVYK6OTtP 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
U<16%^GgQw>9Pl7O~o;}~-;HUu5# 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%0DTg;8Z!Q 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 z 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 OVRUkIPtPr_5G}G ztU>qNcyzx_M9<63(Q|z}^mB42bRKp?_gh=y@5D>dakz&&U#>ik!PHw4hvL#W9LN5k z=yyWgG;W3VXKusG(O)~|y*ki&>rAYUOZ}YbLg#Hkyb}GKxgLE_Z_WL?(0RKbowtW` ze=(Yu?`GF4mFJ=6vLdhXXkHWJlsFB|YewRk==rf%+#k*BP;~B(Li0K?&re6!^PI#N zqWRh8q*q7J&p8>StS*T|=y$TE|J6oYg*NJbSd6beHpJ;@9=p(9Uzs*|T*{$6_2#4V zbRL?^C5bOb$8-a_ez&9ZbRW8Y525q)TeSWk(0Lj{*Y6EO!r{?~d=-=mE=s9~+?%x^j!#eIi zgd5^-aRUA!&xhht+=% zxqkp|N&Hpxoc$Vl&YqO#-$2jVvl5?=+Y(SHAVLQ5?I`X^|ClYtzBwT>*r)$vtbR+t`^A4=X2hjcW2s#f> zp!?~MiC>C;L-*6$i9d)dURCU;PoeeKiJ!%hbLxq|jlQ0)Wh-U9jzMF!t&?-#cD5$2 zT{?O@*0*k7>fE2U9!^`oL-)mV=sEKjbYJ`v-539x`yZqGVwI~4*F?{m^%74&&y!6P zZxy$XJENbkyC?o~JSCnH&q2?bi_!0MKScM%b-8~Fdd@tS_!%^>KcVN$UlRWl{qM*h zp!;IQYl?lb3c4@W!3kK0?u#ktzL~=sMnk=67#=5KHTr_{sQOd^x@r--_?Y6?%&H z#>O?!d2~icj_yfNN`_Up5&%Jl1+4O7-@8G1HX zU0cM}SXw*u9jwiL+x6^RR;FE>vF+y6X^E}qc-mrn?1-Ic&RvPSv6^^c;vRG^d(rO^ zeTnN?zsuETwaZ;6kh`S~u@{bTfT^SG2>)eS}e)o6Y-XnwW1Ux&_jec}c* zzv+n^v6{FE{a)UjxCPCxHE|nyezYg?X|Mq&#@aS`3*#^pbO^=PSDK?|yZ$bNa z56-L5W_Ri?j6Jb8_Qig54-cSiJMRM(+OE2($ah^FnU8lX)M-r}%ew~kZ;d`DJTAQl zeW`OlI_JMe^ZOmTFP=r`??rSBuO)s9ouiKuuhd(-2jkFv@fq|zn1Cbmd3Tw7?4y;k zUTtVD-${HUn#*m8??H3(`f%MBz_gm?+qMT_qul~&%^v% ziaZ<8yr-l6G@|2bLi=gX{T8&J!_jp=1|8GMd46^LF}m(QMf0)FPs-%u7>6nAwc4#k zE^DK?tdHh03B9J`NSjsfjy^`)Y)_r}==jb<+q?*E^D=aN*Pv~hb4!^vd0bkLAbu8r=W&!Ka$2|90Ep!2pZ`nj<)+P}FxQ>K5%)Ja*r03Fk1@!GUu z|F!=rKQBX+^;#N-Q`h$Ptx&h&r$w&z(^;WxJ7v8((6&2M*SUJ2Lft;fI?n#ovHoy{ zI>RYzZtK5Seh%txD{`wx`)RoMl`pfwEITdeJ8Q{T-{gyiDRkfzFGr4hu2N4mQ&BANpTAtN4!1y`Mh&t zwVe8WWcRoq`uEIN5+8y7U3y&NQ_=5WXQID(v(9V+Y!%&knB8W*=p}`lI!ngN0@4S>8N`Q)jI^ zio8CD_PJ^NY1|4uKek8DkDYV>T&yPk9=gsyL)Uo#J;N5~{twXgyE^_D?PpJPo%ch( zcYY=JkBG;`Q_*!k6CK}%{JZ1*(dU}SrSa9=S+wVkl4L3*MkL}R$?Ueho z(fxSRk`}lfve7B+FyC?S_MECI%=-=gkM923M z`W^apbPfN7{*L=^^!fzja39y;cpQ(u(-YC(-8M&mC)o!5ePt(fz8u>PAB;XrjB!1|KaHU^SHELb$1szOhI#)hOXC)I5S$_`+Fpw zgCpa-uuMOtaZ=W6A(qCOHhL5H<+<&d_fVPkY{xc-Q)gM)sQOuvcQrb9HE}$;78@tt z679#m)AUj0`Dv%T*L*bh^U!&?1nuYY#A-j+qVMa?@s4(aANhjT2K9NaP#5`==*hA;%}jU z$9*U9#qo#nN9g!$>+XM#KHug#L|Lz;=-7r6tIyT51&DAbMPcAo%4y$jos)ucxB@2(R1*& z#P`Gp(R1*z_)L5$z8?P-|BcS0Z7uqEIo9poVjlO1bK=~1csvGOx38mn?VISjormt{ zOY;13biZGl_~v*AI*$*a^Y{pk!{4Lx_&hp~|AWrsF#37&Av%v^?knbTb@cP((`Y^$ z#L4Kmo$Gbllg*o8ukv-uPgA4E-E^ zCh?!*U*enbU3Ap)fzJE>=)50_?zdyn{w#At znf~mnkFs6^aZ&7#w&PwLF4KyGiLPpER8R1^rLe*fX?M2bS?+cwo3o5&{oYai}6j4TjEIF)mAE> zM|t4=j=KTfD>KkJn~AQ= z9*O6m<8*JmTc$tjc2m~tI<&7_(7t|#_VqB@*OTb_y@Vrk*!+p|b67V}v|S$?(7LvF zVTHOKsnd?;bxFKDZIsr(LK}l=vazn`TrEnp&y;I2DJa_ z=vZdPhtYNTUE)2kns`o}i++wA8Bavtk24aVgTA{Lqn{&Jpz~$l50uH*oN68_%DQ$- zE0k@ftaVya$3E*;t~?*zl=r$T^?!x-_js&(xQJg*ydtslu?o5u*U9s@^ZbMORD3?Z zf{wd}I{nL$S1av0p0?PYemc-~>dgHvbPsnYUKo2~FZz!5q3hJ2`vY-N97N~r1vF3V zv{qN1zq&{AKA>ybfX?3xG|!pnIQEEh(D|F2_;9p8=kkd%{nol0o|;FCK5EhN)FoDPP~VUG*no~_M&e!3{`}jxXF2-oq`cP!Xn&WX^LI_W zG2RyMLHqk<;$O$##b@J-=;zg6(f9Emx&MA#;n&6cI2P@14fG6I7yW*-A^N>;D*C-{ zTl72I&gl2LJ<-3__CxEpqQ7^wq2FmwM(1HO{@uGu<$3R;yz_fMIu8${?Jh>w_E~h^ zUrek%SIevQ)xG-~y5HYL=iy^?9#;8H@%?rkG*+Lh<<T!$!(_HKB9cjLvmS+VEZNsL)1t+E|!2deTO3?)Sxh^!$1l-7oIJ zC1u*?acP~a9xHNO70q!iG{^Diewmp2Q{pr%y{BmYGjo3rbiMbFhoJl6$i(X3L&qon zI{G>GO*G$G{JZN@qt7RgOZg5^-fJ5u& zcVHv&y|@!TnEQ{R`^dF^V%+Ha$oI19iDD1c#cFiV*Pwg8HgSEP+pcR_Uo(2UJTC3e z*3@Z3_h)2KL8t;n_q5Jc<===1C+#iZ>p!?@N^nF_4 zw?+N2=ozp!dcJ)w_cuYuV_VCXXFQbm>W$s#TrEV$)06vc=y=)_ccA0xM90&WxDQ9x z>6A4_pHJ6mn6h5ue^y zeV*H%dug~#dps`fuRzD|<+?vWT#Z9$zdoC{R{8mC ze6r|s546wY&^|9j`@9wH^KrCI|J`4q&Dy7mHfzu}w?y0A4sFABKdR71d)nwo8)qlB zzO6T|J^HwKT$;}<{#fKOkTw>hc|42e@G?4{H_`e0Uv$n^e7bm#K84l9wdm*8M071T zN8jb`(C=Zh(9f;C(R1M-^jtUsYp@+X7v`hq!g=WD&?V^S(pBhLcN6-#btn4$^cU#w zw~Ns4Wly8uPhUhoM_xm}tG|o>e)}={-?3JCruf`i2kVIIa6_De6L1@xh&$mVoQ)gd z0k|<9hMVAVSdSg(_p-Cm&#jBl&#B9CD&By8SH2zne7O&|z(=tG2hq>17jP^5EBd+h z7W%pM5&F5c@*j%Ntu@iltTjH9}7xD9nKfu!Y$bCO=R>|{M^8EGqcDys* z7axj`$EVPI9m{I#jh?T$HPe?@3mU7rwxVq~56uS>4(#BC}pQoVj%O#1gM#t5Q&U+s^@BMKg&lkl(G!M%jJih#V z*8Hi+yB16D3z|cH;)XaKy=>Rdto}0XTF&vcQ%5^uC)##b;%;=!7oy|qN!%OzVt*Wn zi{fBh5{J;w-KB|#ZRot3SIuWD=QT`uuVu07#UiijSQBf}yz0=r>T`b@dd-M4 z(Q|f>#B<_YG%v?~Lz%oBV^7LDAA=Rj4yOGjXkB$)htftp|E}Gj@;ubNRE%Q^+K$@J zw8S&ed}gBaum?I1`=je~2v*~fxqo6j9bKPqC;o1{Bwik`#Tv@pocIp(d)))*JMu{G zKY@O)`y=|j?v>pCd;Ayrz3$(MKQUC~`6={!T`l^(ZX)`Q!`}|AEf)dx_QOYI(K3 zy5ClKxtQnG&@=Nh==bLd=)164V)ePYE^2*so~Osg*c6-5@6Rph_vgcN|Co4koR7}) z*@-WR3*wdW`gm)+3nxkvtkERL-N5 z@?KqOryJdWS0+|3bw8?k+=!kFcVIQ%n^?``K{OBdX8&^JQT3OipK7!pHIJIawdi;! zqVq8Y&0|{P8E786qJMYpmHYe0L(sK33eC&2p?PBE`RSv)S3jDUn%6+$#b{p7qItcH z=Ji_Qx6r)aNAp_Ye~NNr;~HpQ>!R=ThPgi({d;(8tic`7@2Im9tNU_x+&6wN9vtVP z@AC=hxp^A;_wZS0`wP+c`FeC-j^p2LlPb^45aqp=qVuB8%W&ck(RumgUyJdsfzHeN z=)Reh`%}?***ftK=(#m3@$9%Sx|a@4JTD%L&dVu@&xq%szY|=Hex6(ruZy?DJJEUh z1v)Q};&}WmIxl}ntUg!EtL>_vCqr>*9FEIk)!&NW30943VLkQ6<7AwOo8sm;1-C=b zxmma|&W`)WgRz18^KeT%0sWoev^@V-{0@4~U5uV{Kg|6fq37I9=s90ioO&to>*)LVHhPZy z8$GA0UoYOr8ua_!c(lEZ(f4t4^u5^*{eCwK{oXMfJ*N&p%O8fmZ^xnU zy8u1IFGIiIU4wOaGg|*{oPfVdycY8^iFiEv{5RZpzdnVV;PdGF_&@0TIE=oJAENU( zhI+1tXKvTz%IndZb!bCBpWD%P=A-?ehpxv(=z3g^uE!1Ndfbk#$9?Ge_-NwaqUYn1 z#6$57bUofn{2z2Z#=cp!vj&>KYt^)A<@}o|@6{jsVhfsoE1G{>;`Z1PJ7ZVujtk>J z?1{Z-e(r&#%aLEz-;4aJ(fM5qo!{|jeiPCBrl8j}bbfbCyem4t`=IlCVD29pk45+U zY3S$jw{rhG@ltetuRuS4uFL(OqI=|LiGP9a_eatF{#$gM=K92x(bvJx)S7=3x!2-I zovNwj>olj%+|+T5)63N1aq08BC-rWPcg6eT!{~f2M)&K}=zP9_=H|bzD$|eSsrzR! zo;_kcIuFy(HJgFTMOo)+-wI_LDQlf3^s*1nn(i|7EN7k0)agR=T7dR>EjnMfqht65 zI-iTtz4RP9M}Na={1^J3j(NM7&o$6<@N?*Ux*3|+B>r8$#pq+_aVf8N-YLe?PCfIQ zkLGnAn%5<0URR-c-Gt_KCz{tU(7YC*c|DD;^NVO+uc3Lpi|)OT(K%a%em#TN!5XYX z&yOkS=jAr&`LPrFc{v+BKMp|8kHgT<%j3|qvIG4-dN%rbc@g?~c{%!dc?0@+c{}=f zc^~?D`6$-mZ*fEX1A6@#ok!bfZ>T(v&F>cVzVNSN9-Gjsh5OE9D>{#7qw{!i?q7jk zT8%$W{8Mxuf0kIC$AP#QoyVsWtMm9`d<~t)chPzLIIc`y&f_?A9@j(XaYF8Iiq7Nb z(eaz}v0IKl{?gv2tk>n}9=aCYLpSHX?YQ>+W!m9!X+I97&KvQawDlo6kDq+6n8!8H zd0ZdekDH+TaVvBlzku$?UC?=KM)zY2nvZSG+N%7xx+&{*3p&nw5?kLn>nc;GuxH`}(ecbf$MaKkJjbHrxghs{AO9F%Lifer&^dk^-4`F^{))?r zeeo&u{aObt|Jhg{r=j~|20A|XPTRE6=ZD9o@pV$(>w0v&x1-~`FFq6>kDI<_up1W(s@#wibG4T|%pYyoawjBMmQ{HPn+Ru6MqIg-nCf+m+*5bwna_y|tK-=pWi^SBZI4{nUZ zxCwrU_4rBtuabEVtbv{b>!atuCg?e^6?zVQ0X+wr&~so8HsDk8wKop=W1*5YEBJbN@Qr zkN6hcAMeclr?7>1)fEe$C-(Qh|G~NV_r&@Y;$?UUR;Bz}aXcQ%?TLvu$HR%Y!Fjl2 z?(c?267Pdw!voPbXdWJgC*aZe4LkkHdv%zSrXkcq@7u+=VCNFYzRN3{S>q z@DzLrPsP{q>-aCUoqxwqj5&(E!vFn0^!_?HA3vLTqqrG_*vv9V(w+J(TylHQt4uh4-W9*Tad`OFdV9hn_3X#g}m`@oVV0@>cG@kDe7TcYR6cIdgX6Z-vPHhvlpK)+uchP8McdaiV!-!INa z&y|bNbLDdMT)6=~S8hkomHV&`AH@xE5It93K+l!GqUXw6=(+L{dakVeiK9yA%9`l8 z@>!gW_2{`W4Lw(OM9-Do&~s&9^j!HWdafLeo-3!K=SnAfu3UhgE0>|?%C+dZ@)Pu2 z`8j&7JcQHnx9GXD1h>am(R1Y==(+MfegRkdh-by?(EWBx;`7n{c4^`( z(0TGKX=$uHPs5b=T84f{sj4olM&HY|a3$OT{a&##`d)6H``g4FkH9PONW2lhhIgQ!_Ya_N(j#~@ zK7r25Gk7e%gnr)t4Shd-m)@N@`upj-Shrg7ZcdN&xFYo$V?*xSp6^i8tkK)!aq0c; zOr0+DT(RV#MRU9decvBM&*LYs8vlr6@s-4{qwo8_68{@NMO^)11?$=cD618*R&f*X=s`7;S5SvR;eO zwgywzu^e2XZq2x&?xtv4+n{;u6n8`OaQ%BLwAD>nuTC_NuC#G8I*vOM-y0vqkuk3H zrSfB}swvuDH*Sd5b-y-NsN0%4ZRi-=(J^+U4RbrELK}T)qd#p7BsPb!)L&GlK97sf z*ENbURHO5=7MjO+G>3_3epAr3o0fP6I{!1#{`@SP-Zc7r@wn8^xoZ~vb))TeQs4eA zK>NE4oxf|*{(ge)`@7NpeueJ)-=JfB3Rl5Dqx*g-y6@jX-}evEe#X$BpYN+<4X%rR zzHf+r51NX8584|29<&2mZx;GJXm9lM{UG#v_hIPw?&HwU_fyf&_cPJ?a4u)v1i*9=D_G@e6cZ-dlh7^5d#n zJ9`RkbHl{eckWut)aP+&-dj`W6YCUh)Sy=z_s!vCG_U!I&ql|45qe#Q?vrb9EZ&${ zz0`ej2f9xlK+o<+606VEee!#BpFEH5lUH*8b@Y4SztDa1Z*-jQ$)-I4 zos@BY1D*eK(Q$qc9p^&yeds~2Ui5wFL&w>V_G_63%Jl2L8>Xx-L)WM3(}mTs25rmv zte!pk7;K}Nvf3J3VjG%&JC@c7ZPT$GT%pYY%6ctI9mm;Sp-$CjiahFLb*zcCu`V{C z`8fVJE41BCSue}GSL*g0eNHUreDtKwt!N*2C03uS^Kw7BW)CM`jE?u|#4p5G;~ViE zG#}5jzU9cLp|%*q3^bpaaSwEz_DAzMG#(XCMDsZv-Dl_ESiBJ3<3B{t-5(`Z=jawR zKiizW*XZ-*TntmzYZ;dIr@xTK@`dG*Z^932jr|Yt88RS`w@C-HIdmy;-5{ z9?E+4qWSg3{^8^fu)49#y{?wj9+XgnFsZ%Z^k`@670+wGL~vivk0 zC{x~Y&QD+J+=uq@2-^Se(0rDlYxfG8&ztCZ@E$tes`15sSOv!tu8r=84bc5ikDi}f zq5EM6^nBeF-LuVDg9oAK>pb*)Jsv$@JJ8SJv(WSPLiBvS4E-GLK|f1wK|hD@Mn8vt ziGB_*LVy2y3jJ>KC-m>^zoLI<4`UsEfE(gU>oecDI!?q|oP-l_Bb~&%n*`JoNAEZfw9Sa7(-aT|eipbDz=o5|2yk_sP!|YrZ|Y|FL)GVO3RM+`o=#BV_}n8I}W<+Bx^k_nbT66q*_3gu~AZ z!bMPo8-rq6VK!h|VVO~uQJGO%QJGOTP?l*~VOeQeVS`~=(M)Cee%HC{>ILLp>-WBY zywCGH&vX2+_t|^xwb!24Ibf9XN%uyirK^ca`KS-pM9D|#DX-8olvf8SOr$b>%w%Q? zNP4GoIE|SNhRaJF6WdOeNKfTdF{_z1%vxqWb2CVGs^jnukjf)lE{jqgm632(sH{Y$ zz|_I8ZFj_w5#&52oQG_1?AW&JN##~^o*HH?b2GCJ440o8LsncusD0u=%0qKSd6YbO zY}+@5^QD5+AJaIT%?yHM!x9dcGRv6d%nD{Dvx-^GtYOxIq#w;)!nn5WgU7ahj$Wa* z>B5Wyso%weG+q-poX8ZII@8BYW~MMxnQ6>yW{_FJECs`Duq%qb)Sk6SOWX|7Mfqs1 zh#!9h^*lS2=NM);km}hTqUTo2NE{sKt$*aDJ0wt=*s?*u9T7a-}m z52X51+s#jHyS~)cLZ47wb&$rokHeIo_8hfQ^5e1HUrLdOWR;P^^r6-fQ3 z8YFwwa5&6b4sT}GfuslZjpT`K*8`93^5go3^oR$kE(sv%k;w4^QwK>8A2S)Gc1rA9b}LBwtN^JG-Otb0fMkdDAhq8MAlYpbNcDIN z?27RFAnjj2;rKlu^`-AXveB;`|2IhEzjI<}{2vdJoKr#S?>#~4?|nIb5J>%91!@24 z;rQVojsMXgjq&juKNY0?YZgfR*F27&4buMgN|5YCZC*7www-E`p03R-rw$}L?O@h} z)D8_CZe%urR1VFBaZ_TKBlHiIql5OC1j#PRAhkydGZm!vNaJueNbM2ia0#;%r1DAE zB~i+!GHQ{QuANNEmx%D@DETNo<&8Txq-Q)c0i-g|14(ZQB>R{gKZJQ9a}0AbGlMyk zS;(BnT*zDuQa`$t!z-BggVc}KaQI2)2IfZQ8_ai^A2B~?e#86;q<-`#NNa0{^FsAI zhS`nT9qfhY=YVH}67xKMZZd~3FQn(NGo5XOsj>SAZO>m;kN>$jKhz635|qW&%j#GLb1Tb&$#-oi-mqIYFeSepv!iIi(yfW0r$dP6bHwRwc8FSq)No zltxZ(yIxdABhu1!^!cGOPX%eN=>?Junr}*C$VlV7*&yi~qF_NPH{pgPdrHaoCDhPC&x=n6C@pnfV2)@2-3Vi2BbbQnV)BY zVOv}irF<&85^0H5%<71|wK4KGa-JrpLkyKmy6umV*N3!JZZb24naWIKW`k50l9`gx zwk=6kCDPJW#d(Qj$7+z;riR0{Aju?Ku8JYk;pFxNscp^$Nv4zI-Qnll-c3>DA)8(2 zQqEHblFV|DWL9vPNMqrCkaS$be3H3=xsmw>NcEv}bV+90Hp1gjf0IJCj|Zvz1ZE;r z0IB?oI6M&~`)7jG-}0Grz^({i1=7CndJf;ryq$Ru^FiigAn8lcpRihg#VLt46?<-D6fYRhdLPjYB% z#%0B>XPgp}KAlTcnadF9EvN7QjV=J($e)jNZ~CYm9ZV9 zGIoI^i+-++AuB-*$w~yNA4wqPrFqXWJ$8MAoWF$gF9b=K#TcA~vSRd(!l z@*zE4$spM&g~LSZLquw)RFL{$21xBRlfy)6r$XjD=0Y&sZwKVGtp}A+i?noYX4Zk! zRy#Oc&m?)Y_b-hikK~Zd1cUo8Nc9pxlBsjp2U5L~L8{jnj-L!t|H}ZWUNgb2;B0=r z0HiUngt?4)7jqSJEpr`6dXp@DM%#A4V_WY=q$mBGm<|{BW01ye9EanX3Cu*0%At0z zJc4r4ke;q=W)LL%lrT#P$lrt-smCPz;HM0gJJ*dwn&OCzpB0XJyg49kO%#a?( zFi&On0!fdd98LkLohCE0Kx(Hvkmmo{9A3a Yd}gLyAV*F((5na_aar+5h@zuXp% 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 DfTu@# literal 0 HcmV?d00001 diff --git a/thrift-files/meowment-network/Network.thrift b/thrift-files/meowment-network/Network.thrift index 7ace6cc..42fab22 100644 --- a/thrift-files/meowment-network/Network.thrift +++ b/thrift-files/meowment-network/Network.thrift @@ -919,7 +919,7 @@ struct ReqCatReturnGiftReward { } -struct ReqCatReturnGiftRewardGfit { +struct ReqCatReturnGiftRewardGift { 1: i32 Id, } @@ -1544,7 +1544,7 @@ struct ReqPlayroomWork { } -struct ReqPlayroomWrokOutline { +struct ReqPlayroomWorkOutline { } @@ -2002,7 +2002,7 @@ struct ResCatReturnGiftReward { } -struct ResCatReturnGiftRewardGfit { +struct ResCatReturnGiftRewardGift { 1: RES_CODE Code, 2: string Msg, } @@ -2942,11 +2942,12 @@ struct ResPlayerRank { 5: i32 Level, 6: double score, 7: i32 type, - 8: map PlayroomSet - 9: map DressSet + 8: map PlayroomSet, + 9: map DressSet, 10: i32 FurSet, 11: ActLog Last, 12: string PetName, + 13: i32 Rank, } @@ -3166,7 +3167,7 @@ struct ResPlayroomWork { } -struct ResPlayroomWrokOutline { +struct ResPlayroomWorkOutline { 1: RES_CODE Code, 2: string Msg, }

ynS?jbBIJB8*KP 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