package com.mir4updater.backend.result; import java.util.HashMap; import java.util.List; import java.util.Map; public class Result { // 响应状态 private boolean success; // 状态码 private int code; // 响应消息 private String message; // 响应数据(泛型) private T data; // 常用状态码常量 public static final int CODE_SUCCESS = 200; public static final int CODE_UNKNOWN_REASON = 201; public static final int CODE_ERROR = 500; public static final int CODE_BAD_REQUEST = 400; public static final int CODE_UNAUTHORIZED = 401; public static final int CODE_NOT_FOUND = 404; // 私有构造方法 private Result() { } // 链式调用方法 public Result setSuccess(boolean success) { this.success = success; return this; } public Result setCode(int code) { this.code = code; return this; } public Result setMessage(String message) { this.message = message; return this; } public Result setData(T data) { this.data = data; return this; } // Getter方法 public boolean isSuccess() { return success; } public int getCode() { return code; } public String getMessage() { return message; } public T getData() { return data; } // 成功静态方法 public static Result success() { return success(null); } public static Result success(T data) { return new Result() .setSuccess(true) .setCode(CODE_SUCCESS) .setMessage("操作成功") .setData(data); } // 错误静态方法 public static Result error() { return error(null); } public static Result error(String message) { return error(message, CODE_ERROR); } public static Result error(String message, int code) { return new Result() .setSuccess(false) .setCode(code) .setMessage(message); } public static Result notFound() { return new Result() .setSuccess(false) .setCode(CODE_NOT_FOUND) .setMessage("没有找到数据"); } // 快速创建Map类型data(示例) public static Result> mapResult() { return new Result>() .setData(new HashMap<>()); } public static Result> mapResult(String key, Object value) { Map map = new HashMap<>(); map.put(key, value); return new Result>() .setData(map); } public static Result> mapResult(Map map) { return new Result>() .setData(map); } // 快速创建List类型data(示例) public static Result> listResult(List list) { return new Result>() .setData(list); } // 示例用法 public static void main(String[] args) { // 1. 返回简单对象 Result userResult = Result.success(new User("Alice", 25)); // 2. 返回Map Map dataMap = new HashMap<>(); dataMap.put("page", 1); dataMap.put("total", 100); Result> mapResult = Result.mapResult(dataMap); Result> map = Result.mapResult().setData(dataMap); // 3. 返回List Result> listResult = Result.listResult(List.of("A", "B", "C")); // 4. 错误返回 Result errorResult = Result.error("参数校验失败", CODE_BAD_REQUEST); } // 示例内部类 static class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; } // getters/setters... } }